summaryrefslogtreecommitdiffstats
path: root/media/tools/player_wtl
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_wtl
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_wtl')
-rw-r--r--media/tools/player_wtl/movie.cc24
1 files changed, 11 insertions, 13 deletions
diff --git a/media/tools/player_wtl/movie.cc b/media/tools/player_wtl/movie.cc
index be97097..90dae4f 100644
--- a/media/tools/player_wtl/movie.cc
+++ b/media/tools/player_wtl/movie.cc
@@ -19,7 +19,7 @@ using media::FFmpegAudioDecoder;
using media::FFmpegDemuxer;
using media::FFmpegVideoDecoder;
using media::FileDataSource;
-using media::FilterFactoryCollection;
+using media::MediaFilterCollection;
using media::PipelineImpl;
namespace media {
@@ -53,28 +53,26 @@ bool Movie::Open(const wchar_t* url, WtlVideoRenderer* video_renderer) {
Close();
}
- // Create our filter factories.
- scoped_refptr<FilterFactoryCollection> factories =
- new FilterFactoryCollection();
- factories->AddFactory(FileDataSource::CreateFactory());
- factories->AddFactory(FFmpegAudioDecoder::CreateFactory());
- factories->AddFactory(FFmpegDemuxer::CreateFilterFactory());
- factories->AddFactory(FFmpegVideoDecoder::CreateFactory(NULL));
+ // Create filter collection.
+ MediaFilterCollection collection;
+ collection.push_back(new FileDataSource());
+ collection.push_back(new FFmpegAudioDecoder());
+ collection.push_back(new FFmpegDemuxer());
+ collection.push_back(new FFmpegVideoDecoder(NULL));
if (enable_audio_) {
- factories->AddFactory(AudioRendererImpl::CreateFilterFactory());
+ collection.push_back(new AudioRendererImpl());
} else {
- factories->AddFactory(media::NullAudioRenderer::CreateFilterFactory());
+ collection.push_back(new media::NullAudioRenderer());
}
- factories->AddFactory(
- new media::InstanceFilterFactory<WtlVideoRenderer>(video_renderer));
+ collection.push_back(video_renderer);
thread_.reset(new base::Thread("PipelineThread"));
thread_->Start();
pipeline_ = new PipelineImpl(thread_->message_loop());
// Create and start our pipeline.
- pipeline_->Start(factories, WideToUTF8(std::wstring(url)), NULL);
+ pipeline_->Start(collection, WideToUTF8(std::wstring(url)), NULL);
while (true) {
PlatformThread::Sleep(100);
if (pipeline_->IsInitialized())