summaryrefslogtreecommitdiffstats
path: root/webkit/glue/webmediaplayer_impl.h
diff options
context:
space:
mode:
authoracolwell@chromium.org <acolwell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-16 04:59:10 +0000
committeracolwell@chromium.org <acolwell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-16 04:59:10 +0000
commitf63760a96dcbf31a22a27d47be75f5e623f4efe4 (patch)
tree3cff42ced3fe0fcc3cf238ca2953b853a99ccd80 /webkit/glue/webmediaplayer_impl.h
parent2b9a0640a53ae8782fa9ed11129d279cbfaf66f5 (diff)
downloadchromium_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.h10
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_;