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..1aea8281e1e8a2c4e86e916dd04db3440a7f3ad8 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,31 @@ TEST_F(FFmpegDemuxerTest, Initialize_Multitrack) { |
EXPECT_FALSE(demuxer_->GetStream(DemuxerStream::UNKNOWN)); |
} |
+TEST_F(FFmpegDemuxerTest, Initialize_MultitrackText) { |
acolwell GONE FROM CHROMIUM
2013/10/24 18:57:51
This test should also be verifying that the proper
Matthew Heaney (Chromium)
2013/10/25 03:05:38
Agreed, but we removed the text stream map member
acolwell GONE FROM CHROMIUM
2013/10/25 03:56:19
Take a look at the gmock cookbook (https://code.go
Matthew Heaney (Chromium)
2013/10/27 01:44:00
Done.
|
+ // 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()); |
+ |
+ // 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)) |