Chromium Code Reviews| 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..30500851e519a50921399d11cd393d8cecb54440 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,23 @@ class MEDIA_EXPORT SkCanvasVideoRenderer { |
| void Copy(const scoped_refptr<VideoFrame>&, SkCanvas* canvas); |
| private: |
| - VideoImageGenerator* generator_; |
| + 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::OneShotTimer<SkCanvasVideoRenderer> frame_deleting_timer_; |
|
scherkus (not reviewing)
2014/10/28 23:24:19
I believe DelayTimer() is a more appropriate 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::OneShotTimer<SkCanvasVideoRenderer> accelerated_frame_deleting_timer_; |
|
scherkus (not reviewing)
2014/10/28 23:24:19
ditto
|
| DISALLOW_COPY_AND_ASSIGN(SkCanvasVideoRenderer); |
| }; |