From b6578908df3c3f1730d286c1897ef9e9859e3495 Mon Sep 17 00:00:00 2001 From: Yin-Chia Yeh Date: Tue, 16 Apr 2019 13:36:16 -0700 Subject: [PATCH] Camera: don't enable buffer manager for display/texture streams These streams have their own buffer management logic. Test: camera CTS tests Bug: 130050659 Change-Id: I6943b10d48a2e78fc8626d20c3f6bcc3327c936c --- .../camera/libcameraservice/device3/Camera3OutputStream.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/services/camera/libcameraservice/device3/Camera3OutputStream.cpp b/services/camera/libcameraservice/device3/Camera3OutputStream.cpp index 1c7758143e..acb8b3cac1 100644 --- a/services/camera/libcameraservice/device3/Camera3OutputStream.cpp +++ b/services/camera/libcameraservice/device3/Camera3OutputStream.cpp @@ -491,8 +491,11 @@ status_t Camera3OutputStream::configureConsumerQueueLocked() { * sets the mBufferManager if device version is > HAL3.2, which guarantees that the buffer * manager setup is skipped in below code. Note that HAL3.2 is also excluded here, as some * HAL3.2 devices may not support the dynamic buffer registeration. + * Also Camera3BufferManager does not support display/texture streams as they have its own + * buffer management logic. */ - if (mBufferManager != 0 && mSetId > CAMERA3_STREAM_SET_ID_INVALID) { + if (mBufferManager != 0 && mSetId > CAMERA3_STREAM_SET_ID_INVALID && + !(isConsumedByHWComposer() || isConsumedByHWTexture())) { uint64_t consumerUsage = 0; getEndpointUsage(&consumerUsage); StreamInfo streamInfo(