| Index: media/mojo/common/media_type_converters.cc
|
| diff --git a/media/mojo/common/media_type_converters.cc b/media/mojo/common/media_type_converters.cc
|
| index 33842624ebd8dbb720a6eca8027b498a8f17aff5..23435594f07f100883e8a1e0a862c36853e62131 100644
|
| --- a/media/mojo/common/media_type_converters.cc
|
| +++ b/media/mojo/common/media_type_converters.cc
|
| @@ -346,14 +346,20 @@ TypeConverter<media::mojom::VideoFramePtr, scoped_refptr<media::VideoFrame>>::
|
| frame->visible_rect = input->visible_rect();
|
| frame->natural_size = input->natural_size();
|
| frame->timestamp = input->timestamp();
|
| - frame->frame_data = std::move(duplicated_handle);
|
| - frame->frame_data_size = input_frame->MappedSize();
|
| - frame->y_stride = input_frame->stride(media::VideoFrame::kYPlane);
|
| - frame->u_stride = input_frame->stride(media::VideoFrame::kUPlane);
|
| - frame->v_stride = input_frame->stride(media::VideoFrame::kVPlane);
|
| - frame->y_offset = input_frame->PlaneOffset(media::VideoFrame::kYPlane);
|
| - frame->u_offset = input_frame->PlaneOffset(media::VideoFrame::kUPlane);
|
| - frame->v_offset = input_frame->PlaneOffset(media::VideoFrame::kVPlane);
|
| +
|
| + media::mojom::SharedBufferVideoFrameDataPtr data =
|
| + media::mojom::SharedBufferVideoFrameData::New();
|
| + data->frame_data = std::move(duplicated_handle);
|
| + data->frame_data_size = input_frame->MappedSize();
|
| + data->y_stride = input_frame->stride(media::VideoFrame::kYPlane);
|
| + data->u_stride = input_frame->stride(media::VideoFrame::kUPlane);
|
| + data->v_stride = input_frame->stride(media::VideoFrame::kVPlane);
|
| + data->y_offset = input_frame->PlaneOffset(media::VideoFrame::kYPlane);
|
| + data->u_offset = input_frame->PlaneOffset(media::VideoFrame::kUPlane);
|
| + data->v_offset = input_frame->PlaneOffset(media::VideoFrame::kVPlane);
|
| +
|
| + frame->data = media::mojom::VideoFrameData::New();
|
| + frame->data->set_shared_buffer_data(std::move(data));
|
| return frame;
|
| }
|
|
|
| @@ -364,14 +370,20 @@ TypeConverter<scoped_refptr<media::VideoFrame>, media::mojom::VideoFramePtr>::
|
| if (input->end_of_stream)
|
| return media::VideoFrame::CreateEOSFrame();
|
|
|
| + // Handle non EOS frame. It must be a MojoSharedBufferVideoFrame.
|
| + // TODO(jrummell): Support other types of VideoFrame.
|
| + DCHECK(input->data->is_shared_buffer_data());
|
| + const media::mojom::SharedBufferVideoFrameDataPtr& data =
|
| + input->data->get_shared_buffer_data();
|
| +
|
| return media::MojoSharedBufferVideoFrame::Create(
|
| input->format, input->coded_size, input->visible_rect,
|
| - input->natural_size, std::move(input->frame_data),
|
| - base::saturated_cast<size_t>(input->frame_data_size),
|
| - base::saturated_cast<size_t>(input->y_offset),
|
| - base::saturated_cast<size_t>(input->u_offset),
|
| - base::saturated_cast<size_t>(input->v_offset), input->y_stride,
|
| - input->u_stride, input->v_stride, input->timestamp);
|
| + input->natural_size, std::move(data->frame_data),
|
| + base::saturated_cast<size_t>(data->frame_data_size),
|
| + base::saturated_cast<size_t>(data->y_offset),
|
| + base::saturated_cast<size_t>(data->u_offset),
|
| + base::saturated_cast<size_t>(data->v_offset), data->y_stride,
|
| + data->u_stride, data->v_stride, input->timestamp);
|
| }
|
|
|
| } // namespace mojo
|
|
|