camera_common.h: Add STATUS_ENUMERATING enum
Change-Id: I0986d37364a2666d493cb771fa76967aa051ca5d
diff --git a/include/hardware/camera_common.h b/include/hardware/camera_common.h
index 22b3f7a..62c5740 100644
--- a/include/hardware/camera_common.h
+++ b/include/hardware/camera_common.h
@@ -172,6 +172,18 @@
*
* The current status of the camera device, as provided by the HAL through the
* camera_module_callbacks.camera_device_status_change() call.
+ *
+ * At module load time, the framework will assume all camera devices are in the
+ * CAMERA_DEVICE_STATUS_PRESENT state. The HAL should invoke
+ * camera_module_callbacks::camera_device_status_change to inform the framework
+ * of any initially NOT_PRESENT devices.
+ *
+ * Allowed transitions:
+ * PRESENT -> NOT_PRESENT
+ * NOT_PRESENT -> ENUMERATING
+ * NOT_PRESENT -> PRESENT
+ * ENUMERATING -> PRESENT
+ * ENUMERATING -> NOT_PRESENT
*/
typedef enum camera_device_status {
/**
@@ -187,7 +199,14 @@
* change. By default, the framework will assume all devices are in this
* state.
*/
- CAMERA_DEVICE_STATUS_PRESENT = 1
+ CAMERA_DEVICE_STATUS_PRESENT = 1,
+
+ /**
+ * The camera device is connected, but it is undergoing an enumeration and
+ * so opening the device will return -EBUSY. Calls to get_camera_info
+ * must still succeed, as if the camera was in the PRESENT status.
+ */
+ CAMERA_DEVICE_STATUS_ENUMERATING = 2,
} camera_device_status_t;