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

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

Merge "camera.device@3.4: Add MOTION_TRACKING template enums"

parents cd603ca9 658d30d3
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -738,8 +738,14 @@ void CameraDeviceSession::ResultBatcher::processCaptureResult(CaptureResult& res
// Methods from ::android::hardware::camera::device::V3_2::ICameraDeviceSession follow.
Return<void> CameraDeviceSession::constructDefaultRequestSettings(
        RequestTemplate type, ICameraDeviceSession::constructDefaultRequestSettings_cb _hidl_cb)  {
    Status status = initStatus();
    CameraMetadata outMetadata;
    Status status = constructDefaultRequestSettingsRaw( (int) type, &outMetadata);
    _hidl_cb(status, outMetadata);
    return Void();
}

Status CameraDeviceSession::constructDefaultRequestSettingsRaw(int type, CameraMetadata *outMetadata) {
    Status status = initStatus();
    const camera_metadata_t *rawRequest;
    if (status == Status::OK) {
        ATRACE_BEGIN("camera3->construct_default_request_settings");
@@ -761,15 +767,14 @@ Return<void> CameraDeviceSession::constructDefaultRequestSettings(
                        defaultBoost, 1);
                const camera_metadata_t *metaBuffer =
                        mOverridenRequest.getAndLock();
                convertToHidl(metaBuffer, &outMetadata);
                convertToHidl(metaBuffer, outMetadata);
                mOverridenRequest.unlock(metaBuffer);
            } else {
                convertToHidl(rawRequest, &outMetadata);
                convertToHidl(rawRequest, outMetadata);
            }
        }
    }
    _hidl_cb(status, outMetadata);
    return Void();
    return status;
}

/**
+3 −1
Original line number Diff line number Diff line
@@ -113,6 +113,8 @@ protected:
    Return<void> close();

    // Helper methods
    Status constructDefaultRequestSettingsRaw(int type, CameraMetadata *outMetadata);

    bool preProcessConfigurationLocked(const StreamConfiguration& requestedConfiguration,
            camera3_stream_configuration_t *stream_list /*out*/,
            hidl_vec<camera3_stream_t*> *streams /*out*/);
+1 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ hidl_interface {
        "HalStream",
        "HalStreamConfiguration",
        "PhysicalCameraSetting",
        "RequestTemplate",
        "Stream",
        "StreamConfiguration",
    ],
+38 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.hardware.camera.device@3.4;

import android.hardware.camera.common@1.0::Status;
import @3.2::CameraMetadata;
import @3.3::ICameraDeviceSession;
import @3.3::HalStreamConfiguration;
import @3.2::BufferCache;
@@ -29,6 +30,43 @@ import @3.2::BufferCache;
 */
interface ICameraDeviceSession extends @3.3::ICameraDeviceSession {

    /**
     * constructDefaultRequestSettings_3_4:
     *
     * Create capture settings for standard camera use cases. Supports the
     * new template enums added in @3.4.
     *
     * The device must return a settings buffer that is configured to meet the
     * requested use case, which must be one of the CAMERA3_TEMPLATE_*
     * enums. All request control fields must be included.
     *
     * Performance requirements:
     *
     * This must be a non-blocking call. The HAL should return from this call
     * in 1ms, and must return from this call in 5ms.
     *
     * Return values:
     * @return status Status code for the operation, one of:
     *     OK:
     *         On a successful construction of default settings.
     *     INTERNAL_ERROR:
     *         An unexpected internal error occurred, and the default settings
     *         are not available.
     *     ILLEGAL_ARGUMENT:
     *         The camera HAL does not support the input template type
     *     CAMERA_DISCONNECTED:
     *         An external camera device has been disconnected, and is no longer
     *         available. This camera device interface is now stale, and a new
     *         instance must be acquired if the device is reconnected. All
     *         subsequent calls on this interface must return
     *         CAMERA_DISCONNECTED.
     * @return requestTemplate The default capture request settings for the requested
     *     use case, or an empty metadata structure if status is not OK.
     *
     */
    constructDefaultRequestSettings_3_4(RequestTemplate type) generates
            (Status status, @3.2::CameraMetadata requestTemplate);

    /**
     * configureStreams_3_4:
     *
+8 −0
Original line number Diff line number Diff line
@@ -40,6 +40,14 @@ CameraDeviceSession::CameraDeviceSession(
CameraDeviceSession::~CameraDeviceSession() {
}

Return<void> CameraDeviceSession::constructDefaultRequestSettings_3_4(
        RequestTemplate type, ICameraDeviceSession::constructDefaultRequestSettings_cb _hidl_cb)  {
    V3_2::CameraMetadata outMetadata;
    Status status = constructDefaultRequestSettingsRaw( (int) type, &outMetadata);
    _hidl_cb(status, outMetadata);
    return Void();
}

Return<void> CameraDeviceSession::configureStreams_3_4(
        const StreamConfiguration& requestedConfiguration,
        ICameraDeviceSession::configureStreams_3_4_cb _hidl_cb)  {
Loading