| Index: media/filters/ffmpeg_audio_decoder.h
|
| ===================================================================
|
| --- media/filters/ffmpeg_audio_decoder.h (revision 277175)
|
| +++ media/filters/ffmpeg_audio_decoder.h (working copy)
|
| @@ -37,10 +37,10 @@
|
|
|
| // AudioDecoder implementation.
|
| virtual void Initialize(const AudioDecoderConfig& config,
|
| - 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 scoped_refptr<AudioBuffer> GetDecodeOutput() OVERRIDE;
|
| virtual void Reset(const base::Closure& closure) OVERRIDE;
|
| virtual void Stop() OVERRIDE;
|
|
|
| @@ -48,6 +48,7 @@
|
| enum DecoderState {
|
| kUninitialized,
|
| kNormal,
|
| + kFlushCodec,
|
| kDecodeFinished,
|
| kError
|
| };
|
| @@ -71,8 +72,6 @@
|
|
|
| scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
|
|
|
| - OutputCB output_cb_;
|
| -
|
| DecoderState state_;
|
|
|
| // FFmpeg structures owned by this object.
|
| @@ -86,6 +85,10 @@
|
|
|
| scoped_ptr<AudioDiscardHelper> discard_helper_;
|
|
|
| + // Since multiple frames may be decoded from the same packet we need to queue
|
| + // them up.
|
| + std::list<scoped_refptr<AudioBuffer> > queued_audio_;
|
| +
|
| LogCB log_cb_;
|
|
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(FFmpegAudioDecoder);
|
|
|