Index: content/renderer/media/android/webmediaplayer_android.h |
diff --git a/content/renderer/media/android/webmediaplayer_android.h b/content/renderer/media/android/webmediaplayer_android.h |
index bf290b71229ca958d8c356398b03be1238f6589e..59994e4ef23dcd7182d652238e4b05c8cb4707cc 100644 |
--- a/content/renderer/media/android/webmediaplayer_android.h |
+++ b/content/renderer/media/android/webmediaplayer_android.h |
@@ -70,7 +70,8 @@ class WebContentDecryptionModuleImpl; |
// player. |
class WebMediaPlayerAndroid : public blink::WebMediaPlayer, |
public cc::VideoFrameProvider, |
- public RenderFrameObserver { |
+ public RenderFrameObserver, |
+ public StreamTextureFactoryContextObserver { |
public: |
// Construct a WebMediaPlayerAndroid object. This class communicates with the |
// MediaPlayerAndroid object in the browser process through |proxy|. |
@@ -196,6 +197,9 @@ class WebMediaPlayerAndroid : public blink::WebMediaPlayer, |
void OnMediaPlayerPause(); |
void OnRequestFullscreen(); |
+ // StreamTextureFactoryContextObserver implementation. |
+ virtual void ResetStreamTextureProxy() OVERRIDE; |
+ |
// Called when the player is released. |
virtual void OnPlayerReleased(); |
@@ -282,6 +286,7 @@ class WebMediaPlayerAndroid : public blink::WebMediaPlayer, |
void DrawRemotePlaybackText(const std::string& remote_playback_message); |
void ReallocateVideoFrame(); |
void SetCurrentFrameInternal(scoped_refptr<media::VideoFrame>& frame); |
+ void UpdateFrameOnClientThread(); |
void DidLoadMediaInfo(MediaInfoLoader::Status status, |
const GURL& redirected_url, |
const GURL& first_party_for_cookies, |
@@ -344,7 +349,10 @@ class WebMediaPlayerAndroid : public blink::WebMediaPlayer, |
// The video frame object used for rendering by the compositor. |
scoped_refptr<media::VideoFrame> current_frame_; |
- base::Lock current_frame_lock_; |
+ // Whether |stream_texture_proxy_| is initialized. |
+ bool stream_texture_proxy_initialized_; |
+ scoped_refptr<base::MessageLoopProxy> client_bound_loop_; |
+ base::Lock current_frame_lock_; // TODO(boliu): Rename this var. |
base::ThreadChecker main_thread_checker_; |
@@ -410,9 +418,6 @@ class WebMediaPlayerAndroid : public blink::WebMediaPlayer, |
// Whether media player needs to re-establish the surface texture peer. |
bool needs_establish_peer_; |
- // Whether |stream_texture_proxy_| is initialized. |
- bool stream_texture_proxy_initialized_; |
- |
// Whether the video size info is available. |
bool has_size_info_; |