| Index: cc/layers/video_layer_impl.h
|
| diff --git a/cc/layers/video_layer_impl.h b/cc/layers/video_layer_impl.h
|
| index da1c53f51b99b9d9b06161ada8eb108c8b95b0c7..b272f8f621accb063941e4079aaea26dfa248e12 100644
|
| --- a/cc/layers/video_layer_impl.h
|
| +++ b/cc/layers/video_layer_impl.h
|
| @@ -5,22 +5,16 @@
|
| #ifndef CC_LAYERS_VIDEO_LAYER_IMPL_H_
|
| #define CC_LAYERS_VIDEO_LAYER_IMPL_H_
|
|
|
| -#include "base/callback.h"
|
| -#include "base/synchronization/lock.h"
|
| #include "cc/base/cc_export.h"
|
| #include "cc/layers/layer_impl.h"
|
| -#include "cc/layers/video_frame_provider.h"
|
| -#include "media/base/video_frame.h"
|
| -#include "third_party/khronos/GLES2/gl2.h"
|
| -#include "ui/gfx/size.h"
|
| -#include "ui/gfx/transform.h"
|
| +#include "cc/resources/video_resource_updater.h"
|
|
|
| namespace media {
|
| -class SkCanvasVideoRenderer;
|
| +class VideoFrame;
|
| }
|
|
|
| namespace cc {
|
| -class LayerTreeHostImpl;
|
| +class VideoFrameProvider;
|
| class VideoFrameProviderClientImpl;
|
|
|
| class CC_EXPORT VideoLayerImpl : public LayerImpl {
|
| @@ -46,37 +40,23 @@ class CC_EXPORT VideoLayerImpl : public LayerImpl {
|
| void SetProviderClientImpl(
|
| scoped_refptr<VideoFrameProviderClientImpl> provider_client_impl);
|
|
|
| - struct FramePlane {
|
| - ResourceProvider::ResourceId resource_id;
|
| - gfx::Size size;
|
| - GLenum format;
|
| -
|
| - FramePlane() : resource_id(0), format(GL_LUMINANCE) {}
|
| -
|
| - bool AllocateData(ResourceProvider* resource_provider);
|
| - void FreeData(ResourceProvider* resource_provider);
|
| - };
|
| -
|
| private:
|
| VideoLayerImpl(LayerTreeImpl* tree_impl, int id);
|
|
|
| virtual const char* LayerTypeAsString() const OVERRIDE;
|
|
|
| - void WillDrawInternal(ResourceProvider* resource_provider);
|
| - bool SetupFramePlanes(ResourceProvider* resource_provider);
|
| - void FreeFramePlanes(ResourceProvider* resource_provider);
|
| - void FreeUnusedFramePlanes(ResourceProvider* resource_provider);
|
| -
|
| scoped_refptr<VideoFrameProviderClientImpl> provider_client_impl_;
|
|
|
| scoped_refptr<media::VideoFrame> frame_;
|
| - media::VideoFrame::Format format_;
|
| - bool convert_yuv_;
|
| - ResourceProvider::ResourceId external_texture_resource_;
|
| - scoped_ptr<media::SkCanvasVideoRenderer> video_renderer_;
|
|
|
| - // Each index in this array corresponds to a plane in media::VideoFrame.
|
| - FramePlane frame_planes_[media::VideoFrame::kMaxPlanes];
|
| + scoped_ptr<VideoResourceUpdater> updater_;
|
| + VideoFrameExternalResources::ResourceType frame_resource_type_;
|
| + std::vector<ResourceProvider::ResourceId> frame_resources_;
|
| +
|
| + // TODO(danakj): Remove these, hide software path inside ResourceProvider and
|
| + // ExternalResource (aka TextureMailbox) classes.
|
| + std::vector<unsigned> software_resources_;
|
| + TextureMailbox::ReleaseCallback software_release_callback_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(VideoLayerImpl);
|
| };
|
|
|