Index: media/filters/chunk_demuxer_unittest.cc |
diff --git a/media/filters/chunk_demuxer_unittest.cc b/media/filters/chunk_demuxer_unittest.cc |
index 09163dc1f0404c6f93e0186af0a08d889a4d9781..71e2e786bf9fd1482f744a125110b9e65b76155c 100644 |
--- a/media/filters/chunk_demuxer_unittest.cc |
+++ b/media/filters/chunk_demuxer_unittest.cc |
@@ -45,11 +45,16 @@ const uint8 kVP8Keyframe[] = { |
// WebM Block bytes that represent a VP8 interframe. |
const uint8 kVP8Interframe[] = { 0x11, 0x00, 0x00 }; |
-static const uint8 kCuesHeader[] = { |
+const uint8 kCuesHeader[] = { |
0x1C, 0x53, 0xBB, 0x6B, // Cues ID |
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // cues(size = 0) |
}; |
+const uint8 kEncryptedMediaInitData[] = { |
+ 0x68, 0xFE, 0xF9, 0xA1, 0xB3, 0x0D, 0x6B, 0x4D, |
+ 0xF2, 0x22, 0xB5, 0x0B, 0x4D, 0xE9, 0xE9, 0x95, |
+}; |
+ |
const int kTracksHeaderSize = sizeof(kTracksHeader); |
const int kTracksSizeOffset = 4; |
@@ -171,11 +176,11 @@ class ChunkDemuxerTest : public ::testing::Test { |
void CreateNewDemuxer() { |
base::Closure open_cb = |
base::Bind(&ChunkDemuxerTest::DemuxerOpened, base::Unretained(this)); |
- Demuxer::NeedKeyCB need_key_cb = |
- base::Bind(&ChunkDemuxerTest::DemuxerNeedKey, base::Unretained(this)); |
- demuxer_.reset(new ChunkDemuxer(open_cb, need_key_cb, base::Bind(&LogFunc), |
- scoped_refptr<MediaLog>(new MediaLog()), |
- true)); |
+ Demuxer::EncryptedMediaInitDataCB encrypted_media_init_data_cb = base::Bind( |
+ &ChunkDemuxerTest::OnEncryptedMediaInitData, base::Unretained(this)); |
+ demuxer_.reset(new ChunkDemuxer( |
+ open_cb, encrypted_media_init_data_cb, base::Bind(&LogFunc), |
+ scoped_refptr<MediaLog>(new MediaLog()), true)); |
} |
virtual ~ChunkDemuxerTest() { |
@@ -1154,17 +1159,9 @@ class ChunkDemuxerTest : public ::testing::Test { |
} |
MOCK_METHOD0(DemuxerOpened, void()); |
- // 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(NeedKeyMock, void(const std::string& type, |
- const uint8* init_data, int init_data_size)); |
- void DemuxerNeedKey(const std::string& type, |
- const std::vector<uint8>& init_data) { |
- const uint8* init_data_ptr = init_data.empty() ? NULL : &init_data[0]; |
- NeedKeyMock(type, init_data_ptr, init_data.size()); |
- } |
+ MOCK_METHOD2(OnEncryptedMediaInitData, |
+ void(const std::string& init_data_type, |
+ const std::vector<uint8>& init_data)); |
MOCK_METHOD0(InitSegmentReceived, void(void)); |
@@ -1225,8 +1222,12 @@ TEST_F(ChunkDemuxerTest, Init) { |
if (is_audio_encrypted || is_video_encrypted) { |
int need_key_count = (is_audio_encrypted ? 1 : 0) + |
(is_video_encrypted ? 1 : 0); |
- EXPECT_CALL(*this, NeedKeyMock(kWebMInitDataType, NotNull(), |
- DecryptConfig::kDecryptionKeySize)) |
+ EXPECT_CALL(*this, OnEncryptedMediaInitData( |
+ kWebMInitDataType, |
+ std::vector<uint8>( |
+ kEncryptedMediaInitData, |
+ kEncryptedMediaInitData + |
+ arraysize(kEncryptedMediaInitData)))) |
.Times(Exactly(need_key_count)); |
} |