Index: media/filters/ffmpeg_demuxer_unittest.cc |
diff --git a/media/filters/ffmpeg_demuxer_unittest.cc b/media/filters/ffmpeg_demuxer_unittest.cc |
index 7c6fcb5b11a77af289907715b71fa152357ae1a1..e498d66b5855d6ffe1d0efaa69d1005578f90d37 100644 |
--- a/media/filters/ffmpeg_demuxer_unittest.cc |
+++ b/media/filters/ffmpeg_demuxer_unittest.cc |
@@ -167,14 +167,11 @@ class FFmpegDemuxerTest : public testing::Test { |
return demuxer_->glue_->format_context(); |
} |
- void ReadUntilEndOfStream() { |
- // We should expect an end of stream buffer. |
- DemuxerStream* audio = demuxer_->GetStream(DemuxerStream::AUDIO); |
- |
+ void ReadUntilEndOfStream(DemuxerStream* stream) { |
bool got_eos_buffer = false; |
const int kMaxBuffers = 170; |
for (int i = 0; !got_eos_buffer && i < kMaxBuffers; i++) { |
- audio->Read(base::Bind(&EosOnReadDone, &got_eos_buffer)); |
+ stream->Read(base::Bind(&EosOnReadDone, &got_eos_buffer)); |
message_loop_.Run(); |
} |
@@ -414,7 +411,7 @@ TEST_F(FFmpegDemuxerTest, Read_EndOfStream) { |
// Verify that end of stream buffers are created. |
CreateDemuxer("bear-320x240.webm"); |
InitializeDemuxer(); |
- ReadUntilEndOfStream(); |
+ ReadUntilEndOfStream(demuxer_->GetStream(DemuxerStream::AUDIO)); |
} |
TEST_F(FFmpegDemuxerTest, Read_EndOfStreamText) { |
@@ -442,8 +439,27 @@ TEST_F(FFmpegDemuxerTest, Read_EndOfStream_NoDuration) { |
CreateDemuxer("bear-320x240.webm"); |
InitializeDemuxer(); |
set_duration_known(false); |
- EXPECT_CALL(host_, SetDuration(_)); |
- ReadUntilEndOfStream(); |
+ EXPECT_CALL(host_, SetDuration(base::TimeDelta::FromMilliseconds(2767))); |
+ ReadUntilEndOfStream(demuxer_->GetStream(DemuxerStream::AUDIO)); |
+ ReadUntilEndOfStream(demuxer_->GetStream(DemuxerStream::VIDEO)); |
+} |
+ |
+TEST_F(FFmpegDemuxerTest, Read_EndOfStream_NoDuration_VideoOnly) { |
+ // Verify that end of stream buffers are created. |
+ CreateDemuxer("bear-320x240-video-only.webm"); |
+ InitializeDemuxer(); |
+ set_duration_known(false); |
+ EXPECT_CALL(host_, SetDuration(base::TimeDelta::FromMilliseconds(2703))); |
+ ReadUntilEndOfStream(demuxer_->GetStream(DemuxerStream::VIDEO)); |
+} |
+ |
+TEST_F(FFmpegDemuxerTest, Read_EndOfStream_NoDuration_AudioOnly) { |
+ // Verify that end of stream buffers are created. |
+ CreateDemuxer("bear-320x240-audio-only.webm"); |
+ InitializeDemuxer(); |
+ set_duration_known(false); |
+ EXPECT_CALL(host_, SetDuration(base::TimeDelta::FromMilliseconds(2767))); |
+ ReadUntilEndOfStream(demuxer_->GetStream(DemuxerStream::AUDIO)); |
} |
TEST_F(FFmpegDemuxerTest, Seek) { |
@@ -703,7 +719,7 @@ TEST_F(FFmpegDemuxerTest, MP4_ZeroStszEntry) { |
#endif |
CreateDemuxer("bear-1280x720-zero-stsz-entry.mp4"); |
InitializeDemuxer(); |
- ReadUntilEndOfStream(); |
+ ReadUntilEndOfStream(demuxer_->GetStream(DemuxerStream::AUDIO)); |
} |
} // namespace media |