Chromium Code Reviews| Index: media/filters/chunk_demuxer_unittest.cc |
| diff --git a/media/filters/chunk_demuxer_unittest.cc b/media/filters/chunk_demuxer_unittest.cc |
| index cf6adbad8b4cae2ca3abc04c4b8d2e89c0a8652b..ffa33f063b24bc41345a716b660edef713a84488 100644 |
| --- a/media/filters/chunk_demuxer_unittest.cc |
| +++ b/media/filters/chunk_demuxer_unittest.cc |
| @@ -10,6 +10,7 @@ |
| #include <utility> |
| #include "base/bind.h" |
| +#include "base/command_line.h" |
| #include "base/macros.h" |
| #include "base/message_loop/message_loop.h" |
| #include "base/run_loop.h" |
| @@ -21,6 +22,7 @@ |
| #include "media/base/decoder_buffer.h" |
| #include "media/base/decrypt_config.h" |
| #include "media/base/media.h" |
| +#include "media/base/media_switches.h" |
| #include "media/base/media_tracks.h" |
| #include "media/base/mock_demuxer_host.h" |
| #include "media/base/mock_media_log.h" |
| @@ -35,12 +37,14 @@ |
| using ::testing::AnyNumber; |
| using ::testing::Exactly; |
| +using ::testing::HasSubstr; |
| using ::testing::InSequence; |
| using ::testing::NotNull; |
| using ::testing::Return; |
| using ::testing::SaveArg; |
| using ::testing::SetArgumentPointee; |
| using ::testing::StrictMock; |
| +using ::testing::WithParamInterface; |
| using ::testing::_; |
| namespace media { |
| @@ -4746,4 +4750,39 @@ TEST_F(ChunkDemuxerTest, RemovingIdMustRemoveStreams) { |
| // same codec type in a single SourceBufferState, when WebM parser supports |
| // multiple tracks. crbug.com/646900 |
| +class ChunkDemuxerMp4Vp9Test : public ChunkDemuxerTest, |
| + public WithParamInterface<bool> { |
| + public: |
| + void SetUp() override { |
| + ChunkDemuxerTest::SetUp(); |
| + const bool enable_mp4_vp9_demuxing = GetParam(); |
| + if (enable_mp4_vp9_demuxing) { |
| + base::CommandLine::ForCurrentProcess()->AppendSwitch( |
| + switches::kEnableVp9InMp4); |
| + } |
| + } |
| +}; |
| + |
| +TEST_P(ChunkDemuxerMp4Vp9Test, CodecSupport) { |
| + ChunkDemuxer::Status expected = ChunkDemuxer::kNotSupported; |
| + const bool enable_mp4_vp9_demuxing = GetParam(); |
| + |
| +#if defined(USE_PROPRIETARY_CODECS) |
| + if (enable_mp4_vp9_demuxing) { |
| + expected = ChunkDemuxer::kOk; |
| + } else { |
| + EXPECT_MEDIA_LOG(HasSubstr( |
| + "Codec 'vp09.00.01.08.02.01.01.00' is not supported for 'video/mp4'")); |
| + } |
| +#endif |
| + |
| + EXPECT_EQ( |
| + demuxer_->AddId("source_id", "video/mp4", "vp09.00.01.08.02.01.01.00"), |
|
ddorwin
2016/11/29 23:48:51
This does not have a valid level. I imagine the ot
kqyang
2016/11/30 02:31:17
I'd prefer we update it after we include the "leve
|
| + expected); |
| +} |
| + |
| +INSTANTIATE_TEST_CASE_P(EnableDisableMp4Vp9Demuxing, |
| + ChunkDemuxerMp4Vp9Test, |
| + ::testing::Bool()); |
| + |
| } // namespace media |