Index: webkit/media/webmediaplayer_impl.h |
diff --git a/webkit/media/webmediaplayer_impl.h b/webkit/media/webmediaplayer_impl.h |
index 2826e9074e407218cafca43dfd8c45e645d31b66..2a6baf66071fc83e0ab2a3e311e88caf126c6e04 100644 |
--- a/webkit/media/webmediaplayer_impl.h |
+++ b/webkit/media/webmediaplayer_impl.h |
@@ -26,6 +26,7 @@ |
#include "base/memory/scoped_ptr.h" |
#include "base/memory/weak_ptr.h" |
#include "base/threading/thread.h" |
+#include "cc/layers/video_frame_provider.h" |
#include "googleurl/src/gurl.h" |
#include "media/base/audio_renderer_sink.h" |
#include "media/base/decryptor.h" |
@@ -36,6 +37,7 @@ |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebAudioSourceProvider.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebMediaPlayer.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebMediaPlayerClient.h" |
+#include "third_party/WebKit/Source/WebKit/chromium/public/WebStreamTextureClient.h" |
#include "webkit/media/crypto/key_systems.h" |
#include "webkit/media/crypto/proxy_decryptor.h" |
@@ -64,6 +66,8 @@ class WebMediaPlayerParams; |
class WebMediaPlayerImpl |
: public WebKit::WebMediaPlayer, |
+ public cc::VideoFrameProvider, |
+ public WebKit::WebStreamTextureClient, |
public MessageLoop::DestructionObserver, |
public base::SupportsWeakPtr<WebMediaPlayerImpl> { |
public: |
@@ -141,8 +145,18 @@ class WebMediaPlayerImpl |
virtual unsigned audioDecodedByteCount() const; |
virtual unsigned videoDecodedByteCount() const; |
- virtual WebKit::WebVideoFrame* getCurrentFrame(); |
- virtual void putCurrentFrame(WebKit::WebVideoFrame* web_video_frame); |
+ virtual WebKit::WebLayer* createCompositingLayer(); |
+ |
+ // cc::VideoFrameProvider imlpementation. |
+ virtual void SetVideoFrameProviderClient( |
+ cc::VideoFrameProvider::Client* client) OVERRIDE; |
+ virtual scoped_refptr<media::VideoFrame> GetCurrentFrame() OVERRIDE; |
+ virtual void PutCurrentFrame(const scoped_refptr<media::VideoFrame>& frame) |
+ OVERRIDE; |
+ |
+ // WebStreamTextureClient implementation. |
+ virtual void didReceiveFrame(); |
+ virtual void didUpdateMatrix(const float* matrix); |
virtual bool copyVideoTextureToPlatformTexture( |
WebKit::WebGraphicsContext3D* web_graphics_context, |
@@ -341,6 +355,9 @@ class WebMediaPlayerImpl |
scoped_refptr<media::VideoFrame> current_frame_; |
bool pending_repaint_; |
+ base::Lock provider_lock_; |
+ cc::VideoFrameProvider::Client* video_frame_provider_client_; |
+ |
DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); |
}; |