Index: media/filters/video_renderer_base.h |
diff --git a/media/filters/video_renderer_base.h b/media/filters/video_renderer_base.h |
index 85e6527c68112d60f56de6b729b5fa13e047f5ed..eee29058e403ce4d5692720aac76a385d58582e5 100644 |
--- a/media/filters/video_renderer_base.h |
+++ b/media/filters/video_renderer_base.h |
@@ -17,6 +17,10 @@ |
#include "media/base/video_frame.h" |
#include "media/base/video_renderer.h" |
+namespace base { |
+class MessageLoopProxy; |
+} |
+ |
namespace media { |
// VideoRendererBase creates its own thread for the sole purpose of timing frame |
@@ -46,7 +50,8 @@ class MEDIA_EXPORT VideoRendererBase |
// |
// TODO(scherkus): pass the VideoFrame* to this callback and remove |
// Get/PutCurrentFrame() http://crbug.com/108435 |
- VideoRendererBase(const base::Closure& paint_cb, |
+ VideoRendererBase(const scoped_refptr<base::MessageLoopProxy>& message_loop, |
+ const base::Closure& paint_cb, |
const SetOpaqueCB& set_opaque_cb, |
bool drop_frames); |
@@ -95,10 +100,11 @@ class MEDIA_EXPORT VideoRendererBase |
// Helper method that schedules an asynchronous read from the decoder as long |
// as there isn't a pending read and we have capacity. |
+ void AttemptRead(); |
void AttemptRead_Locked(); |
- // Called when the VideoDecoder Flush() completes. |
- void OnDecoderFlushDone(); |
+ // Called when VideoDecoder::Reset() completes. |
+ void OnDecoderResetDone(); |
// Attempts to complete flushing and transition into the flushed state. |
void AttemptFlush_Locked(); |
@@ -133,6 +139,8 @@ class MEDIA_EXPORT VideoRendererBase |
scoped_ptr<VideoDecoderList> decoders, |
PipelineStatus status); |
+ scoped_refptr<base::MessageLoopProxy> message_loop_; |
+ |
// Used for accessing data members. |
base::Lock lock_; |
@@ -165,7 +173,7 @@ class MEDIA_EXPORT VideoRendererBase |
// | |
// | Initialize() |
// V All frames returned |
- // +------[kFlushed]<-----[kFlushing]<--- OnDecoderFlushDone() |
+ // +------[kFlushed]<-----[kFlushing]<--- OnDecoderResetDone() |
// | | Preroll() or upon ^ |
// | V got first frame [kFlushingDecoder] |
// | [kPrerolling] ^ |