| Index: media/filters/skcanvas_video_renderer.h
|
| diff --git a/media/filters/skcanvas_video_renderer.h b/media/filters/skcanvas_video_renderer.h
|
| index 146e7cd16cec099ffc12b62019a4b1c466f59b63..1e81d316f56555034fffdbfef72325d252a6944b 100644
|
| --- a/media/filters/skcanvas_video_renderer.h
|
| +++ b/media/filters/skcanvas_video_renderer.h
|
| @@ -7,6 +7,7 @@
|
|
|
| #include "base/memory/ref_counted.h"
|
| #include "base/time/time.h"
|
| +#include "base/timer/timer.h"
|
| #include "media/base/media_export.h"
|
| #include "media/base/video_rotation.h"
|
| #include "third_party/skia/include/core/SkBitmap.h"
|
| @@ -42,12 +43,24 @@ class MEDIA_EXPORT SkCanvasVideoRenderer {
|
| void Copy(const scoped_refptr<VideoFrame>&, SkCanvas* canvas);
|
|
|
| private:
|
| - VideoImageGenerator* generator_;
|
| + void ResetLastFrame();
|
| + void ResetAcceleratedLastFrame();
|
|
|
| // An RGB bitmap and corresponding timestamp of the previously converted
|
| - // video frame data.
|
| + // video frame data by software color space conversion.
|
| SkBitmap last_frame_;
|
| base::TimeDelta last_frame_timestamp_;
|
| + // If |last_frame_| is not used for a while, it's deleted to save memory.
|
| + base::DelayTimer<SkCanvasVideoRenderer> frame_deleting_timer_;
|
| +
|
| + // This is a hardware accelerated copy of the frame generated by
|
| + // |accelerated_generator_|.
|
| + // It's used when |canvas| parameter in Paint() is Ganesh canvas.
|
| + // Note: all GrContext in SkCanvas instances are same.
|
| + SkBitmap accelerated_last_frame_;
|
| + VideoImageGenerator* accelerated_generator_;
|
| + base::TimeDelta accelerated_last_frame_timestamp_;
|
| + base::DelayTimer<SkCanvasVideoRenderer> accelerated_frame_deleting_timer_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(SkCanvasVideoRenderer);
|
| };
|
|
|