OLD | NEW |
---|---|
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 <algorithm> | 5 #include <algorithm> |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
10 #include "base/strings/string_split.h" | 10 #include "base/strings/string_split.h" |
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
544 // time ranges. | 544 // time ranges. |
545 // bear-320x240.webm : [0-501) [801-2737) | 545 // bear-320x240.webm : [0-501) [801-2737) |
546 // bear-640x360.webm : [527-793) | 546 // bear-640x360.webm : [527-793) |
547 // | 547 // |
548 // bear-320x240.webm AudioDecoderConfig returns 3863 for its extra_data_size() | 548 // bear-320x240.webm AudioDecoderConfig returns 3863 for its extra_data_size() |
549 // bear-640x360.webm AudioDecoderConfig returns 3935 for its extra_data_size() | 549 // bear-640x360.webm AudioDecoderConfig returns 3935 for its extra_data_size() |
550 // The resulting audio stream returns data from each file for the following | 550 // The resulting audio stream returns data from each file for the following |
551 // time ranges. | 551 // time ranges. |
552 // bear-320x240.webm : [0-524) [779-2737) | 552 // bear-320x240.webm : [0-524) [779-2737) |
553 // bear-640x360.webm : [527-759) | 553 // bear-640x360.webm : [527-759) |
554 | |
554 bool InitDemuxerWithConfigChangeData() { | 555 bool InitDemuxerWithConfigChangeData() { |
555 scoped_refptr<DecoderBuffer> bear1 = ReadTestDataFile("bear-320x240.webm"); | 556 scoped_refptr<DecoderBuffer> bear1 = ReadTestDataFile("bear-320x240.webm"); |
556 scoped_refptr<DecoderBuffer> bear2 = ReadTestDataFile("bear-640x360.webm"); | 557 scoped_refptr<DecoderBuffer> bear2 = ReadTestDataFile("bear-640x360.webm"); |
557 | 558 |
558 EXPECT_CALL(*this, DemuxerOpened()); | 559 EXPECT_CALL(*this, DemuxerOpened()); |
559 demuxer_->Initialize( | 560 demuxer_->Initialize( |
560 &host_, CreateInitDoneCB(base::TimeDelta::FromMilliseconds(2744), | 561 &host_, CreateInitDoneCB(base::TimeDelta::FromMilliseconds(2744), |
561 PIPELINE_OK), true); | 562 PIPELINE_OK), true); |
562 | 563 |
563 if (AddId(kSourceId, HAS_AUDIO | HAS_VIDEO) != ChunkDemuxer::kOk) | 564 if (AddId(kSourceId, HAS_AUDIO | HAS_VIDEO) != ChunkDemuxer::kOk) |
564 return false; | 565 return false; |
565 | 566 |
566 // Append the whole bear1 file. | 567 // Append the whole bear1 file. |
567 AppendData(bear1->data(), bear1->data_size()); | 568 AppendData(bear1->data(), bear1->data_size()); |
568 CheckExpectedRanges(kSourceId, "{ [0,2737) }"); | 569 // Last audio frame has timestamp 2721 and duration 24 (estimated from max |
570 // seen so far for audio track). | |
571 // Last video frame has timestamp 2703 and duration 33 (from TrackEntry | |
572 // DefaultDuration for video track). | |
573 CheckExpectedRanges(kSourceId, "{ [0,2736) }"); | |
acolwell GONE FROM CHROMIUM
2014/03/26 23:32:04
nit: update values in comment above.
wolenetz
2014/03/27 18:01:48
Done.
| |
569 | 574 |
570 // Append initialization segment for bear2. | 575 // Append initialization segment for bear2. |
571 // Note: Offsets here and below are derived from | 576 // Note: Offsets here and below are derived from |
572 // media/test/data/bear-640x360-manifest.js and | 577 // media/test/data/bear-640x360-manifest.js and |
573 // media/test/data/bear-320x240-manifest.js which were | 578 // media/test/data/bear-320x240-manifest.js which were |
574 // generated from media/test/data/bear-640x360.webm and | 579 // generated from media/test/data/bear-640x360.webm and |
575 // media/test/data/bear-320x240.webm respectively. | 580 // media/test/data/bear-320x240.webm respectively. |
576 AppendData(bear2->data(), 4340); | 581 AppendData(bear2->data(), 4340); |
577 | 582 |
578 // Append a media segment that goes from [0.527000, 1.014000). | 583 // Append a media segment that goes from [0.527000, 1.014000). |
579 AppendData(bear2->data() + 55290, 18785); | 584 AppendData(bear2->data() + 55290, 18785); |
580 CheckExpectedRanges(kSourceId, "{ [0,1028) [1201,2737) }"); | 585 CheckExpectedRanges(kSourceId, "{ [0,1027) [1201,2736) }"); |
581 | 586 |
582 // Append initialization segment for bear1 & fill gap with [779-1197) | 587 // Append initialization segment for bear1 & fill gap with [779-1197) |
583 // segment. | 588 // segment. |
584 AppendData(bear1->data(), 4370); | 589 AppendData(bear1->data(), 4370); |
585 AppendData(bear1->data() + 72737, 28183); | 590 AppendData(bear1->data() + 72737, 28183); |
586 CheckExpectedRanges(kSourceId, "{ [0,2737) }"); | 591 CheckExpectedRanges(kSourceId, "{ [0,2736) }"); |
587 | 592 |
588 MarkEndOfStream(PIPELINE_OK); | 593 MarkEndOfStream(PIPELINE_OK); |
589 return true; | 594 return true; |
590 } | 595 } |
591 | 596 |
592 void ShutdownDemuxer() { | 597 void ShutdownDemuxer() { |
593 if (demuxer_) { | 598 if (demuxer_) { |
594 demuxer_->Shutdown(); | 599 demuxer_->Shutdown(); |
595 message_loop_.RunUntilIdle(); | 600 message_loop_.RunUntilIdle(); |
596 } | 601 } |
(...skipping 2545 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3142 // NOTE: we start at 175 here because the buffer at 125 was returned | 3147 // NOTE: we start at 175 here because the buffer at 125 was returned |
3143 // to the pending read initiated above. | 3148 // to the pending read initiated above. |
3144 CheckExpectedBuffers(text_stream, "175 225"); | 3149 CheckExpectedBuffers(text_stream, "175 225"); |
3145 | 3150 |
3146 // Verify that audio & video streams contiue to return expected values. | 3151 // Verify that audio & video streams contiue to return expected values. |
3147 CheckExpectedBuffers(audio_stream, "160 180"); | 3152 CheckExpectedBuffers(audio_stream, "160 180"); |
3148 CheckExpectedBuffers(video_stream, "180 210"); | 3153 CheckExpectedBuffers(video_stream, "180 210"); |
3149 } | 3154 } |
3150 | 3155 |
3151 } // namespace media | 3156 } // namespace media |
OLD | NEW |