| Index: media/mojo/clients/mojo_video_decoder.h
|
| diff --git a/media/mojo/clients/mojo_video_decoder.h b/media/mojo/clients/mojo_video_decoder.h
|
| index 1c0facc01bdb1fae37ec737a704c897ba7d0e321..78d36c324d81a619718d5ee3f7f9ddff83be968b 100644
|
| --- a/media/mojo/clients/mojo_video_decoder.h
|
| +++ b/media/mojo/clients/mojo_video_decoder.h
|
| @@ -50,12 +50,16 @@ class MojoVideoDecoder final : public VideoDecoder,
|
| void OnVideoFrameDecoded(mojom::VideoFramePtr frame) final;
|
|
|
| private:
|
| - void OnInitializeDone(bool status);
|
| - void OnDecodeDone(DecodeStatus status);
|
| + void OnInitializeDone(bool status,
|
| + bool needs_bitstream_conversion,
|
| + int32_t max_decode_requests);
|
| + void OnDecodeDone(uint64_t decode_id, DecodeStatus status);
|
| void OnResetDone();
|
|
|
| void BindRemoteDecoder();
|
| - void OnConnectionError();
|
| +
|
| + // Cleans up callbacks and blocks future calls.
|
| + void Stop();
|
|
|
| scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
|
| GpuVideoAcceleratorFactories* gpu_factories_;
|
| @@ -66,7 +70,8 @@ class MojoVideoDecoder final : public VideoDecoder,
|
|
|
| InitCB init_cb_;
|
| OutputCB output_cb_;
|
| - DecodeCB decode_cb_;
|
| + uint64_t decode_counter_ = 0;
|
| + std::map<uint64_t, DecodeCB> pending_decodes_;
|
| base::Closure reset_cb_;
|
|
|
| mojom::VideoDecoderPtr remote_decoder_;
|
| @@ -75,6 +80,10 @@ class MojoVideoDecoder final : public VideoDecoder,
|
| bool has_connection_error_ = false;
|
| mojo::AssociatedBinding<VideoDecoderClient> client_binding_;
|
|
|
| + bool initialized_ = false;
|
| + bool needs_bitstream_conversion_ = false;
|
| + int32_t max_decode_requests_ = 1;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(MojoVideoDecoder);
|
| };
|
|
|
|
|