OLD | NEW |
| (Empty) |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef SERVICES_VIDEO_CAPTURE_PUBLIC_INTERFACES_VIDEO_CAPTURE_FORMAT_TYPEMAP_H_ | |
6 #define SERVICES_VIDEO_CAPTURE_PUBLIC_INTERFACES_VIDEO_CAPTURE_FORMAT_TYPEMAP_H_ | |
7 | |
8 #include "media/capture/video_capture_types.h" | |
9 #include "mojo/common/common_custom_types_struct_traits.h" | |
10 #include "services/video_capture/public/interfaces/video_capture_format.mojom.h" | |
11 | |
12 namespace mojo { | |
13 | |
14 template <> | |
15 struct StructTraits<video_capture::mojom::VideoCaptureFormatDataView, | |
16 media::VideoCaptureFormat> { | |
17 static const gfx::Size& frame_size(const media::VideoCaptureFormat& format) { | |
18 return format.frame_size; | |
19 } | |
20 | |
21 static float frame_rate(const media::VideoCaptureFormat& format) { | |
22 return format.frame_rate; | |
23 } | |
24 | |
25 static media::VideoPixelFormat pixel_format( | |
26 const media::VideoCaptureFormat& format) { | |
27 return format.pixel_format; | |
28 } | |
29 | |
30 static video_capture::mojom::VideoPixelStorage pixel_storage( | |
31 const media::VideoCaptureFormat& format) { | |
32 return static_cast<video_capture::mojom::VideoPixelStorage>( | |
33 format.pixel_storage); | |
34 } | |
35 | |
36 static bool Read(video_capture::mojom::VideoCaptureFormatDataView data, | |
37 media::VideoCaptureFormat* out); | |
38 }; | |
39 | |
40 template <> | |
41 struct EnumTraits<video_capture::mojom::VideoPixelStorage, | |
42 media::VideoPixelStorage> { | |
43 static video_capture::mojom::VideoPixelStorage ToMojom( | |
44 media::VideoPixelStorage video_pixel_storage); | |
45 | |
46 static bool FromMojom(video_capture::mojom::VideoPixelStorage input, | |
47 media::VideoPixelStorage* out); | |
48 }; | |
49 } | |
50 | |
51 #endif // SERVICES_VIDEO_CAPTURE_PUBLIC_INTERFACES_VIDEO_CAPTURE_FORMAT_TYPEMAP
_H_ | |
OLD | NEW |