OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef MEDIA_BASE_VIDEO_RENDERER_SINK_H_ | 5 #ifndef MEDIA_BASE_VIDEO_RENDERER_SINK_H_ |
6 #define MEDIA_BASE_VIDEO_RENDERER_SINK_H_ | 6 #define MEDIA_BASE_VIDEO_RENDERER_SINK_H_ |
7 | 7 |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
10 #include "base/time/time.h" | 10 #include "base/time/time.h" |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 // will be issued after this method returns. May be used as a means of power | 51 // will be issued after this method returns. May be used as a means of power |
52 // conservation by the sink implementation, so clients should call this | 52 // conservation by the sink implementation, so clients should call this |
53 // liberally if no new frames are expected. | 53 // liberally if no new frames are expected. |
54 virtual void Stop() = 0; | 54 virtual void Stop() = 0; |
55 | 55 |
56 // Instead of using a callback driven rendering path, allow clients to paint a | 56 // Instead of using a callback driven rendering path, allow clients to paint a |
57 // single frame as they see fit without regard for the compositor; this is | 57 // single frame as they see fit without regard for the compositor; this is |
58 // useful for painting poster images or hole frames without having to issue a | 58 // useful for painting poster images or hole frames without having to issue a |
59 // Start() -> Render() -> Stop(). Clients are free to mix usage of Render() | 59 // Start() -> Render() -> Stop(). Clients are free to mix usage of Render() |
60 // based painting and PaintSingleFrame(). | 60 // based painting and PaintSingleFrame(). |
61 virtual void PaintSingleFrame(const scoped_refptr<VideoFrame>& frame) = 0; | 61 virtual void PaintSingleFrame(const scoped_refptr<VideoFrame>& frame, |
| 62 bool repaint_duplicate_frame = false) = 0; |
62 | 63 |
63 virtual ~VideoRendererSink() {} | 64 virtual ~VideoRendererSink() {} |
64 }; | 65 }; |
65 | 66 |
66 } // namespace media | 67 } // namespace media |
67 | 68 |
68 #endif // MEDIA_BASE_VIDEO_RENDERER_SINK_H_ | 69 #endif // MEDIA_BASE_VIDEO_RENDERER_SINK_H_ |
OLD | NEW |