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 9edc85ac1277253d68d06150bbfcc269ea026b3f..d99194270a2ae7b8ef1171274e3cc010cf4757a1 100644 |
--- a/media/filters/ffmpeg_audio_decoder_unittest.cc |
+++ b/media/filters/ffmpeg_audio_decoder_unittest.cc |
@@ -16,7 +16,8 @@ |
#include "testing/gtest/include/gtest/gtest.h" |
using ::testing::_; |
-using ::testing::Return; |
+using ::testing::ReturnRef; |
+using ::testing::StrictMock; |
namespace media { |
@@ -28,8 +29,7 @@ class FFmpegAudioDecoderTest : public testing::Test { |
public: |
FFmpegAudioDecoderTest() |
: decoder_(new FFmpegAudioDecoder(&message_loop_)), |
- demuxer_(new MockDemuxerStream()), |
- codec_context_(avcodec_alloc_context()) { |
+ demuxer_(new StrictMock<MockDemuxerStream>()) { |
CHECK(FFmpegGlue::GetInstance()); |
ReadTestDataFile("vorbis-extradata", |
@@ -58,31 +58,19 @@ class FFmpegAudioDecoderTest : public testing::Test { |
base::Bind(&FFmpegAudioDecoderTest::DecodeFinished, |
base::Unretained(this))); |
- memset(&stream_, 0, sizeof(stream_)); |
- |
- stream_.codec = codec_context_; |
- codec_context_->codec_id = CODEC_ID_VORBIS; |
- codec_context_->codec_type = AVMEDIA_TYPE_AUDIO; |
- codec_context_->channels = 2; |
- codec_context_->channel_layout = AV_CH_LAYOUT_STEREO; |
- codec_context_->sample_fmt = AV_SAMPLE_FMT_S16; |
- codec_context_->sample_rate = 44100; |
- codec_context_->extradata = vorbis_extradata_.get(); |
- codec_context_->extradata_size = vorbis_extradata_size_; |
+ config_.Initialize(kCodecVorbis, |
+ 16, |
+ CHANNEL_LAYOUT_STEREO, |
+ 44100, |
+ vorbis_extradata_.get(), |
+ vorbis_extradata_size_); |
} |
- virtual ~FFmpegAudioDecoderTest() { |
- // TODO(scherkus): currently FFmpegAudioDecoder assumes FFmpegDemuxer will |
- // call avcodec_close(). |
- if (codec_context_->codec) { |
- avcodec_close(codec_context_); |
- } |
- av_free(codec_context_); |
- } |
+ virtual ~FFmpegAudioDecoderTest() {} |
void Initialize() { |
- EXPECT_CALL(*demuxer_, GetAVStream()) |
- .WillOnce(Return(&stream_)); |
+ EXPECT_CALL(*demuxer_, audio_decoder_config()) |
+ .WillOnce(ReturnRef(config_)); |
decoder_->Initialize(demuxer_, |
NewExpectedCallback(), |
@@ -125,7 +113,7 @@ class FFmpegAudioDecoderTest : public testing::Test { |
MessageLoop message_loop_; |
scoped_refptr<FFmpegAudioDecoder> decoder_; |
- scoped_refptr<MockDemuxerStream> demuxer_; |
+ scoped_refptr<StrictMock<MockDemuxerStream> > demuxer_; |
MockStatisticsCallback statistics_callback_; |
scoped_array<uint8> vorbis_extradata_; |
@@ -134,8 +122,7 @@ class FFmpegAudioDecoderTest : public testing::Test { |
std::deque<scoped_refptr<Buffer> > encoded_audio_; |
std::deque<scoped_refptr<Buffer> > decoded_audio_; |
- AVStream stream_; |
- AVCodecContext* codec_context_; // Allocated via avcodec_alloc_context(). |
+ AudioDecoderConfig config_; |
}; |
TEST_F(FFmpegAudioDecoderTest, Initialize) { |
@@ -143,7 +130,7 @@ TEST_F(FFmpegAudioDecoderTest, Initialize) { |
EXPECT_EQ(16, decoder_->bits_per_channel()); |
EXPECT_EQ(CHANNEL_LAYOUT_STEREO, decoder_->channel_layout()); |
- EXPECT_EQ(44100, decoder_->sample_rate()); |
+ EXPECT_EQ(44100, decoder_->samples_per_second()); |
Stop(); |
} |