| Index: media/mojo/services/mojo_video_decoder_service.cc
|
| diff --git a/media/mojo/services/mojo_video_decoder_service.cc b/media/mojo/services/mojo_video_decoder_service.cc
|
| index 0150f0d5b02dc6f89e73c5f1405bd842ce9bed10..1019ebd0f14dc2b3251c8f601e9accfd7f18e56c 100644
|
| --- a/media/mojo/services/mojo_video_decoder_service.cc
|
| +++ b/media/mojo/services/mojo_video_decoder_service.cc
|
| @@ -37,7 +37,7 @@ void MojoVideoDecoderService::Construct(
|
| if (decoder_)
|
| return;
|
|
|
| - // TODO(sandersd): Provide callback for requesting a stub.
|
| + // TODO(sandersd): Provide callback for requesting a GpuCommandBufferStub.
|
| decoder_ = mojo_media_client_->CreateVideoDecoder(
|
| base::ThreadTaskRunnerHandle::Get());
|
|
|
| @@ -53,7 +53,7 @@ void MojoVideoDecoderService::Initialize(mojom::VideoDecoderConfigPtr config,
|
| DVLOG(1) << __FUNCTION__;
|
|
|
| if (!decoder_) {
|
| - callback.Run(false);
|
| + callback.Run(false, false, 1);
|
| return;
|
| }
|
|
|
| @@ -66,10 +66,10 @@ void MojoVideoDecoderService::Initialize(mojom::VideoDecoderConfigPtr config,
|
|
|
| void MojoVideoDecoderService::Decode(mojom::DecoderBufferPtr buffer,
|
| const DecodeCallback& callback) {
|
| - DVLOG(1) << __FUNCTION__;
|
| + DVLOG(2) << __FUNCTION__;
|
|
|
| if (!decoder_) {
|
| - callback.Run(DecodeStatus::DECODE_ERROR);
|
| + callback.Run(DecodeStatus::DECODE_ERROR, true);
|
| return;
|
| }
|
|
|
| @@ -78,7 +78,7 @@ void MojoVideoDecoderService::Decode(mojom::DecoderBufferPtr buffer,
|
| scoped_refptr<DecoderBuffer> media_buffer =
|
| mojo_decoder_buffer_reader_->ReadDecoderBuffer(buffer);
|
| if (!media_buffer) {
|
| - callback.Run(DecodeStatus::DECODE_ERROR);
|
| + callback.Run(DecodeStatus::DECODE_ERROR, true);
|
| return;
|
| }
|
|
|
| @@ -103,13 +103,16 @@ void MojoVideoDecoderService::OnDecoderInitialized(
|
| const InitializeCallback& callback,
|
| bool success) {
|
| DVLOG(1) << __FUNCTION__;
|
| - callback.Run(success);
|
| + DCHECK(decoder_);
|
| + callback.Run(success, decoder_->NeedsBitstreamConversion(),
|
| + decoder_->GetMaxDecodeRequests());
|
| }
|
|
|
| void MojoVideoDecoderService::OnDecoderDecoded(const DecodeCallback& callback,
|
| DecodeStatus status) {
|
| - DVLOG(1) << __FUNCTION__;
|
| - callback.Run(status);
|
| + DVLOG(2) << __FUNCTION__;
|
| + DCHECK(decoder_);
|
| + callback.Run(status, decoder_->CanReadWithoutStalling());
|
| }
|
|
|
| void MojoVideoDecoderService::OnDecoderReset(const ResetCallback& callback) {
|
| @@ -119,7 +122,7 @@ void MojoVideoDecoderService::OnDecoderReset(const ResetCallback& callback) {
|
|
|
| void MojoVideoDecoderService::OnDecoderOutput(
|
| const scoped_refptr<VideoFrame>& frame) {
|
| - DVLOG(1) << __FUNCTION__;
|
| + DVLOG(2) << __FUNCTION__;
|
| DCHECK(client_);
|
| client_->OnVideoFrameDecoded(mojom::VideoFrame::From(frame));
|
| }
|
|
|