Allow to specify list of supported input configurations.
... and populate corresponding metadata entries / perform
validation based on these.
Bug: 301023410
Test: atest virtual_camera_tests
Change-Id: I66f3cf2b013d5845b6fa7429294a1ed2157318f8
diff --git a/services/camera/virtualcamera/VirtualCameraDevice.h b/services/camera/virtualcamera/VirtualCameraDevice.h
index 0c95b7a..4c3cfc2 100644
--- a/services/camera/virtualcamera/VirtualCameraDevice.h
+++ b/services/camera/virtualcamera/VirtualCameraDevice.h
@@ -21,6 +21,7 @@
#include <memory>
#include "aidl/android/companion/virtualcamera/IVirtualCameraCallback.h"
+#include "aidl/android/companion/virtualcamera/SupportedStreamConfiguration.h"
#include "aidl/android/hardware/camera/device/BnCameraDevice.h"
namespace android {
@@ -34,6 +35,9 @@
public:
explicit VirtualCameraDevice(
uint32_t cameraId,
+ const std::vector<
+ aidl::android::companion::virtualcamera::SupportedStreamConfiguration>&
+ supportedInputConfig,
std::shared_ptr<
::aidl::android::companion::virtualcamera::IVirtualCameraCallback>
virtualCameraClientCallback = nullptr);
@@ -58,6 +62,10 @@
in_streams,
bool* _aidl_return) override;
+ bool isStreamCombinationSupported(
+ const ::aidl::android::hardware::camera::device::StreamConfiguration&
+ in_streams) const;
+
ndk::ScopedAStatus open(
const std::shared_ptr<
::aidl::android::hardware::camera::device::ICameraDeviceCallback>&
@@ -94,6 +102,10 @@
mVirtualCameraClientCallback;
::aidl::android::hardware::camera::device::CameraMetadata mCameraCharacteristics;
+
+ const std::vector<
+ aidl::android::companion::virtualcamera::SupportedStreamConfiguration>
+ mSupportedInputConfigurations;
};
} // namespace virtualcamera