CameraService: Add support for burst capture and repeating burst.
Bug: 10749500
Change-Id: I292a485b222e5cf97388d76bf0d956a6ac54bb2f
diff --git a/services/camera/libcameraservice/device3/Camera3Device.h b/services/camera/libcameraservice/device3/Camera3Device.h
index 468f641..bbdb65d 100644
--- a/services/camera/libcameraservice/device3/Camera3Device.h
+++ b/services/camera/libcameraservice/device3/Camera3Device.h
@@ -79,7 +79,9 @@
// Capture and setStreamingRequest will configure streams if currently in
// idle state
virtual status_t capture(CameraMetadata &request);
+ virtual status_t captureList(const List<const CameraMetadata> &requests);
virtual status_t setStreamingRequest(const CameraMetadata &request);
+ virtual status_t setStreamingRequestList(const List<const CameraMetadata> &requests);
virtual status_t clearStreamingRequest();
virtual status_t waitUntilRequestReceived(int32_t requestId, nsecs_t timeout);
@@ -202,6 +204,14 @@
};
typedef List<sp<CaptureRequest> > RequestList;
+ status_t checkStatusOkToCaptureLocked();
+
+ status_t convertMetadataListToRequestListLocked(
+ const List<const CameraMetadata> &metadataList,
+ /*out*/RequestList *requestList);
+
+ status_t submitRequestsHelper(const List<const CameraMetadata> &requests, bool repeating);
+
/**
* Get the last request submitted to the hal by the request thread.
*
@@ -313,6 +323,8 @@
status_t queueRequest(sp<CaptureRequest> request);
+ status_t queueRequestList(List<sp<CaptureRequest> > &requests);
+
/**
* Remove all queued and repeating requests, and pending triggers
*/