diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-03 05:40:13 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-03 05:40:13 +0000 |
commit | 9e166974e33f359467458af13987c3d87663c163 (patch) | |
tree | 63ddfaa99458d1d06b120ec99383f6ff814933da /chrome/renderer | |
parent | bcc26067bf9a0bb7fe1600119a5b034b36b86da4 (diff) | |
download | chromium_src-9e166974e33f359467458af13987c3d87663c163.zip chromium_src-9e166974e33f359467458af13987c3d87663c163.tar.gz chromium_src-9e166974e33f359467458af13987c3d87663c163.tar.bz2 |
Move MediaFilterCollection code into a class.
Refactored FilterType usage a bit to remove the need to manually associate
FilterType values to filter base classes.
Patch by acolwell@chromium.org:
http://codereview.chromium.org/4176006/show
BUG=60778
TEST=media_unittests
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64885 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r-- | chrome/renderer/render_view.cc | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc index f8eba64..f918b5d 100644 --- a/chrome/renderer/render_view.cc +++ b/chrome/renderer/render_view.cc @@ -2601,14 +2601,14 @@ WebSharedWorker* RenderView::createSharedWorker( WebMediaPlayer* RenderView::createMediaPlayer( WebFrame* frame, WebMediaPlayerClient* client) { - media::MediaFilterCollection collection; + scoped_ptr<media::MediaFilterCollection> collection( + new media::MediaFilterCollection()); // Add in any custom filter factories first. const CommandLine* cmd_line = CommandLine::ForCurrentProcess(); if (!cmd_line->HasSwitch(switches::kDisableAudio)) { // Add the chrome specific audio renderer. - collection.push_back(make_scoped_refptr( - new AudioRendererImpl(audio_message_filter()))); + collection->AddFilter(new AudioRendererImpl(audio_message_filter())); } if (cmd_line->HasSwitch(switches::kEnableAcceleratedDecoding) && @@ -2619,8 +2619,8 @@ WebMediaPlayer* RenderView::createMediaPlayer( bool ret = frame->view()->graphicsContext3D()->makeContextCurrent(); CHECK(ret) << "Failed to switch context"; - collection.push_back(make_scoped_refptr(new IpcVideoDecoder( - MessageLoop::current(), ggl::GetCurrentContext()))); + collection->AddFilter(new IpcVideoDecoder( + MessageLoop::current(), ggl::GetCurrentContext())); } WebApplicationCacheHostImpl* appcache_host = @@ -2650,18 +2650,19 @@ WebMediaPlayer* RenderView::createMediaPlayer( if (cmd_line->HasSwitch(switches::kEnableVideoLayering)) { scoped_refptr<IPCVideoRenderer> renderer( new IPCVideoRenderer(routing_id_)); - collection.push_back(renderer); + collection->AddFilter(renderer); video_renderer = renderer; } else { bool pts_logging = cmd_line->HasSwitch(switches::kEnableVideoLogging); scoped_refptr<webkit_glue::VideoRendererImpl> renderer( new webkit_glue::VideoRendererImpl(pts_logging)); - collection.push_back(renderer); + collection->AddFilter(renderer); video_renderer = renderer; } return new webkit_glue::WebMediaPlayerImpl( - client, collection, bridge_factory_simple, bridge_factory_buffered, + client, collection.release(), bridge_factory_simple, + bridge_factory_buffered, cmd_line->HasSwitch(switches::kSimpleDataSource),video_renderer); } |