Chromium Code Reviews| 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, |
|
DaleCurtis
2013/01/10 21:47:08
Won't this fail until your other change lands?
xhwang
2013/01/11 04:02:45
This should work :) I just need a different config
|
| + 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()); |
|
DaleCurtis
2013/01/10 21:47:08
Ditto.
xhwang
2013/01/11 04:02:45
ditto :)
|
| + 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()); |
|
DaleCurtis
2013/01/10 21:47:08
Ditto.
xhwang
2013/01/11 04:02:45
ditto :)
|
| + 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 |