| Index: media/filters/ffmpeg_demuxer_unittest.cc
|
| diff --git a/media/filters/ffmpeg_demuxer_unittest.cc b/media/filters/ffmpeg_demuxer_unittest.cc
|
| index f5b0e978fe4174b04afd192695c863600fe18938..6173a51d51804bb7d94eefe19ab5278c99abd16f 100644
|
| --- a/media/filters/ffmpeg_demuxer_unittest.cc
|
| +++ b/media/filters/ffmpeg_demuxer_unittest.cc
|
| @@ -72,7 +72,7 @@ class FFmpegDemuxerTest : public testing::Test {
|
| }
|
| }
|
|
|
| - void CreateDemuxer(const std::string& name) {
|
| + void CreateDemuxerText(const std::string& name, bool enable_text) {
|
| CHECK(!demuxer_);
|
|
|
| EXPECT_CALL(host_, SetTotalBytes(_)).Times(AnyNumber());
|
| @@ -83,12 +83,18 @@ class FFmpegDemuxerTest : public testing::Test {
|
|
|
| Demuxer::NeedKeyCB need_key_cb =
|
| base::Bind(&FFmpegDemuxerTest::NeedKeyCB, base::Unretained(this));
|
| +
|
| demuxer_.reset(new FFmpegDemuxer(message_loop_.message_loop_proxy(),
|
| data_source_.get(),
|
| need_key_cb,
|
| + enable_text,
|
| new MediaLog()));
|
| }
|
|
|
| + void CreateDemuxer(const std::string& name) {
|
| + CreateDemuxerText(name, false);
|
| + }
|
| +
|
| MOCK_METHOD1(CheckPoint, void(int v));
|
|
|
| void InitializeDemuxer() {
|
| @@ -298,6 +304,34 @@ TEST_F(FFmpegDemuxerTest, Initialize_Multitrack) {
|
| EXPECT_FALSE(demuxer_->GetStream(DemuxerStream::UNKNOWN));
|
| }
|
|
|
| +TEST_F(FFmpegDemuxerTest, Initialize_MultitrackText) {
|
| + // Open a file containing the following streams:
|
| + // Stream #0: Video (VP8)
|
| + // Stream #1: Audio (Vorbis)
|
| + // Stream #2: Text (WebVTT)
|
| +
|
| + CreateDemuxerText("bear-vp8-webvtt.webm", true);
|
| + InitializeDemuxer();
|
| +
|
| + // Video stream should be VP8.
|
| + DemuxerStream* stream = demuxer_->GetStream(DemuxerStream::VIDEO);
|
| + ASSERT_TRUE(stream);
|
| + EXPECT_EQ(DemuxerStream::VIDEO, stream->type());
|
| + EXPECT_EQ(kCodecVP8, stream->video_decoder_config().codec());
|
| +
|
| + // Audio stream should be Vorbis.
|
| + stream = demuxer_->GetStream(DemuxerStream::AUDIO);
|
| + ASSERT_TRUE(stream);
|
| + EXPECT_EQ(DemuxerStream::AUDIO, stream->type());
|
| + EXPECT_EQ(kCodecVorbis, stream->audio_decoder_config().codec());
|
| +
|
| + // Text stream should also be present.
|
| + ASSERT_EQ(host_.text_streams_.size(), 1);
|
| +
|
| + // Unknown stream should never be present.
|
| + EXPECT_FALSE(demuxer_->GetStream(DemuxerStream::UNKNOWN));
|
| +}
|
| +
|
| TEST_F(FFmpegDemuxerTest, Initialize_Encrypted) {
|
| EXPECT_CALL(*this, NeedKeyCBMock(kWebMEncryptInitDataType, NotNull(),
|
| DecryptConfig::kDecryptionKeySize))
|
|
|