summaryrefslogtreecommitdiffstats
path: root/media/tools/player_wtl/movie.cc
diff options
context:
space:
mode:
authorfischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-14 19:44:22 +0000
committerfischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-14 19:44:22 +0000
commitc88c7c2bd7ddf9b88d09c51a991d1ac4cd24b741 (patch)
tree2c7c43c8d41f7a2625416263a4c26c1ffbbd8630 /media/tools/player_wtl/movie.cc
parent967be67d0228174b07c0f2815dd14157b6e245c3 (diff)
downloadchromium_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.cc16
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) {