summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-03 05:40:13 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-03 05:40:13 +0000
commit9e166974e33f359467458af13987c3d87663c163 (patch)
tree63ddfaa99458d1d06b120ec99383f6ff814933da /chrome/renderer
parentbcc26067bf9a0bb7fe1600119a5b034b36b86da4 (diff)
downloadchromium_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.cc17
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);
}