Index: media/filters/ffmpeg_demuxer_unittest.cc |
diff --git a/media/filters/ffmpeg_demuxer_unittest.cc b/media/filters/ffmpeg_demuxer_unittest.cc |
index ecdab1406d81692989e8a2b52112591fbcb30727..b32718c0a3c35feb4e5098f7fe22f83ef061646c 100644 |
--- a/media/filters/ffmpeg_demuxer_unittest.cc |
+++ b/media/filters/ffmpeg_demuxer_unittest.cc |
@@ -42,6 +42,11 @@ MATCHER(IsEndOfStreamBuffer, |
return arg->end_of_stream(); |
} |
+const uint8 kEncryptedMediaInitData[] = { |
+ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, |
+ 0x38, 0x39, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, |
+}; |
+ |
static void EosOnReadDone(bool* got_eos_buffer, |
DemuxerStream::Status status, |
const scoped_refptr<DecoderBuffer>& buffer) { |
@@ -78,13 +83,12 @@ class FFmpegDemuxerTest : public testing::Test { |
CreateDataSource(name); |
- Demuxer::NeedKeyCB need_key_cb = |
- base::Bind(&FFmpegDemuxerTest::NeedKeyCB, base::Unretained(this)); |
+ Demuxer::EncryptedMediaInitDataCB encrypted_media_init_data_cb = base::Bind( |
+ &FFmpegDemuxerTest::OnEncryptedMediaInitData, base::Unretained(this)); |
- demuxer_.reset(new FFmpegDemuxer(message_loop_.message_loop_proxy(), |
- data_source_.get(), |
- need_key_cb, |
- new MediaLog())); |
+ demuxer_.reset(new FFmpegDemuxer( |
+ message_loop_.message_loop_proxy(), data_source_.get(), |
+ encrypted_media_init_data_cb, new MediaLog())); |
} |
MOCK_METHOD1(CheckPoint, void(int v)); |
@@ -179,17 +183,9 @@ class FFmpegDemuxerTest : public testing::Test { |
read_expectation); |
} |
- // TODO(xhwang): This is a workaround of the issue that move-only parameters |
- // are not supported in mocked methods. Remove this when the issue is fixed |
- // (http://code.google.com/p/googletest/issues/detail?id=395) or when we use |
- // std::string instead of scoped_ptr<uint8[]> (http://crbug.com/130689). |
- MOCK_METHOD3(NeedKeyCBMock, void(const std::string& type, |
- const uint8* init_data, int init_data_size)); |
- void NeedKeyCB(const std::string& type, |
- const std::vector<uint8>& init_data) { |
- const uint8* init_data_ptr = init_data.empty() ? NULL : &init_data[0]; |
- NeedKeyCBMock(type, init_data_ptr, init_data.size()); |
- } |
+ MOCK_METHOD2(OnEncryptedMediaInitData, |
+ void(const std::string& init_data_type, |
+ const std::vector<uint8>& init_data)); |
// Accessor to demuxer internals. |
void set_duration_known(bool duration_known) { |
@@ -380,8 +376,12 @@ TEST_F(FFmpegDemuxerTest, Initialize_MultitrackText) { |
} |
TEST_F(FFmpegDemuxerTest, Initialize_Encrypted) { |
- EXPECT_CALL(*this, NeedKeyCBMock(kWebMInitDataType, NotNull(), |
- DecryptConfig::kDecryptionKeySize)) |
+ EXPECT_CALL(*this, |
+ OnEncryptedMediaInitData( |
+ kWebMInitDataType, |
+ std::vector<uint8>(kEncryptedMediaInitData, |
+ kEncryptedMediaInitData + |
+ arraysize(kEncryptedMediaInitData)))) |
.Times(Exactly(2)); |
CreateDemuxer("bear-320x240-av_enc-av.webm"); |