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

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

Powered by Google App Engine
This is Rietveld 408576698