| 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 2f07e231c03b2c98a16217297e59cd1c6c4f8922..7910ef1b4e3069c77d2a1625f14962224b37de4c 100644
|
| --- a/media/filters/decrypting_audio_decoder_unittest.cc
|
| +++ b/media/filters/decrypting_audio_decoder_unittest.cc
|
| @@ -84,6 +84,10 @@ class DecryptingAudioDecoderTest : public testing::Test {
|
| decoded_frame_list_() {
|
| }
|
|
|
| + virtual ~DecryptingAudioDecoderTest() {
|
| + Stop();
|
| + }
|
| +
|
| void InitializeAndExpectStatus(const AudioDecoderConfig& config,
|
| PipelineStatus status) {
|
| // Initialize data now that the config is known. Since the code uses
|
| @@ -208,6 +212,16 @@ class DecryptingAudioDecoderTest : public testing::Test {
|
| }
|
| }
|
|
|
| + void AbortAllPendingCBs() {
|
| + if (!pending_init_cb_.is_null()) {
|
| + ASSERT_TRUE(pending_audio_decode_cb_.is_null());
|
| + base::ResetAndReturn(&pending_init_cb_).Run(false);
|
| + return;
|
| + }
|
| +
|
| + AbortPendingAudioDecodeCB();
|
| + }
|
| +
|
| void Reset() {
|
| EXPECT_CALL(*decryptor_, ResetDecoder(Decryptor::kAudio))
|
| .WillRepeatedly(InvokeWithoutArgs(
|
| @@ -217,6 +231,18 @@ class DecryptingAudioDecoderTest : public testing::Test {
|
| message_loop_.RunUntilIdle();
|
| }
|
|
|
| + void Stop() {
|
| + EXPECT_CALL(*decryptor_, RegisterNewKeyCB(Decryptor::kAudio,
|
| + IsNullCallback()))
|
| + .Times(AtMost(1));
|
| + EXPECT_CALL(*decryptor_, DeinitializeDecoder(Decryptor::kAudio))
|
| + .WillRepeatedly(InvokeWithoutArgs(
|
| + this, &DecryptingAudioDecoderTest::AbortAllPendingCBs));
|
| +
|
| + decoder_->Stop(NewExpectedClosure());
|
| + message_loop_.RunUntilIdle();
|
| + }
|
| +
|
| MOCK_METHOD1(RequestDecryptorNotification, void(const DecryptorReadyCB&));
|
|
|
| MOCK_METHOD2(FrameReady,
|
|
|