1 // Copyright 2016 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "media/capture/mojom/video_capture_types_mojom_traits.h"
7 #include "third_party/abseil-cpp/absl/types/optional.h"
8 #include "ui/gfx/geometry/mojom/geometry.mojom.h"
9 #include "ui/gfx/geometry/mojom/geometry_mojom_traits.h"
14 media::mojom::ResolutionChangePolicy
15 EnumTraits<media::mojom::ResolutionChangePolicy,
16 media::ResolutionChangePolicy>::ToMojom(media::ResolutionChangePolicy
19 case media::ResolutionChangePolicy::FIXED_RESOLUTION:
20 return media::mojom::ResolutionChangePolicy::FIXED_RESOLUTION;
21 case media::ResolutionChangePolicy::FIXED_ASPECT_RATIO:
22 return media::mojom::ResolutionChangePolicy::FIXED_ASPECT_RATIO;
23 case media::ResolutionChangePolicy::ANY_WITHIN_LIMIT:
24 return media::mojom::ResolutionChangePolicy::ANY_WITHIN_LIMIT;
26 NOTREACHED_NORETURN();
30 bool EnumTraits<media::mojom::ResolutionChangePolicy,
31 media::ResolutionChangePolicy>::
32 FromMojom(media::mojom::ResolutionChangePolicy input,
33 media::ResolutionChangePolicy* output) {
35 case media::mojom::ResolutionChangePolicy::FIXED_RESOLUTION:
36 *output = media::ResolutionChangePolicy::FIXED_RESOLUTION;
38 case media::mojom::ResolutionChangePolicy::FIXED_ASPECT_RATIO:
39 *output = media::ResolutionChangePolicy::FIXED_ASPECT_RATIO;
41 case media::mojom::ResolutionChangePolicy::ANY_WITHIN_LIMIT:
42 *output = media::ResolutionChangePolicy::ANY_WITHIN_LIMIT;
45 NOTREACHED_NORETURN();
49 media::mojom::PowerLineFrequency EnumTraits<
50 media::mojom::PowerLineFrequency,
51 media::PowerLineFrequency>::ToMojom(media::PowerLineFrequency input) {
53 case media::PowerLineFrequency::kDefault:
54 return media::mojom::PowerLineFrequency::DEFAULT;
55 case media::PowerLineFrequency::k50Hz:
56 return media::mojom::PowerLineFrequency::HZ_50;
57 case media::PowerLineFrequency::k60Hz:
58 return media::mojom::PowerLineFrequency::HZ_60;
60 NOTREACHED_NORETURN();
64 bool EnumTraits<media::mojom::PowerLineFrequency, media::PowerLineFrequency>::
65 FromMojom(media::mojom::PowerLineFrequency input,
66 media::PowerLineFrequency* output) {
68 case media::mojom::PowerLineFrequency::DEFAULT:
69 *output = media::PowerLineFrequency::kDefault;
71 case media::mojom::PowerLineFrequency::HZ_50:
72 *output = media::PowerLineFrequency::k50Hz;
74 case media::mojom::PowerLineFrequency::HZ_60:
75 *output = media::PowerLineFrequency::k60Hz;
78 NOTREACHED_NORETURN();
82 media::mojom::VideoCapturePixelFormat
83 EnumTraits<media::mojom::VideoCapturePixelFormat,
84 media::VideoPixelFormat>::ToMojom(media::VideoPixelFormat input) {
86 case media::VideoPixelFormat::PIXEL_FORMAT_UNKNOWN:
87 return media::mojom::VideoCapturePixelFormat::UNKNOWN;
88 case media::VideoPixelFormat::PIXEL_FORMAT_I420:
89 return media::mojom::VideoCapturePixelFormat::I420;
90 case media::VideoPixelFormat::PIXEL_FORMAT_YV12:
91 return media::mojom::VideoCapturePixelFormat::YV12;
92 case media::VideoPixelFormat::PIXEL_FORMAT_I422:
93 return media::mojom::VideoCapturePixelFormat::I422;
94 case media::VideoPixelFormat::PIXEL_FORMAT_I420A:
95 return media::mojom::VideoCapturePixelFormat::I420A;
96 case media::VideoPixelFormat::PIXEL_FORMAT_I444:
97 return media::mojom::VideoCapturePixelFormat::I444;
98 case media::VideoPixelFormat::PIXEL_FORMAT_NV12:
99 return media::mojom::VideoCapturePixelFormat::NV12;
100 case media::VideoPixelFormat::PIXEL_FORMAT_NV21:
101 return media::mojom::VideoCapturePixelFormat::NV21;
102 case media::VideoPixelFormat::PIXEL_FORMAT_UYVY:
103 return media::mojom::VideoCapturePixelFormat::UYVY;
104 case media::VideoPixelFormat::PIXEL_FORMAT_YUY2:
105 return media::mojom::VideoCapturePixelFormat::YUY2;
106 case media::VideoPixelFormat::PIXEL_FORMAT_ARGB:
107 return media::mojom::VideoCapturePixelFormat::ARGB;
108 case media::VideoPixelFormat::PIXEL_FORMAT_BGRA:
109 return media::mojom::VideoCapturePixelFormat::BGRA;
110 case media::VideoPixelFormat::PIXEL_FORMAT_XRGB:
111 return media::mojom::VideoCapturePixelFormat::XRGB;
112 case media::VideoPixelFormat::PIXEL_FORMAT_RGB24:
113 return media::mojom::VideoCapturePixelFormat::RGB24;
114 case media::VideoPixelFormat::PIXEL_FORMAT_MJPEG:
115 return media::mojom::VideoCapturePixelFormat::MJPEG;
116 case media::VideoPixelFormat::PIXEL_FORMAT_YUV420P9:
117 return media::mojom::VideoCapturePixelFormat::YUV420P9;
118 case media::VideoPixelFormat::PIXEL_FORMAT_YUV420P10:
119 return media::mojom::VideoCapturePixelFormat::YUV420P10;
120 case media::VideoPixelFormat::PIXEL_FORMAT_YUV422P9:
121 return media::mojom::VideoCapturePixelFormat::YUV422P9;
122 case media::VideoPixelFormat::PIXEL_FORMAT_YUV422P10:
123 return media::mojom::VideoCapturePixelFormat::YUV422P10;
124 case media::VideoPixelFormat::PIXEL_FORMAT_YUV444P9:
125 return media::mojom::VideoCapturePixelFormat::YUV444P9;
126 case media::VideoPixelFormat::PIXEL_FORMAT_YUV444P10:
127 return media::mojom::VideoCapturePixelFormat::YUV444P10;
128 case media::VideoPixelFormat::PIXEL_FORMAT_YUV420P12:
129 return media::mojom::VideoCapturePixelFormat::YUV420P12;
130 case media::VideoPixelFormat::PIXEL_FORMAT_YUV422P12:
131 return media::mojom::VideoCapturePixelFormat::YUV422P12;
132 case media::VideoPixelFormat::PIXEL_FORMAT_YUV444P12:
133 return media::mojom::VideoCapturePixelFormat::YUV444P12;
134 case media::VideoPixelFormat::PIXEL_FORMAT_Y16:
135 return media::mojom::VideoCapturePixelFormat::Y16;
136 case media::VideoPixelFormat::PIXEL_FORMAT_ABGR:
137 return media::mojom::VideoCapturePixelFormat::ABGR;
138 case media::VideoPixelFormat::PIXEL_FORMAT_XBGR:
139 return media::mojom::VideoCapturePixelFormat::XBGR;
140 case media::VideoPixelFormat::PIXEL_FORMAT_P016LE:
141 return media::mojom::VideoCapturePixelFormat::P016LE;
142 case media::VideoPixelFormat::PIXEL_FORMAT_XR30:
143 return media::mojom::VideoCapturePixelFormat::XR30;
144 case media::VideoPixelFormat::PIXEL_FORMAT_XB30:
145 return media::mojom::VideoCapturePixelFormat::XB30;
146 case media::VideoPixelFormat::PIXEL_FORMAT_RGBAF16:
147 return media::mojom::VideoCapturePixelFormat::RGBAF16;
148 case media::VideoPixelFormat::PIXEL_FORMAT_I422A:
149 return media::mojom::VideoCapturePixelFormat::I422A;
150 case media::VideoPixelFormat::PIXEL_FORMAT_I444A:
151 return media::mojom::VideoCapturePixelFormat::I444A;
152 case media::VideoPixelFormat::PIXEL_FORMAT_YUV420AP10:
153 return media::mojom::VideoCapturePixelFormat::YUV420AP10;
154 case media::VideoPixelFormat::PIXEL_FORMAT_YUV422AP10:
155 return media::mojom::VideoCapturePixelFormat::YUV422AP10;
156 case media::VideoPixelFormat::PIXEL_FORMAT_YUV444AP10:
157 return media::mojom::VideoCapturePixelFormat::YUV444AP10;
158 case media::VideoPixelFormat::PIXEL_FORMAT_NV12A:
159 return media::mojom::VideoCapturePixelFormat::NV12A;
160 #if BUILDFLAG(IS_TIZEN)
161 case media::VideoPixelFormat::PIXEL_FORMAT_ENCODED:
162 return media::mojom::VideoCapturePixelFormat::ENCODED;
164 #if defined(TIZEN_TBM_SUPPORT)
165 case media::VideoPixelFormat::PIXEL_FORMAT_TBM_SURFACE:
166 return media::mojom::VideoCapturePixelFormat::TBM_SURFACE;
169 NOTREACHED_NORETURN();
173 bool EnumTraits<media::mojom::VideoCapturePixelFormat,
174 media::VideoPixelFormat>::
175 FromMojom(media::mojom::VideoCapturePixelFormat input,
176 media::VideoPixelFormat* output) {
178 case media::mojom::VideoCapturePixelFormat::UNKNOWN:
179 *output = media::PIXEL_FORMAT_UNKNOWN;
181 case media::mojom::VideoCapturePixelFormat::I420:
182 *output = media::PIXEL_FORMAT_I420;
184 case media::mojom::VideoCapturePixelFormat::YV12:
185 *output = media::PIXEL_FORMAT_YV12;
187 case media::mojom::VideoCapturePixelFormat::I422:
188 *output = media::PIXEL_FORMAT_I422;
190 case media::mojom::VideoCapturePixelFormat::I420A:
191 *output = media::PIXEL_FORMAT_I420A;
193 case media::mojom::VideoCapturePixelFormat::I444:
194 *output = media::PIXEL_FORMAT_I444;
196 case media::mojom::VideoCapturePixelFormat::NV12:
197 *output = media::PIXEL_FORMAT_NV12;
199 case media::mojom::VideoCapturePixelFormat::NV21:
200 *output = media::PIXEL_FORMAT_NV21;
202 case media::mojom::VideoCapturePixelFormat::UYVY:
203 *output = media::PIXEL_FORMAT_UYVY;
205 case media::mojom::VideoCapturePixelFormat::YUY2:
206 *output = media::PIXEL_FORMAT_YUY2;
208 case media::mojom::VideoCapturePixelFormat::ARGB:
209 *output = media::PIXEL_FORMAT_ARGB;
211 case media::mojom::VideoCapturePixelFormat::XRGB:
212 *output = media::PIXEL_FORMAT_XRGB;
214 case media::mojom::VideoCapturePixelFormat::RGB24:
215 *output = media::PIXEL_FORMAT_RGB24;
217 case media::mojom::VideoCapturePixelFormat::MJPEG:
218 *output = media::PIXEL_FORMAT_MJPEG;
220 case media::mojom::VideoCapturePixelFormat::YUV420P9:
221 *output = media::PIXEL_FORMAT_YUV420P9;
223 case media::mojom::VideoCapturePixelFormat::YUV420P10:
224 *output = media::PIXEL_FORMAT_YUV420P10;
226 case media::mojom::VideoCapturePixelFormat::YUV422P9:
227 *output = media::PIXEL_FORMAT_YUV422P9;
229 case media::mojom::VideoCapturePixelFormat::YUV422P10:
230 *output = media::PIXEL_FORMAT_YUV422P10;
232 case media::mojom::VideoCapturePixelFormat::YUV444P9:
233 *output = media::PIXEL_FORMAT_YUV444P9;
235 case media::mojom::VideoCapturePixelFormat::YUV444P10:
236 *output = media::PIXEL_FORMAT_YUV444P10;
238 case media::mojom::VideoCapturePixelFormat::YUV420P12:
239 *output = media::PIXEL_FORMAT_YUV420P12;
241 case media::mojom::VideoCapturePixelFormat::YUV422P12:
242 *output = media::PIXEL_FORMAT_YUV422P12;
244 case media::mojom::VideoCapturePixelFormat::YUV444P12:
245 *output = media::PIXEL_FORMAT_YUV444P12;
247 case media::mojom::VideoCapturePixelFormat::Y16:
248 *output = media::PIXEL_FORMAT_Y16;
250 case media::mojom::VideoCapturePixelFormat::ABGR:
251 *output = media::PIXEL_FORMAT_ABGR;
253 case media::mojom::VideoCapturePixelFormat::XBGR:
254 *output = media::PIXEL_FORMAT_XBGR;
256 case media::mojom::VideoCapturePixelFormat::P016LE:
257 *output = media::PIXEL_FORMAT_P016LE;
259 case media::mojom::VideoCapturePixelFormat::XR30:
260 *output = media::PIXEL_FORMAT_XR30;
262 case media::mojom::VideoCapturePixelFormat::XB30:
263 *output = media::PIXEL_FORMAT_XB30;
265 case media::mojom::VideoCapturePixelFormat::BGRA:
266 *output = media::PIXEL_FORMAT_BGRA;
268 case media::mojom::VideoCapturePixelFormat::RGBAF16:
269 *output = media::PIXEL_FORMAT_RGBAF16;
271 case media::mojom::VideoCapturePixelFormat::I422A:
272 *output = media::PIXEL_FORMAT_I422A;
274 case media::mojom::VideoCapturePixelFormat::I444A:
275 *output = media::PIXEL_FORMAT_I444A;
277 case media::mojom::VideoCapturePixelFormat::YUV420AP10:
278 *output = media::PIXEL_FORMAT_YUV420AP10;
280 case media::mojom::VideoCapturePixelFormat::YUV422AP10:
281 *output = media::PIXEL_FORMAT_YUV422AP10;
283 case media::mojom::VideoCapturePixelFormat::YUV444AP10:
284 *output = media::PIXEL_FORMAT_YUV444AP10;
286 case media::mojom::VideoCapturePixelFormat::NV12A:
287 *output = media::PIXEL_FORMAT_NV12A;
289 #if BUILDFLAG(IS_TIZEN)
290 case media::mojom::VideoCapturePixelFormat::ENCODED:
291 *output = media::PIXEL_FORMAT_ENCODED;
294 #if defined(TIZEN_TBM_SUPPORT)
295 case media::mojom::VideoCapturePixelFormat::TBM_SURFACE:
296 *output = media::PIXEL_FORMAT_TBM_SURFACE;
300 NOTREACHED_NORETURN();
304 media::mojom::VideoCaptureBufferType
305 EnumTraits<media::mojom::VideoCaptureBufferType,
306 media::VideoCaptureBufferType>::ToMojom(media::VideoCaptureBufferType
309 case media::VideoCaptureBufferType::kSharedMemory:
310 return media::mojom::VideoCaptureBufferType::kSharedMemory;
311 case media::VideoCaptureBufferType::kMailboxHolder:
312 return media::mojom::VideoCaptureBufferType::kMailboxHolder;
313 case media::VideoCaptureBufferType::kGpuMemoryBuffer:
314 return media::mojom::VideoCaptureBufferType::kGpuMemoryBuffer;
316 NOTREACHED_NORETURN();
320 bool EnumTraits<media::mojom::VideoCaptureBufferType,
321 media::VideoCaptureBufferType>::
322 FromMojom(media::mojom::VideoCaptureBufferType input,
323 media::VideoCaptureBufferType* output) {
325 case media::mojom::VideoCaptureBufferType::kSharedMemory:
326 *output = media::VideoCaptureBufferType::kSharedMemory;
328 case media::mojom::VideoCaptureBufferType::
329 kSharedMemoryViaRawFileDescriptor_DEPRECATED:
330 NOTREACHED_NORETURN();
331 case media::mojom::VideoCaptureBufferType::kMailboxHolder:
332 *output = media::VideoCaptureBufferType::kMailboxHolder;
334 case media::mojom::VideoCaptureBufferType::kGpuMemoryBuffer:
335 *output = media::VideoCaptureBufferType::kGpuMemoryBuffer;
338 NOTREACHED_NORETURN();
342 media::mojom::VideoCaptureError
343 EnumTraits<media::mojom::VideoCaptureError, media::VideoCaptureError>::ToMojom(
344 media::VideoCaptureError input) {
346 case media::VideoCaptureError::kNone:
347 return media::mojom::VideoCaptureError::kNone;
348 case media::VideoCaptureError::
349 kVideoCaptureControllerInvalidOrUnsupportedVideoCaptureParametersRequested:
350 return media::mojom::VideoCaptureError::
351 kVideoCaptureControllerInvalidOrUnsupportedVideoCaptureParametersRequested;
352 case media::VideoCaptureError::kVideoCaptureControllerIsAlreadyInErrorState:
353 return media::mojom::VideoCaptureError::
354 kVideoCaptureControllerIsAlreadyInErrorState;
355 case media::VideoCaptureError::kVideoCaptureManagerDeviceConnectionLost:
356 return media::mojom::VideoCaptureError::
357 kVideoCaptureManagerDeviceConnectionLost;
358 case media::VideoCaptureError::
359 kFrameSinkVideoCaptureDeviceAlreadyEndedOnFatalError:
360 return media::mojom::VideoCaptureError::
361 kFrameSinkVideoCaptureDeviceAlreadyEndedOnFatalError;
362 case media::VideoCaptureError::
363 kFrameSinkVideoCaptureDeviceEncounteredFatalError:
364 return media::mojom::VideoCaptureError::
365 kFrameSinkVideoCaptureDeviceEncounteredFatalError;
366 case media::VideoCaptureError::kV4L2FailedToOpenV4L2DeviceDriverFile:
367 return media::mojom::VideoCaptureError::
368 kV4L2FailedToOpenV4L2DeviceDriverFile;
369 case media::VideoCaptureError::kV4L2ThisIsNotAV4L2VideoCaptureDevice:
370 return media::mojom::VideoCaptureError::
371 kV4L2ThisIsNotAV4L2VideoCaptureDevice;
372 case media::VideoCaptureError::kV4L2FailedToFindASupportedCameraFormat:
373 return media::mojom::VideoCaptureError::
374 kV4L2FailedToFindASupportedCameraFormat;
375 case media::VideoCaptureError::kV4L2FailedToSetVideoCaptureFormat:
376 return media::mojom::VideoCaptureError::
377 kV4L2FailedToSetVideoCaptureFormat;
378 case media::VideoCaptureError::kV4L2UnsupportedPixelFormat:
379 return media::mojom::VideoCaptureError::kV4L2UnsupportedPixelFormat;
380 case media::VideoCaptureError::kV4L2FailedToSetCameraFramerate:
381 return media::mojom::VideoCaptureError::kV4L2FailedToSetCameraFramerate;
382 case media::VideoCaptureError::kV4L2ErrorRequestingMmapBuffers:
383 return media::mojom::VideoCaptureError::kV4L2ErrorRequestingMmapBuffers;
384 case media::VideoCaptureError::kV4L2AllocateBufferFailed:
385 return media::mojom::VideoCaptureError::kV4L2AllocateBufferFailed;
386 case media::VideoCaptureError::kV4L2VidiocStreamonFailed:
387 return media::mojom::VideoCaptureError::kV4L2VidiocStreamonFailed;
388 case media::VideoCaptureError::kV4L2VidiocStreamoffFailed:
389 return media::mojom::VideoCaptureError::kV4L2VidiocStreamoffFailed;
390 case media::VideoCaptureError::kV4L2FailedToVidiocReqbufsWithCount0:
391 return media::mojom::VideoCaptureError::
392 kV4L2FailedToVidiocReqbufsWithCount0;
393 case media::VideoCaptureError::kV4L2PollFailed:
394 return media::mojom::VideoCaptureError::kV4L2PollFailed;
395 case media::VideoCaptureError::
396 kV4L2MultipleContinuousTimeoutsWhileReadPolling:
397 return media::mojom::VideoCaptureError::
398 kV4L2MultipleContinuousTimeoutsWhileReadPolling;
399 case media::VideoCaptureError::kV4L2FailedToDequeueCaptureBuffer:
400 return media::mojom::VideoCaptureError::kV4L2FailedToDequeueCaptureBuffer;
401 case media::VideoCaptureError::kV4L2FailedToEnqueueCaptureBuffer:
402 return media::mojom::VideoCaptureError::kV4L2FailedToEnqueueCaptureBuffer;
403 case media::VideoCaptureError::
404 kSingleClientVideoCaptureHostLostConnectionToDevice:
405 return media::mojom::VideoCaptureError::
406 kSingleClientVideoCaptureHostLostConnectionToDevice;
407 case media::VideoCaptureError::kSingleClientVideoCaptureDeviceLaunchAborted:
408 return media::mojom::VideoCaptureError::
409 kSingleClientVideoCaptureDeviceLaunchAborted;
410 case media::VideoCaptureError::
411 kDesktopCaptureDeviceWebrtcDesktopCapturerHasFailed:
412 return media::mojom::VideoCaptureError::
413 kDesktopCaptureDeviceWebrtcDesktopCapturerHasFailed;
414 case media::VideoCaptureError::kFileVideoCaptureDeviceCouldNotOpenVideoFile:
415 return media::mojom::VideoCaptureError::
416 kFileVideoCaptureDeviceCouldNotOpenVideoFile;
417 case media::VideoCaptureError::
418 kDeviceCaptureLinuxFailedToCreateVideoCaptureDelegate:
419 return media::mojom::VideoCaptureError::
420 kDeviceCaptureLinuxFailedToCreateVideoCaptureDelegate;
421 case media::VideoCaptureError::
422 kErrorFakeDeviceIntentionallyEmittingErrorEvent:
423 return media::mojom::VideoCaptureError::
424 kErrorFakeDeviceIntentionallyEmittingErrorEvent;
425 case media::VideoCaptureError::kDeviceClientTooManyFramesDroppedY16:
426 return media::mojom::VideoCaptureError::
427 kDeviceClientTooManyFramesDroppedY16;
428 case media::VideoCaptureError::
429 kDeviceMediaToMojoAdapterEncounteredUnsupportedBufferType:
430 return media::mojom::VideoCaptureError::
431 kDeviceMediaToMojoAdapterEncounteredUnsupportedBufferType;
432 case media::VideoCaptureError::
433 kVideoCaptureManagerProcessDeviceStartQueueDeviceInfoNotFound:
434 return media::mojom::VideoCaptureError::
435 kVideoCaptureManagerProcessDeviceStartQueueDeviceInfoNotFound;
436 case media::VideoCaptureError::
437 kInProcessDeviceLauncherFailedToCreateDeviceInstance:
438 return media::mojom::VideoCaptureError::
439 kInProcessDeviceLauncherFailedToCreateDeviceInstance;
440 case media::VideoCaptureError::
441 kServiceDeviceLauncherLostConnectionToDeviceFactoryDuringDeviceStart:
442 return media::mojom::VideoCaptureError::
443 kServiceDeviceLauncherLostConnectionToDeviceFactoryDuringDeviceStart;
444 case media::VideoCaptureError::
445 kServiceDeviceLauncherServiceRespondedWithDeviceNotFound:
446 return media::mojom::VideoCaptureError::
447 kServiceDeviceLauncherServiceRespondedWithDeviceNotFound;
448 case media::VideoCaptureError::
449 kServiceDeviceLauncherConnectionLostWhileWaitingForCallback:
450 return media::mojom::VideoCaptureError::
451 kServiceDeviceLauncherConnectionLostWhileWaitingForCallback;
452 case media::VideoCaptureError::kIntentionalErrorRaisedByUnitTest:
453 return media::mojom::VideoCaptureError::kIntentionalErrorRaisedByUnitTest;
454 case media::VideoCaptureError::kCrosHalV3FailedToStartDeviceThread:
455 return media::mojom::VideoCaptureError::
456 kCrosHalV3FailedToStartDeviceThread;
457 case media::VideoCaptureError::kCrosHalV3DeviceDelegateMojoConnectionError:
458 return media::mojom::VideoCaptureError::
459 kCrosHalV3DeviceDelegateMojoConnectionError;
460 case media::VideoCaptureError::
461 kCrosHalV3DeviceDelegateFailedToGetCameraInfo:
462 return media::mojom::VideoCaptureError::
463 kCrosHalV3DeviceDelegateFailedToGetCameraInfo;
464 case media::VideoCaptureError::
465 kCrosHalV3DeviceDelegateMissingSensorOrientationInfo:
466 return media::mojom::VideoCaptureError::
467 kCrosHalV3DeviceDelegateMissingSensorOrientationInfo;
468 case media::VideoCaptureError::
469 kCrosHalV3DeviceDelegateFailedToOpenCameraDevice:
470 return media::mojom::VideoCaptureError::
471 kCrosHalV3DeviceDelegateFailedToOpenCameraDevice;
472 case media::VideoCaptureError::
473 kCrosHalV3DeviceDelegateFailedToInitializeCameraDevice:
474 return media::mojom::VideoCaptureError::
475 kCrosHalV3DeviceDelegateFailedToInitializeCameraDevice;
476 case media::VideoCaptureError::
477 kCrosHalV3DeviceDelegateFailedToConfigureStreams:
478 return media::mojom::VideoCaptureError::
479 kCrosHalV3DeviceDelegateFailedToConfigureStreams;
480 case media::VideoCaptureError::
481 kCrosHalV3DeviceDelegateWrongNumberOfStreamsConfigured:
482 return media::mojom::VideoCaptureError::
483 kCrosHalV3DeviceDelegateWrongNumberOfStreamsConfigured;
484 case media::VideoCaptureError::
485 kCrosHalV3DeviceDelegateFailedToGetDefaultRequestSettings:
486 return media::mojom::VideoCaptureError::
487 kCrosHalV3DeviceDelegateFailedToGetDefaultRequestSettings;
488 case media::VideoCaptureError::
489 kCrosHalV3BufferManagerHalRequestedTooManyBuffers:
490 return media::mojom::VideoCaptureError::
491 kCrosHalV3BufferManagerHalRequestedTooManyBuffers;
492 case media::VideoCaptureError::
493 kCrosHalV3BufferManagerFailedToCreateGpuMemoryBuffer:
494 return media::mojom::VideoCaptureError::
495 kCrosHalV3BufferManagerFailedToCreateGpuMemoryBuffer;
496 case media::VideoCaptureError::
497 kCrosHalV3BufferManagerFailedToMapGpuMemoryBuffer:
498 return media::mojom::VideoCaptureError::
499 kCrosHalV3BufferManagerFailedToMapGpuMemoryBuffer;
500 case media::VideoCaptureError::
501 kCrosHalV3BufferManagerUnsupportedVideoPixelFormat:
502 return media::mojom::VideoCaptureError::
503 kCrosHalV3BufferManagerUnsupportedVideoPixelFormat;
504 case media::VideoCaptureError::kCrosHalV3BufferManagerFailedToDupFd:
505 return media::mojom::VideoCaptureError::
506 kCrosHalV3BufferManagerFailedToDupFd;
507 case media::VideoCaptureError::
508 kCrosHalV3BufferManagerFailedToWrapGpuMemoryHandle:
509 return media::mojom::VideoCaptureError::
510 kCrosHalV3BufferManagerFailedToWrapGpuMemoryHandle;
511 case media::VideoCaptureError::
512 kCrosHalV3BufferManagerFailedToRegisterBuffer:
513 return media::mojom::VideoCaptureError::
514 kCrosHalV3BufferManagerFailedToRegisterBuffer;
515 case media::VideoCaptureError::
516 kCrosHalV3BufferManagerProcessCaptureRequestFailed:
517 return media::mojom::VideoCaptureError::
518 kCrosHalV3BufferManagerProcessCaptureRequestFailed;
519 case media::VideoCaptureError::
520 kCrosHalV3BufferManagerInvalidPendingResultId:
521 return media::mojom::VideoCaptureError::
522 kCrosHalV3BufferManagerInvalidPendingResultId;
523 case media::VideoCaptureError::
524 kCrosHalV3BufferManagerReceivedDuplicatedPartialMetadata:
525 return media::mojom::VideoCaptureError::
526 kCrosHalV3BufferManagerReceivedDuplicatedPartialMetadata;
527 case media::VideoCaptureError::
528 kCrosHalV3BufferManagerIncorrectNumberOfOutputBuffersReceived:
529 return media::mojom::VideoCaptureError::
530 kCrosHalV3BufferManagerIncorrectNumberOfOutputBuffersReceived;
531 case media::VideoCaptureError::
532 kCrosHalV3BufferManagerInvalidTypeOfOutputBuffersReceived:
533 return media::mojom::VideoCaptureError::
534 kCrosHalV3BufferManagerInvalidTypeOfOutputBuffersReceived;
535 case media::VideoCaptureError::
536 kCrosHalV3BufferManagerReceivedMultipleResultBuffersForFrame:
537 return media::mojom::VideoCaptureError::
538 kCrosHalV3BufferManagerReceivedMultipleResultBuffersForFrame;
539 case media::VideoCaptureError::
540 kCrosHalV3BufferManagerUnknownStreamInCamera3NotifyMsg:
541 return media::mojom::VideoCaptureError::
542 kCrosHalV3BufferManagerUnknownStreamInCamera3NotifyMsg;
543 case media::VideoCaptureError::
544 kCrosHalV3BufferManagerReceivedInvalidShutterTime:
545 return media::mojom::VideoCaptureError::
546 kCrosHalV3BufferManagerReceivedInvalidShutterTime;
547 case media::VideoCaptureError::kCrosHalV3BufferManagerFatalDeviceError:
548 return media::mojom::VideoCaptureError::
549 kCrosHalV3BufferManagerFatalDeviceError;
550 case media::VideoCaptureError::
551 kCrosHalV3BufferManagerReceivedFrameIsOutOfOrder:
552 return media::mojom::VideoCaptureError::
553 kCrosHalV3BufferManagerReceivedFrameIsOutOfOrder;
554 case media::VideoCaptureError::
555 kCrosHalV3BufferManagerFailedToUnwrapReleaseFenceFd:
556 return media::mojom::VideoCaptureError::
557 kCrosHalV3BufferManagerFailedToUnwrapReleaseFenceFd;
558 case media::VideoCaptureError::
559 kCrosHalV3BufferManagerSyncWaitOnReleaseFenceTimedOut:
560 return media::mojom::VideoCaptureError::
561 kCrosHalV3BufferManagerSyncWaitOnReleaseFenceTimedOut;
562 case media::VideoCaptureError::kCrosHalV3BufferManagerInvalidJpegBlob:
563 return media::mojom::VideoCaptureError::
564 kCrosHalV3BufferManagerInvalidJpegBlob;
565 case media::VideoCaptureError::kAndroidFailedToAllocate:
566 return media::mojom::VideoCaptureError::kAndroidFailedToAllocate;
567 case media::VideoCaptureError::kAndroidFailedToStartCapture:
568 return media::mojom::VideoCaptureError::kAndroidFailedToStartCapture;
569 case media::VideoCaptureError::kAndroidFailedToStopCapture:
570 return media::mojom::VideoCaptureError::kAndroidFailedToStopCapture;
571 case media::VideoCaptureError::kAndroidApi1CameraErrorCallbackReceived:
572 return media::mojom::VideoCaptureError::
573 kAndroidApi1CameraErrorCallbackReceived;
574 case media::VideoCaptureError::kAndroidApi2CameraDeviceErrorReceived:
575 return media::mojom::VideoCaptureError::
576 kAndroidApi2CameraDeviceErrorReceived;
577 case media::VideoCaptureError::kAndroidApi2CaptureSessionConfigureFailed:
578 return media::mojom::VideoCaptureError::
579 kAndroidApi2CaptureSessionConfigureFailed;
580 case media::VideoCaptureError::kAndroidApi2ImageReaderUnexpectedImageFormat:
581 return media::mojom::VideoCaptureError::
582 kAndroidApi2ImageReaderUnexpectedImageFormat;
583 case media::VideoCaptureError::
584 kAndroidApi2ImageReaderSizeDidNotMatchImageSize:
585 return media::mojom::VideoCaptureError::
586 kAndroidApi2ImageReaderSizeDidNotMatchImageSize;
587 case media::VideoCaptureError::kAndroidApi2ErrorRestartingPreview:
588 return media::mojom::VideoCaptureError::
589 kAndroidApi2ErrorRestartingPreview;
590 case media::VideoCaptureError::kAndroidScreenCaptureUnsupportedFormat:
591 return media::mojom::VideoCaptureError::
592 kAndroidScreenCaptureUnsupportedFormat;
593 case media::VideoCaptureError::
594 kAndroidScreenCaptureFailedToStartCaptureMachine:
595 return media::mojom::VideoCaptureError::
596 kAndroidScreenCaptureFailedToStartCaptureMachine;
597 case media::VideoCaptureError::
598 kAndroidScreenCaptureTheUserDeniedScreenCapture:
599 return media::mojom::VideoCaptureError::
600 kAndroidScreenCaptureTheUserDeniedScreenCapture;
601 case media::VideoCaptureError::
602 kAndroidScreenCaptureFailedToStartScreenCapture:
603 return media::mojom::VideoCaptureError::
604 kAndroidScreenCaptureFailedToStartScreenCapture;
605 case media::VideoCaptureError::kWinDirectShowCantGetCaptureFormatSettings:
606 return media::mojom::VideoCaptureError::
607 kWinDirectShowCantGetCaptureFormatSettings;
608 case media::VideoCaptureError::
609 kWinDirectShowFailedToGetNumberOfCapabilities:
610 return media::mojom::VideoCaptureError::
611 kWinDirectShowFailedToGetNumberOfCapabilities;
612 case media::VideoCaptureError::
613 kWinDirectShowFailedToGetCaptureDeviceCapabilities:
614 return media::mojom::VideoCaptureError::
615 kWinDirectShowFailedToGetCaptureDeviceCapabilities;
616 case media::VideoCaptureError::
617 kWinDirectShowFailedToSetCaptureDeviceOutputFormat:
618 return media::mojom::VideoCaptureError::
619 kWinDirectShowFailedToSetCaptureDeviceOutputFormat;
620 case media::VideoCaptureError::kWinDirectShowFailedToConnectTheCaptureGraph:
621 return media::mojom::VideoCaptureError::
622 kWinDirectShowFailedToConnectTheCaptureGraph;
623 case media::VideoCaptureError::kWinDirectShowFailedToPauseTheCaptureDevice:
624 return media::mojom::VideoCaptureError::
625 kWinDirectShowFailedToPauseTheCaptureDevice;
626 case media::VideoCaptureError::kWinDirectShowFailedToStartTheCaptureDevice:
627 return media::mojom::VideoCaptureError::
628 kWinDirectShowFailedToStartTheCaptureDevice;
629 case media::VideoCaptureError::kWinDirectShowFailedToStopTheCaptureGraph:
630 return media::mojom::VideoCaptureError::
631 kWinDirectShowFailedToStopTheCaptureGraph;
632 case media::VideoCaptureError::kWinMediaFoundationEngineIsNull:
633 return media::mojom::VideoCaptureError::kWinMediaFoundationEngineIsNull;
634 case media::VideoCaptureError::kWinMediaFoundationEngineGetSourceFailed:
635 return media::mojom::VideoCaptureError::
636 kWinMediaFoundationEngineGetSourceFailed;
637 case media::VideoCaptureError::
638 kWinMediaFoundationFillPhotoCapabilitiesFailed:
639 return media::mojom::VideoCaptureError::
640 kWinMediaFoundationFillPhotoCapabilitiesFailed;
641 case media::VideoCaptureError::
642 kWinMediaFoundationFillVideoCapabilitiesFailed:
643 return media::mojom::VideoCaptureError::
644 kWinMediaFoundationFillVideoCapabilitiesFailed;
645 case media::VideoCaptureError::kWinMediaFoundationNoVideoCapabilityFound:
646 return media::mojom::VideoCaptureError::
647 kWinMediaFoundationNoVideoCapabilityFound;
648 case media::VideoCaptureError::
649 kWinMediaFoundationGetAvailableDeviceMediaTypeFailed:
650 return media::mojom::VideoCaptureError::
651 kWinMediaFoundationGetAvailableDeviceMediaTypeFailed;
652 case media::VideoCaptureError::
653 kWinMediaFoundationSetCurrentDeviceMediaTypeFailed:
654 return media::mojom::VideoCaptureError::
655 kWinMediaFoundationSetCurrentDeviceMediaTypeFailed;
656 case media::VideoCaptureError::kWinMediaFoundationEngineGetSinkFailed:
657 return media::mojom::VideoCaptureError::
658 kWinMediaFoundationEngineGetSinkFailed;
659 case media::VideoCaptureError::
660 kWinMediaFoundationSinkQueryCapturePreviewInterfaceFailed:
661 return media::mojom::VideoCaptureError::
662 kWinMediaFoundationSinkQueryCapturePreviewInterfaceFailed;
663 case media::VideoCaptureError::
664 kWinMediaFoundationSinkRemoveAllStreamsFailed:
665 return media::mojom::VideoCaptureError::
666 kWinMediaFoundationSinkRemoveAllStreamsFailed;
667 case media::VideoCaptureError::
668 kWinMediaFoundationCreateSinkVideoMediaTypeFailed:
669 return media::mojom::VideoCaptureError::
670 kWinMediaFoundationCreateSinkVideoMediaTypeFailed;
671 case media::VideoCaptureError::
672 kWinMediaFoundationConvertToVideoSinkMediaTypeFailed:
673 return media::mojom::VideoCaptureError::
674 kWinMediaFoundationConvertToVideoSinkMediaTypeFailed;
675 case media::VideoCaptureError::kWinMediaFoundationSinkAddStreamFailed:
676 return media::mojom::VideoCaptureError::
677 kWinMediaFoundationSinkAddStreamFailed;
678 case media::VideoCaptureError::
679 kWinMediaFoundationSinkSetSampleCallbackFailed:
680 return media::mojom::VideoCaptureError::
681 kWinMediaFoundationSinkSetSampleCallbackFailed;
682 case media::VideoCaptureError::kWinMediaFoundationEngineStartPreviewFailed:
683 return media::mojom::VideoCaptureError::
684 kWinMediaFoundationEngineStartPreviewFailed;
685 case media::VideoCaptureError::kWinMediaFoundationGetMediaEventStatusFailed:
686 return media::mojom::VideoCaptureError::
687 kWinMediaFoundationGetMediaEventStatusFailed;
688 case media::VideoCaptureError::kMacSetCaptureDeviceFailed:
689 return media::mojom::VideoCaptureError::kMacSetCaptureDeviceFailed;
690 case media::VideoCaptureError::kMacCouldNotStartCaptureDevice:
691 return media::mojom::VideoCaptureError::kMacCouldNotStartCaptureDevice;
692 case media::VideoCaptureError::kMacReceivedFrameWithUnexpectedResolution:
693 return media::mojom::VideoCaptureError::
694 kMacReceivedFrameWithUnexpectedResolution;
695 case media::VideoCaptureError::kMacUpdateCaptureResolutionFailed:
696 return media::mojom::VideoCaptureError::kMacUpdateCaptureResolutionFailed;
697 case media::VideoCaptureError::kMacDeckLinkDeviceIdNotFoundInTheSystem:
698 return media::mojom::VideoCaptureError::
699 kMacDeckLinkDeviceIdNotFoundInTheSystem;
700 case media::VideoCaptureError::kMacDeckLinkErrorQueryingInputInterface:
701 return media::mojom::VideoCaptureError::
702 kMacDeckLinkErrorQueryingInputInterface;
703 case media::VideoCaptureError::kMacDeckLinkErrorCreatingDisplayModeIterator:
704 return media::mojom::VideoCaptureError::
705 kMacDeckLinkErrorCreatingDisplayModeIterator;
706 case media::VideoCaptureError::kMacDeckLinkCouldNotFindADisplayMode:
707 return media::mojom::VideoCaptureError::
708 kMacDeckLinkCouldNotFindADisplayMode;
709 case media::VideoCaptureError::
710 kMacDeckLinkCouldNotSelectTheVideoFormatWeLike:
711 return media::mojom::VideoCaptureError::
712 kMacDeckLinkCouldNotSelectTheVideoFormatWeLike;
713 case media::VideoCaptureError::kMacDeckLinkCouldNotStartCapturing:
714 return media::mojom::VideoCaptureError::
715 kMacDeckLinkCouldNotStartCapturing;
716 case media::VideoCaptureError::kMacDeckLinkUnsupportedPixelFormat:
717 return media::mojom::VideoCaptureError::
718 kMacDeckLinkUnsupportedPixelFormat;
719 case media::VideoCaptureError::
720 kMacAvFoundationReceivedAVCaptureSessionRuntimeErrorNotification:
721 return media::mojom::VideoCaptureError::
722 kMacAvFoundationReceivedAVCaptureSessionRuntimeErrorNotification;
723 case media::VideoCaptureError::kAndroidApi2ErrorConfiguringCamera:
724 return media::mojom::VideoCaptureError::
725 kAndroidApi2ErrorConfiguringCamera;
726 case media::VideoCaptureError::kCrosHalV3DeviceDelegateFailedToFlush:
727 return media::mojom::VideoCaptureError::
728 kCrosHalV3DeviceDelegateFailedToFlush;
729 case media::VideoCaptureError::kFuchsiaCameraDeviceDisconnected:
730 return media::mojom::VideoCaptureError::kFuchsiaCameraDeviceDisconnected;
731 case media::VideoCaptureError::kFuchsiaCameraStreamDisconnected:
732 return media::mojom::VideoCaptureError::kFuchsiaCameraStreamDisconnected;
733 case media::VideoCaptureError::kFuchsiaSysmemDidNotSetImageFormat:
734 return media::mojom::VideoCaptureError::
735 kFuchsiaSysmemDidNotSetImageFormat;
736 case media::VideoCaptureError::kFuchsiaSysmemInvalidBufferIndex:
737 return media::mojom::VideoCaptureError::kFuchsiaSysmemInvalidBufferIndex;
738 case media::VideoCaptureError::kFuchsiaSysmemInvalidBufferSize:
739 return media::mojom::VideoCaptureError::kFuchsiaSysmemInvalidBufferSize;
740 case media::VideoCaptureError::kFuchsiaUnsupportedPixelFormat:
741 return media::mojom::VideoCaptureError::kFuchsiaUnsupportedPixelFormat;
742 case media::VideoCaptureError::kFuchsiaFailedToMapSysmemBuffer:
743 return media::mojom::VideoCaptureError::kFuchsiaFailedToMapSysmemBuffer;
744 case media::VideoCaptureError::kCrosHalV3DeviceContextDuplicatedClient:
745 return media::mojom::VideoCaptureError::
746 kCrosHalV3DeviceContextDuplicatedClient;
747 case media::VideoCaptureError::kDesktopCaptureDeviceMacFailedStreamCreate:
748 return media::mojom::VideoCaptureError::
749 kDesktopCaptureDeviceMacFailedStreamCreate;
750 case media::VideoCaptureError::kDesktopCaptureDeviceMacFailedStreamStart:
751 return media::mojom::VideoCaptureError::
752 kDesktopCaptureDeviceMacFailedStreamStart;
753 case media::VideoCaptureError::
754 kCrosHalV3BufferManagerFailedToReserveBuffers:
755 return media::mojom::VideoCaptureError::
756 kCrosHalV3BufferManagerFailedToReserveBuffers;
757 case media::VideoCaptureError::kWinMediaFoundationSystemPermissionDenied:
758 return media::mojom::VideoCaptureError::
759 kWinMediaFoundationSystemPermissionDenied;
760 case media::VideoCaptureError::kVideoCaptureImplTimedOutOnStart:
761 return media::mojom::VideoCaptureError::kVideoCaptureImplTimedOutOnStart;
762 case media::VideoCaptureError::
763 kLacrosVideoCaptureDeviceProxyAlreadyEndedOnFatalError:
764 return media::mojom::VideoCaptureError::
765 kLacrosVideoCaptureDeviceProxyAlreadyEndedOnFatalError;
766 case media::VideoCaptureError::
767 kLacrosVideoCaptureDeviceProxyEncounteredFatalError:
768 return media::mojom::VideoCaptureError::
769 kLacrosVideoCaptureDeviceProxyEncounteredFatalError;
770 case media::VideoCaptureError::kScreenCaptureKitFailedGetShareableContent:
771 return media::mojom::VideoCaptureError::
772 kScreenCaptureKitFailedGetShareableContent;
773 case media::VideoCaptureError::kScreenCaptureKitFailedAddStreamOutput:
774 return media::mojom::VideoCaptureError::
775 kScreenCaptureKitFailedAddStreamOutput;
776 case media::VideoCaptureError::kScreenCaptureKitFailedStartCapture:
777 return media::mojom::VideoCaptureError::
778 kScreenCaptureKitFailedStartCapture;
779 case media::VideoCaptureError::kScreenCaptureKitFailedStopCapture:
780 return media::mojom::VideoCaptureError::
781 kScreenCaptureKitFailedStopCapture;
782 case media::VideoCaptureError::kScreenCaptureKitStreamError:
783 return media::mojom::VideoCaptureError::kScreenCaptureKitStreamError;
784 case media::VideoCaptureError::kScreenCaptureKitFailedToFindSCDisplay:
785 return media::mojom::VideoCaptureError::
786 kScreenCaptureKitFailedToFindSCDisplay;
787 case media::VideoCaptureError::
788 kVideoCaptureControllerUnsupportedPixelFormat:
789 return media::mojom::VideoCaptureError::
790 kVideoCaptureControllerUnsupportedPixelFormat;
791 case media::VideoCaptureError::kVideoCaptureControllerInvalid:
792 return media::mojom::VideoCaptureError::kVideoCaptureControllerInvalid;
793 case media::VideoCaptureError::
794 kVideoCaptureDeviceFactoryChromeOSCreateDeviceFailed:
795 return media::mojom::VideoCaptureError::
796 kVideoCaptureDeviceFactoryChromeOSCreateDeviceFailed;
797 case media::VideoCaptureError::kVideoCaptureDeviceAlreadyReleased:
798 return media::mojom::VideoCaptureError::
799 kVideoCaptureDeviceAlreadyReleased;
800 case media::VideoCaptureError::kVideoCaptureSystemDeviceIdNotFound:
801 return media::mojom::VideoCaptureError::
802 kVideoCaptureSystemDeviceIdNotFound;
803 case media::VideoCaptureError::kVideoCaptureDeviceFactoryWinUnknownError:
804 return media::mojom::VideoCaptureError::
805 kVideoCaptureDeviceFactoryWinUnknownError;
806 case media::VideoCaptureError::
807 kWinMediaFoundationDeviceInitializationFailed:
808 return media::mojom::VideoCaptureError::
809 kWinMediaFoundationDeviceInitializationFailed;
810 case media::VideoCaptureError::kWinMediaFoundationSourceCreationFailed:
811 return media::mojom::VideoCaptureError::
812 kWinMediaFoundationSourceCreationFailed;
813 case media::VideoCaptureError::kWinDirectShowDeviceFilterCreationFailed:
814 return media::mojom::VideoCaptureError::
815 kWinDirectShowDeviceFilterCreationFailed;
816 case media::VideoCaptureError::kWinDirectShowDeviceInitializationFailed:
817 return media::mojom::VideoCaptureError::
818 kWinDirectShowDeviceInitializationFailed;
819 case media::VideoCaptureError::kVideoCaptureDeviceFactorySecondCreateDenied:
820 return media::mojom::VideoCaptureError::
821 kVideoCaptureDeviceFactorySecondCreateDenied;
822 case media::VideoCaptureError::kScreenCaptureKitResetStreamError:
823 return media::mojom::VideoCaptureError::kScreenCaptureKitResetStreamError;
824 case media::VideoCaptureError::kWinMediaFoundationCameraBusy:
825 return media::mojom::VideoCaptureError::kWinMediaFoundationCameraBusy;
827 NOTREACHED_NORETURN();
831 bool EnumTraits<media::mojom::VideoCaptureError, media::VideoCaptureError>::
832 FromMojom(media::mojom::VideoCaptureError input,
833 media::VideoCaptureError* output) {
835 case media::mojom::VideoCaptureError::kNone:
836 *output = media::VideoCaptureError::kNone;
838 case media::mojom::VideoCaptureError::
839 kVideoCaptureControllerInvalidOrUnsupportedVideoCaptureParametersRequested:
840 *output = media::VideoCaptureError::
841 kVideoCaptureControllerInvalidOrUnsupportedVideoCaptureParametersRequested;
843 case media::mojom::VideoCaptureError::
844 kVideoCaptureControllerIsAlreadyInErrorState:
845 *output = media::VideoCaptureError::
846 kVideoCaptureControllerIsAlreadyInErrorState;
848 case media::mojom::VideoCaptureError::
849 kVideoCaptureManagerDeviceConnectionLost:
851 media::VideoCaptureError::kVideoCaptureManagerDeviceConnectionLost;
853 case media::mojom::VideoCaptureError::
854 kFrameSinkVideoCaptureDeviceAlreadyEndedOnFatalError:
855 *output = media::VideoCaptureError::
856 kFrameSinkVideoCaptureDeviceAlreadyEndedOnFatalError;
858 case media::mojom::VideoCaptureError::
859 kFrameSinkVideoCaptureDeviceEncounteredFatalError:
860 *output = media::VideoCaptureError::
861 kFrameSinkVideoCaptureDeviceEncounteredFatalError;
863 case media::mojom::VideoCaptureError::kV4L2FailedToOpenV4L2DeviceDriverFile:
864 *output = media::VideoCaptureError::kV4L2FailedToOpenV4L2DeviceDriverFile;
866 case media::mojom::VideoCaptureError::kV4L2ThisIsNotAV4L2VideoCaptureDevice:
867 *output = media::VideoCaptureError::kV4L2ThisIsNotAV4L2VideoCaptureDevice;
869 case media::mojom::VideoCaptureError::
870 kV4L2FailedToFindASupportedCameraFormat:
872 media::VideoCaptureError::kV4L2FailedToFindASupportedCameraFormat;
874 case media::mojom::VideoCaptureError::kV4L2FailedToSetVideoCaptureFormat:
875 *output = media::VideoCaptureError::kV4L2FailedToSetVideoCaptureFormat;
877 case media::mojom::VideoCaptureError::kV4L2UnsupportedPixelFormat:
878 *output = media::VideoCaptureError::kV4L2UnsupportedPixelFormat;
880 case media::mojom::VideoCaptureError::kV4L2FailedToSetCameraFramerate:
881 *output = media::VideoCaptureError::kV4L2FailedToSetCameraFramerate;
883 case media::mojom::VideoCaptureError::kV4L2ErrorRequestingMmapBuffers:
884 *output = media::VideoCaptureError::kV4L2ErrorRequestingMmapBuffers;
886 case media::mojom::VideoCaptureError::kV4L2AllocateBufferFailed:
887 *output = media::VideoCaptureError::kV4L2AllocateBufferFailed;
889 case media::mojom::VideoCaptureError::kV4L2VidiocStreamonFailed:
890 *output = media::VideoCaptureError::kV4L2VidiocStreamonFailed;
892 case media::mojom::VideoCaptureError::kV4L2VidiocStreamoffFailed:
893 *output = media::VideoCaptureError::kV4L2VidiocStreamoffFailed;
895 case media::mojom::VideoCaptureError::kV4L2FailedToVidiocReqbufsWithCount0:
896 *output = media::VideoCaptureError::kV4L2FailedToVidiocReqbufsWithCount0;
898 case media::mojom::VideoCaptureError::kV4L2PollFailed:
899 *output = media::VideoCaptureError::kV4L2PollFailed;
901 case media::mojom::VideoCaptureError::
902 kV4L2MultipleContinuousTimeoutsWhileReadPolling:
903 *output = media::VideoCaptureError::
904 kV4L2MultipleContinuousTimeoutsWhileReadPolling;
906 case media::mojom::VideoCaptureError::kV4L2FailedToDequeueCaptureBuffer:
907 *output = media::VideoCaptureError::kV4L2FailedToDequeueCaptureBuffer;
909 case media::mojom::VideoCaptureError::kV4L2FailedToEnqueueCaptureBuffer:
910 *output = media::VideoCaptureError::kV4L2FailedToEnqueueCaptureBuffer;
912 case media::mojom::VideoCaptureError::
913 kSingleClientVideoCaptureHostLostConnectionToDevice:
914 *output = media::VideoCaptureError::
915 kSingleClientVideoCaptureHostLostConnectionToDevice;
917 case media::mojom::VideoCaptureError::
918 kSingleClientVideoCaptureDeviceLaunchAborted:
919 *output = media::VideoCaptureError::
920 kSingleClientVideoCaptureDeviceLaunchAborted;
922 case media::mojom::VideoCaptureError::
923 kDesktopCaptureDeviceWebrtcDesktopCapturerHasFailed:
924 *output = media::VideoCaptureError::
925 kDesktopCaptureDeviceWebrtcDesktopCapturerHasFailed;
927 case media::mojom::VideoCaptureError::
928 kFileVideoCaptureDeviceCouldNotOpenVideoFile:
929 *output = media::VideoCaptureError::
930 kFileVideoCaptureDeviceCouldNotOpenVideoFile;
932 case media::mojom::VideoCaptureError::
933 kDeviceCaptureLinuxFailedToCreateVideoCaptureDelegate:
934 *output = media::VideoCaptureError::
935 kDeviceCaptureLinuxFailedToCreateVideoCaptureDelegate;
937 case media::mojom::VideoCaptureError::
938 kErrorFakeDeviceIntentionallyEmittingErrorEvent:
939 *output = media::VideoCaptureError::
940 kErrorFakeDeviceIntentionallyEmittingErrorEvent;
942 case media::mojom::VideoCaptureError::kDeviceClientTooManyFramesDroppedY16:
943 *output = media::VideoCaptureError::kDeviceClientTooManyFramesDroppedY16;
945 case media::mojom::VideoCaptureError::
946 kDeviceMediaToMojoAdapterEncounteredUnsupportedBufferType:
947 *output = media::VideoCaptureError::
948 kDeviceMediaToMojoAdapterEncounteredUnsupportedBufferType;
950 case media::mojom::VideoCaptureError::
951 kVideoCaptureManagerProcessDeviceStartQueueDeviceInfoNotFound:
952 *output = media::VideoCaptureError::
953 kVideoCaptureManagerProcessDeviceStartQueueDeviceInfoNotFound;
955 case media::mojom::VideoCaptureError::
956 kInProcessDeviceLauncherFailedToCreateDeviceInstance:
957 *output = media::VideoCaptureError::
958 kInProcessDeviceLauncherFailedToCreateDeviceInstance;
960 case media::mojom::VideoCaptureError::
961 kServiceDeviceLauncherLostConnectionToDeviceFactoryDuringDeviceStart:
962 *output = media::VideoCaptureError::
963 kServiceDeviceLauncherLostConnectionToDeviceFactoryDuringDeviceStart;
965 case media::mojom::VideoCaptureError::
966 kServiceDeviceLauncherServiceRespondedWithDeviceNotFound:
967 *output = media::VideoCaptureError::
968 kServiceDeviceLauncherServiceRespondedWithDeviceNotFound;
970 case media::mojom::VideoCaptureError::
971 kServiceDeviceLauncherConnectionLostWhileWaitingForCallback:
972 *output = media::VideoCaptureError::
973 kServiceDeviceLauncherConnectionLostWhileWaitingForCallback;
975 case media::mojom::VideoCaptureError::kIntentionalErrorRaisedByUnitTest:
976 *output = media::VideoCaptureError::kIntentionalErrorRaisedByUnitTest;
978 case media::mojom::VideoCaptureError::kCrosHalV3FailedToStartDeviceThread:
979 *output = media::VideoCaptureError::kCrosHalV3FailedToStartDeviceThread;
981 case media::mojom::VideoCaptureError::
982 kCrosHalV3DeviceDelegateMojoConnectionError:
984 media::VideoCaptureError::kCrosHalV3DeviceDelegateMojoConnectionError;
986 case media::mojom::VideoCaptureError::
987 kCrosHalV3DeviceDelegateFailedToGetCameraInfo:
988 *output = media::VideoCaptureError::
989 kCrosHalV3DeviceDelegateFailedToGetCameraInfo;
991 case media::mojom::VideoCaptureError::
992 kCrosHalV3DeviceDelegateMissingSensorOrientationInfo:
993 *output = media::VideoCaptureError::
994 kCrosHalV3DeviceDelegateMissingSensorOrientationInfo;
996 case media::mojom::VideoCaptureError::
997 kCrosHalV3DeviceDelegateFailedToOpenCameraDevice:
998 *output = media::VideoCaptureError::
999 kCrosHalV3DeviceDelegateFailedToOpenCameraDevice;
1001 case media::mojom::VideoCaptureError::
1002 kCrosHalV3DeviceDelegateFailedToInitializeCameraDevice:
1003 *output = media::VideoCaptureError::
1004 kCrosHalV3DeviceDelegateFailedToInitializeCameraDevice;
1006 case media::mojom::VideoCaptureError::
1007 kCrosHalV3DeviceDelegateFailedToConfigureStreams:
1008 *output = media::VideoCaptureError::
1009 kCrosHalV3DeviceDelegateFailedToConfigureStreams;
1011 case media::mojom::VideoCaptureError::
1012 kCrosHalV3DeviceDelegateWrongNumberOfStreamsConfigured:
1013 *output = media::VideoCaptureError::
1014 kCrosHalV3DeviceDelegateWrongNumberOfStreamsConfigured;
1016 case media::mojom::VideoCaptureError::
1017 kCrosHalV3DeviceDelegateFailedToGetDefaultRequestSettings:
1018 *output = media::VideoCaptureError::
1019 kCrosHalV3DeviceDelegateFailedToGetDefaultRequestSettings;
1021 case media::mojom::VideoCaptureError::
1022 kCrosHalV3BufferManagerHalRequestedTooManyBuffers:
1023 *output = media::VideoCaptureError::
1024 kCrosHalV3BufferManagerHalRequestedTooManyBuffers;
1026 case media::mojom::VideoCaptureError::
1027 kCrosHalV3BufferManagerFailedToCreateGpuMemoryBuffer:
1028 *output = media::VideoCaptureError::
1029 kCrosHalV3BufferManagerFailedToCreateGpuMemoryBuffer;
1031 case media::mojom::VideoCaptureError::
1032 kCrosHalV3BufferManagerFailedToMapGpuMemoryBuffer:
1033 *output = media::VideoCaptureError::
1034 kCrosHalV3BufferManagerFailedToMapGpuMemoryBuffer;
1036 case media::mojom::VideoCaptureError::
1037 kCrosHalV3BufferManagerUnsupportedVideoPixelFormat:
1038 *output = media::VideoCaptureError::
1039 kCrosHalV3BufferManagerUnsupportedVideoPixelFormat;
1041 case media::mojom::VideoCaptureError::kCrosHalV3BufferManagerFailedToDupFd:
1042 *output = media::VideoCaptureError::kCrosHalV3BufferManagerFailedToDupFd;
1044 case media::mojom::VideoCaptureError::
1045 kCrosHalV3BufferManagerFailedToWrapGpuMemoryHandle:
1046 *output = media::VideoCaptureError::
1047 kCrosHalV3BufferManagerFailedToWrapGpuMemoryHandle;
1049 case media::mojom::VideoCaptureError::
1050 kCrosHalV3BufferManagerFailedToRegisterBuffer:
1051 *output = media::VideoCaptureError::
1052 kCrosHalV3BufferManagerFailedToRegisterBuffer;
1054 case media::mojom::VideoCaptureError::
1055 kCrosHalV3BufferManagerProcessCaptureRequestFailed:
1056 *output = media::VideoCaptureError::
1057 kCrosHalV3BufferManagerProcessCaptureRequestFailed;
1059 case media::mojom::VideoCaptureError::
1060 kCrosHalV3BufferManagerInvalidPendingResultId:
1061 *output = media::VideoCaptureError::
1062 kCrosHalV3BufferManagerInvalidPendingResultId;
1064 case media::mojom::VideoCaptureError::
1065 kCrosHalV3BufferManagerReceivedDuplicatedPartialMetadata:
1066 *output = media::VideoCaptureError::
1067 kCrosHalV3BufferManagerReceivedDuplicatedPartialMetadata;
1069 case media::mojom::VideoCaptureError::
1070 kCrosHalV3BufferManagerIncorrectNumberOfOutputBuffersReceived:
1071 *output = media::VideoCaptureError::
1072 kCrosHalV3BufferManagerIncorrectNumberOfOutputBuffersReceived;
1074 case media::mojom::VideoCaptureError::
1075 kCrosHalV3BufferManagerInvalidTypeOfOutputBuffersReceived:
1076 *output = media::VideoCaptureError::
1077 kCrosHalV3BufferManagerInvalidTypeOfOutputBuffersReceived;
1079 case media::mojom::VideoCaptureError::
1080 kCrosHalV3BufferManagerReceivedMultipleResultBuffersForFrame:
1081 *output = media::VideoCaptureError::
1082 kCrosHalV3BufferManagerReceivedMultipleResultBuffersForFrame;
1084 case media::mojom::VideoCaptureError::
1085 kCrosHalV3BufferManagerUnknownStreamInCamera3NotifyMsg:
1086 *output = media::VideoCaptureError::
1087 kCrosHalV3BufferManagerUnknownStreamInCamera3NotifyMsg;
1089 case media::mojom::VideoCaptureError::
1090 kCrosHalV3BufferManagerReceivedInvalidShutterTime:
1091 *output = media::VideoCaptureError::
1092 kCrosHalV3BufferManagerReceivedInvalidShutterTime;
1094 case media::mojom::VideoCaptureError::
1095 kCrosHalV3BufferManagerFatalDeviceError:
1097 media::VideoCaptureError::kCrosHalV3BufferManagerFatalDeviceError;
1099 case media::mojom::VideoCaptureError::
1100 kCrosHalV3BufferManagerReceivedFrameIsOutOfOrder:
1101 *output = media::VideoCaptureError::
1102 kCrosHalV3BufferManagerReceivedFrameIsOutOfOrder;
1104 case media::mojom::VideoCaptureError::
1105 kCrosHalV3BufferManagerFailedToUnwrapReleaseFenceFd:
1106 *output = media::VideoCaptureError::
1107 kCrosHalV3BufferManagerFailedToUnwrapReleaseFenceFd;
1109 case media::mojom::VideoCaptureError::
1110 kCrosHalV3BufferManagerSyncWaitOnReleaseFenceTimedOut:
1111 *output = media::VideoCaptureError::
1112 kCrosHalV3BufferManagerSyncWaitOnReleaseFenceTimedOut;
1114 case media::mojom::VideoCaptureError::
1115 kCrosHalV3BufferManagerInvalidJpegBlob:
1117 media::VideoCaptureError::kCrosHalV3BufferManagerInvalidJpegBlob;
1119 case media::mojom::VideoCaptureError::kAndroidFailedToAllocate:
1120 *output = media::VideoCaptureError::kAndroidFailedToAllocate;
1122 case media::mojom::VideoCaptureError::kAndroidFailedToStartCapture:
1123 *output = media::VideoCaptureError::kAndroidFailedToStartCapture;
1125 case media::mojom::VideoCaptureError::kAndroidFailedToStopCapture:
1126 *output = media::VideoCaptureError::kAndroidFailedToStopCapture;
1128 case media::mojom::VideoCaptureError::
1129 kAndroidApi1CameraErrorCallbackReceived:
1131 media::VideoCaptureError::kAndroidApi1CameraErrorCallbackReceived;
1133 case media::mojom::VideoCaptureError::kAndroidApi2CameraDeviceErrorReceived:
1134 *output = media::VideoCaptureError::kAndroidApi2CameraDeviceErrorReceived;
1136 case media::mojom::VideoCaptureError::
1137 kAndroidApi2CaptureSessionConfigureFailed:
1139 media::VideoCaptureError::kAndroidApi2CaptureSessionConfigureFailed;
1141 case media::mojom::VideoCaptureError::
1142 kAndroidApi2ImageReaderUnexpectedImageFormat:
1143 *output = media::VideoCaptureError::
1144 kAndroidApi2ImageReaderUnexpectedImageFormat;
1146 case media::mojom::VideoCaptureError::
1147 kAndroidApi2ImageReaderSizeDidNotMatchImageSize:
1148 *output = media::VideoCaptureError::
1149 kAndroidApi2ImageReaderSizeDidNotMatchImageSize;
1151 case media::mojom::VideoCaptureError::kAndroidApi2ErrorRestartingPreview:
1152 *output = media::VideoCaptureError::kAndroidApi2ErrorRestartingPreview;
1154 case media::mojom::VideoCaptureError::
1155 kAndroidScreenCaptureUnsupportedFormat:
1157 media::VideoCaptureError::kAndroidScreenCaptureUnsupportedFormat;
1159 case media::mojom::VideoCaptureError::
1160 kAndroidScreenCaptureFailedToStartCaptureMachine:
1161 *output = media::VideoCaptureError::
1162 kAndroidScreenCaptureFailedToStartCaptureMachine;
1164 case media::mojom::VideoCaptureError::
1165 kAndroidScreenCaptureTheUserDeniedScreenCapture:
1166 *output = media::VideoCaptureError::
1167 kAndroidScreenCaptureTheUserDeniedScreenCapture;
1169 case media::mojom::VideoCaptureError::
1170 kAndroidScreenCaptureFailedToStartScreenCapture:
1171 *output = media::VideoCaptureError::
1172 kAndroidScreenCaptureFailedToStartScreenCapture;
1174 case media::mojom::VideoCaptureError::
1175 kWinDirectShowCantGetCaptureFormatSettings:
1177 media::VideoCaptureError::kWinDirectShowCantGetCaptureFormatSettings;
1179 case media::mojom::VideoCaptureError::
1180 kWinDirectShowFailedToGetNumberOfCapabilities:
1181 *output = media::VideoCaptureError::
1182 kWinDirectShowFailedToGetNumberOfCapabilities;
1184 case media::mojom::VideoCaptureError::
1185 kWinDirectShowFailedToGetCaptureDeviceCapabilities:
1186 *output = media::VideoCaptureError::
1187 kWinDirectShowFailedToGetCaptureDeviceCapabilities;
1189 case media::mojom::VideoCaptureError::
1190 kWinDirectShowFailedToSetCaptureDeviceOutputFormat:
1191 *output = media::VideoCaptureError::
1192 kWinDirectShowFailedToSetCaptureDeviceOutputFormat;
1194 case media::mojom::VideoCaptureError::
1195 kWinDirectShowFailedToConnectTheCaptureGraph:
1196 *output = media::VideoCaptureError::
1197 kWinDirectShowFailedToConnectTheCaptureGraph;
1199 case media::mojom::VideoCaptureError::
1200 kWinDirectShowFailedToPauseTheCaptureDevice:
1202 media::VideoCaptureError::kWinDirectShowFailedToPauseTheCaptureDevice;
1204 case media::mojom::VideoCaptureError::
1205 kWinDirectShowFailedToStartTheCaptureDevice:
1207 media::VideoCaptureError::kWinDirectShowFailedToStartTheCaptureDevice;
1209 case media::mojom::VideoCaptureError::
1210 kWinDirectShowFailedToStopTheCaptureGraph:
1212 media::VideoCaptureError::kWinDirectShowFailedToStopTheCaptureGraph;
1214 case media::mojom::VideoCaptureError::kWinMediaFoundationEngineIsNull:
1215 *output = media::VideoCaptureError::kWinMediaFoundationEngineIsNull;
1217 case media::mojom::VideoCaptureError::
1218 kWinMediaFoundationEngineGetSourceFailed:
1220 media::VideoCaptureError::kWinMediaFoundationEngineGetSourceFailed;
1222 case media::mojom::VideoCaptureError::
1223 kWinMediaFoundationFillPhotoCapabilitiesFailed:
1224 *output = media::VideoCaptureError::
1225 kWinMediaFoundationFillPhotoCapabilitiesFailed;
1227 case media::mojom::VideoCaptureError::
1228 kWinMediaFoundationFillVideoCapabilitiesFailed:
1229 *output = media::VideoCaptureError::
1230 kWinMediaFoundationFillVideoCapabilitiesFailed;
1232 case media::mojom::VideoCaptureError::
1233 kWinMediaFoundationNoVideoCapabilityFound:
1235 media::VideoCaptureError::kWinMediaFoundationNoVideoCapabilityFound;
1237 case media::mojom::VideoCaptureError::
1238 kWinMediaFoundationGetAvailableDeviceMediaTypeFailed:
1239 *output = media::VideoCaptureError::
1240 kWinMediaFoundationGetAvailableDeviceMediaTypeFailed;
1242 case media::mojom::VideoCaptureError::
1243 kWinMediaFoundationSetCurrentDeviceMediaTypeFailed:
1244 *output = media::VideoCaptureError::
1245 kWinMediaFoundationSetCurrentDeviceMediaTypeFailed;
1247 case media::mojom::VideoCaptureError::
1248 kWinMediaFoundationEngineGetSinkFailed:
1250 media::VideoCaptureError::kWinMediaFoundationEngineGetSinkFailed;
1252 case media::mojom::VideoCaptureError::
1253 kWinMediaFoundationSinkQueryCapturePreviewInterfaceFailed:
1254 *output = media::VideoCaptureError::
1255 kWinMediaFoundationSinkQueryCapturePreviewInterfaceFailed;
1257 case media::mojom::VideoCaptureError::
1258 kWinMediaFoundationSinkRemoveAllStreamsFailed:
1259 *output = media::VideoCaptureError::
1260 kWinMediaFoundationSinkRemoveAllStreamsFailed;
1262 case media::mojom::VideoCaptureError::
1263 kWinMediaFoundationCreateSinkVideoMediaTypeFailed:
1264 *output = media::VideoCaptureError::
1265 kWinMediaFoundationCreateSinkVideoMediaTypeFailed;
1267 case media::mojom::VideoCaptureError::
1268 kWinMediaFoundationConvertToVideoSinkMediaTypeFailed:
1269 *output = media::VideoCaptureError::
1270 kWinMediaFoundationConvertToVideoSinkMediaTypeFailed;
1272 case media::mojom::VideoCaptureError::
1273 kWinMediaFoundationSinkAddStreamFailed:
1275 media::VideoCaptureError::kWinMediaFoundationSinkAddStreamFailed;
1277 case media::mojom::VideoCaptureError::
1278 kWinMediaFoundationSinkSetSampleCallbackFailed:
1279 *output = media::VideoCaptureError::
1280 kWinMediaFoundationSinkSetSampleCallbackFailed;
1282 case media::mojom::VideoCaptureError::
1283 kWinMediaFoundationEngineStartPreviewFailed:
1285 media::VideoCaptureError::kWinMediaFoundationEngineStartPreviewFailed;
1287 case media::mojom::VideoCaptureError::
1288 kWinMediaFoundationGetMediaEventStatusFailed:
1289 *output = media::VideoCaptureError::
1290 kWinMediaFoundationGetMediaEventStatusFailed;
1292 case media::mojom::VideoCaptureError::kMacSetCaptureDeviceFailed:
1293 *output = media::VideoCaptureError::kMacSetCaptureDeviceFailed;
1295 case media::mojom::VideoCaptureError::kMacCouldNotStartCaptureDevice:
1296 *output = media::VideoCaptureError::kMacCouldNotStartCaptureDevice;
1298 case media::mojom::VideoCaptureError::
1299 kMacReceivedFrameWithUnexpectedResolution:
1301 media::VideoCaptureError::kMacReceivedFrameWithUnexpectedResolution;
1303 case media::mojom::VideoCaptureError::kMacUpdateCaptureResolutionFailed:
1304 *output = media::VideoCaptureError::kMacUpdateCaptureResolutionFailed;
1306 case media::mojom::VideoCaptureError::
1307 kMacDeckLinkDeviceIdNotFoundInTheSystem:
1309 media::VideoCaptureError::kMacDeckLinkDeviceIdNotFoundInTheSystem;
1311 case media::mojom::VideoCaptureError::
1312 kMacDeckLinkErrorQueryingInputInterface:
1314 media::VideoCaptureError::kMacDeckLinkErrorQueryingInputInterface;
1316 case media::mojom::VideoCaptureError::
1317 kMacDeckLinkErrorCreatingDisplayModeIterator:
1318 *output = media::VideoCaptureError::
1319 kMacDeckLinkErrorCreatingDisplayModeIterator;
1321 case media::mojom::VideoCaptureError::kMacDeckLinkCouldNotFindADisplayMode:
1322 *output = media::VideoCaptureError::kMacDeckLinkCouldNotFindADisplayMode;
1324 case media::mojom::VideoCaptureError::
1325 kMacDeckLinkCouldNotSelectTheVideoFormatWeLike:
1326 *output = media::VideoCaptureError::
1327 kMacDeckLinkCouldNotSelectTheVideoFormatWeLike;
1329 case media::mojom::VideoCaptureError::kMacDeckLinkCouldNotStartCapturing:
1330 *output = media::VideoCaptureError::kMacDeckLinkCouldNotStartCapturing;
1332 case media::mojom::VideoCaptureError::kMacDeckLinkUnsupportedPixelFormat:
1333 *output = media::VideoCaptureError::kMacDeckLinkUnsupportedPixelFormat;
1335 case media::mojom::VideoCaptureError::
1336 kMacAvFoundationReceivedAVCaptureSessionRuntimeErrorNotification:
1337 *output = media::VideoCaptureError::
1338 kMacAvFoundationReceivedAVCaptureSessionRuntimeErrorNotification;
1340 case media::mojom::VideoCaptureError::kAndroidApi2ErrorConfiguringCamera:
1341 *output = media::VideoCaptureError::kAndroidApi2ErrorConfiguringCamera;
1343 case media::mojom::VideoCaptureError::kCrosHalV3DeviceDelegateFailedToFlush:
1344 *output = media::VideoCaptureError::kCrosHalV3DeviceDelegateFailedToFlush;
1346 case media::mojom::VideoCaptureError::kFuchsiaCameraDeviceDisconnected:
1347 *output = media::VideoCaptureError::kFuchsiaCameraDeviceDisconnected;
1349 case media::mojom::VideoCaptureError::kFuchsiaCameraStreamDisconnected:
1350 *output = media::VideoCaptureError::kFuchsiaCameraStreamDisconnected;
1352 case media::mojom::VideoCaptureError::kFuchsiaSysmemDidNotSetImageFormat:
1353 *output = media::VideoCaptureError::kFuchsiaSysmemDidNotSetImageFormat;
1355 case media::mojom::VideoCaptureError::kFuchsiaSysmemInvalidBufferIndex:
1356 *output = media::VideoCaptureError::kFuchsiaSysmemInvalidBufferIndex;
1358 case media::mojom::VideoCaptureError::kFuchsiaSysmemInvalidBufferSize:
1359 *output = media::VideoCaptureError::kFuchsiaSysmemInvalidBufferSize;
1361 case media::mojom::VideoCaptureError::kFuchsiaUnsupportedPixelFormat:
1362 *output = media::VideoCaptureError::kFuchsiaUnsupportedPixelFormat;
1364 case media::mojom::VideoCaptureError::kFuchsiaFailedToMapSysmemBuffer:
1365 *output = media::VideoCaptureError::kFuchsiaFailedToMapSysmemBuffer;
1367 case media::mojom::VideoCaptureError::
1368 kCrosHalV3DeviceContextDuplicatedClient:
1370 media::VideoCaptureError::kCrosHalV3DeviceContextDuplicatedClient;
1372 case media::mojom::VideoCaptureError::
1373 kDesktopCaptureDeviceMacFailedStreamCreate:
1375 media::VideoCaptureError::kDesktopCaptureDeviceMacFailedStreamCreate;
1377 case media::mojom::VideoCaptureError::
1378 kDesktopCaptureDeviceMacFailedStreamStart:
1380 media::VideoCaptureError::kDesktopCaptureDeviceMacFailedStreamStart;
1382 case media::mojom::VideoCaptureError::
1383 kCrosHalV3BufferManagerFailedToReserveBuffers:
1384 *output = media::VideoCaptureError::
1385 kCrosHalV3BufferManagerFailedToReserveBuffers;
1387 case media::mojom::VideoCaptureError::
1388 kWinMediaFoundationSystemPermissionDenied:
1390 media::VideoCaptureError::kWinMediaFoundationSystemPermissionDenied;
1392 case media::mojom::VideoCaptureError::kVideoCaptureImplTimedOutOnStart:
1393 *output = media::VideoCaptureError::kVideoCaptureImplTimedOutOnStart;
1395 case media::mojom::VideoCaptureError::
1396 kLacrosVideoCaptureDeviceProxyAlreadyEndedOnFatalError:
1397 *output = media::VideoCaptureError::
1398 kLacrosVideoCaptureDeviceProxyAlreadyEndedOnFatalError;
1400 case media::mojom::VideoCaptureError::
1401 kLacrosVideoCaptureDeviceProxyEncounteredFatalError:
1402 *output = media::VideoCaptureError::
1403 kLacrosVideoCaptureDeviceProxyEncounteredFatalError;
1405 case media::mojom::VideoCaptureError::
1406 kScreenCaptureKitFailedGetShareableContent:
1408 media::VideoCaptureError::kScreenCaptureKitFailedGetShareableContent;
1410 case media::mojom::VideoCaptureError::
1411 kScreenCaptureKitFailedAddStreamOutput:
1413 media::VideoCaptureError::kScreenCaptureKitFailedAddStreamOutput;
1415 case media::mojom::VideoCaptureError::kScreenCaptureKitFailedStartCapture:
1416 *output = media::VideoCaptureError::kScreenCaptureKitFailedStartCapture;
1418 case media::mojom::VideoCaptureError::kScreenCaptureKitFailedStopCapture:
1419 *output = media::VideoCaptureError::kScreenCaptureKitFailedStopCapture;
1421 case media::mojom::VideoCaptureError::kScreenCaptureKitStreamError:
1422 *output = media::VideoCaptureError::kScreenCaptureKitStreamError;
1424 case media::mojom::VideoCaptureError::
1425 kScreenCaptureKitFailedToFindSCDisplay:
1427 media::VideoCaptureError::kScreenCaptureKitFailedToFindSCDisplay;
1429 case media::mojom::VideoCaptureError::
1430 kVideoCaptureControllerUnsupportedPixelFormat:
1431 *output = media::VideoCaptureError::
1432 kVideoCaptureControllerUnsupportedPixelFormat;
1434 case media::mojom::VideoCaptureError::kVideoCaptureControllerInvalid:
1435 *output = media::VideoCaptureError::kVideoCaptureControllerInvalid;
1437 case media::mojom::VideoCaptureError::
1438 kVideoCaptureDeviceFactoryChromeOSCreateDeviceFailed:
1439 *output = media::VideoCaptureError::
1440 kVideoCaptureDeviceFactoryChromeOSCreateDeviceFailed;
1442 case media::mojom::VideoCaptureError::kVideoCaptureDeviceAlreadyReleased:
1443 *output = media::VideoCaptureError::kVideoCaptureDeviceAlreadyReleased;
1445 case media::mojom::VideoCaptureError::kVideoCaptureSystemDeviceIdNotFound:
1446 *output = media::VideoCaptureError::kVideoCaptureSystemDeviceIdNotFound;
1448 case media::mojom::VideoCaptureError::
1449 kVideoCaptureDeviceFactoryWinUnknownError:
1451 media::VideoCaptureError::kVideoCaptureDeviceFactoryWinUnknownError;
1453 case media::mojom::VideoCaptureError::
1454 kWinMediaFoundationDeviceInitializationFailed:
1455 *output = media::VideoCaptureError::
1456 kWinMediaFoundationDeviceInitializationFailed;
1458 case media::mojom::VideoCaptureError::
1459 kWinMediaFoundationSourceCreationFailed:
1461 media::VideoCaptureError::kWinMediaFoundationSourceCreationFailed;
1463 case media::mojom::VideoCaptureError::
1464 kWinDirectShowDeviceFilterCreationFailed:
1466 media::VideoCaptureError::kWinDirectShowDeviceFilterCreationFailed;
1468 case media::mojom::VideoCaptureError::
1469 kWinDirectShowDeviceInitializationFailed:
1471 media::VideoCaptureError::kWinDirectShowDeviceInitializationFailed;
1473 case media::mojom::VideoCaptureError::
1474 kVideoCaptureDeviceFactorySecondCreateDenied:
1475 *output = media::VideoCaptureError::
1476 kVideoCaptureDeviceFactorySecondCreateDenied;
1478 case media::mojom::VideoCaptureError::kScreenCaptureKitResetStreamError:
1479 *output = media::VideoCaptureError::kScreenCaptureKitResetStreamError;
1481 case media::mojom::VideoCaptureError::kWinMediaFoundationCameraBusy:
1482 *output = media::VideoCaptureError::kWinMediaFoundationCameraBusy;
1485 NOTREACHED_NORETURN();
1489 media::mojom::VideoCaptureFrameDropReason
1490 EnumTraits<media::mojom::VideoCaptureFrameDropReason,
1491 media::VideoCaptureFrameDropReason>::
1492 ToMojom(media::VideoCaptureFrameDropReason input) {
1494 case media::VideoCaptureFrameDropReason::kNone:
1495 return media::mojom::VideoCaptureFrameDropReason::kNone;
1496 case media::VideoCaptureFrameDropReason::kDeviceClientFrameHasInvalidFormat:
1497 return media::mojom::VideoCaptureFrameDropReason::
1498 kDeviceClientFrameHasInvalidFormat;
1499 case media::VideoCaptureFrameDropReason::
1500 kDeviceClientLibyuvConvertToI420Failed:
1501 return media::mojom::VideoCaptureFrameDropReason::
1502 kDeviceClientLibyuvConvertToI420Failed;
1503 case media::VideoCaptureFrameDropReason::kV4L2BufferErrorFlagWasSet:
1504 return media::mojom::VideoCaptureFrameDropReason::
1505 kV4L2BufferErrorFlagWasSet;
1506 case media::VideoCaptureFrameDropReason::kV4L2InvalidNumberOfBytesInBuffer:
1507 return media::mojom::VideoCaptureFrameDropReason::
1508 kV4L2InvalidNumberOfBytesInBuffer;
1509 case media::VideoCaptureFrameDropReason::kAndroidThrottling:
1510 return media::mojom::VideoCaptureFrameDropReason::kAndroidThrottling;
1511 case media::VideoCaptureFrameDropReason::kAndroidGetByteArrayElementsFailed:
1512 return media::mojom::VideoCaptureFrameDropReason::
1513 kAndroidGetByteArrayElementsFailed;
1514 case media::VideoCaptureFrameDropReason::kAndroidApi1UnexpectedDataLength:
1515 return media::mojom::VideoCaptureFrameDropReason::
1516 kAndroidApi1UnexpectedDataLength;
1517 case media::VideoCaptureFrameDropReason::kAndroidApi2AcquiredImageIsNull:
1518 return media::mojom::VideoCaptureFrameDropReason::
1519 kAndroidApi2AcquiredImageIsNull;
1520 case media::VideoCaptureFrameDropReason::
1521 kWinDirectShowUnexpectedSampleLength:
1522 return media::mojom::VideoCaptureFrameDropReason::
1523 kWinDirectShowUnexpectedSampleLength;
1524 case media::VideoCaptureFrameDropReason::
1525 kWinDirectShowFailedToGetMemoryPointerFromMediaSample:
1526 return media::mojom::VideoCaptureFrameDropReason::
1527 kWinDirectShowFailedToGetMemoryPointerFromMediaSample;
1528 case media::VideoCaptureFrameDropReason::
1529 kWinMediaFoundationReceivedSampleIsNull:
1530 return media::mojom::VideoCaptureFrameDropReason::
1531 kWinMediaFoundationReceivedSampleIsNull;
1532 case media::VideoCaptureFrameDropReason::
1533 kWinMediaFoundationLockingBufferDelieveredNullptr:
1534 return media::mojom::VideoCaptureFrameDropReason::
1535 kWinMediaFoundationLockingBufferDelieveredNullptr;
1536 case media::VideoCaptureFrameDropReason::
1537 kWinMediaFoundationGetBufferByIndexReturnedNull:
1538 return media::mojom::VideoCaptureFrameDropReason::
1539 kWinMediaFoundationGetBufferByIndexReturnedNull;
1540 case media::VideoCaptureFrameDropReason::kBufferPoolMaxBufferCountExceeded:
1541 return media::mojom::VideoCaptureFrameDropReason::
1542 kBufferPoolMaxBufferCountExceeded;
1543 case media::VideoCaptureFrameDropReason::kBufferPoolBufferAllocationFailed:
1544 return media::mojom::VideoCaptureFrameDropReason::
1545 kBufferPoolBufferAllocationFailed;
1546 case media::VideoCaptureFrameDropReason::kVideoCaptureImplNotInStartedState:
1547 return media::mojom::VideoCaptureFrameDropReason::
1548 kVideoCaptureImplNotInStartedState;
1549 case media::VideoCaptureFrameDropReason::
1550 kVideoCaptureImplFailedToWrapDataAsMediaVideoFrame:
1551 return media::mojom::VideoCaptureFrameDropReason::
1552 kVideoCaptureImplFailedToWrapDataAsMediaVideoFrame;
1553 case media::VideoCaptureFrameDropReason::
1554 kVideoTrackAdapterHasNoResolutionAdapters:
1555 return media::mojom::VideoCaptureFrameDropReason::
1556 kVideoTrackAdapterHasNoResolutionAdapters;
1557 case media::VideoCaptureFrameDropReason::kResolutionAdapterFrameIsNotValid:
1558 return media::mojom::VideoCaptureFrameDropReason::
1559 kResolutionAdapterFrameIsNotValid;
1560 case media::VideoCaptureFrameDropReason::
1561 kResolutionAdapterWrappingFrameForCroppingFailed:
1562 return media::mojom::VideoCaptureFrameDropReason::
1563 kResolutionAdapterWrappingFrameForCroppingFailed;
1564 case media::VideoCaptureFrameDropReason::
1565 kResolutionAdapterFrameRateIsHigherThanRequested:
1566 return media::mojom::VideoCaptureFrameDropReason::
1567 kResolutionAdapterFrameRateIsHigherThanRequested;
1568 case media::VideoCaptureFrameDropReason::kResolutionAdapterHasNoCallbacks:
1569 return media::mojom::VideoCaptureFrameDropReason::
1570 kResolutionAdapterHasNoCallbacks;
1571 case media::VideoCaptureFrameDropReason::
1572 kVideoTrackFrameDelivererNotEnabledReplacingWithBlackFrame:
1573 return media::mojom::VideoCaptureFrameDropReason::
1574 kVideoTrackFrameDelivererNotEnabledReplacingWithBlackFrame;
1575 case media::VideoCaptureFrameDropReason::
1576 kRendererSinkFrameDelivererIsNotStarted:
1577 return media::mojom::VideoCaptureFrameDropReason::
1578 kRendererSinkFrameDelivererIsNotStarted;
1579 case media::VideoCaptureFrameDropReason::kCropVersionNotCurrent_DEPRECATED:
1580 return media::mojom::VideoCaptureFrameDropReason::
1581 kCropVersionNotCurrent_DEPRECATED;
1582 case media::VideoCaptureFrameDropReason::kGpuMemoryBufferMapFailed:
1583 return media::mojom::VideoCaptureFrameDropReason::
1584 kGpuMemoryBufferMapFailed;
1585 case media::VideoCaptureFrameDropReason::kSubCaptureTargetVersionNotCurrent:
1586 return media::mojom::VideoCaptureFrameDropReason::
1587 kSubCaptureTargetVersionNotCurrent;
1589 NOTREACHED_NORETURN();
1593 bool EnumTraits<media::mojom::VideoCaptureFrameDropReason,
1594 media::VideoCaptureFrameDropReason>::
1595 FromMojom(media::mojom::VideoCaptureFrameDropReason input,
1596 media::VideoCaptureFrameDropReason* output) {
1598 case media::mojom::VideoCaptureFrameDropReason::kNone:
1599 *output = media::VideoCaptureFrameDropReason::kNone;
1601 case media::mojom::VideoCaptureFrameDropReason::
1602 kDeviceClientFrameHasInvalidFormat:
1603 *output = media::VideoCaptureFrameDropReason::
1604 kDeviceClientFrameHasInvalidFormat;
1606 case media::mojom::VideoCaptureFrameDropReason::
1607 kDeviceClientLibyuvConvertToI420Failed:
1608 *output = media::VideoCaptureFrameDropReason::
1609 kDeviceClientLibyuvConvertToI420Failed;
1611 case media::mojom::VideoCaptureFrameDropReason::kV4L2BufferErrorFlagWasSet:
1612 *output = media::VideoCaptureFrameDropReason::kV4L2BufferErrorFlagWasSet;
1614 case media::mojom::VideoCaptureFrameDropReason::
1615 kV4L2InvalidNumberOfBytesInBuffer:
1617 media::VideoCaptureFrameDropReason::kV4L2InvalidNumberOfBytesInBuffer;
1619 case media::mojom::VideoCaptureFrameDropReason::kAndroidThrottling:
1620 *output = media::VideoCaptureFrameDropReason::kAndroidThrottling;
1622 case media::mojom::VideoCaptureFrameDropReason::
1623 kAndroidGetByteArrayElementsFailed:
1624 *output = media::VideoCaptureFrameDropReason::
1625 kAndroidGetByteArrayElementsFailed;
1627 case media::mojom::VideoCaptureFrameDropReason::
1628 kAndroidApi1UnexpectedDataLength:
1630 media::VideoCaptureFrameDropReason::kAndroidApi1UnexpectedDataLength;
1632 case media::mojom::VideoCaptureFrameDropReason::
1633 kAndroidApi2AcquiredImageIsNull:
1635 media::VideoCaptureFrameDropReason::kAndroidApi2AcquiredImageIsNull;
1637 case media::mojom::VideoCaptureFrameDropReason::
1638 kWinDirectShowUnexpectedSampleLength:
1639 *output = media::VideoCaptureFrameDropReason::
1640 kWinDirectShowUnexpectedSampleLength;
1642 case media::mojom::VideoCaptureFrameDropReason::
1643 kWinDirectShowFailedToGetMemoryPointerFromMediaSample:
1644 *output = media::VideoCaptureFrameDropReason::
1645 kWinDirectShowFailedToGetMemoryPointerFromMediaSample;
1647 case media::mojom::VideoCaptureFrameDropReason::
1648 kWinMediaFoundationReceivedSampleIsNull:
1649 *output = media::VideoCaptureFrameDropReason::
1650 kWinMediaFoundationReceivedSampleIsNull;
1652 case media::mojom::VideoCaptureFrameDropReason::
1653 kWinMediaFoundationLockingBufferDelieveredNullptr:
1654 *output = media::VideoCaptureFrameDropReason::
1655 kWinMediaFoundationLockingBufferDelieveredNullptr;
1657 case media::mojom::VideoCaptureFrameDropReason::
1658 kWinMediaFoundationGetBufferByIndexReturnedNull:
1659 *output = media::VideoCaptureFrameDropReason::
1660 kWinMediaFoundationGetBufferByIndexReturnedNull;
1662 case media::mojom::VideoCaptureFrameDropReason::
1663 kBufferPoolMaxBufferCountExceeded:
1665 media::VideoCaptureFrameDropReason::kBufferPoolMaxBufferCountExceeded;
1667 case media::mojom::VideoCaptureFrameDropReason::
1668 kBufferPoolBufferAllocationFailed:
1670 media::VideoCaptureFrameDropReason::kBufferPoolBufferAllocationFailed;
1672 case media::mojom::VideoCaptureFrameDropReason::
1673 kVideoCaptureImplNotInStartedState:
1674 *output = media::VideoCaptureFrameDropReason::
1675 kVideoCaptureImplNotInStartedState;
1677 case media::mojom::VideoCaptureFrameDropReason::
1678 kVideoCaptureImplFailedToWrapDataAsMediaVideoFrame:
1679 *output = media::VideoCaptureFrameDropReason::
1680 kVideoCaptureImplFailedToWrapDataAsMediaVideoFrame;
1682 case media::mojom::VideoCaptureFrameDropReason::
1683 kVideoTrackAdapterHasNoResolutionAdapters:
1684 *output = media::VideoCaptureFrameDropReason::
1685 kVideoTrackAdapterHasNoResolutionAdapters;
1687 case media::mojom::VideoCaptureFrameDropReason::
1688 kResolutionAdapterFrameIsNotValid:
1690 media::VideoCaptureFrameDropReason::kResolutionAdapterFrameIsNotValid;
1692 case media::mojom::VideoCaptureFrameDropReason::
1693 kResolutionAdapterWrappingFrameForCroppingFailed:
1694 *output = media::VideoCaptureFrameDropReason::
1695 kResolutionAdapterWrappingFrameForCroppingFailed;
1697 case media::mojom::VideoCaptureFrameDropReason::
1698 kResolutionAdapterTimestampTooCloseToPrevious_DEPRECATED:
1701 case media::mojom::VideoCaptureFrameDropReason::
1702 kResolutionAdapterFrameRateIsHigherThanRequested:
1703 *output = media::VideoCaptureFrameDropReason::
1704 kResolutionAdapterFrameRateIsHigherThanRequested;
1706 case media::mojom::VideoCaptureFrameDropReason::
1707 kResolutionAdapterHasNoCallbacks:
1709 media::VideoCaptureFrameDropReason::kResolutionAdapterHasNoCallbacks;
1711 case media::mojom::VideoCaptureFrameDropReason::
1712 kVideoTrackFrameDelivererNotEnabledReplacingWithBlackFrame:
1713 *output = media::VideoCaptureFrameDropReason::
1714 kVideoTrackFrameDelivererNotEnabledReplacingWithBlackFrame;
1716 case media::mojom::VideoCaptureFrameDropReason::
1717 kRendererSinkFrameDelivererIsNotStarted:
1718 *output = media::VideoCaptureFrameDropReason::
1719 kRendererSinkFrameDelivererIsNotStarted;
1721 case media::mojom::VideoCaptureFrameDropReason::
1722 kCropVersionNotCurrent_DEPRECATED:
1724 media::VideoCaptureFrameDropReason::kCropVersionNotCurrent_DEPRECATED;
1726 case media::mojom::VideoCaptureFrameDropReason::kGpuMemoryBufferMapFailed:
1727 *output = media::VideoCaptureFrameDropReason::kGpuMemoryBufferMapFailed;
1729 case media::mojom::VideoCaptureFrameDropReason::
1730 kSubCaptureTargetVersionNotCurrent:
1731 *output = media::VideoCaptureFrameDropReason::
1732 kSubCaptureTargetVersionNotCurrent;
1735 NOTREACHED_NORETURN();
1739 media::mojom::VideoFacingMode
1740 EnumTraits<media::mojom::VideoFacingMode, media::VideoFacingMode>::ToMojom(
1741 media::VideoFacingMode input) {
1743 case media::VideoFacingMode::MEDIA_VIDEO_FACING_NONE:
1744 return media::mojom::VideoFacingMode::NONE;
1745 case media::VideoFacingMode::MEDIA_VIDEO_FACING_USER:
1746 return media::mojom::VideoFacingMode::USER;
1747 case media::VideoFacingMode::MEDIA_VIDEO_FACING_ENVIRONMENT:
1748 return media::mojom::VideoFacingMode::ENVIRONMENT;
1749 case media::VideoFacingMode::NUM_MEDIA_VIDEO_FACING_MODES:
1750 NOTREACHED_NORETURN();
1752 NOTREACHED_NORETURN();
1756 bool EnumTraits<media::mojom::VideoFacingMode, media::VideoFacingMode>::
1757 FromMojom(media::mojom::VideoFacingMode input,
1758 media::VideoFacingMode* output) {
1760 case media::mojom::VideoFacingMode::NONE:
1761 *output = media::VideoFacingMode::MEDIA_VIDEO_FACING_NONE;
1763 case media::mojom::VideoFacingMode::USER:
1764 *output = media::VideoFacingMode::MEDIA_VIDEO_FACING_USER;
1766 case media::mojom::VideoFacingMode::ENVIRONMENT:
1767 *output = media::VideoFacingMode::MEDIA_VIDEO_FACING_ENVIRONMENT;
1770 NOTREACHED_NORETURN();
1774 media::mojom::VideoCaptureApi
1775 EnumTraits<media::mojom::VideoCaptureApi, media::VideoCaptureApi>::ToMojom(
1776 media::VideoCaptureApi input) {
1778 case media::VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE:
1779 return media::mojom::VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE;
1780 case media::VideoCaptureApi::WIN_MEDIA_FOUNDATION:
1781 return media::mojom::VideoCaptureApi::WIN_MEDIA_FOUNDATION;
1782 case media::VideoCaptureApi::WIN_MEDIA_FOUNDATION_SENSOR:
1783 return media::mojom::VideoCaptureApi::WIN_MEDIA_FOUNDATION_SENSOR;
1784 case media::VideoCaptureApi::WIN_DIRECT_SHOW:
1785 return media::mojom::VideoCaptureApi::WIN_DIRECT_SHOW;
1786 case media::VideoCaptureApi::MACOSX_AVFOUNDATION:
1787 return media::mojom::VideoCaptureApi::MACOSX_AVFOUNDATION;
1788 case media::VideoCaptureApi::MACOSX_DECKLINK:
1789 return media::mojom::VideoCaptureApi::MACOSX_DECKLINK;
1790 case media::VideoCaptureApi::ANDROID_API1:
1791 return media::mojom::VideoCaptureApi::ANDROID_API1;
1792 case media::VideoCaptureApi::ANDROID_API2_LEGACY:
1793 return media::mojom::VideoCaptureApi::ANDROID_API2_LEGACY;
1794 case media::VideoCaptureApi::ANDROID_API2_FULL:
1795 return media::mojom::VideoCaptureApi::ANDROID_API2_FULL;
1796 case media::VideoCaptureApi::ANDROID_API2_LIMITED:
1797 return media::mojom::VideoCaptureApi::ANDROID_API2_LIMITED;
1798 case media::VideoCaptureApi::FUCHSIA_CAMERA3:
1799 return media::mojom::VideoCaptureApi::FUCHSIA_CAMERA3;
1800 case media::VideoCaptureApi::VIRTUAL_DEVICE:
1801 return media::mojom::VideoCaptureApi::VIRTUAL_DEVICE;
1802 case media::VideoCaptureApi::UNKNOWN:
1803 return media::mojom::VideoCaptureApi::UNKNOWN;
1805 NOTREACHED_NORETURN();
1809 bool EnumTraits<media::mojom::VideoCaptureApi, media::VideoCaptureApi>::
1810 FromMojom(media::mojom::VideoCaptureApi input,
1811 media::VideoCaptureApi* output) {
1813 case media::mojom::VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE:
1814 *output = media::VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE;
1816 case media::mojom::VideoCaptureApi::WIN_MEDIA_FOUNDATION:
1817 *output = media::VideoCaptureApi::WIN_MEDIA_FOUNDATION;
1819 case media::mojom::VideoCaptureApi::WIN_MEDIA_FOUNDATION_SENSOR:
1820 *output = media::VideoCaptureApi::WIN_MEDIA_FOUNDATION_SENSOR;
1822 case media::mojom::VideoCaptureApi::WIN_DIRECT_SHOW:
1823 *output = media::VideoCaptureApi::WIN_DIRECT_SHOW;
1825 case media::mojom::VideoCaptureApi::MACOSX_AVFOUNDATION:
1826 *output = media::VideoCaptureApi::MACOSX_AVFOUNDATION;
1828 case media::mojom::VideoCaptureApi::MACOSX_DECKLINK:
1829 *output = media::VideoCaptureApi::MACOSX_DECKLINK;
1831 case media::mojom::VideoCaptureApi::ANDROID_API1:
1832 *output = media::VideoCaptureApi::ANDROID_API1;
1834 case media::mojom::VideoCaptureApi::ANDROID_API2_LEGACY:
1835 *output = media::VideoCaptureApi::ANDROID_API2_LEGACY;
1837 case media::mojom::VideoCaptureApi::ANDROID_API2_FULL:
1838 *output = media::VideoCaptureApi::ANDROID_API2_FULL;
1840 case media::mojom::VideoCaptureApi::ANDROID_API2_LIMITED:
1841 *output = media::VideoCaptureApi::ANDROID_API2_LIMITED;
1843 case media::mojom::VideoCaptureApi::FUCHSIA_CAMERA3:
1844 *output = media::VideoCaptureApi::FUCHSIA_CAMERA3;
1846 case media::mojom::VideoCaptureApi::VIRTUAL_DEVICE:
1847 *output = media::VideoCaptureApi::VIRTUAL_DEVICE;
1849 case media::mojom::VideoCaptureApi::UNKNOWN:
1850 *output = media::VideoCaptureApi::UNKNOWN;
1853 NOTREACHED_NORETURN();
1857 media::mojom::VideoCaptureTransportType EnumTraits<
1858 media::mojom::VideoCaptureTransportType,
1859 media::VideoCaptureTransportType>::ToMojom(media::VideoCaptureTransportType
1862 case media::VideoCaptureTransportType::APPLE_USB_OR_BUILT_IN:
1863 return media::mojom::VideoCaptureTransportType::APPLE_USB_OR_BUILT_IN;
1864 case media::VideoCaptureTransportType::OTHER_TRANSPORT:
1865 return media::mojom::VideoCaptureTransportType::OTHER_TRANSPORT;
1867 NOTREACHED_NORETURN();
1871 bool EnumTraits<media::mojom::VideoCaptureTransportType,
1872 media::VideoCaptureTransportType>::
1873 FromMojom(media::mojom::VideoCaptureTransportType input,
1874 media::VideoCaptureTransportType* output) {
1876 case media::mojom::VideoCaptureTransportType::APPLE_USB_OR_BUILT_IN:
1877 *output = media::VideoCaptureTransportType::APPLE_USB_OR_BUILT_IN;
1879 case media::mojom::VideoCaptureTransportType::OTHER_TRANSPORT:
1880 *output = media::VideoCaptureTransportType::OTHER_TRANSPORT;
1883 NOTREACHED_NORETURN();
1887 bool StructTraits<media::mojom::VideoCaptureControlSupportDataView,
1888 media::VideoCaptureControlSupport>::
1889 Read(media::mojom::VideoCaptureControlSupportDataView data,
1890 media::VideoCaptureControlSupport* out) {
1891 out->pan = data.pan();
1892 out->tilt = data.tilt();
1893 out->zoom = data.zoom();
1898 bool StructTraits<media::mojom::VideoCaptureFormatDataView,
1899 media::VideoCaptureFormat>::
1900 Read(media::mojom::VideoCaptureFormatDataView data,
1901 media::VideoCaptureFormat* out) {
1902 if (!data.ReadFrameSize(&out->frame_size))
1904 out->frame_rate = data.frame_rate();
1905 if (!data.ReadPixelFormat(&out->pixel_format))
1911 bool StructTraits<media::mojom::VideoCaptureParamsDataView,
1912 media::VideoCaptureParams>::
1913 Read(media::mojom::VideoCaptureParamsDataView data,
1914 media::VideoCaptureParams* out) {
1915 if (!data.ReadRequestedFormat(&out->requested_format))
1917 if (!data.ReadBufferType(&out->buffer_type))
1919 if (!data.ReadResolutionChangePolicy(&out->resolution_change_policy))
1921 if (!data.ReadPowerLineFrequency(&out->power_line_frequency))
1923 out->enable_face_detection = data.enable_face_detection();
1924 out->is_high_dpi_enabled = data.is_high_dpi_enabled();
1925 #if defined(TIZEN_MULTIMEDIA)
1926 out->lazy_start = data.lazy_start();
1932 bool StructTraits<media::mojom::VideoCaptureDeviceDescriptorDataView,
1933 media::VideoCaptureDeviceDescriptor>::
1934 Read(media::mojom::VideoCaptureDeviceDescriptorDataView data,
1935 media::VideoCaptureDeviceDescriptor* output) {
1936 std::string display_name;
1937 if (!data.ReadDisplayName(&display_name))
1939 output->set_display_name(display_name);
1940 if (!data.ReadDeviceId(&(output->device_id)))
1942 if (!data.ReadModelId(&(output->model_id)))
1944 if (!data.ReadFacingMode(&(output->facing)))
1946 if (!data.ReadCaptureApi(&(output->capture_api)))
1948 media::VideoCaptureControlSupport control_support;
1949 if (!data.ReadControlSupport(&control_support))
1951 output->set_control_support(control_support);
1952 if (!data.ReadTransportType(&(output->transport_type)))
1958 bool StructTraits<media::mojom::VideoCaptureDeviceInfoDataView,
1959 media::VideoCaptureDeviceInfo>::
1960 Read(media::mojom::VideoCaptureDeviceInfoDataView data,
1961 media::VideoCaptureDeviceInfo* output) {
1962 if (!data.ReadDescriptor(&(output->descriptor)))
1964 if (!data.ReadSupportedFormats(&(output->supported_formats)))
1970 bool StructTraits<media::mojom::VideoCaptureFeedbackDataView,
1971 media::VideoCaptureFeedback>::
1972 Read(media::mojom::VideoCaptureFeedbackDataView data,
1973 media::VideoCaptureFeedback* output) {
1974 output->max_framerate_fps = data.max_framerate_fps();
1975 output->max_pixels = data.max_pixels();
1976 output->resource_utilization = data.resource_utilization();
1977 output->require_mapped_frame = data.require_mapped_frame();
1979 // Only need to set the frame_id if it's valid; otherwise it is default
1980 // initialized to nullopt.
1981 if (data.has_frame_id())
1982 output->frame_id = data.frame_id();