Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(45)

Unified Diff: media/filters/ffmpeg_demuxer_unittest.cc

Issue 10829470: Support for parsing encrypted WebM streams by src. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressing comments Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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");

Powered by Google App Engine
This is Rietveld 408576698