From b7ab1e4794384a28a52189d8ef58a6197a817e02 Mon Sep 17 00:00:00 2001 From: Shuzhen Wang Date: Wed, 20 Feb 2019 15:42:23 -0800 Subject: [PATCH] Camera: Initialize bufferSize for JPEG app segments stream Set bufferSize in @3.4::Stream::bufferSize for JPEG_APP_SEGMENTS stream. Bug: 124999074 Test: Build Change-Id: I6f24f4273b0d3d18b1bdbf263fc12ed48e857004 --- .../libcameraservice/device3/Camera3Device.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp index 923d17a281..dfbff1803d 100644 --- a/services/camera/libcameraservice/device3/Camera3Device.cpp +++ b/services/camera/libcameraservice/device3/Camera3Device.cpp @@ -2847,12 +2847,19 @@ status_t Camera3Device::configureStreamsLocked(int operatingMode, } streams.add(outputStream); - if (outputStream->format == HAL_PIXEL_FORMAT_BLOB && - outputStream->data_space == HAL_DATASPACE_V0_JFIF) { + if (outputStream->format == HAL_PIXEL_FORMAT_BLOB) { size_t k = i + ((mInputStream != nullptr) ? 1 : 0); // Input stream if present should // always occupy the initial entry. - bufferSizes[k] = static_cast( - getJpegBufferSize(outputStream->width, outputStream->height)); + if (outputStream->data_space == HAL_DATASPACE_V0_JFIF) { + bufferSizes[k] = static_cast( + getJpegBufferSize(outputStream->width, outputStream->height)); + } else if (outputStream->data_space == + static_cast(HAL_DATASPACE_JPEG_APP_SEGMENTS)) { + bufferSizes[k] = outputStream->width * outputStream->height; + } else { + ALOGW("%s: Blob dataSpace %d not supported", + __FUNCTION__, outputStream->data_space); + } } }