Index: media/filters/stream_parser_factory.cc |
diff --git a/media/filters/stream_parser_factory.cc b/media/filters/stream_parser_factory.cc |
index 0cd8b9a0b435ba1fecc4ddb07cc2d8ee848ea2cc..43b6729231d87a876fab4f3d78078b888698498b 100644 |
--- a/media/filters/stream_parser_factory.cc |
+++ b/media/filters/stream_parser_factory.cc |
@@ -4,9 +4,11 @@ |
#include "media/filters/stream_parser_factory.h" |
+#include "base/command_line.h" |
#include "base/string_number_conversions.h" |
#include "base/string_util.h" |
#include "media/base/media_log.h" |
+#include "media/base/media_switches.h" |
#include "media/webm/webm_stream_parser.h" |
#if defined(GOOGLE_CHROME_BUILD) || defined(USE_PROPRIETARY_CODECS) |
@@ -42,10 +44,12 @@ struct SupportedTypeInfo { |
}; |
static const CodecInfo kVP8CodecInfo = { "vp8", CodecInfo::VIDEO, NULL }; |
+static const CodecInfo kVP9CodecInfo = { "vp9", CodecInfo::VIDEO, NULL }; |
static const CodecInfo kVorbisCodecInfo = { "vorbis", CodecInfo::AUDIO, NULL }; |
static const CodecInfo* kVideoWebMCodecs[] = { |
&kVP8CodecInfo, |
+ &kVP9CodecInfo, |
&kVorbisCodecInfo, |
NULL |
}; |
@@ -205,11 +209,19 @@ static bool IsSupported(const std::string& type, |
return false; |
} |
+ const CommandLine* cmd_line = CommandLine::ForCurrentProcess(); |
switch (codec_type) { |
case CodecInfo::AUDIO: |
*has_audio = true; |
break; |
case CodecInfo::VIDEO: |
+ // TODO(tomfinegan): Remove this check (or negate it, if we just |
+ // negate the flag) when VP9 is enabled by default. |
+ if (MatchPattern(codec_id, kVP9CodecInfo.pattern) && |
+ !cmd_line->HasSwitch(switches::kEnableVp9Playback)) { |
+ return false; |
+ } |
+ |
*has_video = true; |
break; |
default: |