Index: content/renderer/media/webmediaplayer_ms.h |
diff --git a/content/renderer/media/webmediaplayer_ms.h b/content/renderer/media/webmediaplayer_ms.h |
index 3254f83ab3727352363088be8e1add1fccf00027..17fa8f51479a880ed04354e2ccd90521cbd01cf8 100644 |
--- a/content/renderer/media/webmediaplayer_ms.h |
+++ b/content/renderer/media/webmediaplayer_ms.h |
@@ -58,11 +58,14 @@ class WebMediaPlayerMS |
public: |
// Construct a WebMediaPlayerMS with reference to the client, and |
// a MediaStreamClient which provides VideoFrameProvider. |
- WebMediaPlayerMS(blink::WebFrame* frame, |
- blink::WebMediaPlayerClient* client, |
- base::WeakPtr<media::WebMediaPlayerDelegate> delegate, |
- media::MediaLog* media_log, |
- scoped_ptr<MediaStreamRendererFactory> factory); |
+ WebMediaPlayerMS( |
+ blink::WebFrame* frame, |
+ blink::WebMediaPlayerClient* client, |
+ base::WeakPtr<media::WebMediaPlayerDelegate> delegate, |
+ media::MediaLog* media_log, |
+ scoped_ptr<MediaStreamRendererFactory> factory, |
+ scoped_refptr<base::SingleThreadTaskRunner> compositor_thread); |
+ |
virtual ~WebMediaPlayerMS(); |
virtual void load(LoadType load_type, |
@@ -151,6 +154,14 @@ class WebMediaPlayerMS |
// Getter method to |client_|. |
blink::WebMediaPlayerClient* GetClient(); |
+ static void StopVideoFrameProviderAndWakeUpHelper( |
+ cc::VideoFrameProvider::Client* client, |
+ base::WaitableEvent* event); |
+ static void StopVideoFrameProviderHelper( |
+ cc::VideoFrameProvider::Client* client); |
+ static void StartRenderingHelper(cc::VideoFrameProvider::Client* client); |
+ static void StopRenderingHelper(cc::VideoFrameProvider::Client* client); |
+ |
blink::WebFrame* frame_; |
blink::WebMediaPlayer::NetworkState network_state_; |
@@ -192,6 +203,7 @@ class WebMediaPlayerMS |
bool received_first_frame_; |
base::TimeDelta current_time_; |
+ base::TimeTicks last_deadline_max_; |
unsigned total_frame_count_; |
unsigned dropped_frame_count_; |
media::SkCanvasVideoRenderer video_renderer_; |
@@ -202,6 +214,9 @@ class WebMediaPlayerMS |
scoped_ptr<MediaStreamRendererFactory> renderer_factory_; |
+ scoped_refptr<base::SingleThreadTaskRunner> compositor_thread_; |
+ base::WaitableEvent wait_event_; |
+ |
DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerMS); |
}; |