summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authortomfinegan@chromium.org <tomfinegan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-18 07:07:50 +0000
committertomfinegan@chromium.org <tomfinegan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-18 07:07:50 +0000
commitf88628791d00eaf5ae34aff349bf32e39f7a462e (patch)
tree2e33379cef02113403d30d78bc009ae01cc7636d /webkit
parent8a614b898d1804c79d7e7bb9bded8670b5d74866 (diff)
downloadchromium_src-f88628791d00eaf5ae34aff349bf32e39f7a462e.zip
chromium_src-f88628791d00eaf5ae34aff349bf32e39f7a462e.tar.gz
chromium_src-f88628791d00eaf5ae34aff349bf32e39f7a462e.tar.bz2
Add wrapper class to media for support of Opus audio, and add a command line flag to enable the support.
This initial version of the wrapper provides support for decoding Opus audio in WebM container files, and is disabled by default. New flag added: --enable-opus-playback BUG=166094 TEST=Opus audio in WebM containers plays back in <video> elements when --enable-opus-playback is specified on the command line. Review URL: https://codereview.chromium.org/11416367 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173663 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r--webkit/media/filter_helpers.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/webkit/media/filter_helpers.cc b/webkit/media/filter_helpers.cc
index 5ebb45d..3500f66 100644
--- a/webkit/media/filter_helpers.cc
+++ b/webkit/media/filter_helpers.cc
@@ -5,12 +5,15 @@
#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/chunk_demuxer.h"
#include "media/filters/dummy_demuxer.h"
#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/media_stream_client.h"
@@ -25,10 +28,18 @@ namespace webkit_media {
static void AddDefaultDecodersToCollection(
const scoped_refptr<base::MessageLoopProxy>& message_loop,
media::FilterCollection* filter_collection) {
+
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::kEnableOpusPlayback)) {
+ scoped_refptr<media::OpusAudioDecoder> opus_audio_decoder =
+ new media::OpusAudioDecoder(message_loop);
+ filter_collection->GetAudioDecoders()->push_back(opus_audio_decoder);
+ }
+
scoped_refptr<media::FFmpegVideoDecoder> ffmpeg_video_decoder =
new media::FFmpegVideoDecoder(message_loop);
filter_collection->GetVideoDecoders()->push_back(ffmpeg_video_decoder);