diff options
author | fischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-29 22:05:33 +0000 |
---|---|---|
committer | fischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-29 22:05:33 +0000 |
commit | bdca921e4dd8e9dd4eebc42489b7fc8d73a246ed (patch) | |
tree | 3fda5f74a5e590ecbaca0cde1182556ea61a1b90 /media/tools | |
parent | 58b169d57ed6445c11795c075144605bf840439a (diff) | |
download | chromium_src-bdca921e4dd8e9dd4eebc42489b7fc8d73a246ed.zip chromium_src-bdca921e4dd8e9dd4eebc42489b7fc8d73a246ed.tar.gz chromium_src-bdca921e4dd8e9dd4eebc42489b7fc8d73a246ed.tar.bz2 |
AdaptiveDemuxer{,Factory,Stream} are born!
This family of classes enable presenting media combined from multiple URLs
(e.g. pulling audio from one URL and video from another). In the future it
will also enable switching sources during playback, but this isn't implemented
yet.
player_{x11,wtl} have been updated to use these new classes, but
webmediaplayer_impl hasn't yet, because I don't want to expose my hacky
alternative scheme to the world.
BUG=none
TEST=trybots
Review URL: http://codereview.chromium.org/6769001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79750 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/tools')
-rw-r--r-- | media/tools/player_wtl/movie.cc | 6 | ||||
-rw-r--r-- | media/tools/player_x11/player_x11.cc | 7 |
2 files changed, 9 insertions, 4 deletions
diff --git a/media/tools/player_wtl/movie.cc b/media/tools/player_wtl/movie.cc index 3090a48..62da5e5 100644 --- a/media/tools/player_wtl/movie.cc +++ b/media/tools/player_wtl/movie.cc @@ -10,6 +10,7 @@ #include "media/base/filter_collection.h" #include "media/base/message_loop_factory_impl.h" #include "media/base/pipeline_impl.h" +#include "media/filters/adaptive_demuxer.h" #include "media/filters/audio_renderer_impl.h" #include "media/filters/ffmpeg_audio_decoder.h" #include "media/filters/ffmpeg_demuxer_factory.h" @@ -18,6 +19,7 @@ #include "media/filters/null_audio_renderer.h" #include "media/tools/player_wtl/wtl_renderer.h" +using media::AdaptiveDemuxerFactory; using media::AudioRendererImpl; using media::FFmpegAudioDecoder; using media::FFmpegDemuxerFactory; @@ -69,8 +71,8 @@ bool Movie::Open(const wchar_t* url, WtlVideoRenderer* video_renderer) { // Create filter collection. scoped_ptr<FilterCollection> collection(new FilterCollection()); - collection->SetDemuxerFactory(new FFmpegDemuxerFactory( - new FileDataSourceFactory(), pipeline_loop)); + collection->SetDemuxerFactory(new AdaptiveDemuxerFactory( + new FFmpegDemuxerFactory(new FileDataSourceFactory(), pipeline_loop))); collection->AddAudioDecoder(new FFmpegAudioDecoder( message_loop_factory_->GetMessageLoop("AudioDecoderThread"))); collection->AddVideoDecoder(new FFmpegVideoDecoder( diff --git a/media/tools/player_x11/player_x11.cc b/media/tools/player_x11/player_x11.cc index 9624330..ea841aa 100644 --- a/media/tools/player_x11/player_x11.cc +++ b/media/tools/player_x11/player_x11.cc @@ -19,6 +19,7 @@ #include "media/base/media_switches.h" #include "media/base/message_loop_factory_impl.h" #include "media/base/pipeline_impl.h" +#include "media/filters/adaptive_demuxer.h" #include "media/filters/audio_renderer_impl.h" #include "media/filters/ffmpeg_audio_decoder.h" #include "media/filters/ffmpeg_demuxer_factory.h" @@ -111,8 +112,10 @@ bool InitPipeline(MessageLoop* message_loop, // Create our filter factories. scoped_ptr<media::FilterCollection> collection( new media::FilterCollection()); - collection->SetDemuxerFactory(new media::FFmpegDemuxerFactory( - new media::FileDataSourceFactory(), message_loop)); + collection->SetDemuxerFactory( + new media::AdaptiveDemuxerFactory( + new media::FFmpegDemuxerFactory( + new media::FileDataSourceFactory(), message_loop))); collection->AddAudioDecoder(new media::FFmpegAudioDecoder( message_loop_factory->GetMessageLoop("AudioDecoderThread"))); if (CommandLine::ForCurrentProcess()->HasSwitch( |