| OLD | NEW |
| (Empty) |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "media/remoting/rpc/proto_enum_utils.h" | |
| 6 | |
| 7 namespace media { | |
| 8 namespace remoting { | |
| 9 | |
| 10 #define CASE_RETURN_OTHER(x) \ | |
| 11 case OriginType::x: \ | |
| 12 return OtherType::x | |
| 13 | |
| 14 base::Optional<::media::EncryptionScheme::CipherMode> | |
| 15 ToMediaEncryptionSchemeCipherMode(pb::EncryptionScheme::CipherMode value) { | |
| 16 using OriginType = pb::EncryptionScheme; | |
| 17 using OtherType = ::media::EncryptionScheme; | |
| 18 switch (value) { | |
| 19 CASE_RETURN_OTHER(CIPHER_MODE_UNENCRYPTED); | |
| 20 CASE_RETURN_OTHER(CIPHER_MODE_AES_CTR); | |
| 21 CASE_RETURN_OTHER(CIPHER_MODE_AES_CBC); | |
| 22 } | |
| 23 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 24 } | |
| 25 | |
| 26 base::Optional<pb::EncryptionScheme::CipherMode> | |
| 27 ToProtoEncryptionSchemeCipherMode(::media::EncryptionScheme::CipherMode value) { | |
| 28 using OriginType = ::media::EncryptionScheme; | |
| 29 using OtherType = pb::EncryptionScheme; | |
| 30 switch (value) { | |
| 31 CASE_RETURN_OTHER(CIPHER_MODE_UNENCRYPTED); | |
| 32 CASE_RETURN_OTHER(CIPHER_MODE_AES_CTR); | |
| 33 CASE_RETURN_OTHER(CIPHER_MODE_AES_CBC); | |
| 34 } | |
| 35 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 36 } | |
| 37 | |
| 38 base::Optional<::media::AudioCodec> ToMediaAudioCodec( | |
| 39 pb::AudioDecoderConfig::Codec value) { | |
| 40 using OriginType = pb::AudioDecoderConfig; | |
| 41 using OtherType = ::media::AudioCodec; | |
| 42 switch (value) { | |
| 43 CASE_RETURN_OTHER(kUnknownAudioCodec); | |
| 44 CASE_RETURN_OTHER(kCodecAAC); | |
| 45 CASE_RETURN_OTHER(kCodecMP3); | |
| 46 CASE_RETURN_OTHER(kCodecPCM); | |
| 47 CASE_RETURN_OTHER(kCodecVorbis); | |
| 48 CASE_RETURN_OTHER(kCodecFLAC); | |
| 49 CASE_RETURN_OTHER(kCodecAMR_NB); | |
| 50 CASE_RETURN_OTHER(kCodecAMR_WB); | |
| 51 CASE_RETURN_OTHER(kCodecPCM_MULAW); | |
| 52 CASE_RETURN_OTHER(kCodecGSM_MS); | |
| 53 CASE_RETURN_OTHER(kCodecPCM_S16BE); | |
| 54 CASE_RETURN_OTHER(kCodecPCM_S24BE); | |
| 55 CASE_RETURN_OTHER(kCodecOpus); | |
| 56 CASE_RETURN_OTHER(kCodecEAC3); | |
| 57 CASE_RETURN_OTHER(kCodecPCM_ALAW); | |
| 58 CASE_RETURN_OTHER(kCodecALAC); | |
| 59 CASE_RETURN_OTHER(kCodecAC3); | |
| 60 } | |
| 61 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 62 } | |
| 63 | |
| 64 base::Optional<pb::AudioDecoderConfig::Codec> ToProtoAudioDecoderConfigCodec( | |
| 65 ::media::AudioCodec value) { | |
| 66 using OriginType = ::media::AudioCodec; | |
| 67 using OtherType = pb::AudioDecoderConfig; | |
| 68 switch (value) { | |
| 69 CASE_RETURN_OTHER(kUnknownAudioCodec); | |
| 70 CASE_RETURN_OTHER(kCodecAAC); | |
| 71 CASE_RETURN_OTHER(kCodecMP3); | |
| 72 CASE_RETURN_OTHER(kCodecPCM); | |
| 73 CASE_RETURN_OTHER(kCodecVorbis); | |
| 74 CASE_RETURN_OTHER(kCodecFLAC); | |
| 75 CASE_RETURN_OTHER(kCodecAMR_NB); | |
| 76 CASE_RETURN_OTHER(kCodecAMR_WB); | |
| 77 CASE_RETURN_OTHER(kCodecPCM_MULAW); | |
| 78 CASE_RETURN_OTHER(kCodecGSM_MS); | |
| 79 CASE_RETURN_OTHER(kCodecPCM_S16BE); | |
| 80 CASE_RETURN_OTHER(kCodecPCM_S24BE); | |
| 81 CASE_RETURN_OTHER(kCodecOpus); | |
| 82 CASE_RETURN_OTHER(kCodecEAC3); | |
| 83 CASE_RETURN_OTHER(kCodecPCM_ALAW); | |
| 84 CASE_RETURN_OTHER(kCodecALAC); | |
| 85 CASE_RETURN_OTHER(kCodecAC3); | |
| 86 } | |
| 87 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 88 } | |
| 89 | |
| 90 base::Optional<::media::SampleFormat> ToMediaSampleFormat( | |
| 91 pb::AudioDecoderConfig::SampleFormat value) { | |
| 92 using OriginType = pb::AudioDecoderConfig; | |
| 93 using OtherType = ::media::SampleFormat; | |
| 94 switch (value) { | |
| 95 CASE_RETURN_OTHER(kUnknownSampleFormat); | |
| 96 CASE_RETURN_OTHER(kSampleFormatU8); | |
| 97 CASE_RETURN_OTHER(kSampleFormatS16); | |
| 98 CASE_RETURN_OTHER(kSampleFormatS32); | |
| 99 CASE_RETURN_OTHER(kSampleFormatF32); | |
| 100 CASE_RETURN_OTHER(kSampleFormatPlanarS16); | |
| 101 CASE_RETURN_OTHER(kSampleFormatPlanarF32); | |
| 102 CASE_RETURN_OTHER(kSampleFormatPlanarS32); | |
| 103 CASE_RETURN_OTHER(kSampleFormatS24); | |
| 104 CASE_RETURN_OTHER(kSampleFormatAc3); | |
| 105 CASE_RETURN_OTHER(kSampleFormatEac3); | |
| 106 } | |
| 107 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 108 } | |
| 109 | |
| 110 base::Optional<pb::AudioDecoderConfig::SampleFormat> | |
| 111 ToProtoAudioDecoderConfigSampleFormat(::media::SampleFormat value) { | |
| 112 using OriginType = ::media::SampleFormat; | |
| 113 using OtherType = pb::AudioDecoderConfig; | |
| 114 switch (value) { | |
| 115 CASE_RETURN_OTHER(kUnknownSampleFormat); | |
| 116 CASE_RETURN_OTHER(kSampleFormatU8); | |
| 117 CASE_RETURN_OTHER(kSampleFormatS16); | |
| 118 CASE_RETURN_OTHER(kSampleFormatS32); | |
| 119 CASE_RETURN_OTHER(kSampleFormatF32); | |
| 120 CASE_RETURN_OTHER(kSampleFormatPlanarS16); | |
| 121 CASE_RETURN_OTHER(kSampleFormatPlanarF32); | |
| 122 CASE_RETURN_OTHER(kSampleFormatPlanarS32); | |
| 123 CASE_RETURN_OTHER(kSampleFormatS24); | |
| 124 CASE_RETURN_OTHER(kSampleFormatAc3); | |
| 125 CASE_RETURN_OTHER(kSampleFormatEac3); | |
| 126 } | |
| 127 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 128 } | |
| 129 | |
| 130 base::Optional<::media::ChannelLayout> ToMediaChannelLayout( | |
| 131 pb::AudioDecoderConfig::ChannelLayout value) { | |
| 132 using OriginType = pb::AudioDecoderConfig; | |
| 133 using OtherType = ::media::ChannelLayout; | |
| 134 switch (value) { | |
| 135 CASE_RETURN_OTHER(CHANNEL_LAYOUT_NONE); | |
| 136 CASE_RETURN_OTHER(CHANNEL_LAYOUT_UNSUPPORTED); | |
| 137 CASE_RETURN_OTHER(CHANNEL_LAYOUT_MONO); | |
| 138 CASE_RETURN_OTHER(CHANNEL_LAYOUT_STEREO); | |
| 139 CASE_RETURN_OTHER(CHANNEL_LAYOUT_2_1); | |
| 140 CASE_RETURN_OTHER(CHANNEL_LAYOUT_SURROUND); | |
| 141 CASE_RETURN_OTHER(CHANNEL_LAYOUT_4_0); | |
| 142 CASE_RETURN_OTHER(CHANNEL_LAYOUT_2_2); | |
| 143 CASE_RETURN_OTHER(CHANNEL_LAYOUT_QUAD); | |
| 144 CASE_RETURN_OTHER(CHANNEL_LAYOUT_5_0); | |
| 145 CASE_RETURN_OTHER(CHANNEL_LAYOUT_5_1); | |
| 146 CASE_RETURN_OTHER(CHANNEL_LAYOUT_5_0_BACK); | |
| 147 CASE_RETURN_OTHER(CHANNEL_LAYOUT_5_1_BACK); | |
| 148 CASE_RETURN_OTHER(CHANNEL_LAYOUT_7_0); | |
| 149 CASE_RETURN_OTHER(CHANNEL_LAYOUT_7_1); | |
| 150 CASE_RETURN_OTHER(CHANNEL_LAYOUT_7_1_WIDE); | |
| 151 CASE_RETURN_OTHER(CHANNEL_LAYOUT_STEREO_DOWNMIX); | |
| 152 CASE_RETURN_OTHER(CHANNEL_LAYOUT_2POINT1); | |
| 153 CASE_RETURN_OTHER(CHANNEL_LAYOUT_3_1); | |
| 154 CASE_RETURN_OTHER(CHANNEL_LAYOUT_4_1); | |
| 155 CASE_RETURN_OTHER(CHANNEL_LAYOUT_6_0); | |
| 156 CASE_RETURN_OTHER(CHANNEL_LAYOUT_6_0_FRONT); | |
| 157 CASE_RETURN_OTHER(CHANNEL_LAYOUT_HEXAGONAL); | |
| 158 CASE_RETURN_OTHER(CHANNEL_LAYOUT_6_1); | |
| 159 CASE_RETURN_OTHER(CHANNEL_LAYOUT_6_1_BACK); | |
| 160 CASE_RETURN_OTHER(CHANNEL_LAYOUT_6_1_FRONT); | |
| 161 CASE_RETURN_OTHER(CHANNEL_LAYOUT_7_0_FRONT); | |
| 162 CASE_RETURN_OTHER(CHANNEL_LAYOUT_7_1_WIDE_BACK); | |
| 163 CASE_RETURN_OTHER(CHANNEL_LAYOUT_OCTAGONAL); | |
| 164 CASE_RETURN_OTHER(CHANNEL_LAYOUT_DISCRETE); | |
| 165 CASE_RETURN_OTHER(CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC); | |
| 166 CASE_RETURN_OTHER(CHANNEL_LAYOUT_4_1_QUAD_SIDE); | |
| 167 } | |
| 168 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 169 } | |
| 170 | |
| 171 base::Optional<pb::AudioDecoderConfig::ChannelLayout> | |
| 172 ToProtoAudioDecoderConfigChannelLayout(::media::ChannelLayout value) { | |
| 173 using OriginType = ::media::ChannelLayout; | |
| 174 using OtherType = pb::AudioDecoderConfig; | |
| 175 switch (value) { | |
| 176 CASE_RETURN_OTHER(CHANNEL_LAYOUT_NONE); | |
| 177 CASE_RETURN_OTHER(CHANNEL_LAYOUT_UNSUPPORTED); | |
| 178 CASE_RETURN_OTHER(CHANNEL_LAYOUT_MONO); | |
| 179 CASE_RETURN_OTHER(CHANNEL_LAYOUT_STEREO); | |
| 180 CASE_RETURN_OTHER(CHANNEL_LAYOUT_2_1); | |
| 181 CASE_RETURN_OTHER(CHANNEL_LAYOUT_SURROUND); | |
| 182 CASE_RETURN_OTHER(CHANNEL_LAYOUT_4_0); | |
| 183 CASE_RETURN_OTHER(CHANNEL_LAYOUT_2_2); | |
| 184 CASE_RETURN_OTHER(CHANNEL_LAYOUT_QUAD); | |
| 185 CASE_RETURN_OTHER(CHANNEL_LAYOUT_5_0); | |
| 186 CASE_RETURN_OTHER(CHANNEL_LAYOUT_5_1); | |
| 187 CASE_RETURN_OTHER(CHANNEL_LAYOUT_5_0_BACK); | |
| 188 CASE_RETURN_OTHER(CHANNEL_LAYOUT_5_1_BACK); | |
| 189 CASE_RETURN_OTHER(CHANNEL_LAYOUT_7_0); | |
| 190 CASE_RETURN_OTHER(CHANNEL_LAYOUT_7_1); | |
| 191 CASE_RETURN_OTHER(CHANNEL_LAYOUT_7_1_WIDE); | |
| 192 CASE_RETURN_OTHER(CHANNEL_LAYOUT_STEREO_DOWNMIX); | |
| 193 CASE_RETURN_OTHER(CHANNEL_LAYOUT_2POINT1); | |
| 194 CASE_RETURN_OTHER(CHANNEL_LAYOUT_3_1); | |
| 195 CASE_RETURN_OTHER(CHANNEL_LAYOUT_4_1); | |
| 196 CASE_RETURN_OTHER(CHANNEL_LAYOUT_6_0); | |
| 197 CASE_RETURN_OTHER(CHANNEL_LAYOUT_6_0_FRONT); | |
| 198 CASE_RETURN_OTHER(CHANNEL_LAYOUT_HEXAGONAL); | |
| 199 CASE_RETURN_OTHER(CHANNEL_LAYOUT_6_1); | |
| 200 CASE_RETURN_OTHER(CHANNEL_LAYOUT_6_1_BACK); | |
| 201 CASE_RETURN_OTHER(CHANNEL_LAYOUT_6_1_FRONT); | |
| 202 CASE_RETURN_OTHER(CHANNEL_LAYOUT_7_0_FRONT); | |
| 203 CASE_RETURN_OTHER(CHANNEL_LAYOUT_7_1_WIDE_BACK); | |
| 204 CASE_RETURN_OTHER(CHANNEL_LAYOUT_OCTAGONAL); | |
| 205 CASE_RETURN_OTHER(CHANNEL_LAYOUT_DISCRETE); | |
| 206 CASE_RETURN_OTHER(CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC); | |
| 207 CASE_RETURN_OTHER(CHANNEL_LAYOUT_4_1_QUAD_SIDE); | |
| 208 } | |
| 209 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 210 } | |
| 211 | |
| 212 base::Optional<::media::VideoCodec> ToMediaVideoCodec( | |
| 213 pb::VideoDecoderConfig::Codec value) { | |
| 214 using OriginType = pb::VideoDecoderConfig; | |
| 215 using OtherType = ::media::VideoCodec; | |
| 216 switch (value) { | |
| 217 CASE_RETURN_OTHER(kUnknownVideoCodec); | |
| 218 CASE_RETURN_OTHER(kCodecH264); | |
| 219 CASE_RETURN_OTHER(kCodecVC1); | |
| 220 CASE_RETURN_OTHER(kCodecMPEG2); | |
| 221 CASE_RETURN_OTHER(kCodecMPEG4); | |
| 222 CASE_RETURN_OTHER(kCodecTheora); | |
| 223 CASE_RETURN_OTHER(kCodecVP8); | |
| 224 CASE_RETURN_OTHER(kCodecVP9); | |
| 225 CASE_RETURN_OTHER(kCodecHEVC); | |
| 226 } | |
| 227 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 228 } | |
| 229 | |
| 230 base::Optional<pb::VideoDecoderConfig::Codec> ToProtoVideoDecoderConfigCodec( | |
| 231 ::media::VideoCodec value) { | |
| 232 using OriginType = ::media::VideoCodec; | |
| 233 using OtherType = pb::VideoDecoderConfig; | |
| 234 switch (value) { | |
| 235 CASE_RETURN_OTHER(kUnknownVideoCodec); | |
| 236 CASE_RETURN_OTHER(kCodecH264); | |
| 237 CASE_RETURN_OTHER(kCodecVC1); | |
| 238 CASE_RETURN_OTHER(kCodecMPEG2); | |
| 239 CASE_RETURN_OTHER(kCodecMPEG4); | |
| 240 CASE_RETURN_OTHER(kCodecTheora); | |
| 241 CASE_RETURN_OTHER(kCodecVP8); | |
| 242 CASE_RETURN_OTHER(kCodecVP9); | |
| 243 CASE_RETURN_OTHER(kCodecHEVC); | |
| 244 } | |
| 245 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 246 } | |
| 247 | |
| 248 base::Optional<::media::VideoCodecProfile> ToMediaVideoCodecProfile( | |
| 249 pb::VideoDecoderConfig::Profile value) { | |
| 250 using OriginType = pb::VideoDecoderConfig; | |
| 251 using OtherType = ::media::VideoCodecProfile; | |
| 252 switch (value) { | |
| 253 CASE_RETURN_OTHER(VIDEO_CODEC_PROFILE_UNKNOWN); | |
| 254 CASE_RETURN_OTHER(H264PROFILE_BASELINE); | |
| 255 CASE_RETURN_OTHER(H264PROFILE_MAIN); | |
| 256 CASE_RETURN_OTHER(H264PROFILE_EXTENDED); | |
| 257 CASE_RETURN_OTHER(H264PROFILE_HIGH); | |
| 258 CASE_RETURN_OTHER(H264PROFILE_HIGH10PROFILE); | |
| 259 CASE_RETURN_OTHER(H264PROFILE_HIGH422PROFILE); | |
| 260 CASE_RETURN_OTHER(H264PROFILE_HIGH444PREDICTIVEPROFILE); | |
| 261 CASE_RETURN_OTHER(H264PROFILE_SCALABLEBASELINE); | |
| 262 CASE_RETURN_OTHER(H264PROFILE_SCALABLEHIGH); | |
| 263 CASE_RETURN_OTHER(H264PROFILE_STEREOHIGH); | |
| 264 CASE_RETURN_OTHER(H264PROFILE_MULTIVIEWHIGH); | |
| 265 CASE_RETURN_OTHER(VP8PROFILE_ANY); | |
| 266 CASE_RETURN_OTHER(VP9PROFILE_PROFILE0); | |
| 267 CASE_RETURN_OTHER(VP9PROFILE_PROFILE1); | |
| 268 CASE_RETURN_OTHER(VP9PROFILE_PROFILE2); | |
| 269 CASE_RETURN_OTHER(VP9PROFILE_PROFILE3); | |
| 270 CASE_RETURN_OTHER(HEVCPROFILE_MAIN); | |
| 271 CASE_RETURN_OTHER(HEVCPROFILE_MAIN10); | |
| 272 CASE_RETURN_OTHER(HEVCPROFILE_MAIN_STILL_PICTURE); | |
| 273 } | |
| 274 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 275 } | |
| 276 | |
| 277 base::Optional<pb::VideoDecoderConfig::Profile> | |
| 278 ToProtoVideoDecoderConfigProfile(::media::VideoCodecProfile value) { | |
| 279 using OriginType = ::media::VideoCodecProfile; | |
| 280 using OtherType = pb::VideoDecoderConfig; | |
| 281 switch (value) { | |
| 282 CASE_RETURN_OTHER(VIDEO_CODEC_PROFILE_UNKNOWN); | |
| 283 CASE_RETURN_OTHER(H264PROFILE_BASELINE); | |
| 284 CASE_RETURN_OTHER(H264PROFILE_MAIN); | |
| 285 CASE_RETURN_OTHER(H264PROFILE_EXTENDED); | |
| 286 CASE_RETURN_OTHER(H264PROFILE_HIGH); | |
| 287 CASE_RETURN_OTHER(H264PROFILE_HIGH10PROFILE); | |
| 288 CASE_RETURN_OTHER(H264PROFILE_HIGH422PROFILE); | |
| 289 CASE_RETURN_OTHER(H264PROFILE_HIGH444PREDICTIVEPROFILE); | |
| 290 CASE_RETURN_OTHER(H264PROFILE_SCALABLEBASELINE); | |
| 291 CASE_RETURN_OTHER(H264PROFILE_SCALABLEHIGH); | |
| 292 CASE_RETURN_OTHER(H264PROFILE_STEREOHIGH); | |
| 293 CASE_RETURN_OTHER(H264PROFILE_MULTIVIEWHIGH); | |
| 294 CASE_RETURN_OTHER(VP8PROFILE_ANY); | |
| 295 CASE_RETURN_OTHER(VP9PROFILE_PROFILE0); | |
| 296 CASE_RETURN_OTHER(VP9PROFILE_PROFILE1); | |
| 297 CASE_RETURN_OTHER(VP9PROFILE_PROFILE2); | |
| 298 CASE_RETURN_OTHER(VP9PROFILE_PROFILE3); | |
| 299 CASE_RETURN_OTHER(HEVCPROFILE_MAIN); | |
| 300 CASE_RETURN_OTHER(HEVCPROFILE_MAIN10); | |
| 301 CASE_RETURN_OTHER(HEVCPROFILE_MAIN_STILL_PICTURE); | |
| 302 } | |
| 303 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 304 } | |
| 305 | |
| 306 base::Optional<::media::VideoPixelFormat> ToMediaVideoPixelFormat( | |
| 307 pb::VideoDecoderConfig::Format value) { | |
| 308 using OriginType = pb::VideoDecoderConfig; | |
| 309 using OtherType = ::media::VideoPixelFormat; | |
| 310 switch (value) { | |
| 311 CASE_RETURN_OTHER(PIXEL_FORMAT_UNKNOWN); | |
| 312 CASE_RETURN_OTHER(PIXEL_FORMAT_I420); | |
| 313 CASE_RETURN_OTHER(PIXEL_FORMAT_YV12); | |
| 314 CASE_RETURN_OTHER(PIXEL_FORMAT_YV16); | |
| 315 CASE_RETURN_OTHER(PIXEL_FORMAT_YV12A); | |
| 316 CASE_RETURN_OTHER(PIXEL_FORMAT_YV24); | |
| 317 CASE_RETURN_OTHER(PIXEL_FORMAT_NV12); | |
| 318 CASE_RETURN_OTHER(PIXEL_FORMAT_NV21); | |
| 319 CASE_RETURN_OTHER(PIXEL_FORMAT_UYVY); | |
| 320 CASE_RETURN_OTHER(PIXEL_FORMAT_YUY2); | |
| 321 CASE_RETURN_OTHER(PIXEL_FORMAT_ARGB); | |
| 322 CASE_RETURN_OTHER(PIXEL_FORMAT_XRGB); | |
| 323 CASE_RETURN_OTHER(PIXEL_FORMAT_RGB24); | |
| 324 CASE_RETURN_OTHER(PIXEL_FORMAT_RGB32); | |
| 325 CASE_RETURN_OTHER(PIXEL_FORMAT_MJPEG); | |
| 326 CASE_RETURN_OTHER(PIXEL_FORMAT_MT21); | |
| 327 CASE_RETURN_OTHER(PIXEL_FORMAT_YUV420P9); | |
| 328 CASE_RETURN_OTHER(PIXEL_FORMAT_YUV420P10); | |
| 329 CASE_RETURN_OTHER(PIXEL_FORMAT_YUV422P9); | |
| 330 CASE_RETURN_OTHER(PIXEL_FORMAT_YUV422P10); | |
| 331 CASE_RETURN_OTHER(PIXEL_FORMAT_YUV444P9); | |
| 332 CASE_RETURN_OTHER(PIXEL_FORMAT_YUV444P10); | |
| 333 CASE_RETURN_OTHER(PIXEL_FORMAT_YUV420P12); | |
| 334 CASE_RETURN_OTHER(PIXEL_FORMAT_YUV422P12); | |
| 335 CASE_RETURN_OTHER(PIXEL_FORMAT_YUV444P12); | |
| 336 CASE_RETURN_OTHER(PIXEL_FORMAT_Y8); | |
| 337 CASE_RETURN_OTHER(PIXEL_FORMAT_Y16); | |
| 338 CASE_RETURN_OTHER(PIXEL_FORMAT_I422); | |
| 339 } | |
| 340 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 341 } | |
| 342 | |
| 343 base::Optional<pb::VideoDecoderConfig::Format> ToProtoVideoDecoderConfigFormat( | |
| 344 ::media::VideoPixelFormat value) { | |
| 345 using OriginType = ::media::VideoPixelFormat; | |
| 346 using OtherType = pb::VideoDecoderConfig; | |
| 347 switch (value) { | |
| 348 CASE_RETURN_OTHER(PIXEL_FORMAT_UNKNOWN); | |
| 349 CASE_RETURN_OTHER(PIXEL_FORMAT_I420); | |
| 350 CASE_RETURN_OTHER(PIXEL_FORMAT_YV12); | |
| 351 CASE_RETURN_OTHER(PIXEL_FORMAT_YV16); | |
| 352 CASE_RETURN_OTHER(PIXEL_FORMAT_YV12A); | |
| 353 CASE_RETURN_OTHER(PIXEL_FORMAT_YV24); | |
| 354 CASE_RETURN_OTHER(PIXEL_FORMAT_NV12); | |
| 355 CASE_RETURN_OTHER(PIXEL_FORMAT_NV21); | |
| 356 CASE_RETURN_OTHER(PIXEL_FORMAT_UYVY); | |
| 357 CASE_RETURN_OTHER(PIXEL_FORMAT_YUY2); | |
| 358 CASE_RETURN_OTHER(PIXEL_FORMAT_ARGB); | |
| 359 CASE_RETURN_OTHER(PIXEL_FORMAT_XRGB); | |
| 360 CASE_RETURN_OTHER(PIXEL_FORMAT_RGB24); | |
| 361 CASE_RETURN_OTHER(PIXEL_FORMAT_RGB32); | |
| 362 CASE_RETURN_OTHER(PIXEL_FORMAT_MJPEG); | |
| 363 CASE_RETURN_OTHER(PIXEL_FORMAT_MT21); | |
| 364 CASE_RETURN_OTHER(PIXEL_FORMAT_YUV420P9); | |
| 365 CASE_RETURN_OTHER(PIXEL_FORMAT_YUV420P10); | |
| 366 CASE_RETURN_OTHER(PIXEL_FORMAT_YUV422P9); | |
| 367 CASE_RETURN_OTHER(PIXEL_FORMAT_YUV422P10); | |
| 368 CASE_RETURN_OTHER(PIXEL_FORMAT_YUV444P9); | |
| 369 CASE_RETURN_OTHER(PIXEL_FORMAT_YUV444P10); | |
| 370 CASE_RETURN_OTHER(PIXEL_FORMAT_YUV420P12); | |
| 371 CASE_RETURN_OTHER(PIXEL_FORMAT_YUV422P12); | |
| 372 CASE_RETURN_OTHER(PIXEL_FORMAT_YUV444P12); | |
| 373 CASE_RETURN_OTHER(PIXEL_FORMAT_Y8); | |
| 374 CASE_RETURN_OTHER(PIXEL_FORMAT_Y16); | |
| 375 CASE_RETURN_OTHER(PIXEL_FORMAT_I422); | |
| 376 } | |
| 377 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 378 } | |
| 379 | |
| 380 base::Optional<::media::ColorSpace> ToMediaColorSpace( | |
| 381 pb::VideoDecoderConfig::ColorSpace value) { | |
| 382 using OriginType = pb::VideoDecoderConfig; | |
| 383 using OtherType = ::media::ColorSpace; | |
| 384 switch (value) { | |
| 385 CASE_RETURN_OTHER(COLOR_SPACE_UNSPECIFIED); | |
| 386 CASE_RETURN_OTHER(COLOR_SPACE_JPEG); | |
| 387 CASE_RETURN_OTHER(COLOR_SPACE_HD_REC709); | |
| 388 CASE_RETURN_OTHER(COLOR_SPACE_SD_REC601); | |
| 389 } | |
| 390 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 391 } | |
| 392 | |
| 393 base::Optional<pb::VideoDecoderConfig::ColorSpace> | |
| 394 ToProtoVideoDecoderConfigColorSpace(::media::ColorSpace value) { | |
| 395 using OriginType = ::media::ColorSpace; | |
| 396 using OtherType = pb::VideoDecoderConfig; | |
| 397 switch (value) { | |
| 398 CASE_RETURN_OTHER(COLOR_SPACE_UNSPECIFIED); | |
| 399 CASE_RETURN_OTHER(COLOR_SPACE_JPEG); | |
| 400 CASE_RETURN_OTHER(COLOR_SPACE_HD_REC709); | |
| 401 CASE_RETURN_OTHER(COLOR_SPACE_SD_REC601); | |
| 402 } | |
| 403 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 404 } | |
| 405 | |
| 406 base::Optional<::media::BufferingState> ToMediaBufferingState( | |
| 407 pb::RendererClientOnBufferingStateChange::State value) { | |
| 408 using OriginType = pb::RendererClientOnBufferingStateChange; | |
| 409 using OtherType = ::media::BufferingState; | |
| 410 switch (value) { | |
| 411 CASE_RETURN_OTHER(BUFFERING_HAVE_NOTHING); | |
| 412 CASE_RETURN_OTHER(BUFFERING_HAVE_ENOUGH); | |
| 413 } | |
| 414 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 415 } | |
| 416 | |
| 417 base::Optional<pb::RendererClientOnBufferingStateChange::State> | |
| 418 ToProtoMediaBufferingState(::media::BufferingState value) { | |
| 419 using OriginType = ::media::BufferingState; | |
| 420 using OtherType = pb::RendererClientOnBufferingStateChange; | |
| 421 switch (value) { | |
| 422 CASE_RETURN_OTHER(BUFFERING_HAVE_NOTHING); | |
| 423 CASE_RETURN_OTHER(BUFFERING_HAVE_ENOUGH); | |
| 424 } | |
| 425 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 426 } | |
| 427 | |
| 428 base::Optional<::media::CdmKeyInformation::KeyStatus> | |
| 429 ToMediaCdmKeyInformationKeyStatus(pb::CdmKeyInformation::KeyStatus value) { | |
| 430 using OriginType = pb::CdmKeyInformation; | |
| 431 using OtherType = ::media::CdmKeyInformation; | |
| 432 switch (value) { | |
| 433 CASE_RETURN_OTHER(USABLE); | |
| 434 CASE_RETURN_OTHER(INTERNAL_ERROR); | |
| 435 CASE_RETURN_OTHER(EXPIRED); | |
| 436 CASE_RETURN_OTHER(OUTPUT_RESTRICTED); | |
| 437 CASE_RETURN_OTHER(OUTPUT_DOWNSCALED); | |
| 438 CASE_RETURN_OTHER(KEY_STATUS_PENDING); | |
| 439 CASE_RETURN_OTHER(RELEASED); | |
| 440 } | |
| 441 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 442 } | |
| 443 | |
| 444 base::Optional<pb::CdmKeyInformation::KeyStatus> ToProtoCdmKeyInformation( | |
| 445 ::media::CdmKeyInformation::KeyStatus value) { | |
| 446 using OriginType = ::media::CdmKeyInformation; | |
| 447 using OtherType = pb::CdmKeyInformation; | |
| 448 switch (value) { | |
| 449 CASE_RETURN_OTHER(USABLE); | |
| 450 CASE_RETURN_OTHER(INTERNAL_ERROR); | |
| 451 CASE_RETURN_OTHER(EXPIRED); | |
| 452 CASE_RETURN_OTHER(OUTPUT_RESTRICTED); | |
| 453 CASE_RETURN_OTHER(OUTPUT_DOWNSCALED); | |
| 454 CASE_RETURN_OTHER(KEY_STATUS_PENDING); | |
| 455 CASE_RETURN_OTHER(RELEASED); | |
| 456 } | |
| 457 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 458 } | |
| 459 | |
| 460 base::Optional<::media::CdmPromise::Exception> ToCdmPromiseException( | |
| 461 pb::CdmException value) { | |
| 462 using OriginType = pb::CdmException; | |
| 463 using OtherType = ::media::CdmPromise; | |
| 464 switch (value) { | |
| 465 CASE_RETURN_OTHER(NOT_SUPPORTED_ERROR); | |
| 466 CASE_RETURN_OTHER(INVALID_STATE_ERROR); | |
| 467 CASE_RETURN_OTHER(INVALID_ACCESS_ERROR); | |
| 468 CASE_RETURN_OTHER(QUOTA_EXCEEDED_ERROR); | |
| 469 CASE_RETURN_OTHER(UNKNOWN_ERROR); | |
| 470 CASE_RETURN_OTHER(CLIENT_ERROR); | |
| 471 CASE_RETURN_OTHER(OUTPUT_ERROR); | |
| 472 } | |
| 473 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 474 } | |
| 475 | |
| 476 base::Optional<pb::CdmException> ToProtoCdmException( | |
| 477 ::media::CdmPromise::Exception value) { | |
| 478 using OriginType = ::media::CdmPromise; | |
| 479 using OtherType = pb::CdmException; | |
| 480 switch (value) { | |
| 481 CASE_RETURN_OTHER(NOT_SUPPORTED_ERROR); | |
| 482 CASE_RETURN_OTHER(INVALID_STATE_ERROR); | |
| 483 CASE_RETURN_OTHER(INVALID_ACCESS_ERROR); | |
| 484 CASE_RETURN_OTHER(QUOTA_EXCEEDED_ERROR); | |
| 485 CASE_RETURN_OTHER(UNKNOWN_ERROR); | |
| 486 CASE_RETURN_OTHER(CLIENT_ERROR); | |
| 487 CASE_RETURN_OTHER(OUTPUT_ERROR); | |
| 488 } | |
| 489 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 490 } | |
| 491 | |
| 492 base::Optional<::media::ContentDecryptionModule::MessageType> | |
| 493 ToMediaCdmMessageType(pb::CdmMessageType value) { | |
| 494 using OriginType = pb::CdmMessageType; | |
| 495 using OtherType = ::media::ContentDecryptionModule; | |
| 496 switch (value) { | |
| 497 CASE_RETURN_OTHER(LICENSE_REQUEST); | |
| 498 CASE_RETURN_OTHER(LICENSE_RENEWAL); | |
| 499 CASE_RETURN_OTHER(LICENSE_RELEASE); | |
| 500 } | |
| 501 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 502 } | |
| 503 | |
| 504 base::Optional<pb::CdmMessageType> ToProtoCdmMessageType( | |
| 505 ::media::ContentDecryptionModule::MessageType value) { | |
| 506 using OriginType = ::media::ContentDecryptionModule; | |
| 507 using OtherType = pb::CdmMessageType; | |
| 508 switch (value) { | |
| 509 CASE_RETURN_OTHER(LICENSE_REQUEST); | |
| 510 CASE_RETURN_OTHER(LICENSE_RENEWAL); | |
| 511 CASE_RETURN_OTHER(LICENSE_RELEASE); | |
| 512 } | |
| 513 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 514 } | |
| 515 | |
| 516 base::Optional<::media::CdmSessionType> ToCdmSessionType( | |
| 517 pb::CdmSessionType value) { | |
| 518 using OriginType = pb::CdmSessionType; | |
| 519 using OtherType = ::media::CdmSessionType; | |
| 520 switch (value) { | |
| 521 CASE_RETURN_OTHER(TEMPORARY_SESSION); | |
| 522 CASE_RETURN_OTHER(PERSISTENT_LICENSE_SESSION); | |
| 523 CASE_RETURN_OTHER(PERSISTENT_RELEASE_MESSAGE_SESSION); | |
| 524 } | |
| 525 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 526 } | |
| 527 | |
| 528 base::Optional<pb::CdmSessionType> ToProtoCdmSessionType( | |
| 529 ::media::CdmSessionType value) { | |
| 530 using OriginType = ::media::CdmSessionType; | |
| 531 using OtherType = pb::CdmSessionType; | |
| 532 switch (value) { | |
| 533 CASE_RETURN_OTHER(TEMPORARY_SESSION); | |
| 534 CASE_RETURN_OTHER(PERSISTENT_LICENSE_SESSION); | |
| 535 CASE_RETURN_OTHER(PERSISTENT_RELEASE_MESSAGE_SESSION); | |
| 536 } | |
| 537 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 538 } | |
| 539 | |
| 540 base::Optional<::media::EmeInitDataType> ToMediaEmeInitDataType( | |
| 541 pb::CdmCreateSessionAndGenerateRequest::EmeInitDataType value) { | |
| 542 using OriginType = pb::CdmCreateSessionAndGenerateRequest; | |
| 543 using OtherType = ::media::EmeInitDataType; | |
| 544 switch (value) { | |
| 545 CASE_RETURN_OTHER(UNKNOWN); | |
| 546 CASE_RETURN_OTHER(WEBM); | |
| 547 CASE_RETURN_OTHER(CENC); | |
| 548 CASE_RETURN_OTHER(KEYIDS); | |
| 549 } | |
| 550 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 551 } | |
| 552 | |
| 553 base::Optional<pb::CdmCreateSessionAndGenerateRequest::EmeInitDataType> | |
| 554 ToProtoMediaEmeInitDataType(::media::EmeInitDataType value) { | |
| 555 using OriginType = ::media::EmeInitDataType; | |
| 556 using OtherType = pb::CdmCreateSessionAndGenerateRequest; | |
| 557 switch (value) { | |
| 558 CASE_RETURN_OTHER(UNKNOWN); | |
| 559 CASE_RETURN_OTHER(WEBM); | |
| 560 CASE_RETURN_OTHER(CENC); | |
| 561 CASE_RETURN_OTHER(KEYIDS); | |
| 562 } | |
| 563 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 564 } | |
| 565 | |
| 566 base::Optional<::media::DemuxerStream::Status> ToDemuxerStreamStatus( | |
| 567 pb::DemuxerStreamReadUntilCallback::Status value) { | |
| 568 using OriginType = pb::DemuxerStreamReadUntilCallback; | |
| 569 using OtherType = ::media::DemuxerStream; | |
| 570 switch (value) { | |
| 571 CASE_RETURN_OTHER(kOk); | |
| 572 CASE_RETURN_OTHER(kAborted); | |
| 573 CASE_RETURN_OTHER(kConfigChanged); | |
| 574 } | |
| 575 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 576 } | |
| 577 | |
| 578 base::Optional<pb::DemuxerStreamReadUntilCallback::Status> | |
| 579 ToProtoDemuxerStreamStatus(::media::DemuxerStream::Status value) { | |
| 580 using OriginType = ::media::DemuxerStream; | |
| 581 using OtherType = pb::DemuxerStreamReadUntilCallback; | |
| 582 switch (value) { | |
| 583 CASE_RETURN_OTHER(kOk); | |
| 584 CASE_RETURN_OTHER(kAborted); | |
| 585 CASE_RETURN_OTHER(kConfigChanged); | |
| 586 } | |
| 587 return base::nullopt; // Not a 'default' to ensure compile-time checks. | |
| 588 } | |
| 589 | |
| 590 } // namespace remoting | |
| 591 } // namespace media | |
| OLD | NEW |