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
diff --git a/services/camera/libcameraservice/device3/Camera3OutputStream.cpp b/services/camera/libcameraservice/device3/Camera3OutputStream.cpp
index 1c77581..acb8b3c 100644
--- a/services/camera/libcameraservice/device3/Camera3OutputStream.cpp
+++ b/services/camera/libcameraservice/device3/Camera3OutputStream.cpp
@@ -491,8 +491,11 @@
* 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(