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

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: 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
« no previous file with comments | « media/filters/opus_audio_decoder.cc ('k') | media/filters/source_buffer_stream.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
493 493
494 TEST_F(PipelineIntegrationTest, MediaSource_ConfigChange_WebM) { 494 TEST_F(PipelineIntegrationTest, MediaSource_ConfigChange_WebM) {
495 MockMediaSource source("bear-320x240-16x9-aspect.webm", kWebM, 495 MockMediaSource source("bear-320x240-16x9-aspect.webm", kWebM,
496 kAppendWholeFile); 496 kAppendWholeFile);
497 StartPipelineWithMediaSource(&source); 497 StartPipelineWithMediaSource(&source);
498 498
499 scoped_refptr<DecoderBuffer> second_file = 499 scoped_refptr<DecoderBuffer> second_file =
500 ReadTestDataFile("bear-640x360.webm"); 500 ReadTestDataFile("bear-640x360.webm");
501 501
502 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec), 502 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec),
503 second_file->GetData(), second_file->GetDataSize()); 503 second_file->data(), second_file->data_size());
504 504
505 source.EndOfStream(); 505 source.EndOfStream();
506 506
507 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size()); 507 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size());
508 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds()); 508 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds());
509 EXPECT_EQ(kAppendTimeMs + k640WebMFileDurationMs, 509 EXPECT_EQ(kAppendTimeMs + k640WebMFileDurationMs,
510 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds()); 510 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds());
511 511
512 Play(); 512 Play();
513 513
514 EXPECT_TRUE(WaitUntilOnEnded()); 514 EXPECT_TRUE(WaitUntilOnEnded());
515 source.Abort(); 515 source.Abort();
516 Stop(); 516 Stop();
517 } 517 }
518 518
519 TEST_F(PipelineIntegrationTest, MediaSource_ConfigChange_Encrypted_WebM) { 519 TEST_F(PipelineIntegrationTest, MediaSource_ConfigChange_Encrypted_WebM) {
520 MockMediaSource source("bear-320x240-16x9-aspect-av_enc-av.webm", kWebM, 520 MockMediaSource source("bear-320x240-16x9-aspect-av_enc-av.webm", kWebM,
521 kAppendWholeFile); 521 kAppendWholeFile);
522 FakeEncryptedMedia encrypted_media(new KeyProvidingApp()); 522 FakeEncryptedMedia encrypted_media(new KeyProvidingApp());
523 StartPipelineWithEncryptedMedia(&source, &encrypted_media); 523 StartPipelineWithEncryptedMedia(&source, &encrypted_media);
524 524
525 scoped_refptr<DecoderBuffer> second_file = 525 scoped_refptr<DecoderBuffer> second_file =
526 ReadTestDataFile("bear-640x360-av_enc-av.webm"); 526 ReadTestDataFile("bear-640x360-av_enc-av.webm");
527 527
528 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec), 528 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec),
529 second_file->GetData(), second_file->GetDataSize()); 529 second_file->data(), second_file->data_size());
530 530
531 source.EndOfStream(); 531 source.EndOfStream();
532 532
533 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size()); 533 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size());
534 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds()); 534 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds());
535 EXPECT_EQ(kAppendTimeMs + k640WebMFileDurationMs, 535 EXPECT_EQ(kAppendTimeMs + k640WebMFileDurationMs,
536 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds()); 536 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds());
537 537
538 Play(); 538 Play();
539 539
540 EXPECT_TRUE(WaitUntilOnEnded()); 540 EXPECT_TRUE(WaitUntilOnEnded());
541 source.Abort(); 541 source.Abort();
542 Stop(); 542 Stop();
543 } 543 }
544 544
545 // Config changes from encrypted to clear are not currently supported. 545 // Config changes from encrypted to clear are not currently supported.
546 TEST_F(PipelineIntegrationTest, 546 TEST_F(PipelineIntegrationTest,
547 MediaSource_ConfigChange_ClearThenEncrypted_WebM) { 547 MediaSource_ConfigChange_ClearThenEncrypted_WebM) {
548 MockMediaSource source("bear-320x240-16x9-aspect.webm", kWebM, 548 MockMediaSource source("bear-320x240-16x9-aspect.webm", kWebM,
549 kAppendWholeFile); 549 kAppendWholeFile);
550 FakeEncryptedMedia encrypted_media(new KeyProvidingApp()); 550 FakeEncryptedMedia encrypted_media(new KeyProvidingApp());
551 StartPipelineWithEncryptedMedia(&source, &encrypted_media); 551 StartPipelineWithEncryptedMedia(&source, &encrypted_media);
552 552
553 scoped_refptr<DecoderBuffer> second_file = 553 scoped_refptr<DecoderBuffer> second_file =
554 ReadTestDataFile("bear-640x360-av_enc-av.webm"); 554 ReadTestDataFile("bear-640x360-av_enc-av.webm");
555 555
556 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec), 556 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec),
557 second_file->GetData(), second_file->GetDataSize()); 557 second_file->data(), second_file->data_size());
558 558
559 source.EndOfStream(); 559 source.EndOfStream();
560 560
561 message_loop_.Run(); 561 message_loop_.Run();
562 EXPECT_EQ(PIPELINE_ERROR_DECODE, pipeline_status_); 562 EXPECT_EQ(PIPELINE_ERROR_DECODE, pipeline_status_);
563 563
564 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size()); 564 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size());
565 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds()); 565 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds());
566 // The second video was not added, so its time has not been added. 566 // The second video was not added, so its time has not been added.
567 EXPECT_EQ(k320WebMFileDurationMs, 567 EXPECT_EQ(k320WebMFileDurationMs,
(...skipping 10 matching lines...) Expand all
578 MediaSource_ConfigChange_EncryptedThenClear_WebM) { 578 MediaSource_ConfigChange_EncryptedThenClear_WebM) {
579 MockMediaSource source("bear-320x240-16x9-aspect-av_enc-av.webm", kWebM, 579 MockMediaSource source("bear-320x240-16x9-aspect-av_enc-av.webm", kWebM,
580 kAppendWholeFile); 580 kAppendWholeFile);
581 FakeEncryptedMedia encrypted_media(new KeyProvidingApp()); 581 FakeEncryptedMedia encrypted_media(new KeyProvidingApp());
582 StartPipelineWithEncryptedMedia(&source, &encrypted_media); 582 StartPipelineWithEncryptedMedia(&source, &encrypted_media);
583 583
584 scoped_refptr<DecoderBuffer> second_file = 584 scoped_refptr<DecoderBuffer> second_file =
585 ReadTestDataFile("bear-640x360.webm"); 585 ReadTestDataFile("bear-640x360.webm");
586 586
587 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec), 587 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec),
588 second_file->GetData(), second_file->GetDataSize()); 588 second_file->data(), second_file->data_size());
589 589
590 source.EndOfStream(); 590 source.EndOfStream();
591 591
592 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size()); 592 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size());
593 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds()); 593 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds());
594 // The second video was not added, so its time has not been added. 594 // The second video was not added, so its time has not been added.
595 EXPECT_EQ(k320WebMFileDurationMs, 595 EXPECT_EQ(k320WebMFileDurationMs,
596 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds()); 596 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds());
597 597
598 Play(); 598 Play();
599 599
600 EXPECT_EQ(PIPELINE_ERROR_DECODE, WaitUntilEndedOrError()); 600 EXPECT_EQ(PIPELINE_ERROR_DECODE, WaitUntilEndedOrError());
601 source.Abort(); 601 source.Abort();
602 } 602 }
603 603
604 #if defined(GOOGLE_CHROME_BUILD) || defined(USE_PROPRIETARY_CODECS) 604 #if defined(GOOGLE_CHROME_BUILD) || defined(USE_PROPRIETARY_CODECS)
605 TEST_F(PipelineIntegrationTest, MediaSource_ConfigChange_MP4) { 605 TEST_F(PipelineIntegrationTest, MediaSource_ConfigChange_MP4) {
606 MockMediaSource source("bear-640x360-av_frag.mp4", kMP4, kAppendWholeFile); 606 MockMediaSource source("bear-640x360-av_frag.mp4", kMP4, kAppendWholeFile);
607 StartPipelineWithMediaSource(&source); 607 StartPipelineWithMediaSource(&source);
608 608
609 scoped_refptr<DecoderBuffer> second_file = 609 scoped_refptr<DecoderBuffer> second_file =
610 ReadTestDataFile("bear-1280x720-av_frag.mp4"); 610 ReadTestDataFile("bear-1280x720-av_frag.mp4");
611 611
612 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec), 612 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec),
613 second_file->GetData(), second_file->GetDataSize()); 613 second_file->data(), second_file->data_size());
614 614
615 source.EndOfStream(); 615 source.EndOfStream();
616 616
617 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size()); 617 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size());
618 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds()); 618 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds());
619 EXPECT_EQ(kAppendTimeMs + k1280IsoFileDurationMs, 619 EXPECT_EQ(kAppendTimeMs + k1280IsoFileDurationMs,
620 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds()); 620 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds());
621 621
622 Play(); 622 Play();
623 623
624 EXPECT_TRUE(WaitUntilOnEnded()); 624 EXPECT_TRUE(WaitUntilOnEnded());
625 source.Abort(); 625 source.Abort();
626 Stop(); 626 Stop();
627 } 627 }
628 628
629 TEST_F(PipelineIntegrationTest, 629 TEST_F(PipelineIntegrationTest,
630 MediaSource_ConfigChange_Encrypted_MP4_CENC_VideoOnly) { 630 MediaSource_ConfigChange_Encrypted_MP4_CENC_VideoOnly) {
631 MockMediaSource source("bear-640x360-v_frag-cenc.mp4", 631 MockMediaSource source("bear-640x360-v_frag-cenc.mp4",
632 kMP4Video, kAppendWholeFile); 632 kMP4Video, kAppendWholeFile);
633 FakeEncryptedMedia encrypted_media(new KeyProvidingApp()); 633 FakeEncryptedMedia encrypted_media(new KeyProvidingApp());
634 StartPipelineWithEncryptedMedia(&source, &encrypted_media); 634 StartPipelineWithEncryptedMedia(&source, &encrypted_media);
635 635
636 scoped_refptr<DecoderBuffer> second_file = 636 scoped_refptr<DecoderBuffer> second_file =
637 ReadTestDataFile("bear-1280x720-v_frag-cenc.mp4"); 637 ReadTestDataFile("bear-1280x720-v_frag-cenc.mp4");
638 638
639 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec), 639 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec),
640 second_file->GetData(), second_file->GetDataSize()); 640 second_file->data(), second_file->data_size());
641 641
642 source.EndOfStream(); 642 source.EndOfStream();
643 643
644 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size()); 644 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size());
645 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds()); 645 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds());
646 EXPECT_EQ(kAppendTimeMs + k1280IsoFileDurationMs, 646 EXPECT_EQ(kAppendTimeMs + k1280IsoFileDurationMs,
647 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds()); 647 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds());
648 648
649 Play(); 649 Play();
650 650
651 EXPECT_TRUE(WaitUntilOnEnded()); 651 EXPECT_TRUE(WaitUntilOnEnded());
652 source.Abort(); 652 source.Abort();
653 Stop(); 653 Stop();
654 } 654 }
655 655
656 // Config changes from clear to encrypted are not currently supported. 656 // Config changes from clear to encrypted are not currently supported.
657 // TODO(ddorwin): Figure out why this CHECKs in AppendAtTime(). 657 // TODO(ddorwin): Figure out why this CHECKs in AppendAtTime().
658 TEST_F(PipelineIntegrationTest, 658 TEST_F(PipelineIntegrationTest,
659 DISABLED_MediaSource_ConfigChange_ClearThenEncrypted_MP4_CENC) { 659 DISABLED_MediaSource_ConfigChange_ClearThenEncrypted_MP4_CENC) {
660 MockMediaSource source("bear-640x360-av_frag.mp4", kMP4Video, 660 MockMediaSource source("bear-640x360-av_frag.mp4", kMP4Video,
661 kAppendWholeFile); 661 kAppendWholeFile);
662 FakeEncryptedMedia encrypted_media(new KeyProvidingApp()); 662 FakeEncryptedMedia encrypted_media(new KeyProvidingApp());
663 StartPipelineWithEncryptedMedia(&source, &encrypted_media); 663 StartPipelineWithEncryptedMedia(&source, &encrypted_media);
664 664
665 scoped_refptr<DecoderBuffer> second_file = 665 scoped_refptr<DecoderBuffer> second_file =
666 ReadTestDataFile("bear-1280x720-v_frag-cenc.mp4"); 666 ReadTestDataFile("bear-1280x720-v_frag-cenc.mp4");
667 667
668 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec), 668 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec),
669 second_file->GetData(), second_file->GetDataSize()); 669 second_file->data(), second_file->data_size());
670 670
671 source.EndOfStream(); 671 source.EndOfStream();
672 672
673 message_loop_.Run(); 673 message_loop_.Run();
674 EXPECT_EQ(PIPELINE_ERROR_DECODE, pipeline_status_); 674 EXPECT_EQ(PIPELINE_ERROR_DECODE, pipeline_status_);
675 675
676 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size()); 676 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size());
677 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds()); 677 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds());
678 // The second video was not added, so its time has not been added. 678 // The second video was not added, so its time has not been added.
679 EXPECT_EQ(k640IsoFileDurationMs, 679 EXPECT_EQ(k640IsoFileDurationMs,
(...skipping 10 matching lines...) Expand all
690 MediaSource_ConfigChange_EncryptedThenClear_MP4_CENC) { 690 MediaSource_ConfigChange_EncryptedThenClear_MP4_CENC) {
691 MockMediaSource source("bear-640x360-v_frag-cenc.mp4", 691 MockMediaSource source("bear-640x360-v_frag-cenc.mp4",
692 kMP4Video, kAppendWholeFile); 692 kMP4Video, kAppendWholeFile);
693 FakeEncryptedMedia encrypted_media(new KeyProvidingApp()); 693 FakeEncryptedMedia encrypted_media(new KeyProvidingApp());
694 StartPipelineWithEncryptedMedia(&source, &encrypted_media); 694 StartPipelineWithEncryptedMedia(&source, &encrypted_media);
695 695
696 scoped_refptr<DecoderBuffer> second_file = 696 scoped_refptr<DecoderBuffer> second_file =
697 ReadTestDataFile("bear-1280x720-av_frag.mp4"); 697 ReadTestDataFile("bear-1280x720-av_frag.mp4");
698 698
699 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec), 699 source.AppendAtTime(base::TimeDelta::FromSeconds(kAppendTimeSec),
700 second_file->GetData(), second_file->GetDataSize()); 700 second_file->data(), second_file->data_size());
701 701
702 source.EndOfStream(); 702 source.EndOfStream();
703 703
704 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size()); 704 EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size());
705 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds()); 705 EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds());
706 // The second video was not added, so its time has not been added. 706 // The second video was not added, so its time has not been added.
707 EXPECT_EQ(k640IsoCencFileDurationMs, 707 EXPECT_EQ(k640IsoCencFileDurationMs,
708 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds()); 708 pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds());
709 709
710 Play(); 710 Play();
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
948 948
949 // Verify that VP8 video with inband text track can be played back. 949 // Verify that VP8 video with inband text track can be played back.
950 TEST_F(PipelineIntegrationTest, BasicPlayback_VP8_WebVTT_WebM) { 950 TEST_F(PipelineIntegrationTest, BasicPlayback_VP8_WebVTT_WebM) {
951 ASSERT_TRUE(Start(GetTestDataFilePath("bear-vp8-webvtt.webm"), 951 ASSERT_TRUE(Start(GetTestDataFilePath("bear-vp8-webvtt.webm"),
952 PIPELINE_OK)); 952 PIPELINE_OK));
953 Play(); 953 Play();
954 ASSERT_TRUE(WaitUntilOnEnded()); 954 ASSERT_TRUE(WaitUntilOnEnded());
955 } 955 }
956 956
957 } // namespace media 957 } // namespace media
OLDNEW
« no previous file with comments | « media/filters/opus_audio_decoder.cc ('k') | media/filters/source_buffer_stream.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698