Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(54)

Side by Side Diff: media/filters/pipeline_integration_test.cc

Issue 17408005: Refactored DecoderBuffer to use unix_hacker_style naming. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@localrefactor
Patch Set: Rebased against origin/master Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/filters/pipeline_integration_test_base.h" 5 #include "media/filters/pipeline_integration_test_base.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 base::Bind(&MockMediaSource::DemuxerNeedKey, 214 base::Bind(&MockMediaSource::DemuxerNeedKey,
215 base::Unretained(this)), 215 base::Unretained(this)),
216 base::Bind(&MockMediaSource::OnTextTrack, 216 base::Bind(&MockMediaSource::OnTextTrack,
217 base::Unretained(this)), 217 base::Unretained(this)),
218 LogCB())), 218 LogCB())),
219 owned_chunk_demuxer_(chunk_demuxer_) { 219 owned_chunk_demuxer_(chunk_demuxer_) {
220 220
221 file_data_ = ReadTestDataFile(filename); 221 file_data_ = ReadTestDataFile(filename);
222 222
223 if (initial_append_size_ == kAppendWholeFile) 223 if (initial_append_size_ == kAppendWholeFile)
224 initial_append_size_ = file_data_->GetDataSize(); 224 initial_append_size_ = file_data_->data_size();
225 225
226 DCHECK_GT(initial_append_size_, 0); 226 DCHECK_GT(initial_append_size_, 0);
227 DCHECK_LE(initial_append_size_, file_data_->GetDataSize()); 227 DCHECK_LE(initial_append_size_, file_data_->data_size());
228 } 228 }
229 229
230 virtual ~MockMediaSource() {} 230 virtual ~MockMediaSource() {}
231 231
232 scoped_ptr<Demuxer> GetDemuxer() { return owned_chunk_demuxer_.Pass(); } 232 scoped_ptr<Demuxer> GetDemuxer() { return owned_chunk_demuxer_.Pass(); }
233 233
234 void set_need_key_cb(const NeedKeyCB& need_key_cb) { 234 void set_need_key_cb(const NeedKeyCB& need_key_cb) {
235 need_key_cb_ = need_key_cb; 235 need_key_cb_ = need_key_cb;
236 } 236 }
237 237
238 void Seek(base::TimeDelta seek_time, int new_position, int seek_append_size) { 238 void Seek(base::TimeDelta seek_time, int new_position, int seek_append_size) {
239 chunk_demuxer_->StartWaitingForSeek(seek_time); 239 chunk_demuxer_->StartWaitingForSeek(seek_time);
240 240
241 chunk_demuxer_->Abort(kSourceId); 241 chunk_demuxer_->Abort(kSourceId);
242 242
243 DCHECK_GE(new_position, 0); 243 DCHECK_GE(new_position, 0);
244 DCHECK_LT(new_position, file_data_->GetDataSize()); 244 DCHECK_LT(new_position, file_data_->data_size());
245 current_position_ = new_position; 245 current_position_ = new_position;
246 246
247 AppendData(seek_append_size); 247 AppendData(seek_append_size);
248 } 248 }
249 249
250 void AppendData(int size) { 250 void AppendData(int size) {
251 DCHECK(chunk_demuxer_); 251 DCHECK(chunk_demuxer_);
252 DCHECK_LT(current_position_, file_data_->GetDataSize()); 252 DCHECK_LT(current_position_, file_data_->data_size());
253 DCHECK_LE(current_position_ + size, file_data_->GetDataSize()); 253 DCHECK_LE(current_position_ + size, file_data_->data_size());
254 chunk_demuxer_->AppendData( 254 chunk_demuxer_->AppendData(
255 kSourceId, file_data_->GetData() + current_position_, size); 255 kSourceId, file_data_->data() + current_position_, size);
256 current_position_ += size; 256 current_position_ += size;
257 } 257 }
258 258
259 void AppendAtTime(const base::TimeDelta& timestampOffset, 259 void AppendAtTime(const base::TimeDelta& timestampOffset,
260 const uint8* pData, int size) { 260 const uint8* pData, int size) {
261 CHECK(chunk_demuxer_->SetTimestampOffset(kSourceId, timestampOffset)); 261 CHECK(chunk_demuxer_->SetTimestampOffset(kSourceId, timestampOffset));
262 chunk_demuxer_->AppendData(kSourceId, pData, size); 262 chunk_demuxer_->AppendData(kSourceId, pData, size);
263 CHECK(chunk_demuxer_->SetTimestampOffset(kSourceId, base::TimeDelta())); 263 CHECK(chunk_demuxer_->SetTimestampOffset(kSourceId, base::TimeDelta()));
264 } 264 }
265 265
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
492 492
493 TEST_F(PipelineIntegrationTest, MediaSource_ConfigChange_WebM) { 493 TEST_F(PipelineIntegrationTest, MediaSource_ConfigChange_WebM) {
494 MockMediaSource source("bear-320x240-16x9-aspect.webm", kWebM, 494 MockMediaSource source("bear-320x240-16x9-aspect.webm", kWebM,
495 kAppendWholeFile); 495 kAppendWholeFile);
496 StartPipelineWithMediaSource(&source); 496 StartPipelineWithMediaSource(&source);
497 497
498 scoped_refptr<DecoderBuffer> second_file = 498 scoped_refptr<DecoderBuffer> second_file =
499 ReadTestDataFile("bear-640x360.webm"); 499 ReadTestDataFile("bear-640x360.webm");
500 500
501 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec), 501 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec),
502 second_file->GetData(), second_file->GetDataSize()); 502 second_file->data(), second_file->data_size());
503 503
504 source.EndOfStream(); 504 source.EndOfStream();
505 505
506 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size()); 506 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size());
507 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds()); 507 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds());
508 EXPECT_EQ(kAppendTimeMs + k640WebMFileDurationMs, 508 EXPECT_EQ(kAppendTimeMs + k640WebMFileDurationMs,
509 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds()); 509 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds());
510 510
511 Play(); 511 Play();
512 512
513 EXPECT_TRUE(WaitUntilOnEnded()); 513 EXPECT_TRUE(WaitUntilOnEnded());
514 source.Abort(); 514 source.Abort();
515 Stop(); 515 Stop();
516 } 516 }
517 517
518 TEST_F(PipelineIntegrationTest, MediaSource_ConfigChange_Encrypted_WebM) { 518 TEST_F(PipelineIntegrationTest, MediaSource_ConfigChange_Encrypted_WebM) {
519 MockMediaSource source("bear-320x240-16x9-aspect-av_enc-av.webm", kWebM, 519 MockMediaSource source("bear-320x240-16x9-aspect-av_enc-av.webm", kWebM,
520 kAppendWholeFile); 520 kAppendWholeFile);
521 FakeEncryptedMedia encrypted_media(new KeyProvidingApp()); 521 FakeEncryptedMedia encrypted_media(new KeyProvidingApp());
522 StartPipelineWithEncryptedMedia(&source, &encrypted_media); 522 StartPipelineWithEncryptedMedia(&source, &encrypted_media);
523 523
524 scoped_refptr<DecoderBuffer> second_file = 524 scoped_refptr<DecoderBuffer> second_file =
525 ReadTestDataFile("bear-640x360-av_enc-av.webm"); 525 ReadTestDataFile("bear-640x360-av_enc-av.webm");
526 526
527 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec), 527 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec),
528 second_file->GetData(), second_file->GetDataSize()); 528 second_file->data(), second_file->data_size());
529 529
530 source.EndOfStream(); 530 source.EndOfStream();
531 531
532 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size()); 532 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size());
533 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds()); 533 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds());
534 EXPECT_EQ(kAppendTimeMs + k640WebMFileDurationMs, 534 EXPECT_EQ(kAppendTimeMs + k640WebMFileDurationMs,
535 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds()); 535 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds());
536 536
537 Play(); 537 Play();
538 538
539 EXPECT_TRUE(WaitUntilOnEnded()); 539 EXPECT_TRUE(WaitUntilOnEnded());
540 source.Abort(); 540 source.Abort();
541 Stop(); 541 Stop();
542 } 542 }
543 543
544 // Config changes from encrypted to clear are not currently supported. 544 // Config changes from encrypted to clear are not currently supported.
545 TEST_F(PipelineIntegrationTest, 545 TEST_F(PipelineIntegrationTest,
546 MediaSource_ConfigChange_ClearThenEncrypted_WebM) { 546 MediaSource_ConfigChange_ClearThenEncrypted_WebM) {
547 MockMediaSource source("bear-320x240-16x9-aspect.webm", kWebM, 547 MockMediaSource source("bear-320x240-16x9-aspect.webm", kWebM,
548 kAppendWholeFile); 548 kAppendWholeFile);
549 FakeEncryptedMedia encrypted_media(new KeyProvidingApp()); 549 FakeEncryptedMedia encrypted_media(new KeyProvidingApp());
550 StartPipelineWithEncryptedMedia(&source, &encrypted_media); 550 StartPipelineWithEncryptedMedia(&source, &encrypted_media);
551 551
552 scoped_refptr<DecoderBuffer> second_file = 552 scoped_refptr<DecoderBuffer> second_file =
553 ReadTestDataFile("bear-640x360-av_enc-av.webm"); 553 ReadTestDataFile("bear-640x360-av_enc-av.webm");
554 554
555 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec), 555 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec),
556 second_file->GetData(), second_file->GetDataSize()); 556 second_file->data(), second_file->data_size());
557 557
558 source.EndOfStream(); 558 source.EndOfStream();
559 559
560 message_loop_.Run(); 560 message_loop_.Run();
561 EXPECT_EQ(PIPELINE_ERROR_DECODE, pipeline_status_); 561 EXPECT_EQ(PIPELINE_ERROR_DECODE, pipeline_status_);
562 562
563 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size()); 563 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size());
564 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds()); 564 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds());
565 // The second video was not added, so its time has not been added. 565 // The second video was not added, so its time has not been added.
566 EXPECT_EQ(k320WebMFileDurationMs, 566 EXPECT_EQ(k320WebMFileDurationMs,
(...skipping 10 matching lines...) Expand all
577 MediaSource_ConfigChange_EncryptedThenClear_WebM) { 577 MediaSource_ConfigChange_EncryptedThenClear_WebM) {
578 MockMediaSource source("bear-320x240-16x9-aspect-av_enc-av.webm", kWebM, 578 MockMediaSource source("bear-320x240-16x9-aspect-av_enc-av.webm", kWebM,
579 kAppendWholeFile); 579 kAppendWholeFile);
580 FakeEncryptedMedia encrypted_media(new KeyProvidingApp()); 580 FakeEncryptedMedia encrypted_media(new KeyProvidingApp());
581 StartPipelineWithEncryptedMedia(&source, &encrypted_media); 581 StartPipelineWithEncryptedMedia(&source, &encrypted_media);
582 582
583 scoped_refptr<DecoderBuffer> second_file = 583 scoped_refptr<DecoderBuffer> second_file =
584 ReadTestDataFile("bear-640x360.webm"); 584 ReadTestDataFile("bear-640x360.webm");
585 585
586 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec), 586 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec),
587 second_file->GetData(), second_file->GetDataSize()); 587 second_file->data(), second_file->data_size());
588 588
589 source.EndOfStream(); 589 source.EndOfStream();
590 590
591 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size()); 591 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size());
592 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds()); 592 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds());
593 // The second video was not added, so its time has not been added. 593 // The second video was not added, so its time has not been added.
594 EXPECT_EQ(k320WebMFileDurationMs, 594 EXPECT_EQ(k320WebMFileDurationMs,
595 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds()); 595 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds());
596 596
597 Play(); 597 Play();
598 598
599 EXPECT_EQ(PIPELINE_ERROR_DECODE, WaitUntilEndedOrError()); 599 EXPECT_EQ(PIPELINE_ERROR_DECODE, WaitUntilEndedOrError());
600 source.Abort(); 600 source.Abort();
601 } 601 }
602 602
603 #if defined(GOOGLE_CHROME_BUILD) || defined(USE_PROPRIETARY_CODECS) 603 #if defined(GOOGLE_CHROME_BUILD) || defined(USE_PROPRIETARY_CODECS)
604 TEST_F(PipelineIntegrationTest, MediaSource_ConfigChange_MP4) { 604 TEST_F(PipelineIntegrationTest, MediaSource_ConfigChange_MP4) {
605 MockMediaSource source("bear-640x360-av_frag.mp4", kMP4, kAppendWholeFile); 605 MockMediaSource source("bear-640x360-av_frag.mp4", kMP4, kAppendWholeFile);
606 StartPipelineWithMediaSource(&source); 606 StartPipelineWithMediaSource(&source);
607 607
608 scoped_refptr<DecoderBuffer> second_file = 608 scoped_refptr<DecoderBuffer> second_file =
609 ReadTestDataFile("bear-1280x720-av_frag.mp4"); 609 ReadTestDataFile("bear-1280x720-av_frag.mp4");
610 610
611 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec), 611 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec),
612 second_file->GetData(), second_file->GetDataSize()); 612 second_file->data(), second_file->data_size());
613 613
614 source.EndOfStream(); 614 source.EndOfStream();
615 615
616 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size()); 616 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size());
617 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds()); 617 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds());
618 EXPECT_EQ(kAppendTimeMs + k1280IsoFileDurationMs, 618 EXPECT_EQ(kAppendTimeMs + k1280IsoFileDurationMs,
619 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds()); 619 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds());
620 620
621 Play(); 621 Play();
622 622
623 EXPECT_TRUE(WaitUntilOnEnded()); 623 EXPECT_TRUE(WaitUntilOnEnded());
624 source.Abort(); 624 source.Abort();
625 Stop(); 625 Stop();
626 } 626 }
627 627
628 TEST_F(PipelineIntegrationTest, 628 TEST_F(PipelineIntegrationTest,
629 MediaSource_ConfigChange_Encrypted_MP4_CENC_VideoOnly) { 629 MediaSource_ConfigChange_Encrypted_MP4_CENC_VideoOnly) {
630 MockMediaSource source("bear-640x360-v_frag-cenc.mp4", 630 MockMediaSource source("bear-640x360-v_frag-cenc.mp4",
631 kMP4Video, kAppendWholeFile); 631 kMP4Video, kAppendWholeFile);
632 FakeEncryptedMedia encrypted_media(new KeyProvidingApp()); 632 FakeEncryptedMedia encrypted_media(new KeyProvidingApp());
633 StartPipelineWithEncryptedMedia(&source, &encrypted_media); 633 StartPipelineWithEncryptedMedia(&source, &encrypted_media);
634 634
635 scoped_refptr<DecoderBuffer> second_file = 635 scoped_refptr<DecoderBuffer> second_file =
636 ReadTestDataFile("bear-1280x720-v_frag-cenc.mp4"); 636 ReadTestDataFile("bear-1280x720-v_frag-cenc.mp4");
637 637
638 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec), 638 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec),
639 second_file->GetData(), second_file->GetDataSize()); 639 second_file->data(), second_file->data_size());
640 640
641 source.EndOfStream(); 641 source.EndOfStream();
642 642
643 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size()); 643 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size());
644 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds()); 644 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds());
645 EXPECT_EQ(kAppendTimeMs + k1280IsoFileDurationMs, 645 EXPECT_EQ(kAppendTimeMs + k1280IsoFileDurationMs,
646 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds()); 646 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds());
647 647
648 Play(); 648 Play();
649 649
650 EXPECT_TRUE(WaitUntilOnEnded()); 650 EXPECT_TRUE(WaitUntilOnEnded());
651 source.Abort(); 651 source.Abort();
652 Stop(); 652 Stop();
653 } 653 }
654 654
655 // Config changes from clear to encrypted are not currently supported. 655 // Config changes from clear to encrypted are not currently supported.
656 // TODO(ddorwin): Figure out why this CHECKs in AppendAtTime(). 656 // TODO(ddorwin): Figure out why this CHECKs in AppendAtTime().
657 TEST_F(PipelineIntegrationTest, 657 TEST_F(PipelineIntegrationTest,
658 DISABLED_MediaSource_ConfigChange_ClearThenEncrypted_MP4_CENC) { 658 DISABLED_MediaSource_ConfigChange_ClearThenEncrypted_MP4_CENC) {
659 MockMediaSource source("bear-640x360-av_frag.mp4", kMP4Video, 659 MockMediaSource source("bear-640x360-av_frag.mp4", kMP4Video,
660 kAppendWholeFile); 660 kAppendWholeFile);
661 FakeEncryptedMedia encrypted_media(new KeyProvidingApp()); 661 FakeEncryptedMedia encrypted_media(new KeyProvidingApp());
662 StartPipelineWithEncryptedMedia(&source, &encrypted_media); 662 StartPipelineWithEncryptedMedia(&source, &encrypted_media);
663 663
664 scoped_refptr<DecoderBuffer> second_file = 664 scoped_refptr<DecoderBuffer> second_file =
665 ReadTestDataFile("bear-1280x720-v_frag-cenc.mp4"); 665 ReadTestDataFile("bear-1280x720-v_frag-cenc.mp4");
666 666
667 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec), 667 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec),
668 second_file->GetData(), second_file->GetDataSize()); 668 second_file->data(), second_file->data_size());
669 669
670 source.EndOfStream(); 670 source.EndOfStream();
671 671
672 message_loop_.Run(); 672 message_loop_.Run();
673 EXPECT_EQ(PIPELINE_ERROR_DECODE, pipeline_status_); 673 EXPECT_EQ(PIPELINE_ERROR_DECODE, pipeline_status_);
674 674
675 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size()); 675 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size());
676 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds()); 676 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds());
677 // The second video was not added, so its time has not been added. 677 // The second video was not added, so its time has not been added.
678 EXPECT_EQ(k640IsoFileDurationMs, 678 EXPECT_EQ(k640IsoFileDurationMs,
(...skipping 10 matching lines...) Expand all
689 MediaSource_ConfigChange_EncryptedThenClear_MP4_CENC) { 689 MediaSource_ConfigChange_EncryptedThenClear_MP4_CENC) {
690 MockMediaSource source("bear-640x360-v_frag-cenc.mp4", 690 MockMediaSource source("bear-640x360-v_frag-cenc.mp4",
691 kMP4Video, kAppendWholeFile); 691 kMP4Video, kAppendWholeFile);
692 FakeEncryptedMedia encrypted_media(new KeyProvidingApp()); 692 FakeEncryptedMedia encrypted_media(new KeyProvidingApp());
693 StartPipelineWithEncryptedMedia(&source, &encrypted_media); 693 StartPipelineWithEncryptedMedia(&source, &encrypted_media);
694 694
695 scoped_refptr<DecoderBuffer> second_file = 695 scoped_refptr<DecoderBuffer> second_file =
696 ReadTestDataFile("bear-1280x720-av_frag.mp4"); 696 ReadTestDataFile("bear-1280x720-av_frag.mp4");
697 697
698 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec), 698 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec),
699 second_file->GetData(), second_file->GetDataSize()); 699 second_file->data(), second_file->data_size());
700 700
701 source.EndOfStream(); 701 source.EndOfStream();
702 702
703 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size()); 703 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size());
704 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds()); 704 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds());
705 // The second video was not added, so its time has not been added. 705 // The second video was not added, so its time has not been added.
706 EXPECT_EQ(k640IsoCencFileDurationMs, 706 EXPECT_EQ(k640IsoCencFileDurationMs,
707 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds()); 707 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds());
708 708
709 Play(); 709 Play();
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
945 945
946 // Verify that VP8 video with inband text track can be played back. 946 // Verify that VP8 video with inband text track can be played back.
947 TEST_F(PipelineIntegrationTest, BasicPlayback_VP8_WebVTT_WebM) { 947 TEST_F(PipelineIntegrationTest, BasicPlayback_VP8_WebVTT_WebM) {
948 ASSERT_TRUE(Start(GetTestDataFilePath("bear-vp8-webvtt.webm"), 948 ASSERT_TRUE(Start(GetTestDataFilePath("bear-vp8-webvtt.webm"),
949 PIPELINE_OK)); 949 PIPELINE_OK));
950 Play(); 950 Play();
951 ASSERT_TRUE(WaitUntilOnEnded()); 951 ASSERT_TRUE(WaitUntilOnEnded());
952 } 952 }
953 953
954 } // namespace media 954 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698