Index: media/capture/video/linux/camera_config_chromeos.h |
diff --git a/media/capture/video/linux/camera_facing_chromeos.h b/media/capture/video/linux/camera_config_chromeos.h |
similarity index 67% |
rename from media/capture/video/linux/camera_facing_chromeos.h |
rename to media/capture/video/linux/camera_config_chromeos.h |
index 7e4ddcc6041f8683f63dd4c7bf4766657540d306..3b3bb3959951f553d3f6a66d3af7cce430d87810 100644 |
--- a/media/capture/video/linux/camera_facing_chromeos.h |
+++ b/media/capture/video/linux/camera_config_chromeos.h |
@@ -2,8 +2,8 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef MEDIA_CAPTURE_VIDEO_LINUX_CAMERA_FACING_CHROMEOS_H_ |
-#define MEDIA_CAPTURE_VIDEO_LINUX_CAMERA_FACING_CHROMEOS_H_ |
+#ifndef MEDIA_CAPTURE_VIDEO_LINUX_CAMERA_CONFIG_CHROMEOS_H_ |
+#define MEDIA_CAPTURE_VIDEO_LINUX_CAMERA_CONFIG_CHROMEOS_H_ |
#include <stddef.h> |
@@ -16,7 +16,7 @@ |
namespace media { |
-// CameraFacingChromeOS reads the file /etc/camera/camera_characteristics.conf |
+// CameraConfigChromeOS reads the file /etc/camera/camera_characteristics.conf |
// and populates |camera_id_to_facing_|, |usb_id_to_camera_id_| and |
// |model_id_to_camera_id_|. |
// |
@@ -48,11 +48,11 @@ namespace media { |
// camera0.module1.lens_info_available_focal_lengths=1.69,2 |
// camera1.lens_facing=1 |
// camera1.sensor_orientation=180 |
-class CAPTURE_EXPORT CameraFacingChromeOS { |
+class CAPTURE_EXPORT CameraConfigChromeOS { |
public: |
- CameraFacingChromeOS(); |
- CAPTURE_EXPORT CameraFacingChromeOS(const std::string& config_file_path); |
- CAPTURE_EXPORT ~CameraFacingChromeOS(); |
+ CameraConfigChromeOS(); |
+ CAPTURE_EXPORT CameraConfigChromeOS(const std::string& config_file_path); |
+ CAPTURE_EXPORT ~CameraConfigChromeOS(); |
// Get camera facing by specifying USB vid and pid and device path. |model_id| |
// should be formatted as "vid:pid". |device_id| is something like |
@@ -61,21 +61,36 @@ class CAPTURE_EXPORT CameraFacingChromeOS { |
CAPTURE_EXPORT VideoFacingMode |
GetCameraFacing(const std::string& device_id, |
const std::string& model_id) const; |
+ // Get the orientation of the camera. The value is the angle that the camera |
+ // image needs to be rotated clockwise so it shows correctly on the display in |
+ // its natural orientation. It should be 0, 90, 180, or 270. |
+ // |
+ // For example, suppose a device has a naturally tall screen. The back-facing |
+ // camera sensor is mounted in landscape. You are looking at the screen. If |
+ // the top side of the camera sensor is aligned with the right edge of the |
+ // screen in natural orientation, the value should be 90. If the top side of a |
+ // front-facing camera sensor is aligned with the right of the screen, the |
+ // value should be 270. |
+ int GetOrientation(const std::string& device_id, |
+ const std::string& model_id) const; |
static const VideoFacingMode kLensFacingDefault = |
VideoFacingMode::MEDIA_VIDEO_FACING_NONE; |
private: |
std::string GetUsbId(const std::string& device_id) const; |
+ int GetCameraId(const std::string& device_id, |
+ const std::string& model_id) const; |
// Read file content and populate |camera_id_to_facing_|, |
// |usb_id_to_camera_id_| and |model_id_to_camera_id_|. |
void InitializeDeviceInfo(const std::string& config_file_path); |
std::unordered_map<int, VideoFacingMode> camera_id_to_facing_; |
+ std::unordered_map<int, int> camera_id_to_orientation_; |
std::unordered_map<std::string, int> usb_id_to_camera_id_; |
std::unordered_map<std::string, int> model_id_to_camera_id_; |
}; |
} // namespace media |
-#endif // MEDIA_CAPTURE_VIDEO_LINUX_CAMERA_FACING_CHROMEOS_H_ |
+#endif // MEDIA_CAPTURE_VIDEO_LINUX_CAMERA_CONFIG_CHROMEOS_H_ |