| Index: media/filters/decrypting_audio_decoder.h
|
| ===================================================================
|
| --- media/filters/decrypting_audio_decoder.h (revision 277175)
|
| +++ media/filters/decrypting_audio_decoder.h (working copy)
|
| @@ -44,10 +44,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;
|
|
|
| @@ -90,15 +90,15 @@
|
| // Resets decoder and calls |reset_cb_|.
|
| void DoReset();
|
|
|
| - // Sets timestamps for |frames| and then passes them to |output_cb_|.
|
| - void ProcessDecodedFrames(const Decryptor::AudioBuffers& frames);
|
| + // Sets timestamp and duration for |queued_audio_frames_| to make sure the
|
| + // renderer always receives continuous frames without gaps and overlaps.
|
| + void EnqueueFrames(const Decryptor::AudioBuffers& frames);
|
|
|
| scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
|
|
|
| State state_;
|
|
|
| PipelineStatusCB init_cb_;
|
| - OutputCB output_cb_;
|
| DecodeCB decode_cb_;
|
| base::Closure reset_cb_;
|
| base::Closure stop_cb_;
|
| @@ -121,6 +121,8 @@
|
| // decryption key.
|
| bool key_added_while_decode_pending_;
|
|
|
| + Decryptor::AudioBuffers queued_audio_frames_;
|
| +
|
| scoped_ptr<AudioTimestampHelper> timestamp_helper_;
|
|
|
| // NOTE: Weak pointers must be invalidated before all other member variables.
|
|
|