Index: webkit/media/filter_helpers.cc |
diff --git a/webkit/media/filter_helpers.cc b/webkit/media/filter_helpers.cc |
index a21b45b371a1acf97bad12f93763518ce1cc02db..6df49b4e0b88f82bf2af07ad04bb6e83bf1381e8 100644 |
--- a/webkit/media/filter_helpers.cc |
+++ b/webkit/media/filter_helpers.cc |
@@ -5,7 +5,9 @@ |
#include "webkit/media/filter_helpers.h" |
#include "base/bind.h" |
+#include "base/command_line.h" |
#include "media/base/filter_collection.h" |
+#include "media/base/media_switches.h" |
#include "media/filters/decrypting_audio_decoder.h" |
#include "media/filters/decrypting_video_decoder.h" |
#include "media/filters/chunk_demuxer.h" |
@@ -13,6 +15,7 @@ |
#include "media/filters/ffmpeg_audio_decoder.h" |
#include "media/filters/ffmpeg_demuxer.h" |
#include "media/filters/ffmpeg_video_decoder.h" |
+#include "media/filters/opus_audio_decoder.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebURL.h" |
#include "webkit/media/crypto/proxy_decryptor.h" |
#include "webkit/media/media_stream_client.h" |
@@ -30,10 +33,18 @@ static void AddDefaultDecodersToCollection( |
const scoped_refptr<base::MessageLoopProxy>& message_loop, |
media::FilterCollection* filter_collection, |
ProxyDecryptor* proxy_decryptor) { |
+ |
scoped_refptr<media::FFmpegAudioDecoder> ffmpeg_audio_decoder = |
new media::FFmpegAudioDecoder(message_loop); |
filter_collection->GetAudioDecoders()->push_back(ffmpeg_audio_decoder); |
+ const CommandLine* cmd_line = CommandLine::ForCurrentProcess(); |
+ if (cmd_line->HasSwitch(switches::kEnableVp9OpusPlayback)) { |
+ scoped_refptr<media::OpusAudioDecoder> opus_audio_decoder = |
+ new media::OpusAudioDecoder(message_loop); |
+ filter_collection->GetAudioDecoders()->push_back(opus_audio_decoder); |
+ } |
+ |
if (proxy_decryptor) { |
scoped_refptr<media::DecryptingAudioDecoder> decrypting_audio_decoder = |
new media::DecryptingAudioDecoder( |