Index: media/capture/video/video_capture_device_descriptor.h |
diff --git a/media/capture/video/video_capture_device_descriptor.h b/media/capture/video/video_capture_device_descriptor.h |
index ea2331a17bc4b9b2ad76ddb24c3fdabb2362a113..342d2a08f4d448373d8a2e7a9f6dcbead0517b8e 100644 |
--- a/media/capture/video/video_capture_device_descriptor.h |
+++ b/media/capture/video/video_capture_device_descriptor.h |
@@ -8,6 +8,7 @@ |
#include <string> |
#include <vector> |
+#include "base/optional.h" |
#include "media/capture/capture_export.h" |
namespace media { |
@@ -82,6 +83,21 @@ struct CAPTURE_EXPORT VideoCaptureDeviceDescriptor { |
VideoCaptureApi capture_api; |
VideoCaptureTransportType transport_type; |
+ |
+ // Contains camera calibration parameters. |
+ // These parameters apply to both RGB and depth video devices. See also |
+ // https://w3c.github.io/mediacapture-depth/#mediatracksettings-dictionary |
+ // TODO(aleksandar.stojiljkovic): Add principal point and camera distortion |
+ // model and coefficients. See also https://crbug.com/616098 |
+ struct CameraCalibration { |
+ double focal_length_x = 0.0; |
+ double focal_length_y = 0.0; |
+ // depth near and far are used only for depth cameras. |
+ double depth_near = 0.0; |
+ double depth_far = 0.0; |
+ }; |
+ |
+ base::Optional<CameraCalibration> camera_calibration; |
}; |
using VideoCaptureDeviceDescriptors = std::vector<VideoCaptureDeviceDescriptor>; |