| Index: media/filters/skcanvas_video_renderer.h
|
| diff --git a/media/filters/skcanvas_video_renderer.h b/media/filters/skcanvas_video_renderer.h
|
| index 3d1f4da56f76ef31b546b581bd1c85ca5ecdb2ee..3d928cd1cdcc0bbb58f48ef38b875d555fd305ec 100644
|
| --- a/media/filters/skcanvas_video_renderer.h
|
| +++ b/media/filters/skcanvas_video_renderer.h
|
| @@ -12,8 +12,15 @@
|
| #include "third_party/skia/include/core/SkXfermode.h"
|
| #include "ui/gfx/rect.h"
|
|
|
| +class GrContext;
|
| class SkCanvas;
|
|
|
| +namespace gpu {
|
| +namespace gles2 {
|
| +class GLES2Interface;
|
| +}
|
| +}
|
| +
|
| namespace media {
|
|
|
| class VideoFrame;
|
| @@ -25,6 +32,10 @@ class MEDIA_EXPORT SkCanvasVideoRenderer {
|
| SkCanvasVideoRenderer();
|
| ~SkCanvasVideoRenderer();
|
|
|
| + struct Context3DProvider {
|
| + gpu::gles2::GLES2Interface* gl;
|
| + class GrContext* gr_context;
|
| + };
|
| // Paints |video_frame| on |canvas|, scaling the result to fit dimensions
|
| // specified by |dest_rect|.
|
| //
|
| @@ -34,16 +45,31 @@ class MEDIA_EXPORT SkCanvasVideoRenderer {
|
| const gfx::RectF& dest_rect,
|
| uint8 alpha,
|
| SkXfermode::Mode mode,
|
| - VideoRotation video_rotation);
|
| + VideoRotation video_rotation,
|
| + Context3DProvider* context_provider);
|
|
|
| // Copy |video_frame| on |canvas|.
|
| void Copy(media::VideoFrame* video_frame, SkCanvas* canvas);
|
|
|
| + static void CopyVideoFrameToTexture(gpu::gles2::GLES2Interface* gl,
|
| + media::VideoFrame* video_frame,
|
| + unsigned int texture,
|
| + unsigned int level,
|
| + unsigned int internal_format,
|
| + unsigned int type,
|
| + bool premultiply_alpha,
|
| + bool flip_y);
|
| +
|
| private:
|
| + void CleanUpTemporaryBuffers();
|
| +
|
| // An RGB bitmap and corresponding timestamp of the previously converted
|
| // video frame data.
|
| SkBitmap last_frame_;
|
| base::TimeDelta last_frame_timestamp_;
|
| + // It's possible to be used by accelerated client and non-accelerated client.
|
| + SkBitmap accelerated_last_frame_;
|
| + base::TimeDelta accelerated_last_frame_timestamp_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(SkCanvasVideoRenderer);
|
| };
|
|
|