Merge "Add AIDL Interface for DebugUtils Service"
diff --git a/camera/offlinecamera/aidl/Android.bp b/camera/offlinecamera/aidl/Android.bp
new file mode 100644
index 0000000..29d6174
--- /dev/null
+++ b/camera/offlinecamera/aidl/Android.bp
@@ -0,0 +1,28 @@
+aidl_interface {
+ name: "vendor.qti.hardware.camera.offlinecamera",
+ vendor_available: true,
+ owner: "qti",
+ srcs: [
+ "vendor/qti/hardware/camera/offlinecamera/*.aidl",
+ ],
+ imports: [
+ "android.hardware.camera.device-V1",
+ ],
+ stability: "vintf",
+ backend: {
+ cpp: {
+ enabled: false,
+ },
+ java: {
+ sdk_version: "module_current",
+ enabled: false,
+ },
+ },
+ versions_with_info: [
+ {
+ version: "1",
+ imports: ["android.hardware.camera.device-V1"],
+ },
+ ],
+
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/.hash b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/.hash
new file mode 100644
index 0000000..b291bf1
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/.hash
@@ -0,0 +1 @@
+87f0e9b47542c7bda9575afb3ff460ba1887dfd8
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraCallback.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraCallback.aidl
new file mode 100644
index 0000000..af8cc6d
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraCallback.aidl
@@ -0,0 +1,30 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@VintfStability
+interface IOfflineCameraCallback {
+ void notify(in android.hardware.camera.device.NotifyMsg[] msgs);
+ void processCaptureResult(in vendor.qti.hardware.camera.offlinecamera.OfflineCaptureResult[] results);
+ android.hardware.camera.device.BufferRequestStatus requestStreamBuffers(in vendor.qti.hardware.camera.offlinecamera.OfflineBufferRequest[] bufReqs, out vendor.qti.hardware.camera.offlinecamera.OfflineStreamBufferRet[] buffers);
+ void returnStreamBuffers(in android.hardware.camera.device.StreamBuffer[] buffers);
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraService.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraService.aidl
new file mode 100644
index 0000000..e4b1f08
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraService.aidl
@@ -0,0 +1,30 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@VintfStability
+interface IOfflineCameraService {
+ vendor.qti.hardware.camera.offlinecamera.OpMode[] getSupportedOpModes();
+ void registerClient(in int clientID, in vendor.qti.hardware.camera.offlinecamera.IOfflineCameraCallback callback);
+ void unRegisterClient(in int clientID);
+ vendor.qti.hardware.camera.offlinecamera.IOfflineCameraSession openOfflineSeesion(in String sessionName, in vendor.qti.hardware.camera.offlinecamera.IOfflineCameraCallback callback);
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraSession.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraSession.aidl
new file mode 100644
index 0000000..ee1da68
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraSession.aidl
@@ -0,0 +1,31 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@VintfStability
+interface IOfflineCameraSession {
+ void configureOfflineSession(in vendor.qti.hardware.camera.offlinecamera.OfflineSessionConfigureInfo sessionConfig);
+ int processOfflineRequest(in vendor.qti.hardware.camera.offlinecamera.OfflineRequestInfo[] requests);
+ void closeOfflineSession();
+ void OfflineSessionFlush(in vendor.qti.hardware.camera.offlinecamera.OfflineFlushInfo flush);
+ void OfflineSessionDump();
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OfflineBufferRequest.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OfflineBufferRequest.aidl
new file mode 100644
index 0000000..ca333d8
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OfflineBufferRequest.aidl
@@ -0,0 +1,28 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@VintfStability
+parcelable OfflineBufferRequest {
+ android.hardware.camera.device.Stream streamInfo;
+ int numBuffersRequested;
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OfflineCaptureResult.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OfflineCaptureResult.aidl
new file mode 100644
index 0000000..0341341
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OfflineCaptureResult.aidl
@@ -0,0 +1,29 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@VintfStability
+parcelable OfflineCaptureResult {
+ int frameNumber;
+ vendor.qti.hardware.camera.offlinecamera.OfflineFrameInfo result;
+ vendor.qti.hardware.camera.offlinecamera.OfflineFrameInfo input;
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OfflineFlushInfo.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OfflineFlushInfo.aidl
new file mode 100644
index 0000000..3d9bd3c
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OfflineFlushInfo.aidl
@@ -0,0 +1,27 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@VintfStability
+parcelable OfflineFlushInfo {
+ int frameNumber;
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OfflineFrameInfo.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OfflineFrameInfo.aidl
new file mode 100644
index 0000000..adefc1d
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OfflineFrameInfo.aidl
@@ -0,0 +1,29 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@VintfStability
+parcelable OfflineFrameInfo {
+ android.hardware.camera.device.StreamBuffer[] buffers;
+ int numPartialMetadata;
+ android.hardware.camera.device.CameraMetadata configureSetting;
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OfflineRequestInfo.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OfflineRequestInfo.aidl
new file mode 100644
index 0000000..c63b79d
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OfflineRequestInfo.aidl
@@ -0,0 +1,29 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@VintfStability
+parcelable OfflineRequestInfo {
+ int frameNumber;
+ vendor.qti.hardware.camera.offlinecamera.OfflineFrameInfo[] inputInfo;
+ vendor.qti.hardware.camera.offlinecamera.OfflineFrameInfo resultInfo;
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OfflineSessionConfigureInfo.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OfflineSessionConfigureInfo.aidl
new file mode 100644
index 0000000..e15e9b8
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OfflineSessionConfigureInfo.aidl
@@ -0,0 +1,30 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@VintfStability
+parcelable OfflineSessionConfigureInfo {
+ String cameraId;
+ android.hardware.camera.device.Stream[] streams;
+ vendor.qti.hardware.camera.offlinecamera.OpMode mode;
+ android.hardware.camera.device.CameraMetadata configureSetting;
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OfflineStreamBufferRet.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OfflineStreamBufferRet.aidl
new file mode 100644
index 0000000..0b3d2c9
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OfflineStreamBufferRet.aidl
@@ -0,0 +1,28 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@VintfStability
+parcelable OfflineStreamBufferRet {
+ android.hardware.camera.device.Stream streamInfo;
+ android.hardware.camera.device.StreamBuffersVal val;
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OpMode.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OpMode.aidl
new file mode 100644
index 0000000..cac32c1
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/1/vendor/qti/hardware/camera/offlinecamera/OpMode.aidl
@@ -0,0 +1,32 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@Backing(type="int") @VintfStability
+enum OpMode {
+ OFFLINEBAYER2YUV = 0,
+ OFFLINEYUV2JPEG = 1,
+ OFFLINEYUV2YUV = 2,
+ OFFLINEHWMF = 3,
+ OFFLINEQLL = 4,
+ OFFLINERAW2RAW = 5,
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraCallback.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraCallback.aidl
new file mode 100644
index 0000000..af8cc6d
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraCallback.aidl
@@ -0,0 +1,30 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@VintfStability
+interface IOfflineCameraCallback {
+ void notify(in android.hardware.camera.device.NotifyMsg[] msgs);
+ void processCaptureResult(in vendor.qti.hardware.camera.offlinecamera.OfflineCaptureResult[] results);
+ android.hardware.camera.device.BufferRequestStatus requestStreamBuffers(in vendor.qti.hardware.camera.offlinecamera.OfflineBufferRequest[] bufReqs, out vendor.qti.hardware.camera.offlinecamera.OfflineStreamBufferRet[] buffers);
+ void returnStreamBuffers(in android.hardware.camera.device.StreamBuffer[] buffers);
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraService.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraService.aidl
new file mode 100644
index 0000000..e4b1f08
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraService.aidl
@@ -0,0 +1,30 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@VintfStability
+interface IOfflineCameraService {
+ vendor.qti.hardware.camera.offlinecamera.OpMode[] getSupportedOpModes();
+ void registerClient(in int clientID, in vendor.qti.hardware.camera.offlinecamera.IOfflineCameraCallback callback);
+ void unRegisterClient(in int clientID);
+ vendor.qti.hardware.camera.offlinecamera.IOfflineCameraSession openOfflineSeesion(in String sessionName, in vendor.qti.hardware.camera.offlinecamera.IOfflineCameraCallback callback);
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraSession.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraSession.aidl
new file mode 100644
index 0000000..ee1da68
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraSession.aidl
@@ -0,0 +1,31 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@VintfStability
+interface IOfflineCameraSession {
+ void configureOfflineSession(in vendor.qti.hardware.camera.offlinecamera.OfflineSessionConfigureInfo sessionConfig);
+ int processOfflineRequest(in vendor.qti.hardware.camera.offlinecamera.OfflineRequestInfo[] requests);
+ void closeOfflineSession();
+ void OfflineSessionFlush(in vendor.qti.hardware.camera.offlinecamera.OfflineFlushInfo flush);
+ void OfflineSessionDump();
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OfflineBufferRequest.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OfflineBufferRequest.aidl
new file mode 100644
index 0000000..ca333d8
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OfflineBufferRequest.aidl
@@ -0,0 +1,28 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@VintfStability
+parcelable OfflineBufferRequest {
+ android.hardware.camera.device.Stream streamInfo;
+ int numBuffersRequested;
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OfflineCaptureResult.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OfflineCaptureResult.aidl
new file mode 100644
index 0000000..0341341
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OfflineCaptureResult.aidl
@@ -0,0 +1,29 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@VintfStability
+parcelable OfflineCaptureResult {
+ int frameNumber;
+ vendor.qti.hardware.camera.offlinecamera.OfflineFrameInfo result;
+ vendor.qti.hardware.camera.offlinecamera.OfflineFrameInfo input;
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OfflineFlushInfo.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OfflineFlushInfo.aidl
new file mode 100644
index 0000000..3d9bd3c
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OfflineFlushInfo.aidl
@@ -0,0 +1,27 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@VintfStability
+parcelable OfflineFlushInfo {
+ int frameNumber;
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OfflineFrameInfo.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OfflineFrameInfo.aidl
new file mode 100644
index 0000000..adefc1d
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OfflineFrameInfo.aidl
@@ -0,0 +1,29 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@VintfStability
+parcelable OfflineFrameInfo {
+ android.hardware.camera.device.StreamBuffer[] buffers;
+ int numPartialMetadata;
+ android.hardware.camera.device.CameraMetadata configureSetting;
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OfflineRequestInfo.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OfflineRequestInfo.aidl
new file mode 100644
index 0000000..c63b79d
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OfflineRequestInfo.aidl
@@ -0,0 +1,29 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@VintfStability
+parcelable OfflineRequestInfo {
+ int frameNumber;
+ vendor.qti.hardware.camera.offlinecamera.OfflineFrameInfo[] inputInfo;
+ vendor.qti.hardware.camera.offlinecamera.OfflineFrameInfo resultInfo;
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OfflineSessionConfigureInfo.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OfflineSessionConfigureInfo.aidl
new file mode 100644
index 0000000..e15e9b8
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OfflineSessionConfigureInfo.aidl
@@ -0,0 +1,30 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@VintfStability
+parcelable OfflineSessionConfigureInfo {
+ String cameraId;
+ android.hardware.camera.device.Stream[] streams;
+ vendor.qti.hardware.camera.offlinecamera.OpMode mode;
+ android.hardware.camera.device.CameraMetadata configureSetting;
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OfflineStreamBufferRet.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OfflineStreamBufferRet.aidl
new file mode 100644
index 0000000..0b3d2c9
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OfflineStreamBufferRet.aidl
@@ -0,0 +1,28 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@VintfStability
+parcelable OfflineStreamBufferRet {
+ android.hardware.camera.device.Stream streamInfo;
+ android.hardware.camera.device.StreamBuffersVal val;
+}
diff --git a/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OpMode.aidl b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OpMode.aidl
new file mode 100644
index 0000000..cac32c1
--- /dev/null
+++ b/camera/offlinecamera/aidl/aidl_api/vendor.qti.hardware.camera.offlinecamera/current/vendor/qti/hardware/camera/offlinecamera/OpMode.aidl
@@ -0,0 +1,32 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.offlinecamera;
+@Backing(type="int") @VintfStability
+enum OpMode {
+ OFFLINEBAYER2YUV = 0,
+ OFFLINEYUV2JPEG = 1,
+ OFFLINEYUV2YUV = 2,
+ OFFLINEHWMF = 3,
+ OFFLINEQLL = 4,
+ OFFLINERAW2RAW = 5,
+}
diff --git a/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraCallback.aidl b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraCallback.aidl
new file mode 100644
index 0000000..0b58ac2
--- /dev/null
+++ b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraCallback.aidl
@@ -0,0 +1,60 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.offlinecamera;
+
+import vendor.qti.hardware.camera.offlinecamera.OfflineCaptureResult;
+import vendor.qti.hardware.camera.offlinecamera.OfflineBufferRequest;
+import vendor.qti.hardware.camera.offlinecamera.OfflineStreamBufferRet;
+import android.hardware.camera.device.NotifyMsg;
+import android.hardware.camera.device.BufferRequestStatus;
+import android.hardware.camera.device.StreamBuffer;
+
+/**
+ * Callback methods for the offline camera service module to call into the Client.
+ */
+@VintfStability
+interface IOfflineCameraCallback {
+ /**
+ * notify:
+ *
+ * service send messages back to this client
+ *
+ * @param msgs List of notification msgs to be processed by client
+ */
+ void notify(in NotifyMsg[] msgs);
+
+
+ /**
+ * processCaptureResult:
+ *
+ * service send result back to this client
+ *
+ * @param results to be processed by the client
+ *
+ */
+ void processCaptureResult(in OfflineCaptureResult[] results);
+
+ /**
+ * requestStreamBuffers:
+ *
+ * callback for service to ask for buffers from this client
+ *
+ * @param bufReqs Buffers requested by the offline camera service
+ * @param buffers the buffers returned to the offline camera service by this Client
+ */
+ BufferRequestStatus requestStreamBuffers(
+ in OfflineBufferRequest[] bufReqs, out OfflineStreamBufferRet[] buffers);
+
+ /**
+ * returnStreamBuffers:
+ *
+ * callback for service to return buffers to this client
+ *
+ * @param buffers The stream buffers returned to the offline camera Client
+ */
+ void returnStreamBuffers(in StreamBuffer[] buffers);
+
+}
diff --git a/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraService.aidl b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraService.aidl
new file mode 100644
index 0000000..50be67d
--- /dev/null
+++ b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraService.aidl
@@ -0,0 +1,78 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.offlinecamera;
+
+import vendor.qti.hardware.camera.offlinecamera.OpMode;
+import vendor.qti.hardware.camera.offlinecamera.IOfflineCameraCallback;
+import vendor.qti.hardware.camera.offlinecamera.IOfflineCameraSession;
+
+
+@VintfStability
+interface IOfflineCameraService {
+
+ /**
+ * getSupportedOpModes:
+ *
+ * get all kind of supported offline snapshot opMode.
+ *
+ * @return The list of all the supported offline snapshotTypes
+ *
+ */
+ OpMode[] getSupportedOpModes();
+
+
+ /**
+ * registerClient:
+ *
+ * register a client and callback.
+ *
+ * @param clientID clientID for record clientInfo, just used for callbackonly mode
+ * @param callback Callback ops, help to return result.
+ *
+ * A service specific error will be returned on the following conditions
+ *
+ * ILLEGAL_ARGUMENT:
+ * The callbacks handle is invalid (for example, it is null).
+ *
+ */
+ void registerClient(in int clientID, in IOfflineCameraCallback callback);
+
+ /**
+ * unRegisterClient:
+ *
+ * unRegisterClient a client.
+ *
+ * @param clientID clientID for this client, just used for callbackonly mode
+ * @param callback Callback ops, help to return result.
+ *
+ * A service specific error will be returned on the following conditions
+ * ILLEGAL_ARGUMENT:
+ * clientID not registerd before.
+ *
+ */
+ void unRegisterClient(in int clientID);
+
+ /**
+ * openOfflineSeesion:
+ *
+ * Open a offline session and set the callback and then return the opened offline session handle.
+ *
+ * @param sessionName give a session Name for this offline session
+ * @param callback session Callback ops, help to return result
+ *
+ * A service specific error will be returned on the following conditions
+ * INTERNAL_ERROR:
+ * The offline session cannot be opened due to an internal
+ * error.
+ * ILLEGAL_ARGUMENT:
+ * The callbacks handle or the SessiontName is invalid (for example, it is null).
+ *
+ * @return The interface to the newly-opened offline camera session
+ *
+ */
+ IOfflineCameraSession openOfflineSeesion(in String sessionName, in IOfflineCameraCallback callback);
+
+}
diff --git a/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraSession.aidl b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraSession.aidl
new file mode 100644
index 0000000..c0bf007
--- /dev/null
+++ b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/IOfflineCameraSession.aidl
@@ -0,0 +1,102 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+package vendor.qti.hardware.camera.offlinecamera;
+
+import vendor.qti.hardware.camera.offlinecamera.OpMode;
+import vendor.qti.hardware.camera.offlinecamera.IOfflineCameraCallback;
+import vendor.qti.hardware.camera.offlinecamera.OfflineSessionConfigureInfo;
+import vendor.qti.hardware.camera.offlinecamera.OfflineRequestInfo;
+import vendor.qti.hardware.camera.offlinecamera.OfflineFlushInfo;
+
+@VintfStability
+interface IOfflineCameraSession {
+
+ /**
+ * configureOfflineSession:
+ *
+ * send configure information to the offline session
+ *
+ *
+ * @param sessionConfig the info necessary for configuring the Offline Session
+ *
+ * A service specific error will be returned on the following conditions
+ * INTERNAL_ERROR:
+ * The offline session cannot be configured due to an internal
+ * error.
+ * ILLEGAL_ARGUMENT:
+ * sessionConfig is NULL
+ *
+ */
+ void configureOfflineSession(in OfflineSessionConfigureInfo sessionConfig);
+
+ /**
+ * processOfflineRequest:
+ *
+ * send a list of capture requests to the Offline session.
+ *
+ * @param requests the request Info necessary for executing an Offline Request
+ *
+ * A service specific error will be returned on the following conditions
+ * INTERNAL_ERROR:
+ * The offline session cannot process request due to an internal
+ * error.
+ * ILLEGAL_ARGUMENT:
+ * If the input is malformed (the settings are empty when not
+ * allowed, the physical camera settings are invalid, there are 0
+ * output buffers, etc) and capture processing
+ * cannot start.
+ *
+ * @return frameNumber populated by service, if multi JPEG requests in the same processOfflineRequest callback
+ * , then just return the frameNumber for the first jpeg request in the array
+ *
+ */
+ int processOfflineRequest(in OfflineRequestInfo[] requests);
+
+ /**
+ * closeOfflineSession:
+ *
+ * Close an Offline Session
+ *
+ * A service specific error will be returned on the following conditions
+ * ILLEGAL_ARGUMENT:
+ * If sessionHandle is invalid.
+ *
+ */
+ void closeOfflineSession();
+
+ /**
+ * OfflineSessionFlush:
+ *
+ * Flush an Offline Session
+ *
+ * @param flush the flush Info necessary for Flushing an OfflineSession
+ *
+ * A service specific error will be returned on the following conditions
+ * INTERNAL_ERROR:
+ * The offline session cannot flush due to an internal
+ * error.
+ * ILLEGAL_ARGUMENT:
+ * If sessionHandle is invalid.
+ *
+ */
+ void OfflineSessionFlush(in OfflineFlushInfo flush);
+
+ /**
+ * OfflineSessionDump:
+ *
+ * Dump the Offline Session
+ *
+ * A service specific error will be returned on the following conditions
+ * INTERNAL_ERROR:
+ * The offline session cannot dump due to an internal
+ * error.
+ * ILLEGAL_ARGUMENT:
+ * If sessionHandle is invalid.
+ *
+ */
+ void OfflineSessionDump();
+
+}
diff --git a/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OfflineBufferRequest.aidl b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OfflineBufferRequest.aidl
new file mode 100644
index 0000000..ecf3380
--- /dev/null
+++ b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OfflineBufferRequest.aidl
@@ -0,0 +1,17 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+
+package vendor.qti.hardware.camera.offlinecamera;
+
+import android.hardware.camera.device.Stream;
+
+@VintfStability
+parcelable OfflineBufferRequest {
+
+ Stream streamInfo;
+
+ int numBuffersRequested;
+}
diff --git a/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OfflineCaptureResult.aidl b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OfflineCaptureResult.aidl
new file mode 100644
index 0000000..0fb7777
--- /dev/null
+++ b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OfflineCaptureResult.aidl
@@ -0,0 +1,21 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+
+package vendor.qti.hardware.camera.offlinecamera;
+
+import vendor.qti.hardware.camera.offlinecamera.OfflineFrameInfo;
+
+@VintfStability
+parcelable OfflineCaptureResult {
+ int frameNumber;
+
+ OfflineFrameInfo result;
+
+ OfflineFrameInfo input;
+}
+
+
+
diff --git a/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OfflineFlushInfo.aidl b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OfflineFlushInfo.aidl
new file mode 100644
index 0000000..84a56f1
--- /dev/null
+++ b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OfflineFlushInfo.aidl
@@ -0,0 +1,13 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+
+package vendor.qti.hardware.camera.offlinecamera;
+
+@VintfStability
+parcelable OfflineFlushInfo {
+
+ int frameNumber;
+}
diff --git a/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OfflineFrameInfo.aidl b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OfflineFrameInfo.aidl
new file mode 100644
index 0000000..15ff617
--- /dev/null
+++ b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OfflineFrameInfo.aidl
@@ -0,0 +1,21 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+
+
+package vendor.qti.hardware.camera.offlinecamera;
+
+import android.hardware.camera.device.CameraMetadata;
+import android.hardware.camera.device.StreamBuffer;
+
+@VintfStability
+parcelable OfflineFrameInfo {
+
+ StreamBuffer[] buffers;
+
+ int numPartialMetadata;
+
+ CameraMetadata configureSetting;
+}
diff --git a/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OfflineRequestInfo.aidl b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OfflineRequestInfo.aidl
new file mode 100644
index 0000000..53d9926
--- /dev/null
+++ b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OfflineRequestInfo.aidl
@@ -0,0 +1,20 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+
+package vendor.qti.hardware.camera.offlinecamera;
+
+import vendor.qti.hardware.camera.offlinecamera.OfflineFrameInfo;
+
+
+@VintfStability
+parcelable OfflineRequestInfo {
+
+ int frameNumber;
+
+ OfflineFrameInfo[] inputInfo;
+
+ OfflineFrameInfo resultInfo;
+}
diff --git a/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OfflineSessionConfigureInfo.aidl b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OfflineSessionConfigureInfo.aidl
new file mode 100644
index 0000000..f2402f4
--- /dev/null
+++ b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OfflineSessionConfigureInfo.aidl
@@ -0,0 +1,23 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+
+
+package vendor.qti.hardware.camera.offlinecamera;
+
+import vendor.qti.hardware.camera.offlinecamera.OpMode;
+import android.hardware.camera.device.Stream;
+import android.hardware.camera.device.CameraMetadata;
+
+@VintfStability
+parcelable OfflineSessionConfigureInfo {
+ String cameraId;
+
+ Stream[] streams;
+
+ OpMode mode;
+
+ CameraMetadata configureSetting;
+}
diff --git a/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OfflineStreamBufferRet.aidl b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OfflineStreamBufferRet.aidl
new file mode 100644
index 0000000..f90f16b
--- /dev/null
+++ b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OfflineStreamBufferRet.aidl
@@ -0,0 +1,18 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+
+package vendor.qti.hardware.camera.offlinecamera;
+
+import android.hardware.camera.device.Stream;
+import android.hardware.camera.device.StreamBuffersVal;
+
+@VintfStability
+parcelable OfflineStreamBufferRet {
+
+ Stream streamInfo;
+
+ StreamBuffersVal val;
+}
diff --git a/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OpMode.aidl b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OpMode.aidl
new file mode 100644
index 0000000..72ba165
--- /dev/null
+++ b/camera/offlinecamera/aidl/vendor/qti/hardware/camera/offlinecamera/OpMode.aidl
@@ -0,0 +1,24 @@
+/*
+ * {Copyright (c) 2023 Qualcomm Innovation Center, Inc.
+ * All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear}
+ */
+
+
+package vendor.qti.hardware.camera.offlinecamera;
+
+
+@VintfStability
+@Backing(type="int")
+enum OpMode {
+ OFFLINEBAYER2YUV = 0,
+
+ OFFLINEYUV2JPEG = 1,
+
+ OFFLINEYUV2YUV = 2,
+
+ OFFLINEHWMF = 3,
+
+ OFFLINEQLL = 4,
+
+ OFFLINERAW2RAW = 5,
+}