| Index: media/mojo/interfaces/media_types.mojom
|
| diff --git a/media/mojo/interfaces/media_types.mojom b/media/mojo/interfaces/media_types.mojom
|
| index 085256eac3a139d30c26905ba51c1d4dd508dd21..d04f434eb537f012912427fd3b1ae934354c9fa0 100644
|
| --- a/media/mojo/interfaces/media_types.mojom
|
| +++ b/media/mojo/interfaces/media_types.mojom
|
| @@ -266,8 +266,6 @@ struct AudioBuffer {
|
| };
|
|
|
| // This defines a mojo transport format for media::VideoFrame.
|
| -// TODO(jrummell): Support shared memory based VideoFrame to avoid copying
|
| -// the data multiple times.
|
| struct VideoFrame {
|
| // Format of the frame.
|
| VideoFormat format;
|
| @@ -287,8 +285,16 @@ struct VideoFrame {
|
| // Timestamp in microseconds of the associated frame.
|
| int64 timestamp_usec;
|
|
|
| - // Frame data for each plane. Will be null for EOS buffers.
|
| - array<uint8>? y_data;
|
| - array<uint8>? u_data;
|
| - array<uint8>? v_data;
|
| + // Reference to the shared memory containing the frame's data.
|
| + handle<shared_buffer> frame_data;
|
| + uint64 frame_data_size;
|
| +
|
| + // Stride and offsets for each plane. Offsets are relative to the start
|
| + // of |frame_data|.
|
| + int32 y_stride;
|
| + int32 u_stride;
|
| + int32 v_stride;
|
| + int32 y_offset;
|
| + int32 u_offset;
|
| + int32 v_offset;
|
| };
|
|
|