summaryrefslogtreecommitdiffstats
path: root/include/camera
diff options
context:
space:
mode:
authorRuben Brunk <rubenbrunk@google.com>2014-05-09 19:57:56 -0700
committerRuben Brunk <rubenbrunk@google.com>2014-05-21 18:14:41 -0700
commitb2119af7f4ced0ecfefd4c7388f86b4e3a3ea7d8 (patch)
treea97770362fc690d625a0383597cb057d48737876 /include/camera
parent7ac0039611ea7ea18f9545f96a8f5cb31dcdebe5 (diff)
downloadframeworks_av-b2119af7f4ced0ecfefd4c7388f86b4e3a3ea7d8.zip
frameworks_av-b2119af7f4ced0ecfefd4c7388f86b4e3a3ea7d8.tar.gz
frameworks_av-b2119af7f4ced0ecfefd4c7388f86b4e3a3ea7d8.tar.bz2
camera2: Update CameraService for HAL1 shim.
Updates the camera service to handle shim connections. Changes include: - Adds begin/end configure binder calls. - Adds cache for shim client static camera metadata. - Implements basic getCameraCharacteristic functionality for shim clients. Bug: 15116722 Bug: 15117269 Change-Id: I510c5888ca15f8e7d3b8ed1680ff1c7f8f514744
Diffstat (limited to 'include/camera')
-rw-r--r--include/camera/CameraParameters.h13
-rw-r--r--include/camera/camera2/ICameraDeviceUser.h21
2 files changed, 34 insertions, 0 deletions
diff --git a/include/camera/CameraParameters.h b/include/camera/CameraParameters.h
index d521543..c6074fc 100644
--- a/include/camera/CameraParameters.h
+++ b/include/camera/CameraParameters.h
@@ -102,6 +102,12 @@ public:
void dump() const;
status_t dump(int fd, const Vector<String16>& args) const;
+ /**
+ * Returns a Vector containing the supported preview formats
+ * as enums given in graphics.h.
+ */
+ void getSupportedPreviewFormats(Vector<int>& formats) const;
+
// Parameter keys to communicate between camera application and driver.
// The access (read/write, read only, or write only) is viewed from the
// perspective of applications, not driver.
@@ -674,6 +680,13 @@ public:
// High-dynamic range mode
static const char LIGHTFX_HDR[];
+ /**
+ * Returns the the supported preview formats as an enum given in graphics.h
+ * corrsponding to the format given in the input string or -1 if no such
+ * conversion exists.
+ */
+ static int previewFormatToEnum(const char* format);
+
private:
DefaultKeyedVector<String8,String8> mMap;
};
diff --git a/include/camera/camera2/ICameraDeviceUser.h b/include/camera/camera2/ICameraDeviceUser.h
index 913696f..35488bb 100644
--- a/include/camera/camera2/ICameraDeviceUser.h
+++ b/include/camera/camera2/ICameraDeviceUser.h
@@ -78,6 +78,27 @@ public:
/*out*/
int64_t* lastFrameNumber = NULL) = 0;
+ /**
+ * Begin the device configuration.
+ *
+ * <p>
+ * beginConfigure must be called before any call to deleteStream, createStream,
+ * or endConfigure. It is not valid to call this when the device is not idle.
+ * <p>
+ */
+ virtual status_t beginConfigure() = 0;
+
+ /**
+ * End the device configuration.
+ *
+ * <p>
+ * endConfigure must be called after stream configuration is complete (i.e. after
+ * a call to beginConfigure and subsequent createStream/deleteStream calls). This
+ * must be called before any requests can be submitted.
+ * <p>
+ */
+ virtual status_t endConfigure() = 0;
+
virtual status_t deleteStream(int streamId) = 0;
virtual status_t createStream(
int width, int height, int format,