Camera NDK library: capture session implementation
Bug: 23012001
Change-Id: I3fd93205dcf1b9ed5a947cb944919eb531f219fc
diff --git a/include/camera/ndk/NdkCameraDevice.h b/include/camera/ndk/NdkCameraDevice.h
index 6eb0707..2008a68 100644
--- a/include/camera/ndk/NdkCameraDevice.h
+++ b/include/camera/ndk/NdkCameraDevice.h
@@ -44,8 +44,8 @@
typedef struct ACameraDevice_StateCallbacks {
void* context;
- ACameraDevice_StateCallback onDisconnected;
- ACameraDevice_ErrorStateCallback onError;
+ ACameraDevice_StateCallback onDisconnected; // Device is unusable after this callback
+ ACameraDevice_ErrorStateCallback onError; // Device is unusable after this callback
} ACameraDevice_stateCallbacks;
/**
@@ -93,10 +93,17 @@
camera_status_t ACaptureSessionOutputContainer_remove(
ACaptureSessionOutputContainer*, const ACaptureSessionOutput*);
+/*
+ * Create a new capture session.
+ * If there is a preexisting session, the previous session will be closed automatically.
+ * However, app still needs to call ACameraCaptureSession_close on previous session.
+ * Otherwise the resources hold by previous session won't be freed
+ */
camera_status_t ACameraDevice_createCaptureSession(
ACameraDevice*,
const ACaptureSessionOutputContainer* outputs,
- const ACameraCaptureSession_stateCallbacks* callbacks);
+ const ACameraCaptureSession_stateCallbacks* callbacks,
+ /*out*/ACameraCaptureSession** session);
#ifdef __cplusplus
} // extern "C"