| Index: media/filters/decoder_stream.h
|
| diff --git a/media/filters/decoder_stream.h b/media/filters/decoder_stream.h
|
| index a7f084fa3f6f806caff60e210708abe6a86ec85a..37ee9bc72e6d3d6ae11420894ea3304f4b4ab457 100644
|
| --- a/media/filters/decoder_stream.h
|
| +++ b/media/filters/decoder_stream.h
|
| @@ -122,6 +122,10 @@ class MEDIA_EXPORT DecoderStream {
|
| return previous_decoder_.get();
|
| }
|
|
|
| + int get_pending_buffers_size_for_testing() const {
|
| + return pending_buffers_.size();
|
| + }
|
| +
|
| private:
|
| enum State {
|
| STATE_UNINITIALIZED,
|
| @@ -155,7 +159,10 @@ class MEDIA_EXPORT DecoderStream {
|
| void FlushDecoder();
|
|
|
| // Callback for Decoder::Decode().
|
| - void OnDecodeDone(int buffer_size, bool end_of_stream, DecodeStatus status);
|
| + void OnDecodeDone(int sequence_token,
|
| + int buffer_size,
|
| + bool end_of_stream,
|
| + DecodeStatus status);
|
|
|
| // Output callback passed to Decoder::Initialize().
|
| void OnDecodeOutputReady(const scoped_refptr<Output>& output);
|
| @@ -225,6 +232,10 @@ class MEDIA_EXPORT DecoderStream {
|
| // Tracks the duration of incoming packets over time.
|
| MovingAverage duration_tracker_;
|
|
|
| + // Used to reattempt decoding when decode fails right after Initialize().
|
| + std::deque<scoped_refptr<DecoderBuffer>> pending_buffers_;
|
| + int sequence_token_;
|
| +
|
| // NOTE: Weak pointers must be invalidated before all other member variables.
|
| base::WeakPtrFactory<DecoderStream<StreamType> > weak_factory_;
|
| };
|
|
|