| 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 bf3684fc1d64e3673b11bb70c3c126463edfcef7..24e9eba876b5edee1847fa56425acb2e51b9e010 100644
|
| --- a/media/filters/decrypting_audio_decoder_unittest.cc
|
| +++ b/media/filters/decrypting_audio_decoder_unittest.cc
|
| @@ -12,6 +12,7 @@
|
| #include "media/base/data_buffer.h"
|
| #include "media/base/decoder_buffer.h"
|
| #include "media/base/decrypt_config.h"
|
| +#include "media/base/gmock_callback_support.h"
|
| #include "media/base/mock_callback.h"
|
| #include "media/base/mock_filters.h"
|
| #include "media/filters/decrypting_audio_decoder.h"
|
| @@ -53,32 +54,16 @@ ACTION_P(ReturnBuffer, buffer) {
|
| arg0.Run(buffer ? DemuxerStream::kOk : DemuxerStream::kAborted, buffer);
|
| }
|
|
|
| -ACTION(ReturnConfigChanged) {
|
| - arg0.Run(DemuxerStream::kConfigChanged, scoped_refptr<DecoderBuffer>(NULL));
|
| -}
|
| -
|
| -ACTION_P(RunCallback0, param) {
|
| +ACTION_P(RunCallbackIfNotNull, param) {
|
| if (!arg0.is_null())
|
| arg0.Run(param);
|
| }
|
|
|
| -ACTION_P(RunCallback1, param) {
|
| - arg1.Run(param);
|
| -}
|
| -
|
| -ACTION_P2(RunCallback2, param1, param2) {
|
| - arg1.Run(param1, param2);
|
| -}
|
| -
|
| ACTION_P2(ResetAndRunCallback, callback, param) {
|
| base::ResetAndReturn(callback).Run(param);
|
| }
|
|
|
| -MATCHER(IsNullCallback, "") {
|
| - return (arg.is_null());
|
| -}
|
| -
|
| -MATCHER(IsEndOfStream, "") {
|
| +MATCHER(IsEndOfStream, "end of stream") {
|
| return (arg->IsEndOfStream());
|
| }
|
|
|
| @@ -120,9 +105,9 @@ class DecryptingAudioDecoderTest : public testing::Test {
|
| void Initialize() {
|
| EXPECT_CALL(*decryptor_, InitializeAudioDecoderMock(_, _))
|
| .Times(AtMost(1))
|
| - .WillOnce(RunCallback1(true));
|
| + .WillOnce(RunCallback<1>(true));
|
| EXPECT_CALL(*this, RequestDecryptorNotification(_))
|
| - .WillOnce(RunCallback0(decryptor_.get()));
|
| + .WillOnce(RunCallbackIfNotNull(decryptor_.get()));
|
| EXPECT_CALL(*decryptor_, RegisterKeyAddedCB(Decryptor::kAudio, _))
|
| .WillOnce(SaveArg<1>(&key_added_cb_));
|
|
|
| @@ -159,10 +144,9 @@ class DecryptingAudioDecoderTest : public testing::Test {
|
| .WillOnce(ReturnBuffer(encrypted_buffer_))
|
| .WillRepeatedly(ReturnBuffer(DecoderBuffer::CreateEOSBuffer()));
|
| EXPECT_CALL(*decryptor_, DecryptAndDecodeAudio(_, _))
|
| - .WillOnce(RunCallback2(Decryptor::kSuccess,
|
| - decoded_frame_list_))
|
| - .WillRepeatedly(RunCallback2(Decryptor::kNeedMoreData,
|
| - Decryptor::AudioBuffers()));
|
| + .WillOnce(RunCallback<1>(Decryptor::kSuccess, decoded_frame_list_))
|
| + .WillRepeatedly(RunCallback<1>(Decryptor::kNeedMoreData,
|
| + Decryptor::AudioBuffers()));
|
| EXPECT_CALL(statistics_cb_, OnStatistics(_));
|
|
|
| ReadAndExpectFrameReadyWith(AudioDecoder::kOk, decoded_frame_);
|
| @@ -207,8 +191,8 @@ class DecryptingAudioDecoderTest : public testing::Test {
|
| EXPECT_CALL(*demuxer_, Read(_))
|
| .WillRepeatedly(ReturnBuffer(encrypted_buffer_));
|
| EXPECT_CALL(*decryptor_, DecryptAndDecodeAudio(_, _))
|
| - .WillRepeatedly(RunCallback2(Decryptor::kNoKey,
|
| - Decryptor::AudioBuffers()));
|
| + .WillRepeatedly(RunCallback<1>(Decryptor::kNoKey,
|
| + Decryptor::AudioBuffers()));
|
| decoder_->Read(base::Bind(&DecryptingAudioDecoderTest::FrameReady,
|
| base::Unretained(this)));
|
| message_loop_.RunAllPending();
|
| @@ -281,9 +265,9 @@ TEST_F(DecryptingAudioDecoderTest, Initialize_InvalidAudioConfig) {
|
| // Ensure decoder handles unsupported audio configs without crashing.
|
| TEST_F(DecryptingAudioDecoderTest, Initialize_UnsupportedAudioConfig) {
|
| EXPECT_CALL(*decryptor_, InitializeAudioDecoderMock(_, _))
|
| - .WillOnce(RunCallback1(false));
|
| + .WillOnce(RunCallback<1>(false));
|
| EXPECT_CALL(*this, RequestDecryptorNotification(_))
|
| - .WillOnce(RunCallback0(decryptor_.get()));
|
| + .WillOnce(RunCallbackIfNotNull(decryptor_.get()));
|
|
|
| AudioDecoderConfig config(kCodecVorbis, 16, CHANNEL_LAYOUT_STEREO, 44100,
|
| NULL, 0, true);
|
| @@ -304,8 +288,8 @@ TEST_F(DecryptingAudioDecoderTest, DecryptAndDecode_DecodeError) {
|
| EXPECT_CALL(*demuxer_, Read(_))
|
| .WillRepeatedly(ReturnBuffer(encrypted_buffer_));
|
| EXPECT_CALL(*decryptor_, DecryptAndDecodeAudio(_, _))
|
| - .WillRepeatedly(RunCallback2(Decryptor::kError,
|
| - Decryptor::AudioBuffers()));
|
| + .WillRepeatedly(RunCallback<1>(Decryptor::kError,
|
| + Decryptor::AudioBuffers()));
|
|
|
| ReadAndExpectFrameReadyWith(AudioDecoder::kDecodeError, NULL);
|
| }
|
| @@ -319,9 +303,9 @@ TEST_F(DecryptingAudioDecoderTest, DecryptAndDecode_NeedMoreData) {
|
| .Times(2)
|
| .WillRepeatedly(ReturnBuffer(encrypted_buffer_));
|
| EXPECT_CALL(*decryptor_, DecryptAndDecodeAudio(_, _))
|
| - .WillOnce(RunCallback2(Decryptor::kNeedMoreData,
|
| - Decryptor::AudioBuffers()))
|
| - .WillRepeatedly(RunCallback2(Decryptor::kSuccess, decoded_frame_list_));
|
| + .WillOnce(RunCallback<1>(Decryptor::kNeedMoreData,
|
| + Decryptor::AudioBuffers()))
|
| + .WillRepeatedly(RunCallback<1>(Decryptor::kSuccess, decoded_frame_list_));
|
| EXPECT_CALL(statistics_cb_, OnStatistics(_))
|
| .Times(2);
|
|
|
| @@ -342,7 +326,7 @@ TEST_F(DecryptingAudioDecoderTest, DecryptAndDecode_MultipleFrames) {
|
| EXPECT_CALL(*demuxer_, Read(_))
|
| .WillOnce(ReturnBuffer(encrypted_buffer_));
|
| EXPECT_CALL(*decryptor_, DecryptAndDecodeAudio(_, _))
|
| - .WillOnce(RunCallback2(Decryptor::kSuccess, decoded_frame_list_));
|
| + .WillOnce(RunCallback<1>(Decryptor::kSuccess, decoded_frame_list_));
|
| EXPECT_CALL(statistics_cb_, OnStatistics(_));
|
|
|
| ReadAndExpectFrameReadyWith(AudioDecoder::kOk, decoded_frame_);
|
| @@ -364,7 +348,7 @@ TEST_F(DecryptingAudioDecoderTest, KeyAdded_DuringWaitingForKey) {
|
| EnterWaitingForKeyState();
|
|
|
| EXPECT_CALL(*decryptor_, DecryptAndDecodeAudio(_, _))
|
| - .WillRepeatedly(RunCallback2(Decryptor::kSuccess, decoded_frame_list_));
|
| + .WillRepeatedly(RunCallback<1>(Decryptor::kSuccess, decoded_frame_list_));
|
| EXPECT_CALL(statistics_cb_, OnStatistics(_));
|
| EXPECT_CALL(*this, FrameReady(AudioDecoder::kOk, decoded_frame_));
|
| key_added_cb_.Run();
|
| @@ -378,7 +362,7 @@ TEST_F(DecryptingAudioDecoderTest, KeyAdded_DruingPendingDecode) {
|
| EnterPendingDecodeState();
|
|
|
| EXPECT_CALL(*decryptor_, DecryptAndDecodeAudio(_, _))
|
| - .WillRepeatedly(RunCallback2(Decryptor::kSuccess, decoded_frame_list_));
|
| + .WillRepeatedly(RunCallback<1>(Decryptor::kSuccess, decoded_frame_list_));
|
| EXPECT_CALL(statistics_cb_, OnStatistics(_));
|
| EXPECT_CALL(*this, FrameReady(AudioDecoder::kOk, decoded_frame_));
|
| // The audio decode callback is returned after the correct decryption key is
|
| @@ -484,7 +468,8 @@ TEST_F(DecryptingAudioDecoderTest, DemuxerRead_ConfigChanged) {
|
| Initialize();
|
|
|
| EXPECT_CALL(*demuxer_, Read(_))
|
| - .WillOnce(ReturnConfigChanged());
|
| + .WillOnce(RunCallback<0>(DemuxerStream::kConfigChanged,
|
| + scoped_refptr<DecoderBuffer>()));
|
|
|
| // TODO(xhwang): Update this test when kConfigChanged is supported in
|
| // DecryptingAudioDecoder.
|
|
|