From: Vibhav Aggarwal Date: Mon, 1 Jul 2024 11:40:50 +0000 (+0900) Subject: CameraApiBackend: set camera device according to config X-Git-Tag: accepted/tizen/unified/20240903.110722~12 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7469744b18f2a236d1a1c4488afd9f1a96869200;p=platform%2Fcore%2Fapi%2Fsingleo.git CameraApiBackend: set camera device according to config [Issue type] bug fix The camera device was being set in the constructor and had no effect from the config. This patch fixes this behaviour. Change-Id: Ic44b09b4cb60cccd413a728cd11b3444b39036a9 Signed-off-by: Vibhav Aggarwal --- diff --git a/input/backends/camera_api/src/CameraApiBackend.cpp b/input/backends/camera_api/src/CameraApiBackend.cpp index faee9ab..7aaa1f3 100644 --- a/input/backends/camera_api/src/CameraApiBackend.cpp +++ b/input/backends/camera_api/src/CameraApiBackend.cpp @@ -33,12 +33,6 @@ bool CameraApiBackend::_registered = registerCameraBackend("Ca CameraApiBackend::CameraApiBackend() { updateAvailableCameraDevices(); - - int ret = camera_create(_active_camera_id, &_camera); - if (ret != CAMERA_ERROR_NONE) { - SINGLEO_LOGE("CameraApiBackend: camera_create failed. ret: %d", ret); - throw InvalidOperation("CameraApiBackend: camera_create failed."); - } } CameraApiBackend::~CameraApiBackend() @@ -62,8 +56,6 @@ void CameraApiBackend::updateAvailableCameraDevices() if (_camera_ids.empty()) throw InvalidOperation("No valid camera device found"); - - setActiveCameraDevice(*_camera_ids.begin()); } void CameraApiBackend::setActiveCameraDevice(unsigned int id) @@ -75,6 +67,12 @@ void CameraApiBackend::setActiveCameraDevice(unsigned int id) _active_camera_id = _cameraDeviceIdTable[id]; + int ret = camera_create(_active_camera_id, &_camera); + if (ret != CAMERA_ERROR_NONE) { + SINGLEO_LOGE("CameraApiBackend: camera_create failed. ret: %d", ret); + throw InvalidOperation("CameraApiBackend: camera_create failed."); + } + SINGLEO_LOGD("Camera device id(%d) has been activated.", id); }