Index: media/filters/ffmpeg_demuxer_unittest.cc |
diff --git a/media/filters/ffmpeg_demuxer_unittest.cc b/media/filters/ffmpeg_demuxer_unittest.cc |
index af2cd92528527c8175c1192a5619717908838ebc..1b541646ddf92759fa772a5c2cbc7fe034dc647a 100644 |
--- a/media/filters/ffmpeg_demuxer_unittest.cc |
+++ b/media/filters/ffmpeg_demuxer_unittest.cc |
@@ -58,7 +58,7 @@ static void EosOnReadDone(bool* got_eos_buffer, |
// FFmpeg, pipeline and filter host mocks. |
class FFmpegDemuxerTest : public testing::Test { |
protected: |
- FFmpegDemuxerTest() {} |
+ FFmpegDemuxerTest() : need_key_called_(0) {} |
virtual ~FFmpegDemuxerTest() { |
if (demuxer_) { |
@@ -77,8 +77,12 @@ class FFmpegDemuxerTest : public testing::Test { |
EXPECT_CALL(host_, AddBufferedTimeRange(_, _)).Times(AnyNumber()); |
CreateDataSource(name); |
+ |
+ media::FFmpegNeedKeyCB need_key_cb = |
+ base::Bind(&FFmpegDemuxerTest::NeedKeyCB, base::Unretained(this)); |
demuxer_ = new FFmpegDemuxer(message_loop_.message_loop_proxy(), |
- data_source_); |
+ data_source_, |
+ need_key_cb); |
} |
MOCK_METHOD1(CheckPoint, void(int v)); |
@@ -137,6 +141,7 @@ class FFmpegDemuxerTest : public testing::Test { |
scoped_refptr<FFmpegDemuxer> demuxer_; |
StrictMock<MockDemuxerHost> host_; |
MessageLoop message_loop_; |
+ int need_key_called_; |
AVFormatContext* format_context() { |
return demuxer_->glue_->format_context(); |
@@ -173,6 +178,11 @@ class FFmpegDemuxerTest : public testing::Test { |
EXPECT_TRUE(data_source_->Initialize(file_path)); |
} |
+ void NeedKeyCB(const std::string& type, |
ddorwin
2013/03/13 18:07:24
MOCK_METHOD...
fgalligan1
2013/03/13 19:05:26
Done.
|
+ scoped_array<uint8> init_data, int init_data_size) { |
+ need_key_called_++; |
+ } |
+ |
DISALLOW_COPY_AND_ASSIGN(FFmpegDemuxerTest); |
}; |
@@ -281,6 +291,17 @@ TEST_F(FFmpegDemuxerTest, Initialize_Multitrack) { |
EXPECT_FALSE(demuxer_->GetStream(DemuxerStream::UNKNOWN)); |
} |
+// TODO(fgalligan): Enable test when code to parse encrypted WebM files lands |
+// in Chromium's FFmpeg. crbug.com/189221 |
+TEST_F(FFmpegDemuxerTest, DISABLED_Initialize_Encrypted) { |
+ CreateDemuxer("bear-320x240-av_enc-av.webm"); |
+ InitializeDemuxer(); |
+ |
+ // NeedKey callback should have been called twice. Once for each encrypted |
+ // stream. |
+ EXPECT_EQ(2, need_key_called_); |
ddorwin
2013/03/13 18:07:24
This is what mocks do well. Since this tests alrea
fgalligan1
2013/03/13 19:05:26
Done.
|
+} |
+ |
TEST_F(FFmpegDemuxerTest, Read_Audio) { |
// We test that on a successful audio packet read. |
CreateDemuxer("bear-320x240.webm"); |