Chromium Code Reviews| Index: media/filters/chunk_demuxer_unittest.cc |
| diff --git a/media/filters/chunk_demuxer_unittest.cc b/media/filters/chunk_demuxer_unittest.cc |
| index 87e5aa743a7bfb7618d85da321930eb4e3e4d0e2..969ae2d5b2dd7bf27f1c115d8641bbd664051537 100644 |
| --- a/media/filters/chunk_demuxer_unittest.cc |
| +++ b/media/filters/chunk_demuxer_unittest.cc |
| @@ -85,7 +85,9 @@ const int kVideoTrackEntryHeaderSize = |
| const int kVideoTrackNum = 1; |
| const int kAudioTrackNum = 2; |
| const int kTextTrackNum = 3; |
| -const int kAlternateTextTrackNum = 4; |
| +const int kAlternateVideoTrackNum = 4; |
| +const int kAlternateAudioTrackNum = 5; |
| +const int kAlternateTextTrackNum = 6; |
| const int kAudioBlockDuration = 23; |
| const int kVideoBlockDuration = 33; |
| @@ -265,7 +267,7 @@ class ChunkDemuxerTest : public ::testing::Test { |
| : media_log_(new StrictMock<MockMediaLog>()), |
| append_window_end_for_next_append_(kInfiniteDuration()) { |
| init_segment_received_cb_ = base::Bind( |
| - &ChunkDemuxerTest::InitSegmentReceivedWrapper, base::Unretained(this)); |
| + &ChunkDemuxerTest::InitSegmentReceived, base::Unretained(this)); |
| CreateNewDemuxer(); |
| } |
| @@ -283,31 +285,9 @@ class ChunkDemuxerTest : public ::testing::Test { |
| } |
| void CreateInitSegment(int stream_flags, |
| - bool is_audio_encrypted, |
| - bool is_video_encrypted, |
| - scoped_ptr<uint8_t[]>* buffer, |
| - int* size) { |
| - CreateInitSegmentInternal( |
| - stream_flags, is_audio_encrypted, is_video_encrypted, buffer, false, |
| - size); |
| - } |
| - |
| - void CreateInitSegmentWithAlternateTextTrackNum(int stream_flags, |
| - bool is_audio_encrypted, |
| - bool is_video_encrypted, |
| - scoped_ptr<uint8_t[]>* buffer, |
| - int* size) { |
| - DCHECK(stream_flags & HAS_TEXT); |
| - CreateInitSegmentInternal( |
| - stream_flags, is_audio_encrypted, is_video_encrypted, buffer, true, |
| - size); |
| - } |
| - |
| - void CreateInitSegmentInternal(int stream_flags, |
| bool is_audio_encrypted, |
| bool is_video_encrypted, |
| scoped_ptr<uint8_t[]>* buffer, |
| - bool use_alternate_text_track_id, |
| int* size) { |
| bool has_audio = (stream_flags & HAS_AUDIO) != 0; |
| bool has_video = (stream_flags & HAS_VIDEO) != 0; |
| @@ -329,6 +309,12 @@ class ChunkDemuxerTest : public ::testing::Test { |
| if (has_audio) { |
| audio_track_entry = ReadTestDataFile("webm_vorbis_track_entry"); |
| tracks_element_size += audio_track_entry->data_size(); |
| + // Verify that we have TrackNum (0xD7) EBML element at expected offset. |
| + DCHECK_EQ(audio_track_entry->data()[9], 0xD7); |
|
wolenetz
2016/04/08 22:41:49
nit: we have 0xD7 defined and usable from here: ht
servolk
2016/04/08 22:50:28
Done.
|
| + // Ensure the track id in TrackNum EBML element matches kAudioTrackNum. |
|
wolenetz
2016/04/08 22:41:49
nit: since we're DCHECKing the TrackNum, should we
servolk
2016/04/08 22:50:28
Done.
|
| + DCHECK_EQ(audio_track_entry->data()[11], kAudioTrackNum); |
| + if (stream_flags & USE_ALTERNATE_AUDIO_TRACK_ID) |
| + audio_track_entry->writable_data()[11] = kAlternateAudioTrackNum; |
| if (is_audio_encrypted) { |
| audio_content_encodings = ReadTestDataFile("webm_content_encodings"); |
| tracks_element_size += audio_content_encodings->data_size(); |
| @@ -338,6 +324,12 @@ class ChunkDemuxerTest : public ::testing::Test { |
| if (has_video) { |
| video_track_entry = ReadTestDataFile("webm_vp8_track_entry"); |
| tracks_element_size += video_track_entry->data_size(); |
| + // Verify that we have TrackNum (0xD7) EBML element at expected offset. |
| + DCHECK_EQ(video_track_entry->data()[9], 0xD7); |
|
wolenetz
2016/04/08 22:41:49
nit ditto re-use defined constant
servolk
2016/04/08 22:50:28
Done.
|
| + // Ensure the track id in TrackNum EBML element matches kVideoTrackNum. |
|
wolenetz
2016/04/08 22:41:49
nit ditto DCHECK track id size?
servolk
2016/04/08 22:50:28
Done.
|
| + DCHECK_EQ(video_track_entry->data()[11], kVideoTrackNum); |
| + if (stream_flags & USE_ALTERNATE_VIDEO_TRACK_ID) |
| + video_track_entry->writable_data()[11] = kAlternateVideoTrackNum; |
| if (is_video_encrypted) { |
| video_content_encodings = ReadTestDataFile("webm_content_encodings"); |
| tracks_element_size += video_content_encodings->data_size(); |
| @@ -351,7 +343,7 @@ class ChunkDemuxerTest : public ::testing::Test { |
| // |
| // This is the track entry for a text track, |
| // TrackEntry [AE], size=30 |
| - // TrackNum [D7], size=1, val=3 (or 4 if use_alternate_text_track_id) |
| + // TrackNum [D7], size=1, val=3 (or 4 if USE_ALTERNATE_TEXT_TRACK_ID) |
| // TrackUID [73] [C5], size=1, value=3 (must remain constant for same |
| // track, even if TrackNum changes) |
| // TrackType [83], size=1, val=0x11 |
| @@ -360,7 +352,7 @@ class ChunkDemuxerTest : public ::testing::Test { |
| "\x83\x81\x11\x86\x92" |
| "D_WEBVTT/SUBTITLES"; |
| DCHECK_EQ(str[4], kTextTrackNum); |
| - if (use_alternate_text_track_id) |
| + if (stream_flags & USE_ALTERNATE_TEXT_TRACK_ID) |
| str[4] = kAlternateTextTrackNum; |
| const int len = strlen(str); |
| @@ -454,7 +446,7 @@ class ChunkDemuxerTest : public ::testing::Test { |
| ChunkDemuxer::Status status = demuxer_->AddId(source_id, type, codecs); |
| if (status == ChunkDemuxer::kOk) |
| demuxer_->SetTracksWatcher( |
| - source_id, base::Bind(&ChunkDemuxerTest::InitSegmentReceivedWrapper, |
| + source_id, base::Bind(&ChunkDemuxerTest::InitSegmentReceived, |
| base::Unretained(this))); |
| return status; |
| } |
| @@ -468,7 +460,7 @@ class ChunkDemuxerTest : public ::testing::Test { |
| ChunkDemuxer::Status status = demuxer_->AddId(source_id, type, codecs); |
| if (status == ChunkDemuxer::kOk) |
| demuxer_->SetTracksWatcher( |
| - source_id, base::Bind(&ChunkDemuxerTest::InitSegmentReceivedWrapper, |
| + source_id, base::Bind(&ChunkDemuxerTest::InitSegmentReceived, |
| base::Unretained(this))); |
| return status; |
| } |
| @@ -496,9 +488,11 @@ class ChunkDemuxerTest : public ::testing::Test { |
| int block_duration = 0; |
| switch (track_number) { |
| case kVideoTrackNum: |
| + case kAlternateVideoTrackNum: |
| block_duration = kVideoBlockDuration; |
| break; |
| case kAudioTrackNum: |
| + case kAlternateAudioTrackNum: |
| block_duration = kAudioBlockDuration; |
| break; |
| case kTextTrackNum: // Fall-through. |
| @@ -590,7 +584,8 @@ class ChunkDemuxerTest : public ::testing::Test { |
| << " All text blocks must be key frames"; |
| } |
| - if (track_number == kAudioTrackNum) |
| + if (track_number == kAudioTrackNum || |
| + track_number == kAlternateAudioTrackNum) |
| ASSERT_TRUE(block_info.flags & kWebMFlagKeyframe); |
| blocks->push_back(block_info); |
| @@ -608,7 +603,8 @@ class ChunkDemuxerTest : public ::testing::Test { |
| cb.SetClusterTimecode(blocks[i].timestamp_in_ms); |
| if (blocks[i].duration) { |
| - if (blocks[i].track_number == kVideoTrackNum) { |
| + if (blocks[i].track_number == kVideoTrackNum || |
| + blocks[i].track_number == kAlternateVideoTrackNum) { |
| AddVideoBlockGroup(&cb, |
| blocks[i].track_number, blocks[i].timestamp_in_ms, |
| blocks[i].duration, blocks[i].flags); |
| @@ -798,7 +794,10 @@ class ChunkDemuxerTest : public ::testing::Test { |
| enum StreamFlags { |
| HAS_AUDIO = 1 << 0, |
| HAS_VIDEO = 1 << 1, |
| - HAS_TEXT = 1 << 2 |
| + HAS_TEXT = 1 << 2, |
| + USE_ALTERNATE_AUDIO_TRACK_ID = 1 << 3, |
| + USE_ALTERNATE_VIDEO_TRACK_ID = 1 << 4, |
| + USE_ALTERNATE_TEXT_TRACK_ID = 1 << 5, |
| }; |
| bool InitDemuxer(int stream_flags) { |
| @@ -849,7 +848,7 @@ class ChunkDemuxerTest : public ::testing::Test { |
| // it. |
| if (stream_flags != 0) { |
| ExpectInitMediaLogs(stream_flags); |
| - EXPECT_CALL(*this, InitSegmentReceived(_)); |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| } else { |
| // OnNewConfigs() requires at least one audio, video, or text track. |
| EXPECT_MEDIA_LOG(StreamParsingFailed()); |
| @@ -891,11 +890,11 @@ class ChunkDemuxerTest : public ::testing::Test { |
| // incompatible with InSequence tests. Refactoring of the duration |
| // set expectation to not be added during CreateInitDoneCB() could fix this. |
| ExpectInitMediaLogs(audio_flags); |
| - EXPECT_CALL(*this, InitSegmentReceived(_)); |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| AppendInitSegmentWithSourceId(audio_id, audio_flags); |
| ExpectInitMediaLogs(video_flags); |
| - EXPECT_CALL(*this, InitSegmentReceived(_)); |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| AppendInitSegmentWithSourceId(video_id, video_flags); |
| return true; |
| } |
| @@ -931,7 +930,7 @@ class ChunkDemuxerTest : public ::testing::Test { |
| // Adding expectation prior to CreateInitDoneCB() here because InSequence |
| // tests require init segment received before duration set. |
| ExpectInitMediaLogs(HAS_AUDIO | HAS_VIDEO); |
| - EXPECT_CALL(*this, InitSegmentReceived(_)); |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| demuxer_->Initialize( |
| &host_, CreateInitDoneCB(base::TimeDelta::FromMilliseconds(2744), |
| PIPELINE_OK), true); |
| @@ -957,7 +956,7 @@ class ChunkDemuxerTest : public ::testing::Test { |
| // media/test/data/bear-320x240-manifest.js which were |
| // generated from media/test/data/bear-640x360.webm and |
| // media/test/data/bear-320x240.webm respectively. |
| - EXPECT_CALL(*this, InitSegmentReceived(_)); |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| AppendData(bear2->data(), 4340); |
| // Append a media segment that goes from [0.527000, 1.014000). |
| @@ -968,7 +967,7 @@ class ChunkDemuxerTest : public ::testing::Test { |
| // Append initialization segment for bear1 & fill gap with [779-1197) |
| // segment. |
| - EXPECT_CALL(*this, InitSegmentReceived(_)); |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| AppendData(bear1->data(), 4370); |
| EXPECT_MEDIA_LOG(WebMSimpleBlockDurationEstimated(23)); |
| EXPECT_MEDIA_LOG(GeneratedSplice(26000, 779000)); |
| @@ -1316,7 +1315,7 @@ class ChunkDemuxerTest : public ::testing::Test { |
| // Read a WebM file into memory and send the data to the demuxer. |
| scoped_refptr<DecoderBuffer> buffer = ReadTestDataFile(filename); |
| - EXPECT_CALL(*this, InitSegmentReceived(_)); |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| AppendDataInPieces(buffer->data(), buffer->data_size(), 512); |
| // Verify that the timestamps on the first few packets match what we |
| @@ -1353,7 +1352,7 @@ class ChunkDemuxerTest : public ::testing::Test { |
| void(EmeInitDataType init_data_type, |
| const std::vector<uint8_t>& init_data)); |
| - MOCK_METHOD1(InitSegmentReceived, void(scoped_ptr<MediaTracks>&)); |
| + MOCK_METHOD1(InitSegmentReceivedMock, void(scoped_ptr<MediaTracks>&)); |
| void Seek(base::TimeDelta seek_time) { |
| demuxer_->StartWaitingForSeek(seek_time); |
| @@ -1391,9 +1390,11 @@ class ChunkDemuxerTest : public ::testing::Test { |
| std::map<std::string, base::TimeDelta> timestamp_offset_map_; |
| public: |
| - // A workaround for gtest mocks not allowing moving scoped_ptrs. |
| - void InitSegmentReceivedWrapper(scoped_ptr<MediaTracks> tracks) { |
| - InitSegmentReceived(tracks); |
| + void InitSegmentReceived(scoped_ptr<MediaTracks> tracks) { |
| + DCHECK(tracks.get()); |
| + DCHECK_GT(tracks->tracks().size(), 0u); |
| + |
| + InitSegmentReceivedMock(tracks); |
| } |
| private: |
| @@ -1558,10 +1559,10 @@ TEST_F(ChunkDemuxerTest, SingleTextTrackIdChange) { |
| scoped_ptr<uint8_t[]> info_tracks; |
| int info_tracks_size = 0; |
| - CreateInitSegmentWithAlternateTextTrackNum(HAS_TEXT | HAS_AUDIO | HAS_VIDEO, |
| - false, false, |
| - &info_tracks, &info_tracks_size); |
| - EXPECT_CALL(*this, InitSegmentReceived(_)); |
| + CreateInitSegment( |
| + HAS_TEXT | HAS_AUDIO | HAS_VIDEO | USE_ALTERNATE_TEXT_TRACK_ID, false, |
| + false, &info_tracks, &info_tracks_size); |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| demuxer_->AppendData(kSourceId, info_tracks.get(), info_tracks_size, |
| append_window_start_for_next_append_, |
| append_window_end_for_next_append_, |
| @@ -1581,6 +1582,34 @@ TEST_F(ChunkDemuxerTest, SingleTextTrackIdChange) { |
| ShutdownDemuxer(); |
| } |
| +TEST_F(ChunkDemuxerTest, AudioVideoTrackIdsChange) { |
| + // Test with 1 audio and 1 video stream. Send a second init segment in which |
| + // the audio and video track IDs change. Verify that appended buffers before |
| + // and after the second init segment map to the same underlying track buffers. |
| + CreateNewDemuxer(); |
| + ASSERT_TRUE( |
| + InitDemuxerWithEncryptionInfo(HAS_AUDIO | HAS_VIDEO, false, false)); |
| + DemuxerStream* audio_stream = demuxer_->GetStream(DemuxerStream::AUDIO); |
| + DemuxerStream* video_stream = demuxer_->GetStream(DemuxerStream::VIDEO); |
| + ASSERT_TRUE(audio_stream); |
| + ASSERT_TRUE(video_stream); |
| + |
| + AppendMuxedCluster(MuxedStreamInfo(kAudioTrackNum, "0K 23K", 23), |
| + MuxedStreamInfo(kVideoTrackNum, "0K 30", 30)); |
| + CheckExpectedRanges("{ [0,46) }"); |
| + |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| + AppendInitSegment(HAS_AUDIO | HAS_VIDEO | USE_ALTERNATE_AUDIO_TRACK_ID | |
| + USE_ALTERNATE_VIDEO_TRACK_ID); |
| + AppendMuxedCluster(MuxedStreamInfo(kAlternateAudioTrackNum, "46K 69K", 63), |
| + MuxedStreamInfo(kAlternateVideoTrackNum, "60K", 23)); |
| + CheckExpectedRanges("{ [0,92) }"); |
| + CheckExpectedBuffers(audio_stream, "0K 23K 46K 69K"); |
| + CheckExpectedBuffers(video_stream, "0K 30 60K"); |
| + |
| + ShutdownDemuxer(); |
| +} |
| + |
| TEST_F(ChunkDemuxerTest, InitSegmentSetsNeedRandomAccessPointFlag) { |
| // Tests that non-key-frames following an init segment are allowed |
| // and dropped, as expected if the initialization segment received |
| @@ -1605,7 +1634,7 @@ TEST_F(ChunkDemuxerTest, InitSegmentSetsNeedRandomAccessPointFlag) { |
| MuxedStreamInfo(kTextTrackNum, "25K 40K")); |
| CheckExpectedRanges("{ [23,46) }"); |
| - EXPECT_CALL(*this, InitSegmentReceived(_)); |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| AppendInitSegment(HAS_TEXT | HAS_AUDIO | HAS_VIDEO); |
| AppendMuxedCluster(MuxedStreamInfo(kAudioTrackNum, "46K 69K", 23), |
| MuxedStreamInfo(kVideoTrackNum, "60 90K", 30), |
| @@ -1629,7 +1658,7 @@ TEST_F(ChunkDemuxerTest, Shutdown_BeforeAllInitSegmentsAppended) { |
| EXPECT_EQ(AddId("video", HAS_VIDEO), ChunkDemuxer::kOk); |
| ExpectInitMediaLogs(HAS_AUDIO); |
| - EXPECT_CALL(*this, InitSegmentReceived(_)); |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| AppendInitSegmentWithSourceId("audio", HAS_AUDIO); |
| ShutdownDemuxer(); |
| @@ -1648,7 +1677,7 @@ TEST_F(ChunkDemuxerTest, Shutdown_BeforeAllInitSegmentsAppendedText) { |
| .Times(Exactly(1)); |
| ExpectInitMediaLogs(HAS_VIDEO); |
| - EXPECT_CALL(*this, InitSegmentReceived(_)); |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| AppendInitSegmentWithSourceId("video_and_text", HAS_VIDEO | HAS_TEXT); |
| ShutdownDemuxer(); |
| @@ -2168,7 +2197,7 @@ TEST_F(ChunkDemuxerTest, AppendingInPieces) { |
| dst += cluster_b->size(); |
| ExpectInitMediaLogs(HAS_AUDIO | HAS_VIDEO); |
| - EXPECT_CALL(*this, InitSegmentReceived(_)); |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| AppendDataInPieces(buffer.get(), buffer_size); |
| GenerateExpectedReads(0, 9); |
| @@ -2359,9 +2388,9 @@ TEST_F(ChunkDemuxerTest, AVHeadersWithAudioOnlyType) { |
| codecs[0] = "vorbis"; |
| ASSERT_EQ(demuxer_->AddId(kSourceId, "audio/webm", codecs), |
| ChunkDemuxer::kOk); |
| - demuxer_->SetTracksWatcher( |
| - kSourceId, base::Bind(&ChunkDemuxerTest::InitSegmentReceivedWrapper, |
| - base::Unretained(this))); |
| + demuxer_->SetTracksWatcher(kSourceId, |
| + base::Bind(&ChunkDemuxerTest::InitSegmentReceived, |
| + base::Unretained(this))); |
| // Video track is unexpected per mimetype. |
| EXPECT_MEDIA_LOG(InitSegmentMismatchesMimeType("a video", true)); |
| @@ -2380,9 +2409,9 @@ TEST_F(ChunkDemuxerTest, AVHeadersWithVideoOnlyType) { |
| codecs[0] = "vp8"; |
| ASSERT_EQ(demuxer_->AddId(kSourceId, "video/webm", codecs), |
| ChunkDemuxer::kOk); |
| - demuxer_->SetTracksWatcher( |
| - kSourceId, base::Bind(&ChunkDemuxerTest::InitSegmentReceivedWrapper, |
| - base::Unretained(this))); |
| + demuxer_->SetTracksWatcher(kSourceId, |
| + base::Bind(&ChunkDemuxerTest::InitSegmentReceived, |
| + base::Unretained(this))); |
| // Audio track is unexpected per mimetype. |
| EXPECT_MEDIA_LOG(InitSegmentMismatchesMimeType("an audio", true)); |
| @@ -2402,9 +2431,9 @@ TEST_F(ChunkDemuxerTest, AudioOnlyHeaderWithAVType) { |
| codecs[1] = "vp8"; |
| ASSERT_EQ(demuxer_->AddId(kSourceId, "video/webm", codecs), |
| ChunkDemuxer::kOk); |
| - demuxer_->SetTracksWatcher( |
| - kSourceId, base::Bind(&ChunkDemuxerTest::InitSegmentReceivedWrapper, |
| - base::Unretained(this))); |
| + demuxer_->SetTracksWatcher(kSourceId, |
| + base::Bind(&ChunkDemuxerTest::InitSegmentReceived, |
| + base::Unretained(this))); |
| // Video track is also expected per mimetype. |
| EXPECT_MEDIA_LOG(InitSegmentMismatchesMimeType("a video", false)); |
| @@ -2424,9 +2453,9 @@ TEST_F(ChunkDemuxerTest, VideoOnlyHeaderWithAVType) { |
| codecs[1] = "vp8"; |
| ASSERT_EQ(demuxer_->AddId(kSourceId, "video/webm", codecs), |
| ChunkDemuxer::kOk); |
| - demuxer_->SetTracksWatcher( |
| - kSourceId, base::Bind(&ChunkDemuxerTest::InitSegmentReceivedWrapper, |
| - base::Unretained(this))); |
| + demuxer_->SetTracksWatcher(kSourceId, |
| + base::Bind(&ChunkDemuxerTest::InitSegmentReceived, |
| + base::Unretained(this))); |
| // Audio track is also expected per mimetype. |
| EXPECT_MEDIA_LOG(InitSegmentMismatchesMimeType("an audio", false)); |
| @@ -2440,7 +2469,7 @@ TEST_F(ChunkDemuxerTest, MultipleHeaders) { |
| AppendCluster(kDefaultFirstCluster()); |
| // Append another identical initialization segment. |
| - EXPECT_CALL(*this, InitSegmentReceived(_)); |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| AppendInitSegment(HAS_AUDIO | HAS_VIDEO); |
| AppendCluster(kDefaultSecondCluster()); |
| @@ -2496,7 +2525,7 @@ TEST_F(ChunkDemuxerTest, AddIdFailures) { |
| ASSERT_EQ(AddId(), ChunkDemuxer::kReachedIdLimit); |
| ExpectInitMediaLogs(HAS_AUDIO); |
| - EXPECT_CALL(*this, InitSegmentReceived(_)); |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| AppendInitSegmentWithSourceId(audio_id, HAS_AUDIO); |
| // Adding an id after append should fail. |
| @@ -2740,7 +2769,7 @@ TEST_F(ChunkDemuxerTest, GetBufferedRanges_AudioIdOnly) { |
| ASSERT_EQ(AddId(kSourceId, HAS_AUDIO), ChunkDemuxer::kOk); |
| ExpectInitMediaLogs(HAS_AUDIO); |
| - EXPECT_CALL(*this, InitSegmentReceived(_)); |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| AppendInitSegment(HAS_AUDIO); |
| // Test a simple cluster. |
| @@ -2764,7 +2793,7 @@ TEST_F(ChunkDemuxerTest, GetBufferedRanges_VideoIdOnly) { |
| ASSERT_EQ(AddId(kSourceId, HAS_VIDEO), ChunkDemuxer::kOk); |
| ExpectInitMediaLogs(HAS_VIDEO); |
| - EXPECT_CALL(*this, InitSegmentReceived(_)); |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| AppendInitSegment(HAS_VIDEO); |
| // Test a simple cluster. |
| @@ -3439,7 +3468,7 @@ TEST_F(ChunkDemuxerTest, EmitBuffersDuringAbort) { |
| // PTS: 353788 (0x000565fc) [= 90 kHz-Timestamp: 0:00:03.9309] |
| scoped_refptr<DecoderBuffer> buffer = ReadTestDataFile("bear-1280x720.ts"); |
| - EXPECT_CALL(*this, InitSegmentReceived(_)); |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| AppendData(kSourceId, buffer->data(), buffer->data_size()); |
| // Confirm we're in the middle of parsing a media segment. |
| @@ -3487,7 +3516,7 @@ TEST_F(ChunkDemuxerTest, SeekCompleteDuringAbort) { |
| // PTS: 353788 (0x000565fc) [= 90 kHz-Timestamp: 0:00:03.9309] |
| scoped_refptr<DecoderBuffer> buffer = ReadTestDataFile("bear-1280x720.ts"); |
| - EXPECT_CALL(*this, InitSegmentReceived(_)); |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| AppendData(kSourceId, buffer->data(), buffer->data_size()); |
| // Confirm we're in the middle of parsing a media segment. |
| @@ -4098,7 +4127,7 @@ TEST_F(ChunkDemuxerTest, AppendWindow_WebMFile_AudioOnly) { |
| scoped_refptr<DecoderBuffer> buffer = |
| ReadTestDataFile("bear-320x240-audio-only.webm"); |
| ExpectInitMediaLogs(HAS_AUDIO); |
| - EXPECT_CALL(*this, InitSegmentReceived(_)); |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| EXPECT_MEDIA_LOG(WebMSimpleBlockDurationEstimated(2)); |
| AppendDataInPieces(buffer->data(), buffer->data_size(), 128); |
| @@ -4125,7 +4154,7 @@ TEST_F(ChunkDemuxerTest, AppendWindow_AudioConfigUpdateRemovesPreroll) { |
| scoped_refptr<DecoderBuffer> buffer = |
| ReadTestDataFile("bear-320x240-audio-only.webm"); |
| ExpectInitMediaLogs(HAS_AUDIO); |
| - EXPECT_CALL(*this, InitSegmentReceived(_)); |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| EXPECT_MEDIA_LOG(WebMSimpleBlockDurationEstimated(2)); |
| AppendDataInPieces(buffer->data(), buffer->data_size(), 512); |
| CheckExpectedRanges("{ }"); |
| @@ -4136,7 +4165,7 @@ TEST_F(ChunkDemuxerTest, AppendWindow_AudioConfigUpdateRemovesPreroll) { |
| // Read a second WebM with a different config in and append the data. |
| scoped_refptr<DecoderBuffer> buffer2 = |
| ReadTestDataFile("bear-320x240-audio-only-48khz.webm"); |
| - EXPECT_CALL(*this, InitSegmentReceived(_)); |
| + EXPECT_CALL(*this, InitSegmentReceivedMock(_)); |
| EXPECT_MEDIA_LOG(WebMSimpleBlockDurationEstimated(21)); |
| EXPECT_CALL(host_, SetDuration(_)).Times(AnyNumber()); |
| ASSERT_TRUE(SetTimestampOffset(kSourceId, duration_1)); |