diff options
author | Presubmit Automerger Backend <android-build-presubmit-automerger-backend@system.gserviceaccount.com> | 2022-02-16 13:26:35 +0000 |
---|---|---|
committer | Presubmit Automerger Backend <android-build-presubmit-automerger-backend@system.gserviceaccount.com> | 2022-02-16 13:26:35 +0000 |
commit | fbf445d2f82d2c28281691479ce07a3a7de286d4 (patch) | |
tree | f7aff867340ad031a97b1fe1f27b63ad19121b77 | |
parent | bf952ac1659aa8281e04b8bc4432f62ae7a010dc (diff) | |
parent | 379051d257bf34a0982d44ab28e90666140a278b (diff) | |
download | camera-fbf445d2f82d2c28281691479ce07a3a7de286d4.tar.gz |
[automerge] camera: handle hidl transaction error [DO NOT MERGE] 2p: 379051d257
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/google/camera/+/16888213
Bug: 218294681
Bug: 208890992
Change-Id: I5d517f47f3cad6c28e419131f2b7043ecb277f1d
-rw-r--r-- | common/hal/hidl_service/hidl_camera_device_session.cc | 8 | ||||
-rw-r--r-- | common/hal/hidl_service/hidl_camera_provider.cc | 14 |
2 files changed, 19 insertions, 3 deletions
diff --git a/common/hal/hidl_service/hidl_camera_device_session.cc b/common/hal/hidl_service/hidl_camera_device_session.cc index d0dc010..3af335e 100644 --- a/common/hal/hidl_service/hidl_camera_device_session.cc +++ b/common/hal/hidl_service/hidl_camera_device_session.cc @@ -304,7 +304,13 @@ void HidlCameraDeviceSession::ReturnStreamBuffers( } } - hidl_device_callback_->returnStreamBuffers(hidl_return_buffers); + auto hidl_res = + hidl_device_callback_->returnStreamBuffers(hidl_return_buffers); + if (!hidl_res.isOk()) { + ALOGE("%s: return stream buffers transaction failed: %s.", __FUNCTION__, + hidl_res.description().c_str()); + return; + } } status_t HidlCameraDeviceSession::InitializeBufferMapper() { diff --git a/common/hal/hidl_service/hidl_camera_provider.cc b/common/hal/hidl_service/hidl_camera_provider.cc index f9fdc43..528d23d 100644 --- a/common/hal/hidl_service/hidl_camera_provider.cc +++ b/common/hal/hidl_service/hidl_camera_provider.cc @@ -83,11 +83,16 @@ status_t HidlCameraProvider::Initialize() { } std::unique_lock<std::mutex> lock(callbacks_lock_); - callbacks_->cameraDeviceStatusChange( + auto cb_status = callbacks_->cameraDeviceStatusChange( "device@" + device::V3_7::implementation::HidlCameraDevice::kDeviceVersion + "/" + kProviderName + "/" + camera_id, hidl_camera_device_status); + if (!cb_status.isOk()) { + ALOGE("%s: device status change transaction error: %s", + __FUNCTION__, cb_status.description().c_str()); + return; + } }), .physical_camera_device_status_change = google_camera_hal:: PhysicalCameraDeviceStatusChangeFunc([this]( @@ -148,11 +153,16 @@ status_t HidlCameraProvider::Initialize() { } std::unique_lock<std::mutex> lock(callbacks_lock_); - callbacks_->torchModeStatusChange( + auto cb_status = callbacks_->torchModeStatusChange( "device@" + device::V3_7::implementation::HidlCameraDevice::kDeviceVersion + "/" + kProviderName + "/" + camera_id, hidl_torch_status); + if (!cb_status.isOk()) { + ALOGE("%s: torch status change transaction error: %s", + __FUNCTION__, cb_status.description().c_str()); + return; + } }), }; |