| Index: media/mojo/clients/mojo_decryptor.cc
|
| diff --git a/media/mojo/clients/mojo_decryptor.cc b/media/mojo/clients/mojo_decryptor.cc
|
| index 2a08ae57d7a929cba637fe330d6abbd03ba7fe24..4b57ed9a1545a0497106356d349851b920116cda 100644
|
| --- a/media/mojo/clients/mojo_decryptor.cc
|
| +++ b/media/mojo/clients/mojo_decryptor.cc
|
| @@ -224,27 +224,20 @@ void MojoDecryptor::OnAudioDecoded(
|
|
|
| void MojoDecryptor::OnVideoDecoded(const VideoDecodeCB& video_decode_cb,
|
| Status status,
|
| - mojom::VideoFramePtr video_frame,
|
| + const scoped_refptr<VideoFrame>& video_frame,
|
| mojom::FrameResourceReleaserPtr releaser) {
|
| DVLOG_IF(1, status != kSuccess) << __func__ << "(" << status << ")";
|
| DVLOG_IF(3, status == kSuccess) << __func__;
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
|
|
| - if (video_frame.is_null()) {
|
| - video_decode_cb.Run(status, nullptr);
|
| - return;
|
| - }
|
| -
|
| - scoped_refptr<VideoFrame> frame(video_frame.To<scoped_refptr<VideoFrame>>());
|
| -
|
| // If using shared memory, ensure that |releaser| is closed when
|
| // |frame| is destroyed.
|
| - if (releaser) {
|
| - frame->AddDestructionObserver(
|
| + if (video_frame && releaser) {
|
| + video_frame->AddDestructionObserver(
|
| base::Bind(&ReleaseFrameResource, base::Passed(&releaser)));
|
| }
|
|
|
| - video_decode_cb.Run(status, frame);
|
| + video_decode_cb.Run(status, video_frame);
|
| }
|
|
|
| } // namespace media
|
|
|