diff options
author | acolwell@chromium.org <acolwell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-16 04:59:10 +0000 |
---|---|---|
committer | acolwell@chromium.org <acolwell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-16 04:59:10 +0000 |
commit | f63760a96dcbf31a22a27d47be75f5e623f4efe4 (patch) | |
tree | 3cff42ced3fe0fcc3cf238ca2953b853a99ccd80 /webkit/glue/webmediaplayer_impl.h | |
parent | 2b9a0640a53ae8782fa9ed11129d279cbfaf66f5 (diff) | |
download | chromium_src-f63760a96dcbf31a22a27d47be75f5e623f4efe4.zip chromium_src-f63760a96dcbf31a22a27d47be75f5e623f4efe4.tar.gz chromium_src-f63760a96dcbf31a22a27d47be75f5e623f4efe4.tar.bz2 |
Allow WebMediaPlayerImpl to handle multiple DataSources.
BUG=72485
TEST=none
Review URL: http://codereview.chromium.org/6490009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75072 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/webmediaplayer_impl.h')
-rw-r--r-- | webkit/glue/webmediaplayer_impl.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/webkit/glue/webmediaplayer_impl.h b/webkit/glue/webmediaplayer_impl.h index 0d60ba7..fb1c938 100644 --- a/webkit/glue/webmediaplayer_impl.h +++ b/webkit/glue/webmediaplayer_impl.h @@ -99,7 +99,7 @@ class WebMediaPlayerImpl : public WebKit::WebMediaPlayer, // Methods for Filter -> WebMediaPlayerImpl communication. void Repaint(); void SetVideoRenderer(scoped_refptr<WebVideoRenderer> video_renderer); - void SetDataSource(scoped_refptr<WebDataSource> data_source); + void AddDataSource(scoped_refptr<WebDataSource> data_source); // Methods for WebMediaPlayerImpl -> Filter communication. void Paint(skia::PlatformCanvas* canvas, const gfx::Rect& dest_rect); @@ -108,7 +108,7 @@ class WebMediaPlayerImpl : public WebKit::WebMediaPlayer, void GetCurrentFrame(scoped_refptr<media::VideoFrame>* frame_out); void PutCurrentFrame(scoped_refptr<media::VideoFrame> frame); bool HasSingleOrigin(); - void AbortDataSource(); + void AbortDataSources(); // Methods for PipelineImpl -> WebMediaPlayerImpl communication. void PipelineInitializationCallback(); @@ -146,7 +146,11 @@ class WebMediaPlayerImpl : public WebKit::WebMediaPlayer, // The render message loop where WebKit lives. MessageLoop* render_loop_; WebMediaPlayerImpl* webmediaplayer_; - scoped_refptr<WebDataSource> data_source_; + + base::Lock data_sources_lock_; + typedef std::list<scoped_refptr<WebDataSource> > DataSourceList; + DataSourceList data_sources_; + scoped_refptr<WebVideoRenderer> video_renderer_; base::Lock lock_; |