Index: media/filters/ffmpeg_video_decoder.h |
=================================================================== |
--- media/filters/ffmpeg_video_decoder.h (revision 277175) |
+++ media/filters/ffmpeg_video_decoder.h (working copy) |
@@ -38,8 +38,7 @@ |
// VideoDecoder implementation. |
virtual void Initialize(const VideoDecoderConfig& config, |
bool low_delay, |
- const PipelineStatusCB& status_cb, |
- const OutputCB& output_cb) OVERRIDE; |
+ const PipelineStatusCB& status_cb) OVERRIDE; |
virtual void Decode(const scoped_refptr<DecoderBuffer>& buffer, |
const DecodeCB& decode_cb) OVERRIDE; |
virtual void Reset(const base::Closure& closure) OVERRIDE; |
@@ -56,13 +55,15 @@ |
enum DecoderState { |
kUninitialized, |
kNormal, |
+ kFlushCodec, |
kDecodeFinished, |
kError |
}; |
// Handles decoding an unencrypted encoded buffer. |
+ void DecodeBuffer(const scoped_refptr<DecoderBuffer>& buffer); |
bool FFmpegDecode(const scoped_refptr<DecoderBuffer>& buffer, |
- bool* produced_frame); |
+ scoped_refptr<VideoFrame>* video_frame); |
// Handles (re-)initializing the decoder with a (new) config. |
// Returns true if initialization was successful. |
@@ -76,7 +77,8 @@ |
DecoderState state_; |
- OutputCB output_cb_; |
+ // TODO(xhwang): Merge DecodeBuffer() into Decode() and remove this. |
+ DecodeCB decode_cb_; |
// FFmpeg structures owned by this object. |
scoped_ptr<AVCodecContext, ScopedPtrAVFreeContext> codec_context_; |