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)); |
} |