diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-03 05:40:13 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-03 05:40:13 +0000 |
commit | 9e166974e33f359467458af13987c3d87663c163 (patch) | |
tree | 63ddfaa99458d1d06b120ec99383f6ff814933da /media/tools/player_x11 | |
parent | bcc26067bf9a0bb7fe1600119a5b034b36b86da4 (diff) | |
download | chromium_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/player_x11')
-rw-r--r-- | media/tools/player_x11/player_x11.cc | 21 |
1 files changed, 11 insertions, 10 deletions
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) { |