camera2 (v)ndk: Add APIs for pre-allocation of surface buffers.

Clients may need to pre-allocate stream buffers in order to reduce
affects of buffer-allocation time such as frame jank till steady state
capture is reached (eg: for a repeating request).
The SDK already has an api which does this :
CameraCaptureSession.prepare(Surface). We're exposing a similar API to
the ndk/ vndk here.

Bug: 259735869

Test: NdkCameraDeviceTest.java

Change-Id: Iee8559fcebd61a6886f23779a05351b52633f851
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
diff --git a/services/camera/libcameraservice/aidl/AidlCameraDeviceUser.cpp b/services/camera/libcameraservice/aidl/AidlCameraDeviceUser.cpp
index d9ec0b6..b9f1224 100644
--- a/services/camera/libcameraservice/aidl/AidlCameraDeviceUser.cpp
+++ b/services/camera/libcameraservice/aidl/AidlCameraDeviceUser.cpp
@@ -56,6 +56,7 @@
       mDeviceRemote(deviceRemote) {
     mInitSuccess = initDevice();
 }
+
 bool AidlCameraDeviceUser::initDevice() {
     // TODO: Get request and result metadata queue size from a system property.
     int32_t reqFMQSize = CAMERA_REQUEST_METADATA_QUEUE_SIZE;
@@ -95,6 +96,11 @@
     return ScopedAStatus::ok();
 }
 
+ndk::ScopedAStatus AidlCameraDeviceUser::prepare(int32_t in_streamId) {
+    UStatus ret = mDeviceRemote->prepare(in_streamId);
+    return fromUStatus(ret);
+}
+
 ndk::ScopedAStatus AidlCameraDeviceUser::submitRequestList(
         const std::vector<SCaptureRequest>& in_requestList, bool in_isRepeating,
         SSubmitInfo* _aidl_return) {