Index: media/filters/ffmpeg_audio_decoder_unittest.cc |
diff --git a/media/filters/ffmpeg_audio_decoder_unittest.cc b/media/filters/ffmpeg_audio_decoder_unittest.cc |
index 0e67c63390efb1d1739601b47d604b9d08804e9a..f8ba102a3674f863a956c35cef16a55645169059 100644 |
--- a/media/filters/ffmpeg_audio_decoder_unittest.cc |
+++ b/media/filters/ffmpeg_audio_decoder_unittest.cc |
@@ -54,10 +54,6 @@ class FFmpegAudioDecoderTest : public testing::Test { |
// Push in an EOS buffer. |
encoded_audio_.push_back(new DataBuffer(0)); |
- decoder_->set_consume_audio_samples_callback( |
- base::Bind(&FFmpegAudioDecoderTest::DecodeFinished, |
- base::Unretained(this))); |
- |
config_.Initialize(kCodecVorbis, |
16, |
CHANNEL_LAYOUT_STEREO, |
@@ -93,6 +89,12 @@ class FFmpegAudioDecoderTest : public testing::Test { |
read_callback.Run(buffer); |
} |
+ void Read() { |
+ decoder_->Read(base::Bind( |
+ &FFmpegAudioDecoderTest::DecodeFinished, base::Unretained(this))); |
+ message_loop_.RunAllPending(); |
+ } |
+ |
void DecodeFinished(scoped_refptr<Buffer> buffer) { |
decoded_audio_.push_back(buffer); |
} |
@@ -157,12 +159,9 @@ TEST_F(FFmpegAudioDecoderTest, ProduceAudioSamples) { |
EXPECT_CALL(statistics_callback_, OnStatistics(_)) |
.Times(5); |
- // We have to use a buffer to trigger a read. Silly. |
- scoped_refptr<DataBuffer> buffer(0); |
- decoder_->ProduceAudioSamples(buffer); |
- decoder_->ProduceAudioSamples(buffer); |
- decoder_->ProduceAudioSamples(buffer); |
- message_loop_.RunAllPending(); |
+ Read(); |
+ Read(); |
+ Read(); |
// We should have three decoded audio buffers. |
// |
@@ -173,10 +172,7 @@ TEST_F(FFmpegAudioDecoderTest, ProduceAudioSamples) { |
ExpectDecodedAudio(2, 2902, 23219); |
// Call one more time to trigger EOS. |
- // |
- // TODO(scherkus): EOS should flush data, not overwrite timestamps with zero. |
- decoder_->ProduceAudioSamples(buffer); |
- message_loop_.RunAllPending(); |
+ Read(); |
ASSERT_EQ(4u, decoded_audio_.size()); |
ExpectEndOfStream(3); |