| Index: webkit/media/webmediaplayer_impl.h
|
| diff --git a/webkit/media/webmediaplayer_impl.h b/webkit/media/webmediaplayer_impl.h
|
| index 2826e9074e407218cafca43dfd8c45e645d31b66..3e1799a9d79791e21127b68709761c8f484616f8 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"
|
| @@ -54,6 +55,10 @@ class ChunkDemuxer;
|
| class MediaLog;
|
| }
|
|
|
| +namespace webkit {
|
| +class WebLayerImpl;
|
| +}
|
| +
|
| namespace webkit_media {
|
|
|
| class BufferedDataSource;
|
| @@ -64,6 +69,7 @@ class WebMediaPlayerParams;
|
|
|
| class WebMediaPlayerImpl
|
| : public WebKit::WebMediaPlayer,
|
| + public cc::VideoFrameProvider,
|
| public MessageLoop::DestructionObserver,
|
| public base::SupportsWeakPtr<WebMediaPlayerImpl> {
|
| public:
|
| @@ -141,8 +147,12 @@ class WebMediaPlayerImpl
|
| virtual unsigned audioDecodedByteCount() const;
|
| virtual unsigned videoDecodedByteCount() const;
|
|
|
| - virtual WebKit::WebVideoFrame* getCurrentFrame();
|
| - virtual void putCurrentFrame(WebKit::WebVideoFrame* web_video_frame);
|
| + // cc::VideoFrameProvider implementation.
|
| + 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;
|
|
|
| virtual bool copyVideoTextureToPlatformTexture(
|
| WebKit::WebGraphicsContext3D* web_graphics_context,
|
| @@ -341,6 +351,14 @@ class WebMediaPlayerImpl
|
| scoped_refptr<media::VideoFrame> current_frame_;
|
| bool pending_repaint_;
|
|
|
| + // The compositor layer for displaying the video content when using composited
|
| + // playback.
|
| + scoped_ptr<webkit::WebLayerImpl> video_weblayer_;
|
| +
|
| + // A pointer back to the compositor to inform it about state changes. This is
|
| + // not NULL while the compositor is actively using this webmediaplayer.
|
| + cc::VideoFrameProvider::Client* video_frame_provider_client_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl);
|
| };
|
|
|
|
|