| Index: media/filters/decrypting_audio_decoder_unittest.cc
|
| diff --git a/media/filters/decrypting_audio_decoder_unittest.cc b/media/filters/decrypting_audio_decoder_unittest.cc
|
| index 1aa39e707779e283b3eb445eb6ef5b4e0d7d1db0..210779945824c6321ada265e8ca795563a8a26af 100644
|
| --- a/media/filters/decrypting_audio_decoder_unittest.cc
|
| +++ b/media/filters/decrypting_audio_decoder_unittest.cc
|
| @@ -27,7 +27,9 @@ using ::testing::StrictMock;
|
|
|
| namespace media {
|
|
|
| -static const int kFakeAudioFrameSize = 16;
|
| +// Make sure the kFakeAudioFrameSize is a valid frame size for all audio decoder
|
| +// configs used in this test.
|
| +static const int kFakeAudioFrameSize = 48;
|
| static const uint8 kFakeKeyId[] = { 0x4b, 0x65, 0x79, 0x20, 0x49, 0x44 };
|
| static const uint8 kFakeIv[DecryptConfig::kDecryptionKeySize] = { 0 };
|
|
|
| @@ -352,6 +354,16 @@ TEST_F(DecryptingAudioDecoderTest, DemuxerRead_Aborted) {
|
| TEST_F(DecryptingAudioDecoderTest, DemuxerRead_ConfigChange) {
|
| Initialize();
|
|
|
| + // The new config is different from the initial config in bits-per-channel,
|
| + // channel layout and samples_per_second.
|
| + AudioDecoderConfig new_config(kCodecVorbis, kSampleFormatPlanarS16,
|
| + CHANNEL_LAYOUT_5_1, 88200, NULL, 0, false);
|
| + EXPECT_NE(new_config.bits_per_channel(), config_.bits_per_channel());
|
| + EXPECT_NE(new_config.channel_layout(), config_.channel_layout());
|
| + EXPECT_NE(new_config.samples_per_second(), config_.samples_per_second());
|
| +
|
| + EXPECT_CALL(*demuxer_, audio_decoder_config())
|
| + .WillRepeatedly(ReturnRef(new_config));
|
| EXPECT_CALL(*decryptor_, DeinitializeDecoder(Decryptor::kAudio));
|
| EXPECT_CALL(*decryptor_, InitializeAudioDecoderMock(_, _))
|
| .WillOnce(RunCallback<1>(true));
|
| @@ -364,6 +376,10 @@ TEST_F(DecryptingAudioDecoderTest, DemuxerRead_ConfigChange) {
|
| EXPECT_CALL(statistics_cb_, OnStatistics(_));
|
|
|
| ReadAndExpectFrameReadyWith(AudioDecoder::kOk, decoded_frame_);
|
| +
|
| + EXPECT_EQ(new_config.bits_per_channel(), decoder_->bits_per_channel());
|
| + EXPECT_EQ(new_config.channel_layout(), decoder_->channel_layout());
|
| + EXPECT_EQ(new_config.samples_per_second(), decoder_->samples_per_second());
|
| }
|
|
|
| // Test config change failure.
|
| @@ -465,8 +481,18 @@ TEST_F(DecryptingAudioDecoderTest, Reset_DuringDemuxerRead_ConfigChange) {
|
|
|
| Reset();
|
|
|
| + // The new config is different from the initial config in bits-per-channel,
|
| + // channel layout and samples_per_second.
|
| + AudioDecoderConfig new_config(kCodecVorbis, kSampleFormatPlanarS16,
|
| + CHANNEL_LAYOUT_5_1, 88200, NULL, 0, false);
|
| + EXPECT_NE(new_config.bits_per_channel(), config_.bits_per_channel());
|
| + EXPECT_NE(new_config.channel_layout(), config_.channel_layout());
|
| + EXPECT_NE(new_config.samples_per_second(), config_.samples_per_second());
|
| +
|
| // Even during pending reset, the decoder still needs to be initialized with
|
| // the new config.
|
| + EXPECT_CALL(*demuxer_, audio_decoder_config())
|
| + .WillRepeatedly(ReturnRef(new_config));
|
| EXPECT_CALL(*decryptor_, DeinitializeDecoder(Decryptor::kAudio));
|
| EXPECT_CALL(*decryptor_, InitializeAudioDecoderMock(_, _))
|
| .WillOnce(RunCallback<1>(true));
|
| @@ -475,6 +501,10 @@ TEST_F(DecryptingAudioDecoderTest, Reset_DuringDemuxerRead_ConfigChange) {
|
| base::ResetAndReturn(&pending_demuxer_read_cb_)
|
| .Run(DemuxerStream::kConfigChanged, NULL);
|
| message_loop_.RunUntilIdle();
|
| +
|
| + EXPECT_EQ(new_config.bits_per_channel(), decoder_->bits_per_channel());
|
| + EXPECT_EQ(new_config.channel_layout(), decoder_->channel_layout());
|
| + EXPECT_EQ(new_config.samples_per_second(), decoder_->samples_per_second());
|
| }
|
|
|
| // Test resetting when the decoder is in kPendingDemuxerRead state, the read
|
|
|