diff options
author | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-23 01:20:37 +0000 |
---|---|---|
committer | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-23 01:20:37 +0000 |
commit | 457d83467c00c236e806bb150796a2efdc88bfcf (patch) | |
tree | 36c58186b34d36300374b232fb79540457307b23 /media/tools/player_x11 | |
parent | 77a397cc5cf8106e559aa87a5228478afc28cec1 (diff) | |
download | chromium_src-457d83467c00c236e806bb150796a2efdc88bfcf.zip chromium_src-457d83467c00c236e806bb150796a2efdc88bfcf.tar.gz chromium_src-457d83467c00c236e806bb150796a2efdc88bfcf.tar.bz2 |
Terminate FilterFactory and his nasty friends
FilterFactory, IsMediaFormatSupported and CreateFactory are the source
of evil. They also have have a gang of template functions. This patch
terminate them all and make the world a better place.
BUG=28207
TEST=<video> runs
Review URL: http://codereview.chromium.org/3878001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63609 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/tools/player_x11')
-rw-r--r-- | media/tools/player_x11/gl_video_renderer.cc | 6 | ||||
-rw-r--r-- | media/tools/player_x11/gl_video_renderer.h | 12 | ||||
-rw-r--r-- | media/tools/player_x11/gles_video_renderer.cc | 6 | ||||
-rw-r--r-- | media/tools/player_x11/gles_video_renderer.h | 12 | ||||
-rw-r--r-- | media/tools/player_x11/player_x11.cc | 27 | ||||
-rw-r--r-- | media/tools/player_x11/x11_video_renderer.cc | 6 | ||||
-rw-r--r-- | media/tools/player_x11/x11_video_renderer.h | 12 |
7 files changed, 12 insertions, 69 deletions
diff --git a/media/tools/player_x11/gl_video_renderer.cc b/media/tools/player_x11/gl_video_renderer.cc index 29b4f38..eef1a25 100644 --- a/media/tools/player_x11/gl_video_renderer.cc +++ b/media/tools/player_x11/gl_video_renderer.cc @@ -24,12 +24,6 @@ GlVideoRenderer::GlVideoRenderer(Display* display, Window window, GlVideoRenderer::~GlVideoRenderer() { } -// static -bool GlVideoRenderer::IsMediaFormatSupported( - const media::MediaFormat& media_format) { - return ParseMediaFormat(media_format, NULL, NULL, NULL, NULL); -} - void GlVideoRenderer::OnStop(media::FilterCallback* callback) { glXMakeCurrent(display_, 0, NULL); glXDestroyContext(display_, gl_context_); diff --git a/media/tools/player_x11/gl_video_renderer.h b/media/tools/player_x11/gl_video_renderer.h index 71f8d77..c6ce45e 100644 --- a/media/tools/player_x11/gl_video_renderer.h +++ b/media/tools/player_x11/gl_video_renderer.h @@ -8,29 +8,17 @@ #include "app/gfx/gl/gl_bindings.h" #include "base/lock.h" #include "base/scoped_ptr.h" -#include "media/base/factory.h" #include "media/base/filters.h" #include "media/filters/video_renderer_base.h" class GlVideoRenderer : public media::VideoRendererBase { public: - static media::FilterFactory* CreateFactory(Display* display, - Window window, - MessageLoop* message_loop) { - return new media::FilterFactoryImpl3< - GlVideoRenderer, Display*, Window, MessageLoop*>(display, window, - message_loop); - } - GlVideoRenderer(Display* display, Window window, MessageLoop* message_loop); // This method is called to paint the current video frame to the assigned // window. void Paint(); - // media::FilterFactoryImpl2 Implementation. - static bool IsMediaFormatSupported(const media::MediaFormat& media_format); - static GlVideoRenderer* instance() { return instance_; } MessageLoop* glx_thread_message_loop() { diff --git a/media/tools/player_x11/gles_video_renderer.cc b/media/tools/player_x11/gles_video_renderer.cc index d3b8051..8bd8b3e 100644 --- a/media/tools/player_x11/gles_video_renderer.cc +++ b/media/tools/player_x11/gles_video_renderer.cc @@ -33,12 +33,6 @@ GlesVideoRenderer::GlesVideoRenderer(Display* display, Window window, GlesVideoRenderer::~GlesVideoRenderer() { } -// static -bool GlesVideoRenderer::IsMediaFormatSupported( - const media::MediaFormat& media_format) { - return ParseMediaFormat(media_format, NULL, NULL, NULL, NULL); -} - void GlesVideoRenderer::OnStop(media::FilterCallback* callback) { if (glx_thread_message_loop()) { glx_thread_message_loop()->PostTask(FROM_HERE, diff --git a/media/tools/player_x11/gles_video_renderer.h b/media/tools/player_x11/gles_video_renderer.h index 27780b6..ead864f 100644 --- a/media/tools/player_x11/gles_video_renderer.h +++ b/media/tools/player_x11/gles_video_renderer.h @@ -12,30 +12,18 @@ #include "base/lock.h" #include "base/scoped_ptr.h" -#include "media/base/factory.h" #include "media/base/filters.h" #include "media/base/video_frame.h" #include "media/filters/video_renderer_base.h" class GlesVideoRenderer : public media::VideoRendererBase { public: - static media::FilterFactory* CreateFactory(Display* display, - Window window, - MessageLoop* message_loop) { - return new media::FilterFactoryImpl3< - GlesVideoRenderer, Display*, Window, MessageLoop*>(display, window, - message_loop); - } - GlesVideoRenderer(Display* display, Window window, MessageLoop* message_loop); // This method is called to paint the current video frame to the assigned // window. void Paint(); - // media::FilterFactoryImpl2 Implementation. - static bool IsMediaFormatSupported(const media::MediaFormat& media_format); - static GlesVideoRenderer* instance() { return instance_; } MessageLoop* glx_thread_message_loop() { diff --git a/media/tools/player_x11/player_x11.cc b/media/tools/player_x11/player_x11.cc index 11b8b5f..d1a7ffe 100644 --- a/media/tools/player_x11/player_x11.cc +++ b/media/tools/player_x11/player_x11.cc @@ -97,29 +97,26 @@ bool InitPipeline(MessageLoop* message_loop, } // Create our filter factories. - scoped_refptr<media::FilterFactoryCollection> factories = - new media::FilterFactoryCollection(); - factories->AddFactory(media::FileDataSource::CreateFactory()); - factories->AddFactory(media::FFmpegAudioDecoder::CreateFactory()); - factories->AddFactory(media::FFmpegDemuxer::CreateFilterFactory()); + media::MediaFilterCollection collection; + collection.push_back(new media::FileDataSource()); + collection.push_back(new media::FFmpegDemuxer()); + collection.push_back(new media::FFmpegAudioDecoder()); if (CommandLine::ForCurrentProcess()->HasSwitch( switches::kEnableOpenMax)) { - factories->AddFactory(media::OmxVideoDecoder::CreateFactory(NULL)); + collection.push_back(new media::OmxVideoDecoder(NULL)); } else { - factories->AddFactory(media::FFmpegVideoDecoder::CreateFactory(NULL)); + collection.push_back(new media::FFmpegVideoDecoder(NULL)); } - factories->AddFactory(Renderer::CreateFactory(g_display, g_window, - paint_message_loop)); + collection.push_back(new Renderer(g_display, g_window, paint_message_loop)); - if (enable_audio) { - factories->AddFactory(media::AudioRendererImpl::CreateFilterFactory()); - } else { - factories->AddFactory(media::NullAudioRenderer::CreateFilterFactory()); - } + if (enable_audio) + collection.push_back(new media::AudioRendererImpl()); + else + collection.push_back(new media::NullAudioRenderer()); // Creates the pipeline and start it. *pipeline = new media::PipelineImpl(message_loop); - (*pipeline)->Start(factories, filename, NULL); + (*pipeline)->Start(collection, filename, NULL); // Wait until the pipeline is fully initialized. while (true) { diff --git a/media/tools/player_x11/x11_video_renderer.cc b/media/tools/player_x11/x11_video_renderer.cc index 6819468..2c50e50 100644 --- a/media/tools/player_x11/x11_video_renderer.cc +++ b/media/tools/player_x11/x11_video_renderer.cc @@ -67,12 +67,6 @@ X11VideoRenderer::X11VideoRenderer(Display* display, Window window, X11VideoRenderer::~X11VideoRenderer() { } -// static -bool X11VideoRenderer::IsMediaFormatSupported( - const media::MediaFormat& media_format) { - return ParseMediaFormat(media_format, NULL, NULL, NULL, NULL); -} - void X11VideoRenderer::OnStop(media::FilterCallback* callback) { if (image_) { XDestroyImage(image_); diff --git a/media/tools/player_x11/x11_video_renderer.h b/media/tools/player_x11/x11_video_renderer.h index 2bd9dc4..5076ef8 100644 --- a/media/tools/player_x11/x11_video_renderer.h +++ b/media/tools/player_x11/x11_video_renderer.h @@ -9,29 +9,17 @@ #include "base/lock.h" #include "base/scoped_ptr.h" -#include "media/base/factory.h" #include "media/base/filters.h" #include "media/filters/video_renderer_base.h" class X11VideoRenderer : public media::VideoRendererBase { public: - static media::FilterFactory* CreateFactory(Display* display, - Window window, - MessageLoop* message_loop) { - return new media::FilterFactoryImpl3< - X11VideoRenderer, Display*, Window, MessageLoop*>(display, window, - message_loop); - } - X11VideoRenderer(Display* display, Window window, MessageLoop* message_loop); // This method is called to paint the current video frame to the assigned // window. void Paint(); - // media::FilterFactoryImpl2 Implementation. - static bool IsMediaFormatSupported(const media::MediaFormat& media_format); - static X11VideoRenderer* instance() { return instance_; } MessageLoop* glx_thread_message_loop() { |