summaryrefslogtreecommitdiffstats
path: root/media/tools/player_x11
diff options
context:
space:
mode:
authorhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-23 01:20:37 +0000
committerhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-23 01:20:37 +0000
commit457d83467c00c236e806bb150796a2efdc88bfcf (patch)
tree36c58186b34d36300374b232fb79540457307b23 /media/tools/player_x11
parent77a397cc5cf8106e559aa87a5228478afc28cec1 (diff)
downloadchromium_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.cc6
-rw-r--r--media/tools/player_x11/gl_video_renderer.h12
-rw-r--r--media/tools/player_x11/gles_video_renderer.cc6
-rw-r--r--media/tools/player_x11/gles_video_renderer.h12
-rw-r--r--media/tools/player_x11/player_x11.cc27
-rw-r--r--media/tools/player_x11/x11_video_renderer.cc6
-rw-r--r--media/tools/player_x11/x11_video_renderer.h12
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() {