diff options
Diffstat (limited to 'services/camera/libcameraservice/device3/Camera3OutputStream.cpp')
-rw-r--r-- | services/camera/libcameraservice/device3/Camera3OutputStream.cpp | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/services/camera/libcameraservice/device3/Camera3OutputStream.cpp b/services/camera/libcameraservice/device3/Camera3OutputStream.cpp index 682755d..169eb82 100644 --- a/services/camera/libcameraservice/device3/Camera3OutputStream.cpp +++ b/services/camera/libcameraservice/device3/Camera3OutputStream.cpp @@ -119,7 +119,7 @@ status_t Camera3OutputStream::getBufferLocked(camera3_stream_buffer *buffer) { * in which case we reassign it to acquire_fence */ handoutBufferLocked(*buffer, &(anb->handle), /*acquireFence*/fenceFd, - /*releaseFence*/-1, CAMERA3_BUFFER_STATUS_OK); + /*releaseFence*/-1, CAMERA3_BUFFER_STATUS_OK, /*output*/true); return OK; } @@ -289,20 +289,25 @@ status_t Camera3OutputStream::configureQueueLocked() { if (mMaxSize == 0) { // For buffers of known size - res = native_window_set_buffers_geometry(mConsumer.get(), - camera3_stream::width, camera3_stream::height, - camera3_stream::format); + res = native_window_set_buffers_dimensions(mConsumer.get(), + camera3_stream::width, camera3_stream::height); } else { // For buffers with bounded size - res = native_window_set_buffers_geometry(mConsumer.get(), - mMaxSize, 1, - camera3_stream::format); + res = native_window_set_buffers_dimensions(mConsumer.get(), + mMaxSize, 1); } if (res != OK) { - ALOGE("%s: Unable to configure stream buffer geometry" - " %d x %d, format %x for stream %d", + ALOGE("%s: Unable to configure stream buffer dimensions" + " %d x %d (maxSize %zu) for stream %d", __FUNCTION__, camera3_stream::width, camera3_stream::height, - camera3_stream::format, mId); + mMaxSize, mId); + return res; + } + res = native_window_set_buffers_format(mConsumer.get(), + camera3_stream::format); + if (res != OK) { + ALOGE("%s: Unable to configure stream buffer format %#x for stream %d", + __FUNCTION__, camera3_stream::format, mId); return res; } @@ -324,7 +329,7 @@ status_t Camera3OutputStream::configureQueueLocked() { } mTotalBufferCount = maxConsumerBuffers + camera3_stream::max_buffers; - mDequeuedBufferCount = 0; + mHandoutTotalBufferCount = 0; mFrameCount = 0; mLastTimestamp = 0; |