| Index: cc/resources/media/skcanvas_video_renderer.h
|
| diff --git a/media/filters/skcanvas_video_renderer.h b/cc/resources/media/skcanvas_video_renderer.h
|
| similarity index 56%
|
| rename from media/filters/skcanvas_video_renderer.h
|
| rename to cc/resources/media/skcanvas_video_renderer.h
|
| index 9e3622d79c531058aee068ae8bce1e3ccc8de2e8..e293b3a15168ed94f3e149ddbe25508c7be132ce 100644
|
| --- a/media/filters/skcanvas_video_renderer.h
|
| +++ b/cc/resources/media/skcanvas_video_renderer.h
|
| @@ -6,19 +6,22 @@
|
| #define MEDIA_FILTERS_SKCANVAS_VIDEO_RENDERER_H_
|
|
|
| #include "base/time/time.h"
|
| -#include "media/base/media_export.h"
|
| +#include "cc/base/cc_export.h"
|
| +#include "cc/output/context_provider.h"
|
| #include "third_party/skia/include/core/SkBitmap.h"
|
| #include "ui/gfx/rect.h"
|
|
|
| class SkCanvas;
|
|
|
| namespace media {
|
| -
|
| class VideoFrame;
|
| +}
|
| +
|
| +namespace cc {
|
|
|
| // Handles rendering of VideoFrames to SkCanvases, doing any necessary YUV
|
| // conversion and caching of resulting RGB bitmaps.
|
| -class MEDIA_EXPORT SkCanvasVideoRenderer {
|
| +class CC_EXPORT SkCanvasVideoRenderer {
|
| public:
|
| SkCanvasVideoRenderer();
|
| ~SkCanvasVideoRenderer();
|
| @@ -30,17 +33,32 @@ class MEDIA_EXPORT SkCanvasVideoRenderer {
|
| void Paint(media::VideoFrame* video_frame,
|
| SkCanvas* canvas,
|
| const gfx::RectF& dest_rect,
|
| - uint8 alpha);
|
| + uint8 alpha,
|
| + ContextProvider* context_provider);
|
| +
|
| + 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);
|
| };
|
|
|
| -} // namespace media
|
| +} // namespace cc
|
|
|
| #endif // MEDIA_FILTERS_SKCANVAS_VIDEO_RENDERER_H_
|
|
|