| 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 mojo; | 5 module mojo; |
| 6 | 6 |
| 7 import "mojo/services/public/interfaces/geometry/geometry.mojom"; |
| 8 |
| 7 // See media/base/buffering_state.h for descriptions. | 9 // See media/base/buffering_state.h for descriptions. |
| 8 // Kept in sync with media::BufferingState via COMPILE_ASSERTs. | 10 // Kept in sync with media::BufferingState via COMPILE_ASSERTs. |
| 9 enum BufferingState { | 11 enum BufferingState { |
| 10 HAVE_NOTHING, | 12 HAVE_NOTHING, |
| 11 HAVE_ENOUGH, | 13 HAVE_ENOUGH, |
| 12 }; | 14 }; |
| 13 | 15 |
| 14 // See media/base/audio_decoder_config.h for descriptions. | 16 // See media/base/audio_decoder_config.h for descriptions. |
| 15 // Kept in sync with media::AudioCodec via COMPILE_ASSERTs. | 17 // Kept in sync with media::AudioCodec via COMPILE_ASSERTs. |
| 16 enum AudioCodec { | 18 enum AudioCodec { |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 k_6_0_FRONT = 21, | 63 k_6_0_FRONT = 21, |
| 62 k_HEXAGONAL = 22, | 64 k_HEXAGONAL = 22, |
| 63 k_6_1 = 23, | 65 k_6_1 = 23, |
| 64 k_6_1_BACK = 24, | 66 k_6_1_BACK = 24, |
| 65 k_6_1_FRONT = 25, | 67 k_6_1_FRONT = 25, |
| 66 k_7_0_FRONT = 26, | 68 k_7_0_FRONT = 26, |
| 67 k_7_1_WIDE_BACK = 27, | 69 k_7_1_WIDE_BACK = 27, |
| 68 k_OCTAGONAL = 28, | 70 k_OCTAGONAL = 28, |
| 69 k_DISCRETE = 29, | 71 k_DISCRETE = 29, |
| 70 k_STEREO_AND_KEYBOARD_MIC = 30, | 72 k_STEREO_AND_KEYBOARD_MIC = 30, |
| 71 k_MAX = k_STEREO_AND_KEYBOARD_MIC | 73 k_MAX = k_STEREO_AND_KEYBOARD_MIC, |
| 72 }; | 74 }; |
| 73 | 75 |
| 74 // See media/base/sample_format.h for descriptions. | 76 // See media/base/sample_format.h for descriptions. |
| 75 // Kept in sync with media::SampleFormat via COMPILE_ASSERTs. | 77 // Kept in sync with media::SampleFormat via COMPILE_ASSERTs. |
| 76 enum SampleFormat { | 78 enum SampleFormat { |
| 77 UNKNOWN = 0, | 79 UNKNOWN = 0, |
| 78 U8, | 80 U8, |
| 79 S16, | 81 S16, |
| 80 S32, | 82 S32, |
| 81 F32, | 83 F32, |
| 82 PlanarS16, | 84 PlanarS16, |
| 83 PlanarF32, | 85 PlanarF32, |
| 84 Max = PlanarF32, | 86 Max = PlanarF32, |
| 85 }; | 87 }; |
| 86 | 88 |
| 89 // See media/base/video_frame.h for descriptions. |
| 90 // Kept in sync with media::VideoFrame::Format via COMPILE_ASSERTs. |
| 91 enum VideoFormat { |
| 92 UNKNOWN = 0, |
| 93 YV12, |
| 94 YV16, |
| 95 I420, |
| 96 YV12A, |
| 97 HOLE, |
| 98 NATIVE_TEXTURE, |
| 99 YV12J, |
| 100 NV12, |
| 101 YV24, |
| 102 FORMAT_MAX = YV24, |
| 103 }; |
| 104 |
| 105 // See media/base/video_decoder_config.h for descriptions. |
| 106 // Kept in sync with media::VideoCodec via COMPILE_ASSERTs. |
| 107 enum VideoCodec { |
| 108 UNKNOWN = 0, |
| 109 H264, |
| 110 VC1, |
| 111 MPEG2, |
| 112 MPEG4, |
| 113 Theora, |
| 114 VP8, |
| 115 VP9, |
| 116 Max = VP9, |
| 117 }; |
| 118 |
| 119 // See media/base/video_decoder_config.h for descriptions. |
| 120 // Kept in sync with media::VideoCodecProfile via COMPILE_ASSERTs. |
| 121 enum VideoCodecProfile { |
| 122 VIDEO_CODEC_PROFILE_UNKNOWN = -1, |
| 123 VIDEO_CODEC_PROFILE_MIN = VIDEO_CODEC_PROFILE_UNKNOWN, |
| 124 H264PROFILE_MIN = 0, |
| 125 H264PROFILE_BASELINE = H264PROFILE_MIN, |
| 126 H264PROFILE_MAIN = 1, |
| 127 H264PROFILE_EXTENDED = 2, |
| 128 H264PROFILE_HIGH = 3, |
| 129 H264PROFILE_HIGH10PROFILE = 4, |
| 130 H264PROFILE_HIGH422PROFILE = 5, |
| 131 H264PROFILE_HIGH444PREDICTIVEPROFILE = 6, |
| 132 H264PROFILE_SCALABLEBASELINE = 7, |
| 133 H264PROFILE_SCALABLEHIGH = 8, |
| 134 H264PROFILE_STEREOHIGH = 9, |
| 135 H264PROFILE_MULTIVIEWHIGH = 10, |
| 136 H264PROFILE_MAX = H264PROFILE_MULTIVIEWHIGH, |
| 137 VP8PROFILE_MIN = 11, |
| 138 VP8PROFILE_ANY = VP8PROFILE_MIN, |
| 139 VP8PROFILE_MAX = VP8PROFILE_ANY, |
| 140 VP9PROFILE_MIN = 12, |
| 141 VP9PROFILE_ANY = VP9PROFILE_MIN, |
| 142 VP9PROFILE_MAX = VP9PROFILE_ANY, |
| 143 VIDEO_CODEC_PROFILE_MAX = VP9PROFILE_MAX, |
| 144 }; |
| 145 |
| 87 // This defines a mojo transport format for media::AudioDecoderConfig. | 146 // This defines a mojo transport format for media::AudioDecoderConfig. |
| 88 // See media/base/audio_decoder_config.h for descriptions. | 147 // See media/base/audio_decoder_config.h for descriptions. |
| 89 struct AudioDecoderConfig { | 148 struct AudioDecoderConfig { |
| 90 AudioCodec codec; | 149 AudioCodec codec; |
| 91 SampleFormat sample_format; | 150 SampleFormat sample_format; |
| 92 ChannelLayout channel_layout; | 151 ChannelLayout channel_layout; |
| 93 int32 samples_per_second; | 152 int32 samples_per_second; |
| 94 array<uint8>? extra_data; | 153 array<uint8>? extra_data; |
| 95 int64 seek_preroll_usec; | 154 int64 seek_preroll_usec; |
| 96 int32 codec_delay; | 155 int32 codec_delay; |
| 97 }; | 156 }; |
| 98 | 157 |
| 158 // This defines a mojo transport format for media::VideoDecoderConfig. |
| 159 // See media/base/video_decoder_config.h for descriptions. |
| 160 struct VideoDecoderConfig { |
| 161 VideoCodec codec; |
| 162 VideoCodecProfile profile; |
| 163 VideoFormat format; |
| 164 Size coded_size; |
| 165 Rect visible_rect; |
| 166 Size natural_size; |
| 167 array<uint8>? extra_data; |
| 168 bool is_encrypted; |
| 169 }; |
| 170 |
| 99 // This defines a mojo transport format for media::DecoderBuffer. | 171 // This defines a mojo transport format for media::DecoderBuffer. |
| 100 struct MediaDecoderBuffer { | 172 struct MediaDecoderBuffer { |
| 101 // See media/base/buffers.h for details. | 173 // See media/base/buffers.h for details. |
| 102 int64 timestamp_usec; | 174 int64 timestamp_usec; |
| 103 int64 duration_usec; | 175 int64 duration_usec; |
| 104 | 176 |
| 105 // The number of bytes in |data|. | 177 // The number of bytes in |data|. |
| 106 uint32 data_size; | 178 uint32 data_size; |
| 107 | 179 |
| 108 // This is backed by an std::vector and results in a few copies. | 180 // This is backed by an std::vector and results in a few copies. |
| 109 // Into the vector, onto and off the MessagePipe, back into a vector. | 181 // Into the vector, onto and off the MessagePipe, back into a vector. |
| 110 array<uint8>? side_data; | 182 array<uint8>? side_data; |
| 111 uint32 side_data_size; | 183 uint32 side_data_size; |
| 112 | 184 |
| 113 // These fields indicate the amount of data to discard after decoding. | 185 // These fields indicate the amount of data to discard after decoding. |
| 114 int64 front_discard_usec; | 186 int64 front_discard_usec; |
| 115 int64 back_discard_usec; | 187 int64 back_discard_usec; |
| 116 | 188 |
| 117 // Indicates this buffer is part of a splice around |splice_timestamp_usec|. | 189 // Indicates this buffer is part of a splice around |splice_timestamp_usec|. |
| 118 int64 splice_timestamp_usec; | 190 int64 splice_timestamp_usec; |
| 119 | 191 |
| 120 // The payload. Invalid handle indicates an end-of-stream (EOS) buffer. | 192 // The payload. Invalid handle indicates an end-of-stream (EOS) buffer. |
| 121 // TODO(tim): This currently results in allocating a new, largeish DataPipe | 193 // TODO(tim): This currently results in allocating a new, largeish DataPipe |
| 122 // for each buffer. Remove this once framed data pipes exist, but using this | 194 // for each buffer. Remove this once framed data pipes exist, but using this |
| 123 // for now for prototyping audio. | 195 // for now for prototyping audio. |
| 124 handle<data_pipe_consumer>? data; | 196 handle<data_pipe_consumer>? data; |
| 125 }; | 197 }; |
| OLD | NEW |