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 defined(TIZEN_TBM_SUPPORT)
161 case media::VideoPixelFormat::PIXEL_FORMAT_TBM_SURFACE:
162 return media::mojom::VideoCapturePixelFormat::TBM_SURFACE;
165 NOTREACHED_NORETURN();
169 bool EnumTraits<media::mojom::VideoCapturePixelFormat,
170 media::VideoPixelFormat>::
171 FromMojom(media::mojom::VideoCapturePixelFormat input,
172 media::VideoPixelFormat* output) {
174 case media::mojom::VideoCapturePixelFormat::UNKNOWN:
175 *output = media::PIXEL_FORMAT_UNKNOWN;
177 case media::mojom::VideoCapturePixelFormat::I420:
178 *output = media::PIXEL_FORMAT_I420;
180 case media::mojom::VideoCapturePixelFormat::YV12:
181 *output = media::PIXEL_FORMAT_YV12;
183 case media::mojom::VideoCapturePixelFormat::I422:
184 *output = media::PIXEL_FORMAT_I422;
186 case media::mojom::VideoCapturePixelFormat::I420A:
187 *output = media::PIXEL_FORMAT_I420A;
189 case media::mojom::VideoCapturePixelFormat::I444:
190 *output = media::PIXEL_FORMAT_I444;
192 case media::mojom::VideoCapturePixelFormat::NV12:
193 *output = media::PIXEL_FORMAT_NV12;
195 case media::mojom::VideoCapturePixelFormat::NV21:
196 *output = media::PIXEL_FORMAT_NV21;
198 case media::mojom::VideoCapturePixelFormat::UYVY:
199 *output = media::PIXEL_FORMAT_UYVY;
201 case media::mojom::VideoCapturePixelFormat::YUY2:
202 *output = media::PIXEL_FORMAT_YUY2;
204 case media::mojom::VideoCapturePixelFormat::ARGB:
205 *output = media::PIXEL_FORMAT_ARGB;
207 case media::mojom::VideoCapturePixelFormat::XRGB:
208 *output = media::PIXEL_FORMAT_XRGB;
210 case media::mojom::VideoCapturePixelFormat::RGB24:
211 *output = media::PIXEL_FORMAT_RGB24;
213 case media::mojom::VideoCapturePixelFormat::MJPEG:
214 *output = media::PIXEL_FORMAT_MJPEG;
216 case media::mojom::VideoCapturePixelFormat::YUV420P9:
217 *output = media::PIXEL_FORMAT_YUV420P9;
219 case media::mojom::VideoCapturePixelFormat::YUV420P10:
220 *output = media::PIXEL_FORMAT_YUV420P10;
222 case media::mojom::VideoCapturePixelFormat::YUV422P9:
223 *output = media::PIXEL_FORMAT_YUV422P9;
225 case media::mojom::VideoCapturePixelFormat::YUV422P10:
226 *output = media::PIXEL_FORMAT_YUV422P10;
228 case media::mojom::VideoCapturePixelFormat::YUV444P9:
229 *output = media::PIXEL_FORMAT_YUV444P9;
231 case media::mojom::VideoCapturePixelFormat::YUV444P10:
232 *output = media::PIXEL_FORMAT_YUV444P10;
234 case media::mojom::VideoCapturePixelFormat::YUV420P12:
235 *output = media::PIXEL_FORMAT_YUV420P12;
237 case media::mojom::VideoCapturePixelFormat::YUV422P12:
238 *output = media::PIXEL_FORMAT_YUV422P12;
240 case media::mojom::VideoCapturePixelFormat::YUV444P12:
241 *output = media::PIXEL_FORMAT_YUV444P12;
243 case media::mojom::VideoCapturePixelFormat::Y16:
244 *output = media::PIXEL_FORMAT_Y16;
246 case media::mojom::VideoCapturePixelFormat::ABGR:
247 *output = media::PIXEL_FORMAT_ABGR;
249 case media::mojom::VideoCapturePixelFormat::XBGR:
250 *output = media::PIXEL_FORMAT_XBGR;
252 case media::mojom::VideoCapturePixelFormat::P016LE:
253 *output = media::PIXEL_FORMAT_P016LE;
255 case media::mojom::VideoCapturePixelFormat::XR30:
256 *output = media::PIXEL_FORMAT_XR30;
258 case media::mojom::VideoCapturePixelFormat::XB30:
259 *output = media::PIXEL_FORMAT_XB30;
261 case media::mojom::VideoCapturePixelFormat::BGRA:
262 *output = media::PIXEL_FORMAT_BGRA;
264 case media::mojom::VideoCapturePixelFormat::RGBAF16:
265 *output = media::PIXEL_FORMAT_RGBAF16;
267 case media::mojom::VideoCapturePixelFormat::I422A:
268 *output = media::PIXEL_FORMAT_I422A;
270 case media::mojom::VideoCapturePixelFormat::I444A:
271 *output = media::PIXEL_FORMAT_I444A;
273 case media::mojom::VideoCapturePixelFormat::YUV420AP10:
274 *output = media::PIXEL_FORMAT_YUV420AP10;
276 case media::mojom::VideoCapturePixelFormat::YUV422AP10:
277 *output = media::PIXEL_FORMAT_YUV422AP10;
279 case media::mojom::VideoCapturePixelFormat::YUV444AP10:
280 *output = media::PIXEL_FORMAT_YUV444AP10;
282 case media::mojom::VideoCapturePixelFormat::NV12A:
283 *output = media::PIXEL_FORMAT_NV12A;
285 #if defined(TIZEN_TBM_SUPPORT)
286 case media::mojom::VideoCapturePixelFormat::TBM_SURFACE:
287 *output = media::PIXEL_FORMAT_TBM_SURFACE;
291 NOTREACHED_NORETURN();
295 media::mojom::VideoCaptureBufferType
296 EnumTraits<media::mojom::VideoCaptureBufferType,
297 media::VideoCaptureBufferType>::ToMojom(media::VideoCaptureBufferType
300 case media::VideoCaptureBufferType::kSharedMemory:
301 return media::mojom::VideoCaptureBufferType::kSharedMemory;
302 case media::VideoCaptureBufferType::kMailboxHolder:
303 return media::mojom::VideoCaptureBufferType::kMailboxHolder;
304 case media::VideoCaptureBufferType::kGpuMemoryBuffer:
305 return media::mojom::VideoCaptureBufferType::kGpuMemoryBuffer;
307 NOTREACHED_NORETURN();
311 bool EnumTraits<media::mojom::VideoCaptureBufferType,
312 media::VideoCaptureBufferType>::
313 FromMojom(media::mojom::VideoCaptureBufferType input,
314 media::VideoCaptureBufferType* output) {
316 case media::mojom::VideoCaptureBufferType::kSharedMemory:
317 *output = media::VideoCaptureBufferType::kSharedMemory;
319 case media::mojom::VideoCaptureBufferType::
320 kSharedMemoryViaRawFileDescriptor_DEPRECATED:
321 NOTREACHED_NORETURN();
322 case media::mojom::VideoCaptureBufferType::kMailboxHolder:
323 *output = media::VideoCaptureBufferType::kMailboxHolder;
325 case media::mojom::VideoCaptureBufferType::kGpuMemoryBuffer:
326 *output = media::VideoCaptureBufferType::kGpuMemoryBuffer;
329 NOTREACHED_NORETURN();
333 media::mojom::VideoCaptureError
334 EnumTraits<media::mojom::VideoCaptureError, media::VideoCaptureError>::ToMojom(
335 media::VideoCaptureError input) {
337 case media::VideoCaptureError::kNone:
338 return media::mojom::VideoCaptureError::kNone;
339 case media::VideoCaptureError::
340 kVideoCaptureControllerInvalidOrUnsupportedVideoCaptureParametersRequested:
341 return media::mojom::VideoCaptureError::
342 kVideoCaptureControllerInvalidOrUnsupportedVideoCaptureParametersRequested;
343 case media::VideoCaptureError::kVideoCaptureControllerIsAlreadyInErrorState:
344 return media::mojom::VideoCaptureError::
345 kVideoCaptureControllerIsAlreadyInErrorState;
346 case media::VideoCaptureError::kVideoCaptureManagerDeviceConnectionLost:
347 return media::mojom::VideoCaptureError::
348 kVideoCaptureManagerDeviceConnectionLost;
349 case media::VideoCaptureError::
350 kFrameSinkVideoCaptureDeviceAlreadyEndedOnFatalError:
351 return media::mojom::VideoCaptureError::
352 kFrameSinkVideoCaptureDeviceAlreadyEndedOnFatalError;
353 case media::VideoCaptureError::
354 kFrameSinkVideoCaptureDeviceEncounteredFatalError:
355 return media::mojom::VideoCaptureError::
356 kFrameSinkVideoCaptureDeviceEncounteredFatalError;
357 case media::VideoCaptureError::kV4L2FailedToOpenV4L2DeviceDriverFile:
358 return media::mojom::VideoCaptureError::
359 kV4L2FailedToOpenV4L2DeviceDriverFile;
360 case media::VideoCaptureError::kV4L2ThisIsNotAV4L2VideoCaptureDevice:
361 return media::mojom::VideoCaptureError::
362 kV4L2ThisIsNotAV4L2VideoCaptureDevice;
363 case media::VideoCaptureError::kV4L2FailedToFindASupportedCameraFormat:
364 return media::mojom::VideoCaptureError::
365 kV4L2FailedToFindASupportedCameraFormat;
366 case media::VideoCaptureError::kV4L2FailedToSetVideoCaptureFormat:
367 return media::mojom::VideoCaptureError::
368 kV4L2FailedToSetVideoCaptureFormat;
369 case media::VideoCaptureError::kV4L2UnsupportedPixelFormat:
370 return media::mojom::VideoCaptureError::kV4L2UnsupportedPixelFormat;
371 case media::VideoCaptureError::kV4L2FailedToSetCameraFramerate:
372 return media::mojom::VideoCaptureError::kV4L2FailedToSetCameraFramerate;
373 case media::VideoCaptureError::kV4L2ErrorRequestingMmapBuffers:
374 return media::mojom::VideoCaptureError::kV4L2ErrorRequestingMmapBuffers;
375 case media::VideoCaptureError::kV4L2AllocateBufferFailed:
376 return media::mojom::VideoCaptureError::kV4L2AllocateBufferFailed;
377 case media::VideoCaptureError::kV4L2VidiocStreamonFailed:
378 return media::mojom::VideoCaptureError::kV4L2VidiocStreamonFailed;
379 case media::VideoCaptureError::kV4L2VidiocStreamoffFailed:
380 return media::mojom::VideoCaptureError::kV4L2VidiocStreamoffFailed;
381 case media::VideoCaptureError::kV4L2FailedToVidiocReqbufsWithCount0:
382 return media::mojom::VideoCaptureError::
383 kV4L2FailedToVidiocReqbufsWithCount0;
384 case media::VideoCaptureError::kV4L2PollFailed:
385 return media::mojom::VideoCaptureError::kV4L2PollFailed;
386 case media::VideoCaptureError::
387 kV4L2MultipleContinuousTimeoutsWhileReadPolling:
388 return media::mojom::VideoCaptureError::
389 kV4L2MultipleContinuousTimeoutsWhileReadPolling;
390 case media::VideoCaptureError::kV4L2FailedToDequeueCaptureBuffer:
391 return media::mojom::VideoCaptureError::kV4L2FailedToDequeueCaptureBuffer;
392 case media::VideoCaptureError::kV4L2FailedToEnqueueCaptureBuffer:
393 return media::mojom::VideoCaptureError::kV4L2FailedToEnqueueCaptureBuffer;
394 case media::VideoCaptureError::
395 kSingleClientVideoCaptureHostLostConnectionToDevice:
396 return media::mojom::VideoCaptureError::
397 kSingleClientVideoCaptureHostLostConnectionToDevice;
398 case media::VideoCaptureError::kSingleClientVideoCaptureDeviceLaunchAborted:
399 return media::mojom::VideoCaptureError::
400 kSingleClientVideoCaptureDeviceLaunchAborted;
401 case media::VideoCaptureError::
402 kDesktopCaptureDeviceWebrtcDesktopCapturerHasFailed:
403 return media::mojom::VideoCaptureError::
404 kDesktopCaptureDeviceWebrtcDesktopCapturerHasFailed;
405 case media::VideoCaptureError::kFileVideoCaptureDeviceCouldNotOpenVideoFile:
406 return media::mojom::VideoCaptureError::
407 kFileVideoCaptureDeviceCouldNotOpenVideoFile;
408 case media::VideoCaptureError::
409 kDeviceCaptureLinuxFailedToCreateVideoCaptureDelegate:
410 return media::mojom::VideoCaptureError::
411 kDeviceCaptureLinuxFailedToCreateVideoCaptureDelegate;
412 case media::VideoCaptureError::
413 kErrorFakeDeviceIntentionallyEmittingErrorEvent:
414 return media::mojom::VideoCaptureError::
415 kErrorFakeDeviceIntentionallyEmittingErrorEvent;
416 case media::VideoCaptureError::kDeviceClientTooManyFramesDroppedY16:
417 return media::mojom::VideoCaptureError::
418 kDeviceClientTooManyFramesDroppedY16;
419 case media::VideoCaptureError::
420 kDeviceMediaToMojoAdapterEncounteredUnsupportedBufferType:
421 return media::mojom::VideoCaptureError::
422 kDeviceMediaToMojoAdapterEncounteredUnsupportedBufferType;
423 case media::VideoCaptureError::
424 kVideoCaptureManagerProcessDeviceStartQueueDeviceInfoNotFound:
425 return media::mojom::VideoCaptureError::
426 kVideoCaptureManagerProcessDeviceStartQueueDeviceInfoNotFound;
427 case media::VideoCaptureError::
428 kInProcessDeviceLauncherFailedToCreateDeviceInstance:
429 return media::mojom::VideoCaptureError::
430 kInProcessDeviceLauncherFailedToCreateDeviceInstance;
431 case media::VideoCaptureError::
432 kServiceDeviceLauncherLostConnectionToDeviceFactoryDuringDeviceStart:
433 return media::mojom::VideoCaptureError::
434 kServiceDeviceLauncherLostConnectionToDeviceFactoryDuringDeviceStart;
435 case media::VideoCaptureError::
436 kServiceDeviceLauncherServiceRespondedWithDeviceNotFound:
437 return media::mojom::VideoCaptureError::
438 kServiceDeviceLauncherServiceRespondedWithDeviceNotFound;
439 case media::VideoCaptureError::
440 kServiceDeviceLauncherConnectionLostWhileWaitingForCallback:
441 return media::mojom::VideoCaptureError::
442 kServiceDeviceLauncherConnectionLostWhileWaitingForCallback;
443 case media::VideoCaptureError::kIntentionalErrorRaisedByUnitTest:
444 return media::mojom::VideoCaptureError::kIntentionalErrorRaisedByUnitTest;
445 case media::VideoCaptureError::kCrosHalV3FailedToStartDeviceThread:
446 return media::mojom::VideoCaptureError::
447 kCrosHalV3FailedToStartDeviceThread;
448 case media::VideoCaptureError::kCrosHalV3DeviceDelegateMojoConnectionError:
449 return media::mojom::VideoCaptureError::
450 kCrosHalV3DeviceDelegateMojoConnectionError;
451 case media::VideoCaptureError::
452 kCrosHalV3DeviceDelegateFailedToGetCameraInfo:
453 return media::mojom::VideoCaptureError::
454 kCrosHalV3DeviceDelegateFailedToGetCameraInfo;
455 case media::VideoCaptureError::
456 kCrosHalV3DeviceDelegateMissingSensorOrientationInfo:
457 return media::mojom::VideoCaptureError::
458 kCrosHalV3DeviceDelegateMissingSensorOrientationInfo;
459 case media::VideoCaptureError::
460 kCrosHalV3DeviceDelegateFailedToOpenCameraDevice:
461 return media::mojom::VideoCaptureError::
462 kCrosHalV3DeviceDelegateFailedToOpenCameraDevice;
463 case media::VideoCaptureError::
464 kCrosHalV3DeviceDelegateFailedToInitializeCameraDevice:
465 return media::mojom::VideoCaptureError::
466 kCrosHalV3DeviceDelegateFailedToInitializeCameraDevice;
467 case media::VideoCaptureError::
468 kCrosHalV3DeviceDelegateFailedToConfigureStreams:
469 return media::mojom::VideoCaptureError::
470 kCrosHalV3DeviceDelegateFailedToConfigureStreams;
471 case media::VideoCaptureError::
472 kCrosHalV3DeviceDelegateWrongNumberOfStreamsConfigured:
473 return media::mojom::VideoCaptureError::
474 kCrosHalV3DeviceDelegateWrongNumberOfStreamsConfigured;
475 case media::VideoCaptureError::
476 kCrosHalV3DeviceDelegateFailedToGetDefaultRequestSettings:
477 return media::mojom::VideoCaptureError::
478 kCrosHalV3DeviceDelegateFailedToGetDefaultRequestSettings;
479 case media::VideoCaptureError::
480 kCrosHalV3BufferManagerHalRequestedTooManyBuffers:
481 return media::mojom::VideoCaptureError::
482 kCrosHalV3BufferManagerHalRequestedTooManyBuffers;
483 case media::VideoCaptureError::
484 kCrosHalV3BufferManagerFailedToCreateGpuMemoryBuffer:
485 return media::mojom::VideoCaptureError::
486 kCrosHalV3BufferManagerFailedToCreateGpuMemoryBuffer;
487 case media::VideoCaptureError::
488 kCrosHalV3BufferManagerFailedToMapGpuMemoryBuffer:
489 return media::mojom::VideoCaptureError::
490 kCrosHalV3BufferManagerFailedToMapGpuMemoryBuffer;
491 case media::VideoCaptureError::
492 kCrosHalV3BufferManagerUnsupportedVideoPixelFormat:
493 return media::mojom::VideoCaptureError::
494 kCrosHalV3BufferManagerUnsupportedVideoPixelFormat;
495 case media::VideoCaptureError::kCrosHalV3BufferManagerFailedToDupFd:
496 return media::mojom::VideoCaptureError::
497 kCrosHalV3BufferManagerFailedToDupFd;
498 case media::VideoCaptureError::
499 kCrosHalV3BufferManagerFailedToWrapGpuMemoryHandle:
500 return media::mojom::VideoCaptureError::
501 kCrosHalV3BufferManagerFailedToWrapGpuMemoryHandle;
502 case media::VideoCaptureError::
503 kCrosHalV3BufferManagerFailedToRegisterBuffer:
504 return media::mojom::VideoCaptureError::
505 kCrosHalV3BufferManagerFailedToRegisterBuffer;
506 case media::VideoCaptureError::
507 kCrosHalV3BufferManagerProcessCaptureRequestFailed:
508 return media::mojom::VideoCaptureError::
509 kCrosHalV3BufferManagerProcessCaptureRequestFailed;
510 case media::VideoCaptureError::
511 kCrosHalV3BufferManagerInvalidPendingResultId:
512 return media::mojom::VideoCaptureError::
513 kCrosHalV3BufferManagerInvalidPendingResultId;
514 case media::VideoCaptureError::
515 kCrosHalV3BufferManagerReceivedDuplicatedPartialMetadata:
516 return media::mojom::VideoCaptureError::
517 kCrosHalV3BufferManagerReceivedDuplicatedPartialMetadata;
518 case media::VideoCaptureError::
519 kCrosHalV3BufferManagerIncorrectNumberOfOutputBuffersReceived:
520 return media::mojom::VideoCaptureError::
521 kCrosHalV3BufferManagerIncorrectNumberOfOutputBuffersReceived;
522 case media::VideoCaptureError::
523 kCrosHalV3BufferManagerInvalidTypeOfOutputBuffersReceived:
524 return media::mojom::VideoCaptureError::
525 kCrosHalV3BufferManagerInvalidTypeOfOutputBuffersReceived;
526 case media::VideoCaptureError::
527 kCrosHalV3BufferManagerReceivedMultipleResultBuffersForFrame:
528 return media::mojom::VideoCaptureError::
529 kCrosHalV3BufferManagerReceivedMultipleResultBuffersForFrame;
530 case media::VideoCaptureError::
531 kCrosHalV3BufferManagerUnknownStreamInCamera3NotifyMsg:
532 return media::mojom::VideoCaptureError::
533 kCrosHalV3BufferManagerUnknownStreamInCamera3NotifyMsg;
534 case media::VideoCaptureError::
535 kCrosHalV3BufferManagerReceivedInvalidShutterTime:
536 return media::mojom::VideoCaptureError::
537 kCrosHalV3BufferManagerReceivedInvalidShutterTime;
538 case media::VideoCaptureError::kCrosHalV3BufferManagerFatalDeviceError:
539 return media::mojom::VideoCaptureError::
540 kCrosHalV3BufferManagerFatalDeviceError;
541 case media::VideoCaptureError::
542 kCrosHalV3BufferManagerReceivedFrameIsOutOfOrder:
543 return media::mojom::VideoCaptureError::
544 kCrosHalV3BufferManagerReceivedFrameIsOutOfOrder;
545 case media::VideoCaptureError::
546 kCrosHalV3BufferManagerFailedToUnwrapReleaseFenceFd:
547 return media::mojom::VideoCaptureError::
548 kCrosHalV3BufferManagerFailedToUnwrapReleaseFenceFd;
549 case media::VideoCaptureError::
550 kCrosHalV3BufferManagerSyncWaitOnReleaseFenceTimedOut:
551 return media::mojom::VideoCaptureError::
552 kCrosHalV3BufferManagerSyncWaitOnReleaseFenceTimedOut;
553 case media::VideoCaptureError::kCrosHalV3BufferManagerInvalidJpegBlob:
554 return media::mojom::VideoCaptureError::
555 kCrosHalV3BufferManagerInvalidJpegBlob;
556 case media::VideoCaptureError::kAndroidFailedToAllocate:
557 return media::mojom::VideoCaptureError::kAndroidFailedToAllocate;
558 case media::VideoCaptureError::kAndroidFailedToStartCapture:
559 return media::mojom::VideoCaptureError::kAndroidFailedToStartCapture;
560 case media::VideoCaptureError::kAndroidFailedToStopCapture:
561 return media::mojom::VideoCaptureError::kAndroidFailedToStopCapture;
562 case media::VideoCaptureError::kAndroidApi1CameraErrorCallbackReceived:
563 return media::mojom::VideoCaptureError::
564 kAndroidApi1CameraErrorCallbackReceived;
565 case media::VideoCaptureError::kAndroidApi2CameraDeviceErrorReceived:
566 return media::mojom::VideoCaptureError::
567 kAndroidApi2CameraDeviceErrorReceived;
568 case media::VideoCaptureError::kAndroidApi2CaptureSessionConfigureFailed:
569 return media::mojom::VideoCaptureError::
570 kAndroidApi2CaptureSessionConfigureFailed;
571 case media::VideoCaptureError::kAndroidApi2ImageReaderUnexpectedImageFormat:
572 return media::mojom::VideoCaptureError::
573 kAndroidApi2ImageReaderUnexpectedImageFormat;
574 case media::VideoCaptureError::
575 kAndroidApi2ImageReaderSizeDidNotMatchImageSize:
576 return media::mojom::VideoCaptureError::
577 kAndroidApi2ImageReaderSizeDidNotMatchImageSize;
578 case media::VideoCaptureError::kAndroidApi2ErrorRestartingPreview:
579 return media::mojom::VideoCaptureError::
580 kAndroidApi2ErrorRestartingPreview;
581 case media::VideoCaptureError::kAndroidScreenCaptureUnsupportedFormat:
582 return media::mojom::VideoCaptureError::
583 kAndroidScreenCaptureUnsupportedFormat;
584 case media::VideoCaptureError::
585 kAndroidScreenCaptureFailedToStartCaptureMachine:
586 return media::mojom::VideoCaptureError::
587 kAndroidScreenCaptureFailedToStartCaptureMachine;
588 case media::VideoCaptureError::
589 kAndroidScreenCaptureTheUserDeniedScreenCapture:
590 return media::mojom::VideoCaptureError::
591 kAndroidScreenCaptureTheUserDeniedScreenCapture;
592 case media::VideoCaptureError::
593 kAndroidScreenCaptureFailedToStartScreenCapture:
594 return media::mojom::VideoCaptureError::
595 kAndroidScreenCaptureFailedToStartScreenCapture;
596 case media::VideoCaptureError::kWinDirectShowCantGetCaptureFormatSettings:
597 return media::mojom::VideoCaptureError::
598 kWinDirectShowCantGetCaptureFormatSettings;
599 case media::VideoCaptureError::
600 kWinDirectShowFailedToGetNumberOfCapabilities:
601 return media::mojom::VideoCaptureError::
602 kWinDirectShowFailedToGetNumberOfCapabilities;
603 case media::VideoCaptureError::
604 kWinDirectShowFailedToGetCaptureDeviceCapabilities:
605 return media::mojom::VideoCaptureError::
606 kWinDirectShowFailedToGetCaptureDeviceCapabilities;
607 case media::VideoCaptureError::
608 kWinDirectShowFailedToSetCaptureDeviceOutputFormat:
609 return media::mojom::VideoCaptureError::
610 kWinDirectShowFailedToSetCaptureDeviceOutputFormat;
611 case media::VideoCaptureError::kWinDirectShowFailedToConnectTheCaptureGraph:
612 return media::mojom::VideoCaptureError::
613 kWinDirectShowFailedToConnectTheCaptureGraph;
614 case media::VideoCaptureError::kWinDirectShowFailedToPauseTheCaptureDevice:
615 return media::mojom::VideoCaptureError::
616 kWinDirectShowFailedToPauseTheCaptureDevice;
617 case media::VideoCaptureError::kWinDirectShowFailedToStartTheCaptureDevice:
618 return media::mojom::VideoCaptureError::
619 kWinDirectShowFailedToStartTheCaptureDevice;
620 case media::VideoCaptureError::kWinDirectShowFailedToStopTheCaptureGraph:
621 return media::mojom::VideoCaptureError::
622 kWinDirectShowFailedToStopTheCaptureGraph;
623 case media::VideoCaptureError::kWinMediaFoundationEngineIsNull:
624 return media::mojom::VideoCaptureError::kWinMediaFoundationEngineIsNull;
625 case media::VideoCaptureError::kWinMediaFoundationEngineGetSourceFailed:
626 return media::mojom::VideoCaptureError::
627 kWinMediaFoundationEngineGetSourceFailed;
628 case media::VideoCaptureError::
629 kWinMediaFoundationFillPhotoCapabilitiesFailed:
630 return media::mojom::VideoCaptureError::
631 kWinMediaFoundationFillPhotoCapabilitiesFailed;
632 case media::VideoCaptureError::
633 kWinMediaFoundationFillVideoCapabilitiesFailed:
634 return media::mojom::VideoCaptureError::
635 kWinMediaFoundationFillVideoCapabilitiesFailed;
636 case media::VideoCaptureError::kWinMediaFoundationNoVideoCapabilityFound:
637 return media::mojom::VideoCaptureError::
638 kWinMediaFoundationNoVideoCapabilityFound;
639 case media::VideoCaptureError::
640 kWinMediaFoundationGetAvailableDeviceMediaTypeFailed:
641 return media::mojom::VideoCaptureError::
642 kWinMediaFoundationGetAvailableDeviceMediaTypeFailed;
643 case media::VideoCaptureError::
644 kWinMediaFoundationSetCurrentDeviceMediaTypeFailed:
645 return media::mojom::VideoCaptureError::
646 kWinMediaFoundationSetCurrentDeviceMediaTypeFailed;
647 case media::VideoCaptureError::kWinMediaFoundationEngineGetSinkFailed:
648 return media::mojom::VideoCaptureError::
649 kWinMediaFoundationEngineGetSinkFailed;
650 case media::VideoCaptureError::
651 kWinMediaFoundationSinkQueryCapturePreviewInterfaceFailed:
652 return media::mojom::VideoCaptureError::
653 kWinMediaFoundationSinkQueryCapturePreviewInterfaceFailed;
654 case media::VideoCaptureError::
655 kWinMediaFoundationSinkRemoveAllStreamsFailed:
656 return media::mojom::VideoCaptureError::
657 kWinMediaFoundationSinkRemoveAllStreamsFailed;
658 case media::VideoCaptureError::
659 kWinMediaFoundationCreateSinkVideoMediaTypeFailed:
660 return media::mojom::VideoCaptureError::
661 kWinMediaFoundationCreateSinkVideoMediaTypeFailed;
662 case media::VideoCaptureError::
663 kWinMediaFoundationConvertToVideoSinkMediaTypeFailed:
664 return media::mojom::VideoCaptureError::
665 kWinMediaFoundationConvertToVideoSinkMediaTypeFailed;
666 case media::VideoCaptureError::kWinMediaFoundationSinkAddStreamFailed:
667 return media::mojom::VideoCaptureError::
668 kWinMediaFoundationSinkAddStreamFailed;
669 case media::VideoCaptureError::
670 kWinMediaFoundationSinkSetSampleCallbackFailed:
671 return media::mojom::VideoCaptureError::
672 kWinMediaFoundationSinkSetSampleCallbackFailed;
673 case media::VideoCaptureError::kWinMediaFoundationEngineStartPreviewFailed:
674 return media::mojom::VideoCaptureError::
675 kWinMediaFoundationEngineStartPreviewFailed;
676 case media::VideoCaptureError::kWinMediaFoundationGetMediaEventStatusFailed:
677 return media::mojom::VideoCaptureError::
678 kWinMediaFoundationGetMediaEventStatusFailed;
679 case media::VideoCaptureError::kMacSetCaptureDeviceFailed:
680 return media::mojom::VideoCaptureError::kMacSetCaptureDeviceFailed;
681 case media::VideoCaptureError::kMacCouldNotStartCaptureDevice:
682 return media::mojom::VideoCaptureError::kMacCouldNotStartCaptureDevice;
683 case media::VideoCaptureError::kMacReceivedFrameWithUnexpectedResolution:
684 return media::mojom::VideoCaptureError::
685 kMacReceivedFrameWithUnexpectedResolution;
686 case media::VideoCaptureError::kMacUpdateCaptureResolutionFailed:
687 return media::mojom::VideoCaptureError::kMacUpdateCaptureResolutionFailed;
688 case media::VideoCaptureError::kMacDeckLinkDeviceIdNotFoundInTheSystem:
689 return media::mojom::VideoCaptureError::
690 kMacDeckLinkDeviceIdNotFoundInTheSystem;
691 case media::VideoCaptureError::kMacDeckLinkErrorQueryingInputInterface:
692 return media::mojom::VideoCaptureError::
693 kMacDeckLinkErrorQueryingInputInterface;
694 case media::VideoCaptureError::kMacDeckLinkErrorCreatingDisplayModeIterator:
695 return media::mojom::VideoCaptureError::
696 kMacDeckLinkErrorCreatingDisplayModeIterator;
697 case media::VideoCaptureError::kMacDeckLinkCouldNotFindADisplayMode:
698 return media::mojom::VideoCaptureError::
699 kMacDeckLinkCouldNotFindADisplayMode;
700 case media::VideoCaptureError::
701 kMacDeckLinkCouldNotSelectTheVideoFormatWeLike:
702 return media::mojom::VideoCaptureError::
703 kMacDeckLinkCouldNotSelectTheVideoFormatWeLike;
704 case media::VideoCaptureError::kMacDeckLinkCouldNotStartCapturing:
705 return media::mojom::VideoCaptureError::
706 kMacDeckLinkCouldNotStartCapturing;
707 case media::VideoCaptureError::kMacDeckLinkUnsupportedPixelFormat:
708 return media::mojom::VideoCaptureError::
709 kMacDeckLinkUnsupportedPixelFormat;
710 case media::VideoCaptureError::
711 kMacAvFoundationReceivedAVCaptureSessionRuntimeErrorNotification:
712 return media::mojom::VideoCaptureError::
713 kMacAvFoundationReceivedAVCaptureSessionRuntimeErrorNotification;
714 case media::VideoCaptureError::kAndroidApi2ErrorConfiguringCamera:
715 return media::mojom::VideoCaptureError::
716 kAndroidApi2ErrorConfiguringCamera;
717 case media::VideoCaptureError::kCrosHalV3DeviceDelegateFailedToFlush:
718 return media::mojom::VideoCaptureError::
719 kCrosHalV3DeviceDelegateFailedToFlush;
720 case media::VideoCaptureError::kFuchsiaCameraDeviceDisconnected:
721 return media::mojom::VideoCaptureError::kFuchsiaCameraDeviceDisconnected;
722 case media::VideoCaptureError::kFuchsiaCameraStreamDisconnected:
723 return media::mojom::VideoCaptureError::kFuchsiaCameraStreamDisconnected;
724 case media::VideoCaptureError::kFuchsiaSysmemDidNotSetImageFormat:
725 return media::mojom::VideoCaptureError::
726 kFuchsiaSysmemDidNotSetImageFormat;
727 case media::VideoCaptureError::kFuchsiaSysmemInvalidBufferIndex:
728 return media::mojom::VideoCaptureError::kFuchsiaSysmemInvalidBufferIndex;
729 case media::VideoCaptureError::kFuchsiaSysmemInvalidBufferSize:
730 return media::mojom::VideoCaptureError::kFuchsiaSysmemInvalidBufferSize;
731 case media::VideoCaptureError::kFuchsiaUnsupportedPixelFormat:
732 return media::mojom::VideoCaptureError::kFuchsiaUnsupportedPixelFormat;
733 case media::VideoCaptureError::kFuchsiaFailedToMapSysmemBuffer:
734 return media::mojom::VideoCaptureError::kFuchsiaFailedToMapSysmemBuffer;
735 case media::VideoCaptureError::kCrosHalV3DeviceContextDuplicatedClient:
736 return media::mojom::VideoCaptureError::
737 kCrosHalV3DeviceContextDuplicatedClient;
738 case media::VideoCaptureError::kDesktopCaptureDeviceMacFailedStreamCreate:
739 return media::mojom::VideoCaptureError::
740 kDesktopCaptureDeviceMacFailedStreamCreate;
741 case media::VideoCaptureError::kDesktopCaptureDeviceMacFailedStreamStart:
742 return media::mojom::VideoCaptureError::
743 kDesktopCaptureDeviceMacFailedStreamStart;
744 case media::VideoCaptureError::
745 kCrosHalV3BufferManagerFailedToReserveBuffers:
746 return media::mojom::VideoCaptureError::
747 kCrosHalV3BufferManagerFailedToReserveBuffers;
748 case media::VideoCaptureError::kWinMediaFoundationSystemPermissionDenied:
749 return media::mojom::VideoCaptureError::
750 kWinMediaFoundationSystemPermissionDenied;
751 case media::VideoCaptureError::kVideoCaptureImplTimedOutOnStart:
752 return media::mojom::VideoCaptureError::kVideoCaptureImplTimedOutOnStart;
753 case media::VideoCaptureError::
754 kLacrosVideoCaptureDeviceProxyAlreadyEndedOnFatalError:
755 return media::mojom::VideoCaptureError::
756 kLacrosVideoCaptureDeviceProxyAlreadyEndedOnFatalError;
757 case media::VideoCaptureError::
758 kLacrosVideoCaptureDeviceProxyEncounteredFatalError:
759 return media::mojom::VideoCaptureError::
760 kLacrosVideoCaptureDeviceProxyEncounteredFatalError;
761 case media::VideoCaptureError::kScreenCaptureKitFailedGetShareableContent:
762 return media::mojom::VideoCaptureError::
763 kScreenCaptureKitFailedGetShareableContent;
764 case media::VideoCaptureError::kScreenCaptureKitFailedAddStreamOutput:
765 return media::mojom::VideoCaptureError::
766 kScreenCaptureKitFailedAddStreamOutput;
767 case media::VideoCaptureError::kScreenCaptureKitFailedStartCapture:
768 return media::mojom::VideoCaptureError::
769 kScreenCaptureKitFailedStartCapture;
770 case media::VideoCaptureError::kScreenCaptureKitFailedStopCapture:
771 return media::mojom::VideoCaptureError::
772 kScreenCaptureKitFailedStopCapture;
773 case media::VideoCaptureError::kScreenCaptureKitStreamError:
774 return media::mojom::VideoCaptureError::kScreenCaptureKitStreamError;
775 case media::VideoCaptureError::kScreenCaptureKitFailedToFindSCDisplay:
776 return media::mojom::VideoCaptureError::
777 kScreenCaptureKitFailedToFindSCDisplay;
778 case media::VideoCaptureError::
779 kVideoCaptureControllerUnsupportedPixelFormat:
780 return media::mojom::VideoCaptureError::
781 kVideoCaptureControllerUnsupportedPixelFormat;
782 case media::VideoCaptureError::kVideoCaptureControllerInvalid:
783 return media::mojom::VideoCaptureError::kVideoCaptureControllerInvalid;
784 case media::VideoCaptureError::
785 kVideoCaptureDeviceFactoryChromeOSCreateDeviceFailed:
786 return media::mojom::VideoCaptureError::
787 kVideoCaptureDeviceFactoryChromeOSCreateDeviceFailed;
788 case media::VideoCaptureError::kVideoCaptureDeviceAlreadyReleased:
789 return media::mojom::VideoCaptureError::
790 kVideoCaptureDeviceAlreadyReleased;
791 case media::VideoCaptureError::kVideoCaptureSystemDeviceIdNotFound:
792 return media::mojom::VideoCaptureError::
793 kVideoCaptureSystemDeviceIdNotFound;
794 case media::VideoCaptureError::kVideoCaptureDeviceFactoryWinUnknownError:
795 return media::mojom::VideoCaptureError::
796 kVideoCaptureDeviceFactoryWinUnknownError;
797 case media::VideoCaptureError::
798 kWinMediaFoundationDeviceInitializationFailed:
799 return media::mojom::VideoCaptureError::
800 kWinMediaFoundationDeviceInitializationFailed;
801 case media::VideoCaptureError::kWinMediaFoundationSourceCreationFailed:
802 return media::mojom::VideoCaptureError::
803 kWinMediaFoundationSourceCreationFailed;
804 case media::VideoCaptureError::kWinDirectShowDeviceFilterCreationFailed:
805 return media::mojom::VideoCaptureError::
806 kWinDirectShowDeviceFilterCreationFailed;
807 case media::VideoCaptureError::kWinDirectShowDeviceInitializationFailed:
808 return media::mojom::VideoCaptureError::
809 kWinDirectShowDeviceInitializationFailed;
810 case media::VideoCaptureError::kVideoCaptureDeviceFactorySecondCreateDenied:
811 return media::mojom::VideoCaptureError::
812 kVideoCaptureDeviceFactorySecondCreateDenied;
813 case media::VideoCaptureError::kScreenCaptureKitResetStreamError:
814 return media::mojom::VideoCaptureError::kScreenCaptureKitResetStreamError;
815 case media::VideoCaptureError::kWinMediaFoundationCameraBusy:
816 return media::mojom::VideoCaptureError::kWinMediaFoundationCameraBusy;
818 NOTREACHED_NORETURN();
822 bool EnumTraits<media::mojom::VideoCaptureError, media::VideoCaptureError>::
823 FromMojom(media::mojom::VideoCaptureError input,
824 media::VideoCaptureError* output) {
826 case media::mojom::VideoCaptureError::kNone:
827 *output = media::VideoCaptureError::kNone;
829 case media::mojom::VideoCaptureError::
830 kVideoCaptureControllerInvalidOrUnsupportedVideoCaptureParametersRequested:
831 *output = media::VideoCaptureError::
832 kVideoCaptureControllerInvalidOrUnsupportedVideoCaptureParametersRequested;
834 case media::mojom::VideoCaptureError::
835 kVideoCaptureControllerIsAlreadyInErrorState:
836 *output = media::VideoCaptureError::
837 kVideoCaptureControllerIsAlreadyInErrorState;
839 case media::mojom::VideoCaptureError::
840 kVideoCaptureManagerDeviceConnectionLost:
842 media::VideoCaptureError::kVideoCaptureManagerDeviceConnectionLost;
844 case media::mojom::VideoCaptureError::
845 kFrameSinkVideoCaptureDeviceAlreadyEndedOnFatalError:
846 *output = media::VideoCaptureError::
847 kFrameSinkVideoCaptureDeviceAlreadyEndedOnFatalError;
849 case media::mojom::VideoCaptureError::
850 kFrameSinkVideoCaptureDeviceEncounteredFatalError:
851 *output = media::VideoCaptureError::
852 kFrameSinkVideoCaptureDeviceEncounteredFatalError;
854 case media::mojom::VideoCaptureError::kV4L2FailedToOpenV4L2DeviceDriverFile:
855 *output = media::VideoCaptureError::kV4L2FailedToOpenV4L2DeviceDriverFile;
857 case media::mojom::VideoCaptureError::kV4L2ThisIsNotAV4L2VideoCaptureDevice:
858 *output = media::VideoCaptureError::kV4L2ThisIsNotAV4L2VideoCaptureDevice;
860 case media::mojom::VideoCaptureError::
861 kV4L2FailedToFindASupportedCameraFormat:
863 media::VideoCaptureError::kV4L2FailedToFindASupportedCameraFormat;
865 case media::mojom::VideoCaptureError::kV4L2FailedToSetVideoCaptureFormat:
866 *output = media::VideoCaptureError::kV4L2FailedToSetVideoCaptureFormat;
868 case media::mojom::VideoCaptureError::kV4L2UnsupportedPixelFormat:
869 *output = media::VideoCaptureError::kV4L2UnsupportedPixelFormat;
871 case media::mojom::VideoCaptureError::kV4L2FailedToSetCameraFramerate:
872 *output = media::VideoCaptureError::kV4L2FailedToSetCameraFramerate;
874 case media::mojom::VideoCaptureError::kV4L2ErrorRequestingMmapBuffers:
875 *output = media::VideoCaptureError::kV4L2ErrorRequestingMmapBuffers;
877 case media::mojom::VideoCaptureError::kV4L2AllocateBufferFailed:
878 *output = media::VideoCaptureError::kV4L2AllocateBufferFailed;
880 case media::mojom::VideoCaptureError::kV4L2VidiocStreamonFailed:
881 *output = media::VideoCaptureError::kV4L2VidiocStreamonFailed;
883 case media::mojom::VideoCaptureError::kV4L2VidiocStreamoffFailed:
884 *output = media::VideoCaptureError::kV4L2VidiocStreamoffFailed;
886 case media::mojom::VideoCaptureError::kV4L2FailedToVidiocReqbufsWithCount0:
887 *output = media::VideoCaptureError::kV4L2FailedToVidiocReqbufsWithCount0;
889 case media::mojom::VideoCaptureError::kV4L2PollFailed:
890 *output = media::VideoCaptureError::kV4L2PollFailed;
892 case media::mojom::VideoCaptureError::
893 kV4L2MultipleContinuousTimeoutsWhileReadPolling:
894 *output = media::VideoCaptureError::
895 kV4L2MultipleContinuousTimeoutsWhileReadPolling;
897 case media::mojom::VideoCaptureError::kV4L2FailedToDequeueCaptureBuffer:
898 *output = media::VideoCaptureError::kV4L2FailedToDequeueCaptureBuffer;
900 case media::mojom::VideoCaptureError::kV4L2FailedToEnqueueCaptureBuffer:
901 *output = media::VideoCaptureError::kV4L2FailedToEnqueueCaptureBuffer;
903 case media::mojom::VideoCaptureError::
904 kSingleClientVideoCaptureHostLostConnectionToDevice:
905 *output = media::VideoCaptureError::
906 kSingleClientVideoCaptureHostLostConnectionToDevice;
908 case media::mojom::VideoCaptureError::
909 kSingleClientVideoCaptureDeviceLaunchAborted:
910 *output = media::VideoCaptureError::
911 kSingleClientVideoCaptureDeviceLaunchAborted;
913 case media::mojom::VideoCaptureError::
914 kDesktopCaptureDeviceWebrtcDesktopCapturerHasFailed:
915 *output = media::VideoCaptureError::
916 kDesktopCaptureDeviceWebrtcDesktopCapturerHasFailed;
918 case media::mojom::VideoCaptureError::
919 kFileVideoCaptureDeviceCouldNotOpenVideoFile:
920 *output = media::VideoCaptureError::
921 kFileVideoCaptureDeviceCouldNotOpenVideoFile;
923 case media::mojom::VideoCaptureError::
924 kDeviceCaptureLinuxFailedToCreateVideoCaptureDelegate:
925 *output = media::VideoCaptureError::
926 kDeviceCaptureLinuxFailedToCreateVideoCaptureDelegate;
928 case media::mojom::VideoCaptureError::
929 kErrorFakeDeviceIntentionallyEmittingErrorEvent:
930 *output = media::VideoCaptureError::
931 kErrorFakeDeviceIntentionallyEmittingErrorEvent;
933 case media::mojom::VideoCaptureError::kDeviceClientTooManyFramesDroppedY16:
934 *output = media::VideoCaptureError::kDeviceClientTooManyFramesDroppedY16;
936 case media::mojom::VideoCaptureError::
937 kDeviceMediaToMojoAdapterEncounteredUnsupportedBufferType:
938 *output = media::VideoCaptureError::
939 kDeviceMediaToMojoAdapterEncounteredUnsupportedBufferType;
941 case media::mojom::VideoCaptureError::
942 kVideoCaptureManagerProcessDeviceStartQueueDeviceInfoNotFound:
943 *output = media::VideoCaptureError::
944 kVideoCaptureManagerProcessDeviceStartQueueDeviceInfoNotFound;
946 case media::mojom::VideoCaptureError::
947 kInProcessDeviceLauncherFailedToCreateDeviceInstance:
948 *output = media::VideoCaptureError::
949 kInProcessDeviceLauncherFailedToCreateDeviceInstance;
951 case media::mojom::VideoCaptureError::
952 kServiceDeviceLauncherLostConnectionToDeviceFactoryDuringDeviceStart:
953 *output = media::VideoCaptureError::
954 kServiceDeviceLauncherLostConnectionToDeviceFactoryDuringDeviceStart;
956 case media::mojom::VideoCaptureError::
957 kServiceDeviceLauncherServiceRespondedWithDeviceNotFound:
958 *output = media::VideoCaptureError::
959 kServiceDeviceLauncherServiceRespondedWithDeviceNotFound;
961 case media::mojom::VideoCaptureError::
962 kServiceDeviceLauncherConnectionLostWhileWaitingForCallback:
963 *output = media::VideoCaptureError::
964 kServiceDeviceLauncherConnectionLostWhileWaitingForCallback;
966 case media::mojom::VideoCaptureError::kIntentionalErrorRaisedByUnitTest:
967 *output = media::VideoCaptureError::kIntentionalErrorRaisedByUnitTest;
969 case media::mojom::VideoCaptureError::kCrosHalV3FailedToStartDeviceThread:
970 *output = media::VideoCaptureError::kCrosHalV3FailedToStartDeviceThread;
972 case media::mojom::VideoCaptureError::
973 kCrosHalV3DeviceDelegateMojoConnectionError:
975 media::VideoCaptureError::kCrosHalV3DeviceDelegateMojoConnectionError;
977 case media::mojom::VideoCaptureError::
978 kCrosHalV3DeviceDelegateFailedToGetCameraInfo:
979 *output = media::VideoCaptureError::
980 kCrosHalV3DeviceDelegateFailedToGetCameraInfo;
982 case media::mojom::VideoCaptureError::
983 kCrosHalV3DeviceDelegateMissingSensorOrientationInfo:
984 *output = media::VideoCaptureError::
985 kCrosHalV3DeviceDelegateMissingSensorOrientationInfo;
987 case media::mojom::VideoCaptureError::
988 kCrosHalV3DeviceDelegateFailedToOpenCameraDevice:
989 *output = media::VideoCaptureError::
990 kCrosHalV3DeviceDelegateFailedToOpenCameraDevice;
992 case media::mojom::VideoCaptureError::
993 kCrosHalV3DeviceDelegateFailedToInitializeCameraDevice:
994 *output = media::VideoCaptureError::
995 kCrosHalV3DeviceDelegateFailedToInitializeCameraDevice;
997 case media::mojom::VideoCaptureError::
998 kCrosHalV3DeviceDelegateFailedToConfigureStreams:
999 *output = media::VideoCaptureError::
1000 kCrosHalV3DeviceDelegateFailedToConfigureStreams;
1002 case media::mojom::VideoCaptureError::
1003 kCrosHalV3DeviceDelegateWrongNumberOfStreamsConfigured:
1004 *output = media::VideoCaptureError::
1005 kCrosHalV3DeviceDelegateWrongNumberOfStreamsConfigured;
1007 case media::mojom::VideoCaptureError::
1008 kCrosHalV3DeviceDelegateFailedToGetDefaultRequestSettings:
1009 *output = media::VideoCaptureError::
1010 kCrosHalV3DeviceDelegateFailedToGetDefaultRequestSettings;
1012 case media::mojom::VideoCaptureError::
1013 kCrosHalV3BufferManagerHalRequestedTooManyBuffers:
1014 *output = media::VideoCaptureError::
1015 kCrosHalV3BufferManagerHalRequestedTooManyBuffers;
1017 case media::mojom::VideoCaptureError::
1018 kCrosHalV3BufferManagerFailedToCreateGpuMemoryBuffer:
1019 *output = media::VideoCaptureError::
1020 kCrosHalV3BufferManagerFailedToCreateGpuMemoryBuffer;
1022 case media::mojom::VideoCaptureError::
1023 kCrosHalV3BufferManagerFailedToMapGpuMemoryBuffer:
1024 *output = media::VideoCaptureError::
1025 kCrosHalV3BufferManagerFailedToMapGpuMemoryBuffer;
1027 case media::mojom::VideoCaptureError::
1028 kCrosHalV3BufferManagerUnsupportedVideoPixelFormat:
1029 *output = media::VideoCaptureError::
1030 kCrosHalV3BufferManagerUnsupportedVideoPixelFormat;
1032 case media::mojom::VideoCaptureError::kCrosHalV3BufferManagerFailedToDupFd:
1033 *output = media::VideoCaptureError::kCrosHalV3BufferManagerFailedToDupFd;
1035 case media::mojom::VideoCaptureError::
1036 kCrosHalV3BufferManagerFailedToWrapGpuMemoryHandle:
1037 *output = media::VideoCaptureError::
1038 kCrosHalV3BufferManagerFailedToWrapGpuMemoryHandle;
1040 case media::mojom::VideoCaptureError::
1041 kCrosHalV3BufferManagerFailedToRegisterBuffer:
1042 *output = media::VideoCaptureError::
1043 kCrosHalV3BufferManagerFailedToRegisterBuffer;
1045 case media::mojom::VideoCaptureError::
1046 kCrosHalV3BufferManagerProcessCaptureRequestFailed:
1047 *output = media::VideoCaptureError::
1048 kCrosHalV3BufferManagerProcessCaptureRequestFailed;
1050 case media::mojom::VideoCaptureError::
1051 kCrosHalV3BufferManagerInvalidPendingResultId:
1052 *output = media::VideoCaptureError::
1053 kCrosHalV3BufferManagerInvalidPendingResultId;
1055 case media::mojom::VideoCaptureError::
1056 kCrosHalV3BufferManagerReceivedDuplicatedPartialMetadata:
1057 *output = media::VideoCaptureError::
1058 kCrosHalV3BufferManagerReceivedDuplicatedPartialMetadata;
1060 case media::mojom::VideoCaptureError::
1061 kCrosHalV3BufferManagerIncorrectNumberOfOutputBuffersReceived:
1062 *output = media::VideoCaptureError::
1063 kCrosHalV3BufferManagerIncorrectNumberOfOutputBuffersReceived;
1065 case media::mojom::VideoCaptureError::
1066 kCrosHalV3BufferManagerInvalidTypeOfOutputBuffersReceived:
1067 *output = media::VideoCaptureError::
1068 kCrosHalV3BufferManagerInvalidTypeOfOutputBuffersReceived;
1070 case media::mojom::VideoCaptureError::
1071 kCrosHalV3BufferManagerReceivedMultipleResultBuffersForFrame:
1072 *output = media::VideoCaptureError::
1073 kCrosHalV3BufferManagerReceivedMultipleResultBuffersForFrame;
1075 case media::mojom::VideoCaptureError::
1076 kCrosHalV3BufferManagerUnknownStreamInCamera3NotifyMsg:
1077 *output = media::VideoCaptureError::
1078 kCrosHalV3BufferManagerUnknownStreamInCamera3NotifyMsg;
1080 case media::mojom::VideoCaptureError::
1081 kCrosHalV3BufferManagerReceivedInvalidShutterTime:
1082 *output = media::VideoCaptureError::
1083 kCrosHalV3BufferManagerReceivedInvalidShutterTime;
1085 case media::mojom::VideoCaptureError::
1086 kCrosHalV3BufferManagerFatalDeviceError:
1088 media::VideoCaptureError::kCrosHalV3BufferManagerFatalDeviceError;
1090 case media::mojom::VideoCaptureError::
1091 kCrosHalV3BufferManagerReceivedFrameIsOutOfOrder:
1092 *output = media::VideoCaptureError::
1093 kCrosHalV3BufferManagerReceivedFrameIsOutOfOrder;
1095 case media::mojom::VideoCaptureError::
1096 kCrosHalV3BufferManagerFailedToUnwrapReleaseFenceFd:
1097 *output = media::VideoCaptureError::
1098 kCrosHalV3BufferManagerFailedToUnwrapReleaseFenceFd;
1100 case media::mojom::VideoCaptureError::
1101 kCrosHalV3BufferManagerSyncWaitOnReleaseFenceTimedOut:
1102 *output = media::VideoCaptureError::
1103 kCrosHalV3BufferManagerSyncWaitOnReleaseFenceTimedOut;
1105 case media::mojom::VideoCaptureError::
1106 kCrosHalV3BufferManagerInvalidJpegBlob:
1108 media::VideoCaptureError::kCrosHalV3BufferManagerInvalidJpegBlob;
1110 case media::mojom::VideoCaptureError::kAndroidFailedToAllocate:
1111 *output = media::VideoCaptureError::kAndroidFailedToAllocate;
1113 case media::mojom::VideoCaptureError::kAndroidFailedToStartCapture:
1114 *output = media::VideoCaptureError::kAndroidFailedToStartCapture;
1116 case media::mojom::VideoCaptureError::kAndroidFailedToStopCapture:
1117 *output = media::VideoCaptureError::kAndroidFailedToStopCapture;
1119 case media::mojom::VideoCaptureError::
1120 kAndroidApi1CameraErrorCallbackReceived:
1122 media::VideoCaptureError::kAndroidApi1CameraErrorCallbackReceived;
1124 case media::mojom::VideoCaptureError::kAndroidApi2CameraDeviceErrorReceived:
1125 *output = media::VideoCaptureError::kAndroidApi2CameraDeviceErrorReceived;
1127 case media::mojom::VideoCaptureError::
1128 kAndroidApi2CaptureSessionConfigureFailed:
1130 media::VideoCaptureError::kAndroidApi2CaptureSessionConfigureFailed;
1132 case media::mojom::VideoCaptureError::
1133 kAndroidApi2ImageReaderUnexpectedImageFormat:
1134 *output = media::VideoCaptureError::
1135 kAndroidApi2ImageReaderUnexpectedImageFormat;
1137 case media::mojom::VideoCaptureError::
1138 kAndroidApi2ImageReaderSizeDidNotMatchImageSize:
1139 *output = media::VideoCaptureError::
1140 kAndroidApi2ImageReaderSizeDidNotMatchImageSize;
1142 case media::mojom::VideoCaptureError::kAndroidApi2ErrorRestartingPreview:
1143 *output = media::VideoCaptureError::kAndroidApi2ErrorRestartingPreview;
1145 case media::mojom::VideoCaptureError::
1146 kAndroidScreenCaptureUnsupportedFormat:
1148 media::VideoCaptureError::kAndroidScreenCaptureUnsupportedFormat;
1150 case media::mojom::VideoCaptureError::
1151 kAndroidScreenCaptureFailedToStartCaptureMachine:
1152 *output = media::VideoCaptureError::
1153 kAndroidScreenCaptureFailedToStartCaptureMachine;
1155 case media::mojom::VideoCaptureError::
1156 kAndroidScreenCaptureTheUserDeniedScreenCapture:
1157 *output = media::VideoCaptureError::
1158 kAndroidScreenCaptureTheUserDeniedScreenCapture;
1160 case media::mojom::VideoCaptureError::
1161 kAndroidScreenCaptureFailedToStartScreenCapture:
1162 *output = media::VideoCaptureError::
1163 kAndroidScreenCaptureFailedToStartScreenCapture;
1165 case media::mojom::VideoCaptureError::
1166 kWinDirectShowCantGetCaptureFormatSettings:
1168 media::VideoCaptureError::kWinDirectShowCantGetCaptureFormatSettings;
1170 case media::mojom::VideoCaptureError::
1171 kWinDirectShowFailedToGetNumberOfCapabilities:
1172 *output = media::VideoCaptureError::
1173 kWinDirectShowFailedToGetNumberOfCapabilities;
1175 case media::mojom::VideoCaptureError::
1176 kWinDirectShowFailedToGetCaptureDeviceCapabilities:
1177 *output = media::VideoCaptureError::
1178 kWinDirectShowFailedToGetCaptureDeviceCapabilities;
1180 case media::mojom::VideoCaptureError::
1181 kWinDirectShowFailedToSetCaptureDeviceOutputFormat:
1182 *output = media::VideoCaptureError::
1183 kWinDirectShowFailedToSetCaptureDeviceOutputFormat;
1185 case media::mojom::VideoCaptureError::
1186 kWinDirectShowFailedToConnectTheCaptureGraph:
1187 *output = media::VideoCaptureError::
1188 kWinDirectShowFailedToConnectTheCaptureGraph;
1190 case media::mojom::VideoCaptureError::
1191 kWinDirectShowFailedToPauseTheCaptureDevice:
1193 media::VideoCaptureError::kWinDirectShowFailedToPauseTheCaptureDevice;
1195 case media::mojom::VideoCaptureError::
1196 kWinDirectShowFailedToStartTheCaptureDevice:
1198 media::VideoCaptureError::kWinDirectShowFailedToStartTheCaptureDevice;
1200 case media::mojom::VideoCaptureError::
1201 kWinDirectShowFailedToStopTheCaptureGraph:
1203 media::VideoCaptureError::kWinDirectShowFailedToStopTheCaptureGraph;
1205 case media::mojom::VideoCaptureError::kWinMediaFoundationEngineIsNull:
1206 *output = media::VideoCaptureError::kWinMediaFoundationEngineIsNull;
1208 case media::mojom::VideoCaptureError::
1209 kWinMediaFoundationEngineGetSourceFailed:
1211 media::VideoCaptureError::kWinMediaFoundationEngineGetSourceFailed;
1213 case media::mojom::VideoCaptureError::
1214 kWinMediaFoundationFillPhotoCapabilitiesFailed:
1215 *output = media::VideoCaptureError::
1216 kWinMediaFoundationFillPhotoCapabilitiesFailed;
1218 case media::mojom::VideoCaptureError::
1219 kWinMediaFoundationFillVideoCapabilitiesFailed:
1220 *output = media::VideoCaptureError::
1221 kWinMediaFoundationFillVideoCapabilitiesFailed;
1223 case media::mojom::VideoCaptureError::
1224 kWinMediaFoundationNoVideoCapabilityFound:
1226 media::VideoCaptureError::kWinMediaFoundationNoVideoCapabilityFound;
1228 case media::mojom::VideoCaptureError::
1229 kWinMediaFoundationGetAvailableDeviceMediaTypeFailed:
1230 *output = media::VideoCaptureError::
1231 kWinMediaFoundationGetAvailableDeviceMediaTypeFailed;
1233 case media::mojom::VideoCaptureError::
1234 kWinMediaFoundationSetCurrentDeviceMediaTypeFailed:
1235 *output = media::VideoCaptureError::
1236 kWinMediaFoundationSetCurrentDeviceMediaTypeFailed;
1238 case media::mojom::VideoCaptureError::
1239 kWinMediaFoundationEngineGetSinkFailed:
1241 media::VideoCaptureError::kWinMediaFoundationEngineGetSinkFailed;
1243 case media::mojom::VideoCaptureError::
1244 kWinMediaFoundationSinkQueryCapturePreviewInterfaceFailed:
1245 *output = media::VideoCaptureError::
1246 kWinMediaFoundationSinkQueryCapturePreviewInterfaceFailed;
1248 case media::mojom::VideoCaptureError::
1249 kWinMediaFoundationSinkRemoveAllStreamsFailed:
1250 *output = media::VideoCaptureError::
1251 kWinMediaFoundationSinkRemoveAllStreamsFailed;
1253 case media::mojom::VideoCaptureError::
1254 kWinMediaFoundationCreateSinkVideoMediaTypeFailed:
1255 *output = media::VideoCaptureError::
1256 kWinMediaFoundationCreateSinkVideoMediaTypeFailed;
1258 case media::mojom::VideoCaptureError::
1259 kWinMediaFoundationConvertToVideoSinkMediaTypeFailed:
1260 *output = media::VideoCaptureError::
1261 kWinMediaFoundationConvertToVideoSinkMediaTypeFailed;
1263 case media::mojom::VideoCaptureError::
1264 kWinMediaFoundationSinkAddStreamFailed:
1266 media::VideoCaptureError::kWinMediaFoundationSinkAddStreamFailed;
1268 case media::mojom::VideoCaptureError::
1269 kWinMediaFoundationSinkSetSampleCallbackFailed:
1270 *output = media::VideoCaptureError::
1271 kWinMediaFoundationSinkSetSampleCallbackFailed;
1273 case media::mojom::VideoCaptureError::
1274 kWinMediaFoundationEngineStartPreviewFailed:
1276 media::VideoCaptureError::kWinMediaFoundationEngineStartPreviewFailed;
1278 case media::mojom::VideoCaptureError::
1279 kWinMediaFoundationGetMediaEventStatusFailed:
1280 *output = media::VideoCaptureError::
1281 kWinMediaFoundationGetMediaEventStatusFailed;
1283 case media::mojom::VideoCaptureError::kMacSetCaptureDeviceFailed:
1284 *output = media::VideoCaptureError::kMacSetCaptureDeviceFailed;
1286 case media::mojom::VideoCaptureError::kMacCouldNotStartCaptureDevice:
1287 *output = media::VideoCaptureError::kMacCouldNotStartCaptureDevice;
1289 case media::mojom::VideoCaptureError::
1290 kMacReceivedFrameWithUnexpectedResolution:
1292 media::VideoCaptureError::kMacReceivedFrameWithUnexpectedResolution;
1294 case media::mojom::VideoCaptureError::kMacUpdateCaptureResolutionFailed:
1295 *output = media::VideoCaptureError::kMacUpdateCaptureResolutionFailed;
1297 case media::mojom::VideoCaptureError::
1298 kMacDeckLinkDeviceIdNotFoundInTheSystem:
1300 media::VideoCaptureError::kMacDeckLinkDeviceIdNotFoundInTheSystem;
1302 case media::mojom::VideoCaptureError::
1303 kMacDeckLinkErrorQueryingInputInterface:
1305 media::VideoCaptureError::kMacDeckLinkErrorQueryingInputInterface;
1307 case media::mojom::VideoCaptureError::
1308 kMacDeckLinkErrorCreatingDisplayModeIterator:
1309 *output = media::VideoCaptureError::
1310 kMacDeckLinkErrorCreatingDisplayModeIterator;
1312 case media::mojom::VideoCaptureError::kMacDeckLinkCouldNotFindADisplayMode:
1313 *output = media::VideoCaptureError::kMacDeckLinkCouldNotFindADisplayMode;
1315 case media::mojom::VideoCaptureError::
1316 kMacDeckLinkCouldNotSelectTheVideoFormatWeLike:
1317 *output = media::VideoCaptureError::
1318 kMacDeckLinkCouldNotSelectTheVideoFormatWeLike;
1320 case media::mojom::VideoCaptureError::kMacDeckLinkCouldNotStartCapturing:
1321 *output = media::VideoCaptureError::kMacDeckLinkCouldNotStartCapturing;
1323 case media::mojom::VideoCaptureError::kMacDeckLinkUnsupportedPixelFormat:
1324 *output = media::VideoCaptureError::kMacDeckLinkUnsupportedPixelFormat;
1326 case media::mojom::VideoCaptureError::
1327 kMacAvFoundationReceivedAVCaptureSessionRuntimeErrorNotification:
1328 *output = media::VideoCaptureError::
1329 kMacAvFoundationReceivedAVCaptureSessionRuntimeErrorNotification;
1331 case media::mojom::VideoCaptureError::kAndroidApi2ErrorConfiguringCamera:
1332 *output = media::VideoCaptureError::kAndroidApi2ErrorConfiguringCamera;
1334 case media::mojom::VideoCaptureError::kCrosHalV3DeviceDelegateFailedToFlush:
1335 *output = media::VideoCaptureError::kCrosHalV3DeviceDelegateFailedToFlush;
1337 case media::mojom::VideoCaptureError::kFuchsiaCameraDeviceDisconnected:
1338 *output = media::VideoCaptureError::kFuchsiaCameraDeviceDisconnected;
1340 case media::mojom::VideoCaptureError::kFuchsiaCameraStreamDisconnected:
1341 *output = media::VideoCaptureError::kFuchsiaCameraStreamDisconnected;
1343 case media::mojom::VideoCaptureError::kFuchsiaSysmemDidNotSetImageFormat:
1344 *output = media::VideoCaptureError::kFuchsiaSysmemDidNotSetImageFormat;
1346 case media::mojom::VideoCaptureError::kFuchsiaSysmemInvalidBufferIndex:
1347 *output = media::VideoCaptureError::kFuchsiaSysmemInvalidBufferIndex;
1349 case media::mojom::VideoCaptureError::kFuchsiaSysmemInvalidBufferSize:
1350 *output = media::VideoCaptureError::kFuchsiaSysmemInvalidBufferSize;
1352 case media::mojom::VideoCaptureError::kFuchsiaUnsupportedPixelFormat:
1353 *output = media::VideoCaptureError::kFuchsiaUnsupportedPixelFormat;
1355 case media::mojom::VideoCaptureError::kFuchsiaFailedToMapSysmemBuffer:
1356 *output = media::VideoCaptureError::kFuchsiaFailedToMapSysmemBuffer;
1358 case media::mojom::VideoCaptureError::
1359 kCrosHalV3DeviceContextDuplicatedClient:
1361 media::VideoCaptureError::kCrosHalV3DeviceContextDuplicatedClient;
1363 case media::mojom::VideoCaptureError::
1364 kDesktopCaptureDeviceMacFailedStreamCreate:
1366 media::VideoCaptureError::kDesktopCaptureDeviceMacFailedStreamCreate;
1368 case media::mojom::VideoCaptureError::
1369 kDesktopCaptureDeviceMacFailedStreamStart:
1371 media::VideoCaptureError::kDesktopCaptureDeviceMacFailedStreamStart;
1373 case media::mojom::VideoCaptureError::
1374 kCrosHalV3BufferManagerFailedToReserveBuffers:
1375 *output = media::VideoCaptureError::
1376 kCrosHalV3BufferManagerFailedToReserveBuffers;
1378 case media::mojom::VideoCaptureError::
1379 kWinMediaFoundationSystemPermissionDenied:
1381 media::VideoCaptureError::kWinMediaFoundationSystemPermissionDenied;
1383 case media::mojom::VideoCaptureError::kVideoCaptureImplTimedOutOnStart:
1384 *output = media::VideoCaptureError::kVideoCaptureImplTimedOutOnStart;
1386 case media::mojom::VideoCaptureError::
1387 kLacrosVideoCaptureDeviceProxyAlreadyEndedOnFatalError:
1388 *output = media::VideoCaptureError::
1389 kLacrosVideoCaptureDeviceProxyAlreadyEndedOnFatalError;
1391 case media::mojom::VideoCaptureError::
1392 kLacrosVideoCaptureDeviceProxyEncounteredFatalError:
1393 *output = media::VideoCaptureError::
1394 kLacrosVideoCaptureDeviceProxyEncounteredFatalError;
1396 case media::mojom::VideoCaptureError::
1397 kScreenCaptureKitFailedGetShareableContent:
1399 media::VideoCaptureError::kScreenCaptureKitFailedGetShareableContent;
1401 case media::mojom::VideoCaptureError::
1402 kScreenCaptureKitFailedAddStreamOutput:
1404 media::VideoCaptureError::kScreenCaptureKitFailedAddStreamOutput;
1406 case media::mojom::VideoCaptureError::kScreenCaptureKitFailedStartCapture:
1407 *output = media::VideoCaptureError::kScreenCaptureKitFailedStartCapture;
1409 case media::mojom::VideoCaptureError::kScreenCaptureKitFailedStopCapture:
1410 *output = media::VideoCaptureError::kScreenCaptureKitFailedStopCapture;
1412 case media::mojom::VideoCaptureError::kScreenCaptureKitStreamError:
1413 *output = media::VideoCaptureError::kScreenCaptureKitStreamError;
1415 case media::mojom::VideoCaptureError::
1416 kScreenCaptureKitFailedToFindSCDisplay:
1418 media::VideoCaptureError::kScreenCaptureKitFailedToFindSCDisplay;
1420 case media::mojom::VideoCaptureError::
1421 kVideoCaptureControllerUnsupportedPixelFormat:
1422 *output = media::VideoCaptureError::
1423 kVideoCaptureControllerUnsupportedPixelFormat;
1425 case media::mojom::VideoCaptureError::kVideoCaptureControllerInvalid:
1426 *output = media::VideoCaptureError::kVideoCaptureControllerInvalid;
1428 case media::mojom::VideoCaptureError::
1429 kVideoCaptureDeviceFactoryChromeOSCreateDeviceFailed:
1430 *output = media::VideoCaptureError::
1431 kVideoCaptureDeviceFactoryChromeOSCreateDeviceFailed;
1433 case media::mojom::VideoCaptureError::kVideoCaptureDeviceAlreadyReleased:
1434 *output = media::VideoCaptureError::kVideoCaptureDeviceAlreadyReleased;
1436 case media::mojom::VideoCaptureError::kVideoCaptureSystemDeviceIdNotFound:
1437 *output = media::VideoCaptureError::kVideoCaptureSystemDeviceIdNotFound;
1439 case media::mojom::VideoCaptureError::
1440 kVideoCaptureDeviceFactoryWinUnknownError:
1442 media::VideoCaptureError::kVideoCaptureDeviceFactoryWinUnknownError;
1444 case media::mojom::VideoCaptureError::
1445 kWinMediaFoundationDeviceInitializationFailed:
1446 *output = media::VideoCaptureError::
1447 kWinMediaFoundationDeviceInitializationFailed;
1449 case media::mojom::VideoCaptureError::
1450 kWinMediaFoundationSourceCreationFailed:
1452 media::VideoCaptureError::kWinMediaFoundationSourceCreationFailed;
1454 case media::mojom::VideoCaptureError::
1455 kWinDirectShowDeviceFilterCreationFailed:
1457 media::VideoCaptureError::kWinDirectShowDeviceFilterCreationFailed;
1459 case media::mojom::VideoCaptureError::
1460 kWinDirectShowDeviceInitializationFailed:
1462 media::VideoCaptureError::kWinDirectShowDeviceInitializationFailed;
1464 case media::mojom::VideoCaptureError::
1465 kVideoCaptureDeviceFactorySecondCreateDenied:
1466 *output = media::VideoCaptureError::
1467 kVideoCaptureDeviceFactorySecondCreateDenied;
1469 case media::mojom::VideoCaptureError::kScreenCaptureKitResetStreamError:
1470 *output = media::VideoCaptureError::kScreenCaptureKitResetStreamError;
1472 case media::mojom::VideoCaptureError::kWinMediaFoundationCameraBusy:
1473 *output = media::VideoCaptureError::kWinMediaFoundationCameraBusy;
1476 NOTREACHED_NORETURN();
1480 media::mojom::VideoCaptureFrameDropReason
1481 EnumTraits<media::mojom::VideoCaptureFrameDropReason,
1482 media::VideoCaptureFrameDropReason>::
1483 ToMojom(media::VideoCaptureFrameDropReason input) {
1485 case media::VideoCaptureFrameDropReason::kNone:
1486 return media::mojom::VideoCaptureFrameDropReason::kNone;
1487 case media::VideoCaptureFrameDropReason::kDeviceClientFrameHasInvalidFormat:
1488 return media::mojom::VideoCaptureFrameDropReason::
1489 kDeviceClientFrameHasInvalidFormat;
1490 case media::VideoCaptureFrameDropReason::
1491 kDeviceClientLibyuvConvertToI420Failed:
1492 return media::mojom::VideoCaptureFrameDropReason::
1493 kDeviceClientLibyuvConvertToI420Failed;
1494 case media::VideoCaptureFrameDropReason::kV4L2BufferErrorFlagWasSet:
1495 return media::mojom::VideoCaptureFrameDropReason::
1496 kV4L2BufferErrorFlagWasSet;
1497 case media::VideoCaptureFrameDropReason::kV4L2InvalidNumberOfBytesInBuffer:
1498 return media::mojom::VideoCaptureFrameDropReason::
1499 kV4L2InvalidNumberOfBytesInBuffer;
1500 case media::VideoCaptureFrameDropReason::kAndroidThrottling:
1501 return media::mojom::VideoCaptureFrameDropReason::kAndroidThrottling;
1502 case media::VideoCaptureFrameDropReason::kAndroidGetByteArrayElementsFailed:
1503 return media::mojom::VideoCaptureFrameDropReason::
1504 kAndroidGetByteArrayElementsFailed;
1505 case media::VideoCaptureFrameDropReason::kAndroidApi1UnexpectedDataLength:
1506 return media::mojom::VideoCaptureFrameDropReason::
1507 kAndroidApi1UnexpectedDataLength;
1508 case media::VideoCaptureFrameDropReason::kAndroidApi2AcquiredImageIsNull:
1509 return media::mojom::VideoCaptureFrameDropReason::
1510 kAndroidApi2AcquiredImageIsNull;
1511 case media::VideoCaptureFrameDropReason::
1512 kWinDirectShowUnexpectedSampleLength:
1513 return media::mojom::VideoCaptureFrameDropReason::
1514 kWinDirectShowUnexpectedSampleLength;
1515 case media::VideoCaptureFrameDropReason::
1516 kWinDirectShowFailedToGetMemoryPointerFromMediaSample:
1517 return media::mojom::VideoCaptureFrameDropReason::
1518 kWinDirectShowFailedToGetMemoryPointerFromMediaSample;
1519 case media::VideoCaptureFrameDropReason::
1520 kWinMediaFoundationReceivedSampleIsNull:
1521 return media::mojom::VideoCaptureFrameDropReason::
1522 kWinMediaFoundationReceivedSampleIsNull;
1523 case media::VideoCaptureFrameDropReason::
1524 kWinMediaFoundationLockingBufferDelieveredNullptr:
1525 return media::mojom::VideoCaptureFrameDropReason::
1526 kWinMediaFoundationLockingBufferDelieveredNullptr;
1527 case media::VideoCaptureFrameDropReason::
1528 kWinMediaFoundationGetBufferByIndexReturnedNull:
1529 return media::mojom::VideoCaptureFrameDropReason::
1530 kWinMediaFoundationGetBufferByIndexReturnedNull;
1531 case media::VideoCaptureFrameDropReason::kBufferPoolMaxBufferCountExceeded:
1532 return media::mojom::VideoCaptureFrameDropReason::
1533 kBufferPoolMaxBufferCountExceeded;
1534 case media::VideoCaptureFrameDropReason::kBufferPoolBufferAllocationFailed:
1535 return media::mojom::VideoCaptureFrameDropReason::
1536 kBufferPoolBufferAllocationFailed;
1537 case media::VideoCaptureFrameDropReason::kVideoCaptureImplNotInStartedState:
1538 return media::mojom::VideoCaptureFrameDropReason::
1539 kVideoCaptureImplNotInStartedState;
1540 case media::VideoCaptureFrameDropReason::
1541 kVideoCaptureImplFailedToWrapDataAsMediaVideoFrame:
1542 return media::mojom::VideoCaptureFrameDropReason::
1543 kVideoCaptureImplFailedToWrapDataAsMediaVideoFrame;
1544 case media::VideoCaptureFrameDropReason::
1545 kVideoTrackAdapterHasNoResolutionAdapters:
1546 return media::mojom::VideoCaptureFrameDropReason::
1547 kVideoTrackAdapterHasNoResolutionAdapters;
1548 case media::VideoCaptureFrameDropReason::kResolutionAdapterFrameIsNotValid:
1549 return media::mojom::VideoCaptureFrameDropReason::
1550 kResolutionAdapterFrameIsNotValid;
1551 case media::VideoCaptureFrameDropReason::
1552 kResolutionAdapterWrappingFrameForCroppingFailed:
1553 return media::mojom::VideoCaptureFrameDropReason::
1554 kResolutionAdapterWrappingFrameForCroppingFailed;
1555 case media::VideoCaptureFrameDropReason::
1556 kResolutionAdapterFrameRateIsHigherThanRequested:
1557 return media::mojom::VideoCaptureFrameDropReason::
1558 kResolutionAdapterFrameRateIsHigherThanRequested;
1559 case media::VideoCaptureFrameDropReason::kResolutionAdapterHasNoCallbacks:
1560 return media::mojom::VideoCaptureFrameDropReason::
1561 kResolutionAdapterHasNoCallbacks;
1562 case media::VideoCaptureFrameDropReason::
1563 kVideoTrackFrameDelivererNotEnabledReplacingWithBlackFrame:
1564 return media::mojom::VideoCaptureFrameDropReason::
1565 kVideoTrackFrameDelivererNotEnabledReplacingWithBlackFrame;
1566 case media::VideoCaptureFrameDropReason::
1567 kRendererSinkFrameDelivererIsNotStarted:
1568 return media::mojom::VideoCaptureFrameDropReason::
1569 kRendererSinkFrameDelivererIsNotStarted;
1570 case media::VideoCaptureFrameDropReason::kCropVersionNotCurrent_DEPRECATED:
1571 return media::mojom::VideoCaptureFrameDropReason::
1572 kCropVersionNotCurrent_DEPRECATED;
1573 case media::VideoCaptureFrameDropReason::kGpuMemoryBufferMapFailed:
1574 return media::mojom::VideoCaptureFrameDropReason::
1575 kGpuMemoryBufferMapFailed;
1576 case media::VideoCaptureFrameDropReason::kSubCaptureTargetVersionNotCurrent:
1577 return media::mojom::VideoCaptureFrameDropReason::
1578 kSubCaptureTargetVersionNotCurrent;
1580 NOTREACHED_NORETURN();
1584 bool EnumTraits<media::mojom::VideoCaptureFrameDropReason,
1585 media::VideoCaptureFrameDropReason>::
1586 FromMojom(media::mojom::VideoCaptureFrameDropReason input,
1587 media::VideoCaptureFrameDropReason* output) {
1589 case media::mojom::VideoCaptureFrameDropReason::kNone:
1590 *output = media::VideoCaptureFrameDropReason::kNone;
1592 case media::mojom::VideoCaptureFrameDropReason::
1593 kDeviceClientFrameHasInvalidFormat:
1594 *output = media::VideoCaptureFrameDropReason::
1595 kDeviceClientFrameHasInvalidFormat;
1597 case media::mojom::VideoCaptureFrameDropReason::
1598 kDeviceClientLibyuvConvertToI420Failed:
1599 *output = media::VideoCaptureFrameDropReason::
1600 kDeviceClientLibyuvConvertToI420Failed;
1602 case media::mojom::VideoCaptureFrameDropReason::kV4L2BufferErrorFlagWasSet:
1603 *output = media::VideoCaptureFrameDropReason::kV4L2BufferErrorFlagWasSet;
1605 case media::mojom::VideoCaptureFrameDropReason::
1606 kV4L2InvalidNumberOfBytesInBuffer:
1608 media::VideoCaptureFrameDropReason::kV4L2InvalidNumberOfBytesInBuffer;
1610 case media::mojom::VideoCaptureFrameDropReason::kAndroidThrottling:
1611 *output = media::VideoCaptureFrameDropReason::kAndroidThrottling;
1613 case media::mojom::VideoCaptureFrameDropReason::
1614 kAndroidGetByteArrayElementsFailed:
1615 *output = media::VideoCaptureFrameDropReason::
1616 kAndroidGetByteArrayElementsFailed;
1618 case media::mojom::VideoCaptureFrameDropReason::
1619 kAndroidApi1UnexpectedDataLength:
1621 media::VideoCaptureFrameDropReason::kAndroidApi1UnexpectedDataLength;
1623 case media::mojom::VideoCaptureFrameDropReason::
1624 kAndroidApi2AcquiredImageIsNull:
1626 media::VideoCaptureFrameDropReason::kAndroidApi2AcquiredImageIsNull;
1628 case media::mojom::VideoCaptureFrameDropReason::
1629 kWinDirectShowUnexpectedSampleLength:
1630 *output = media::VideoCaptureFrameDropReason::
1631 kWinDirectShowUnexpectedSampleLength;
1633 case media::mojom::VideoCaptureFrameDropReason::
1634 kWinDirectShowFailedToGetMemoryPointerFromMediaSample:
1635 *output = media::VideoCaptureFrameDropReason::
1636 kWinDirectShowFailedToGetMemoryPointerFromMediaSample;
1638 case media::mojom::VideoCaptureFrameDropReason::
1639 kWinMediaFoundationReceivedSampleIsNull:
1640 *output = media::VideoCaptureFrameDropReason::
1641 kWinMediaFoundationReceivedSampleIsNull;
1643 case media::mojom::VideoCaptureFrameDropReason::
1644 kWinMediaFoundationLockingBufferDelieveredNullptr:
1645 *output = media::VideoCaptureFrameDropReason::
1646 kWinMediaFoundationLockingBufferDelieveredNullptr;
1648 case media::mojom::VideoCaptureFrameDropReason::
1649 kWinMediaFoundationGetBufferByIndexReturnedNull:
1650 *output = media::VideoCaptureFrameDropReason::
1651 kWinMediaFoundationGetBufferByIndexReturnedNull;
1653 case media::mojom::VideoCaptureFrameDropReason::
1654 kBufferPoolMaxBufferCountExceeded:
1656 media::VideoCaptureFrameDropReason::kBufferPoolMaxBufferCountExceeded;
1658 case media::mojom::VideoCaptureFrameDropReason::
1659 kBufferPoolBufferAllocationFailed:
1661 media::VideoCaptureFrameDropReason::kBufferPoolBufferAllocationFailed;
1663 case media::mojom::VideoCaptureFrameDropReason::
1664 kVideoCaptureImplNotInStartedState:
1665 *output = media::VideoCaptureFrameDropReason::
1666 kVideoCaptureImplNotInStartedState;
1668 case media::mojom::VideoCaptureFrameDropReason::
1669 kVideoCaptureImplFailedToWrapDataAsMediaVideoFrame:
1670 *output = media::VideoCaptureFrameDropReason::
1671 kVideoCaptureImplFailedToWrapDataAsMediaVideoFrame;
1673 case media::mojom::VideoCaptureFrameDropReason::
1674 kVideoTrackAdapterHasNoResolutionAdapters:
1675 *output = media::VideoCaptureFrameDropReason::
1676 kVideoTrackAdapterHasNoResolutionAdapters;
1678 case media::mojom::VideoCaptureFrameDropReason::
1679 kResolutionAdapterFrameIsNotValid:
1681 media::VideoCaptureFrameDropReason::kResolutionAdapterFrameIsNotValid;
1683 case media::mojom::VideoCaptureFrameDropReason::
1684 kResolutionAdapterWrappingFrameForCroppingFailed:
1685 *output = media::VideoCaptureFrameDropReason::
1686 kResolutionAdapterWrappingFrameForCroppingFailed;
1688 case media::mojom::VideoCaptureFrameDropReason::
1689 kResolutionAdapterTimestampTooCloseToPrevious_DEPRECATED:
1692 case media::mojom::VideoCaptureFrameDropReason::
1693 kResolutionAdapterFrameRateIsHigherThanRequested:
1694 *output = media::VideoCaptureFrameDropReason::
1695 kResolutionAdapterFrameRateIsHigherThanRequested;
1697 case media::mojom::VideoCaptureFrameDropReason::
1698 kResolutionAdapterHasNoCallbacks:
1700 media::VideoCaptureFrameDropReason::kResolutionAdapterHasNoCallbacks;
1702 case media::mojom::VideoCaptureFrameDropReason::
1703 kVideoTrackFrameDelivererNotEnabledReplacingWithBlackFrame:
1704 *output = media::VideoCaptureFrameDropReason::
1705 kVideoTrackFrameDelivererNotEnabledReplacingWithBlackFrame;
1707 case media::mojom::VideoCaptureFrameDropReason::
1708 kRendererSinkFrameDelivererIsNotStarted:
1709 *output = media::VideoCaptureFrameDropReason::
1710 kRendererSinkFrameDelivererIsNotStarted;
1712 case media::mojom::VideoCaptureFrameDropReason::
1713 kCropVersionNotCurrent_DEPRECATED:
1715 media::VideoCaptureFrameDropReason::kCropVersionNotCurrent_DEPRECATED;
1717 case media::mojom::VideoCaptureFrameDropReason::kGpuMemoryBufferMapFailed:
1718 *output = media::VideoCaptureFrameDropReason::kGpuMemoryBufferMapFailed;
1720 case media::mojom::VideoCaptureFrameDropReason::
1721 kSubCaptureTargetVersionNotCurrent:
1722 *output = media::VideoCaptureFrameDropReason::
1723 kSubCaptureTargetVersionNotCurrent;
1726 NOTREACHED_NORETURN();
1730 media::mojom::VideoFacingMode
1731 EnumTraits<media::mojom::VideoFacingMode, media::VideoFacingMode>::ToMojom(
1732 media::VideoFacingMode input) {
1734 case media::VideoFacingMode::MEDIA_VIDEO_FACING_NONE:
1735 return media::mojom::VideoFacingMode::NONE;
1736 case media::VideoFacingMode::MEDIA_VIDEO_FACING_USER:
1737 return media::mojom::VideoFacingMode::USER;
1738 case media::VideoFacingMode::MEDIA_VIDEO_FACING_ENVIRONMENT:
1739 return media::mojom::VideoFacingMode::ENVIRONMENT;
1740 case media::VideoFacingMode::NUM_MEDIA_VIDEO_FACING_MODES:
1741 NOTREACHED_NORETURN();
1743 NOTREACHED_NORETURN();
1747 bool EnumTraits<media::mojom::VideoFacingMode, media::VideoFacingMode>::
1748 FromMojom(media::mojom::VideoFacingMode input,
1749 media::VideoFacingMode* output) {
1751 case media::mojom::VideoFacingMode::NONE:
1752 *output = media::VideoFacingMode::MEDIA_VIDEO_FACING_NONE;
1754 case media::mojom::VideoFacingMode::USER:
1755 *output = media::VideoFacingMode::MEDIA_VIDEO_FACING_USER;
1757 case media::mojom::VideoFacingMode::ENVIRONMENT:
1758 *output = media::VideoFacingMode::MEDIA_VIDEO_FACING_ENVIRONMENT;
1761 NOTREACHED_NORETURN();
1765 media::mojom::VideoCaptureApi
1766 EnumTraits<media::mojom::VideoCaptureApi, media::VideoCaptureApi>::ToMojom(
1767 media::VideoCaptureApi input) {
1769 case media::VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE:
1770 return media::mojom::VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE;
1771 case media::VideoCaptureApi::WIN_MEDIA_FOUNDATION:
1772 return media::mojom::VideoCaptureApi::WIN_MEDIA_FOUNDATION;
1773 case media::VideoCaptureApi::WIN_MEDIA_FOUNDATION_SENSOR:
1774 return media::mojom::VideoCaptureApi::WIN_MEDIA_FOUNDATION_SENSOR;
1775 case media::VideoCaptureApi::WIN_DIRECT_SHOW:
1776 return media::mojom::VideoCaptureApi::WIN_DIRECT_SHOW;
1777 case media::VideoCaptureApi::MACOSX_AVFOUNDATION:
1778 return media::mojom::VideoCaptureApi::MACOSX_AVFOUNDATION;
1779 case media::VideoCaptureApi::MACOSX_DECKLINK:
1780 return media::mojom::VideoCaptureApi::MACOSX_DECKLINK;
1781 case media::VideoCaptureApi::ANDROID_API1:
1782 return media::mojom::VideoCaptureApi::ANDROID_API1;
1783 case media::VideoCaptureApi::ANDROID_API2_LEGACY:
1784 return media::mojom::VideoCaptureApi::ANDROID_API2_LEGACY;
1785 case media::VideoCaptureApi::ANDROID_API2_FULL:
1786 return media::mojom::VideoCaptureApi::ANDROID_API2_FULL;
1787 case media::VideoCaptureApi::ANDROID_API2_LIMITED:
1788 return media::mojom::VideoCaptureApi::ANDROID_API2_LIMITED;
1789 case media::VideoCaptureApi::FUCHSIA_CAMERA3:
1790 return media::mojom::VideoCaptureApi::FUCHSIA_CAMERA3;
1791 case media::VideoCaptureApi::VIRTUAL_DEVICE:
1792 return media::mojom::VideoCaptureApi::VIRTUAL_DEVICE;
1793 case media::VideoCaptureApi::UNKNOWN:
1794 return media::mojom::VideoCaptureApi::UNKNOWN;
1796 NOTREACHED_NORETURN();
1800 bool EnumTraits<media::mojom::VideoCaptureApi, media::VideoCaptureApi>::
1801 FromMojom(media::mojom::VideoCaptureApi input,
1802 media::VideoCaptureApi* output) {
1804 case media::mojom::VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE:
1805 *output = media::VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE;
1807 case media::mojom::VideoCaptureApi::WIN_MEDIA_FOUNDATION:
1808 *output = media::VideoCaptureApi::WIN_MEDIA_FOUNDATION;
1810 case media::mojom::VideoCaptureApi::WIN_MEDIA_FOUNDATION_SENSOR:
1811 *output = media::VideoCaptureApi::WIN_MEDIA_FOUNDATION_SENSOR;
1813 case media::mojom::VideoCaptureApi::WIN_DIRECT_SHOW:
1814 *output = media::VideoCaptureApi::WIN_DIRECT_SHOW;
1816 case media::mojom::VideoCaptureApi::MACOSX_AVFOUNDATION:
1817 *output = media::VideoCaptureApi::MACOSX_AVFOUNDATION;
1819 case media::mojom::VideoCaptureApi::MACOSX_DECKLINK:
1820 *output = media::VideoCaptureApi::MACOSX_DECKLINK;
1822 case media::mojom::VideoCaptureApi::ANDROID_API1:
1823 *output = media::VideoCaptureApi::ANDROID_API1;
1825 case media::mojom::VideoCaptureApi::ANDROID_API2_LEGACY:
1826 *output = media::VideoCaptureApi::ANDROID_API2_LEGACY;
1828 case media::mojom::VideoCaptureApi::ANDROID_API2_FULL:
1829 *output = media::VideoCaptureApi::ANDROID_API2_FULL;
1831 case media::mojom::VideoCaptureApi::ANDROID_API2_LIMITED:
1832 *output = media::VideoCaptureApi::ANDROID_API2_LIMITED;
1834 case media::mojom::VideoCaptureApi::FUCHSIA_CAMERA3:
1835 *output = media::VideoCaptureApi::FUCHSIA_CAMERA3;
1837 case media::mojom::VideoCaptureApi::VIRTUAL_DEVICE:
1838 *output = media::VideoCaptureApi::VIRTUAL_DEVICE;
1840 case media::mojom::VideoCaptureApi::UNKNOWN:
1841 *output = media::VideoCaptureApi::UNKNOWN;
1844 NOTREACHED_NORETURN();
1848 media::mojom::VideoCaptureTransportType EnumTraits<
1849 media::mojom::VideoCaptureTransportType,
1850 media::VideoCaptureTransportType>::ToMojom(media::VideoCaptureTransportType
1853 case media::VideoCaptureTransportType::APPLE_USB_OR_BUILT_IN:
1854 return media::mojom::VideoCaptureTransportType::APPLE_USB_OR_BUILT_IN;
1855 case media::VideoCaptureTransportType::OTHER_TRANSPORT:
1856 return media::mojom::VideoCaptureTransportType::OTHER_TRANSPORT;
1858 NOTREACHED_NORETURN();
1862 bool EnumTraits<media::mojom::VideoCaptureTransportType,
1863 media::VideoCaptureTransportType>::
1864 FromMojom(media::mojom::VideoCaptureTransportType input,
1865 media::VideoCaptureTransportType* output) {
1867 case media::mojom::VideoCaptureTransportType::APPLE_USB_OR_BUILT_IN:
1868 *output = media::VideoCaptureTransportType::APPLE_USB_OR_BUILT_IN;
1870 case media::mojom::VideoCaptureTransportType::OTHER_TRANSPORT:
1871 *output = media::VideoCaptureTransportType::OTHER_TRANSPORT;
1874 NOTREACHED_NORETURN();
1878 bool StructTraits<media::mojom::VideoCaptureControlSupportDataView,
1879 media::VideoCaptureControlSupport>::
1880 Read(media::mojom::VideoCaptureControlSupportDataView data,
1881 media::VideoCaptureControlSupport* out) {
1882 out->pan = data.pan();
1883 out->tilt = data.tilt();
1884 out->zoom = data.zoom();
1889 bool StructTraits<media::mojom::VideoCaptureFormatDataView,
1890 media::VideoCaptureFormat>::
1891 Read(media::mojom::VideoCaptureFormatDataView data,
1892 media::VideoCaptureFormat* out) {
1893 if (!data.ReadFrameSize(&out->frame_size))
1895 out->frame_rate = data.frame_rate();
1896 if (!data.ReadPixelFormat(&out->pixel_format))
1902 bool StructTraits<media::mojom::VideoCaptureParamsDataView,
1903 media::VideoCaptureParams>::
1904 Read(media::mojom::VideoCaptureParamsDataView data,
1905 media::VideoCaptureParams* out) {
1906 if (!data.ReadRequestedFormat(&out->requested_format))
1908 if (!data.ReadBufferType(&out->buffer_type))
1910 if (!data.ReadResolutionChangePolicy(&out->resolution_change_policy))
1912 if (!data.ReadPowerLineFrequency(&out->power_line_frequency))
1914 out->enable_face_detection = data.enable_face_detection();
1915 out->is_high_dpi_enabled = data.is_high_dpi_enabled();
1916 #if defined(TIZEN_MULTIMEDIA)
1917 out->lazy_start = data.lazy_start();
1923 bool StructTraits<media::mojom::VideoCaptureDeviceDescriptorDataView,
1924 media::VideoCaptureDeviceDescriptor>::
1925 Read(media::mojom::VideoCaptureDeviceDescriptorDataView data,
1926 media::VideoCaptureDeviceDescriptor* output) {
1927 std::string display_name;
1928 if (!data.ReadDisplayName(&display_name))
1930 output->set_display_name(display_name);
1931 if (!data.ReadDeviceId(&(output->device_id)))
1933 if (!data.ReadModelId(&(output->model_id)))
1935 if (!data.ReadFacingMode(&(output->facing)))
1937 if (!data.ReadCaptureApi(&(output->capture_api)))
1939 media::VideoCaptureControlSupport control_support;
1940 if (!data.ReadControlSupport(&control_support))
1942 output->set_control_support(control_support);
1943 if (!data.ReadTransportType(&(output->transport_type)))
1949 bool StructTraits<media::mojom::VideoCaptureDeviceInfoDataView,
1950 media::VideoCaptureDeviceInfo>::
1951 Read(media::mojom::VideoCaptureDeviceInfoDataView data,
1952 media::VideoCaptureDeviceInfo* output) {
1953 if (!data.ReadDescriptor(&(output->descriptor)))
1955 if (!data.ReadSupportedFormats(&(output->supported_formats)))
1961 bool StructTraits<media::mojom::VideoCaptureFeedbackDataView,
1962 media::VideoCaptureFeedback>::
1963 Read(media::mojom::VideoCaptureFeedbackDataView data,
1964 media::VideoCaptureFeedback* output) {
1965 output->max_framerate_fps = data.max_framerate_fps();
1966 output->max_pixels = data.max_pixels();
1967 output->resource_utilization = data.resource_utilization();
1968 output->require_mapped_frame = data.require_mapped_frame();
1970 // Only need to set the frame_id if it's valid; otherwise it is default
1971 // initialized to nullopt.
1972 if (data.has_frame_id())
1973 output->frame_id = data.frame_id();