| 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);
|
| };
|
|
|
|
|