Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit db0bdbf6 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Camera: add buffer size to Stream@3.4"

parents 8394045f fb6e55bf
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -2400,6 +2400,8 @@ status_t Camera3Device::configureStreamsLocked(int operatingMode,

    Vector<camera3_stream_t*> streams;
    streams.setCapacity(config.num_streams);
    std::vector<uint32_t> outBufSizes(mOutputStreams.size(), 0);


    if (mInputStream != NULL) {
        camera3_stream_t *inputStream;
@@ -2430,6 +2432,12 @@ status_t Camera3Device::configureStreamsLocked(int operatingMode,
            return INVALID_OPERATION;
        }
        streams.add(outputStream);

        if (outputStream->format == HAL_PIXEL_FORMAT_BLOB &&
                outputStream->data_space == HAL_DATASPACE_V0_JFIF) {
            outBufSizes[i] = static_cast<uint32_t>(
                    getJpegBufferSize(outputStream->width, outputStream->height));
        }
    }

    config.streams = streams.editArray();
@@ -2438,7 +2446,7 @@ status_t Camera3Device::configureStreamsLocked(int operatingMode,
    // max_buffers, usage, priv fields.

    const camera_metadata_t *sessionBuffer = sessionParams.getAndLock();
    res = mInterface->configureStreams(sessionBuffer, &config);
    res = mInterface->configureStreams(sessionBuffer, &config, outBufSizes);
    sessionParams.unlock(sessionBuffer);

    if (res == BAD_VALUE) {
@@ -3494,7 +3502,7 @@ status_t Camera3Device::HalInterface::constructDefaultRequestSettings(
}

status_t Camera3Device::HalInterface::configureStreams(const camera_metadata_t *sessionParams,
        camera3_stream_configuration *config) {
        camera3_stream_configuration *config, const std::vector<uint32_t>& outputBufferSizes) {
    ATRACE_NAME("CameraHal::configureStreams");
    if (!valid()) return INVALID_OPERATION;
    status_t res = OK;
@@ -3535,6 +3543,7 @@ status_t Camera3Device::HalInterface::configureStreams(const camera_metadata_t *
        dst3_2.dataSpace = mapToHidlDataspace(src->data_space);
        dst3_2.rotation = mapToStreamRotation((camera3_stream_rotation_t) src->rotation);
        dst3_4.v3_2 = dst3_2;
        dst3_4.bufferSize = outputBufferSizes[i];
        if (src->physical_camera_id != nullptr) {
            dst3_4.physicalCameraId = src->physical_camera_id;
        }
+2 −1
Original line number Diff line number Diff line
@@ -282,7 +282,8 @@ class Camera3Device :
        status_t constructDefaultRequestSettings(camera3_request_template_t templateId,
                /*out*/ camera_metadata_t **requestTemplate);
        status_t configureStreams(const camera_metadata_t *sessionParams,
                /*inout*/ camera3_stream_configuration *config);
                /*inout*/ camera3_stream_configuration *config,
                const std::vector<uint32_t>& outputBufferSizes);
        status_t processCaptureRequest(camera3_capture_request_t *request);
        status_t processBatchCaptureRequests(
                std::vector<camera3_capture_request_t*>& requests,