From 2f074ce7ca8cce3189cebe0a0ce1b1ff402c814b Mon Sep 17 00:00:00 2001 From: Shuzhen Wang Date: Mon, 27 Aug 2018 11:39:53 -0700 Subject: [PATCH] Camera3: Handle stream format override for shared output stream If HAL overrides stream format, use the overridden format to configure the buffer queues. Bug: 113326269 Test: Camera CTS Change-Id: I6b198e8ebfeaeafbda530722d995a12f88f0b35a --- .../device3/Camera3SharedOutputStream.cpp | 3 +-- .../libcameraservice/device3/Camera3StreamSplitter.cpp | 9 ++++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/services/camera/libcameraservice/device3/Camera3SharedOutputStream.cpp b/services/camera/libcameraservice/device3/Camera3SharedOutputStream.cpp index 2bb9ff7a3f..fb3ce4c619 100644 --- a/services/camera/libcameraservice/device3/Camera3SharedOutputStream.cpp +++ b/services/camera/libcameraservice/device3/Camera3SharedOutputStream.cpp @@ -60,9 +60,8 @@ status_t Camera3SharedOutputStream::connectStreamSplitterLocked() { } } - android::PixelFormat format = isFormatOverridden() ? getOriginalFormat() : getFormat(); res = mStreamSplitter->connect(initialSurfaces, usage, mUsage, camera3_stream::max_buffers, - getWidth(), getHeight(), format, &mConsumer); + getWidth(), getHeight(), getFormat(), &mConsumer); if (res != OK) { ALOGE("%s: Failed to connect to stream splitter: %s(%d)", __FUNCTION__, strerror(-res), res); diff --git a/services/camera/libcameraservice/device3/Camera3StreamSplitter.cpp b/services/camera/libcameraservice/device3/Camera3StreamSplitter.cpp index 8a9402e9a4..8bc208dfa7 100644 --- a/services/camera/libcameraservice/device3/Camera3StreamSplitter.cpp +++ b/services/camera/libcameraservice/device3/Camera3StreamSplitter.cpp @@ -182,12 +182,19 @@ status_t Camera3StreamSplitter::addOutputLocked(size_t surfaceId, const sp gbp = outputQueue->getIGraphicBufferProducer(); // Connect to the buffer producer