summaryrefslogtreecommitdiffstats
path: root/media/tools
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 /media/tools
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 'media/tools')
-rw-r--r--media/tools/player_wtl/movie.cc18
-rw-r--r--media/tools/player_x11/player_x11.cc21
2 files changed, 20 insertions, 19 deletions
diff --git a/media/tools/player_wtl/movie.cc b/media/tools/player_wtl/movie.cc
index 90dae4f..c12d724 100644
--- a/media/tools/player_wtl/movie.cc
+++ b/media/tools/player_wtl/movie.cc
@@ -54,25 +54,25 @@ bool Movie::Open(const wchar_t* url, WtlVideoRenderer* video_renderer) {
}
// 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));
+ scoped_ptr<MediaFilterCollection> collection(new MediaFilterCollection());
+ collection->AddFilter(new FileDataSource());
+ collection->AddFilter(new FFmpegAudioDecoder());
+ collection->AddFilter(new FFmpegDemuxer());
+ collection->AddFilter(new FFmpegVideoDecoder(NULL));
if (enable_audio_) {
- collection.push_back(new AudioRendererImpl());
+ collection->AddFilter(new AudioRendererImpl());
} else {
- collection.push_back(new media::NullAudioRenderer());
+ collection->AddFilter(new media::NullAudioRenderer());
}
- collection.push_back(video_renderer);
+ collection->AddFilter(video_renderer);
thread_.reset(new base::Thread("PipelineThread"));
thread_->Start();
pipeline_ = new PipelineImpl(thread_->message_loop());
// Create and start our pipeline.
- pipeline_->Start(collection, WideToUTF8(std::wstring(url)), NULL);
+ pipeline_->Start(collection.release(), WideToUTF8(std::wstring(url)), NULL);
while (true) {
PlatformThread::Sleep(100);
if (pipeline_->IsInitialized())
diff --git a/media/tools/player_x11/player_x11.cc b/media/tools/player_x11/player_x11.cc
index d1a7ffe..ad307c4 100644
--- a/media/tools/player_x11/player_x11.cc
+++ b/media/tools/player_x11/player_x11.cc
@@ -97,26 +97,27 @@ bool InitPipeline(MessageLoop* message_loop,
}
// Create our filter factories.
- media::MediaFilterCollection collection;
- collection.push_back(new media::FileDataSource());
- collection.push_back(new media::FFmpegDemuxer());
- collection.push_back(new media::FFmpegAudioDecoder());
+ scoped_ptr<media::MediaFilterCollection> collection(
+ new media::MediaFilterCollection());
+ collection->AddFilter(new media::FileDataSource());
+ collection->AddFilter(new media::FFmpegDemuxer());
+ collection->AddFilter(new media::FFmpegAudioDecoder());
if (CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnableOpenMax)) {
- collection.push_back(new media::OmxVideoDecoder(NULL));
+ collection->AddFilter(new media::OmxVideoDecoder(NULL));
} else {
- collection.push_back(new media::FFmpegVideoDecoder(NULL));
+ collection->AddFilter(new media::FFmpegVideoDecoder(NULL));
}
- collection.push_back(new Renderer(g_display, g_window, paint_message_loop));
+ collection->AddFilter(new Renderer(g_display, g_window, paint_message_loop));
if (enable_audio)
- collection.push_back(new media::AudioRendererImpl());
+ collection->AddFilter(new media::AudioRendererImpl());
else
- collection.push_back(new media::NullAudioRenderer());
+ collection->AddFilter(new media::NullAudioRenderer());
// Creates the pipeline and start it.
*pipeline = new media::PipelineImpl(message_loop);
- (*pipeline)->Start(collection, filename, NULL);
+ (*pipeline)->Start(collection.release(), filename, NULL);
// Wait until the pipeline is fully initialized.
while (true) {