diff options
author | fischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-14 19:44:22 +0000 |
---|---|---|
committer | fischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-14 19:44:22 +0000 |
commit | c88c7c2bd7ddf9b88d09c51a991d1ac4cd24b741 (patch) | |
tree | 2c7c43c8d41f7a2625416263a4c26c1ffbbd8630 /media/tools/player_wtl/movie.cc | |
parent | 967be67d0228174b07c0f2815dd14157b6e245c3 (diff) | |
download | chromium_src-c88c7c2bd7ddf9b88d09c51a991d1ac4cd24b741.zip chromium_src-c88c7c2bd7ddf9b88d09c51a991d1ac4cd24b741.tar.gz chromium_src-c88c7c2bd7ddf9b88d09c51a991d1ac4cd24b741.tar.bz2 |
DemuxerFactory is born!
PipelineImpl no longer knows about DataSources, with DemuxerFactory taking a
DataSourceFactory when appropriate (i.e. for FFmpegDemuxerFactory).
This diff is relative to patchset 8 of issue 6480050, which must be submitted
first.
BUG=none
TEST=media_unittests pass; chrome plays videos; trybots passed: mac,linux,linux_clang,win_layout; trybots with only unrelated-looking failures: win,{mac,linux}_layout
Review URL: http://codereview.chromium.org/6648004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78075 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/tools/player_wtl/movie.cc')
-rw-r--r-- | media/tools/player_wtl/movie.cc | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/media/tools/player_wtl/movie.cc b/media/tools/player_wtl/movie.cc index 371d178..042d1f4 100644 --- a/media/tools/player_wtl/movie.cc +++ b/media/tools/player_wtl/movie.cc @@ -12,7 +12,7 @@ #include "media/base/pipeline_impl.h" #include "media/filters/audio_renderer_impl.h" #include "media/filters/ffmpeg_audio_decoder.h" -#include "media/filters/ffmpeg_demuxer.h" +#include "media/filters/ffmpeg_demuxer_factory.h" #include "media/filters/ffmpeg_video_decoder.h" #include "media/filters/file_data_source_factory.h" #include "media/filters/null_audio_renderer.h" @@ -20,7 +20,7 @@ using media::AudioRendererImpl; using media::FFmpegAudioDecoder; -using media::FFmpegDemuxer; +using media::FFmpegDemuxerFactory; using media::FFmpegVideoDecoder; using media::FileDataSourceFactory; using media::FilterCollection; @@ -63,13 +63,16 @@ bool Movie::Open(const wchar_t* url, WtlVideoRenderer* video_renderer) { message_loop_factory_.reset(new media::MessageLoopFactoryImpl()); + MessageLoop* pipeline_loop = + message_loop_factory_->GetMessageLoop("PipelineThread"); + pipeline_ = new PipelineImpl(pipeline_loop); + // Create filter collection. scoped_ptr<FilterCollection> collection(new FilterCollection()); - collection->SetDataSourceFactory(new FileDataSourceFactory()); + collection->SetDemuxerFactory(new FFmpegDemuxerFactory( + new FileDataSourceFactory(), pipeline_loop)); collection->AddAudioDecoder(new FFmpegAudioDecoder( message_loop_factory_->GetMessageLoop("AudioDecoderThread"))); - collection->AddDemuxer(new FFmpegDemuxer( - message_loop_factory_->GetMessageLoop("DemuxThread"))); collection->AddVideoDecoder(new FFmpegVideoDecoder( message_loop_factory_->GetMessageLoop("VideoDecoderThread"), NULL)); @@ -80,9 +83,6 @@ bool Movie::Open(const wchar_t* url, WtlVideoRenderer* video_renderer) { } collection->AddVideoRenderer(video_renderer); - pipeline_ = new PipelineImpl( - message_loop_factory_->GetMessageLoop("PipelineThread")); - // Create and start our pipeline. pipeline_->Start(collection.release(), WideToUTF8(std::wstring(url)), NULL); while (true) { |