| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 module media.mojom; | 5 module media.mojom; |
| 6 | 6 |
| 7 import "gpu/ipc/common/mailbox_holder.mojom"; | 7 import "gpu/ipc/common/mailbox_holder.mojom"; |
| 8 import "mojo/common/time.mojom"; | 8 import "mojo/common/time.mojom"; |
| 9 import "ui/gfx/geometry/mojo/geometry.mojom"; | 9 import "ui/gfx/geometry/mojo/geometry.mojom"; |
| 10 | 10 |
| (...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 206 | 206 |
| 207 // Width and height of the video frame, in pixels. | 207 // Width and height of the video frame, in pixels. |
| 208 gfx.mojom.Size coded_size; | 208 gfx.mojom.Size coded_size; |
| 209 | 209 |
| 210 // Visible size of the frame. | 210 // Visible size of the frame. |
| 211 gfx.mojom.Rect visible_rect; | 211 gfx.mojom.Rect visible_rect; |
| 212 | 212 |
| 213 // Natural size of the frame. | 213 // Natural size of the frame. |
| 214 gfx.mojom.Size natural_size; | 214 gfx.mojom.Size natural_size; |
| 215 | 215 |
| 216 // True if end of stream. | |
| 217 bool end_of_stream; | |
| 218 | |
| 219 // Timestamp in microseconds of the associated frame. | 216 // Timestamp in microseconds of the associated frame. |
| 220 mojo.common.mojom.TimeDelta timestamp; | 217 mojo.common.mojom.TimeDelta timestamp; |
| 221 | 218 |
| 222 // Contents of the video frame. Will be null for end of stream frames. | 219 // Contents of the video frame (or EOS marker). |
| 223 VideoFrameData? data; | 220 VideoFrameData data; |
| 224 }; | 221 }; |
| 225 | 222 |
| 226 // Possible choices for storing VideoFrame data. | 223 // Possible choices for storing VideoFrame data. |
| 227 union VideoFrameData { | 224 union VideoFrameData { |
| 225 EosVideoFrameData eos_data; |
| 228 SharedBufferVideoFrameData shared_buffer_data; | 226 SharedBufferVideoFrameData shared_buffer_data; |
| 229 MailboxVideoFrameData mailbox_data; | 227 MailboxVideoFrameData mailbox_data; |
| 230 }; | 228 }; |
| 231 | 229 |
| 230 // A marker for EOS frames. |
| 231 struct EosVideoFrameData { |
| 232 }; |
| 233 |
| 232 // This defines video frame data stored in a Mojo shared buffer. | 234 // This defines video frame data stored in a Mojo shared buffer. |
| 233 struct SharedBufferVideoFrameData { | 235 struct SharedBufferVideoFrameData { |
| 234 // Reference to the shared memory containing the frame's data. | 236 // Reference to the shared memory containing the frame's data. |
| 235 handle<shared_buffer> frame_data; | 237 handle<shared_buffer> frame_data; |
| 236 uint64 frame_data_size; | 238 uint64 frame_data_size; |
| 237 | 239 |
| 238 // Stride and offsets for each plane. Offsets are relative to the start | 240 // Stride and offsets for each plane. Offsets are relative to the start |
| 239 // of |frame_data|. | 241 // of |frame_data|. |
| 240 int32 y_stride; | 242 int32 y_stride; |
| 241 int32 u_stride; | 243 int32 u_stride; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 252 }; | 254 }; |
| 253 | 255 |
| 254 struct PipelineStatistics { | 256 struct PipelineStatistics { |
| 255 uint64 audio_bytes_decoded; | 257 uint64 audio_bytes_decoded; |
| 256 uint64 video_bytes_decoded; | 258 uint64 video_bytes_decoded; |
| 257 uint32 video_frames_decoded; | 259 uint32 video_frames_decoded; |
| 258 uint32 video_frames_dropped; | 260 uint32 video_frames_dropped; |
| 259 int64 audio_memory_usage; | 261 int64 audio_memory_usage; |
| 260 int64 video_memory_usage; | 262 int64 video_memory_usage; |
| 261 }; | 263 }; |
| OLD | NEW |