modules: camera: only wait on valid acquire fence
Change-Id: I4f51e509d86722c18308f4f1312ca3379cffd795
diff --git a/modules/camera/Camera.cpp b/modules/camera/Camera.cpp
index 137c5f6..10464cb 100644
--- a/modules/camera/Camera.cpp
+++ b/modules/camera/Camera.cpp
@@ -582,14 +582,17 @@
int Camera::processCaptureBuffer(const camera3_stream_buffer_t *in,
camera3_stream_buffer_t *out)
{
- int res = sync_wait(in->acquire_fence, CAMERA_SYNC_TIMEOUT);
- if (res == -ETIME) {
- ALOGE("%s:%d: Timeout waiting on buffer acquire fence", __func__, mId);
- return res;
- } else if (res) {
- ALOGE("%s:%d: Error waiting on buffer acquire fence: %s(%d)",
- __func__, mId, strerror(-res), res);
- return res;
+ if (in->acquire_fence != -1) {
+ int res = sync_wait(in->acquire_fence, CAMERA_SYNC_TIMEOUT);
+ if (res == -ETIME) {
+ ALOGE("%s:%d: Timeout waiting on buffer acquire fence",
+ __func__, mId);
+ return res;
+ } else if (res) {
+ ALOGE("%s:%d: Error waiting on buffer acquire fence: %s(%d)",
+ __func__, mId, strerror(-res), res);
+ return res;
+ }
}
out->stream = in->stream;