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

Commit f49b3194 authored by Kwangkyu Park's avatar Kwangkyu Park Committed by Emilian Peev
Browse files

Camera: Add support test pattern session parameter

If test pattern related keys are in the session parameter list then the
null capture request could be sent to the HAL after reconfiguration when
camera privacy option is changed.

This patch will add support for the test pattern when the keys are in
the session parameter list.

Bug: 316170074
Test: Manual test with the device
Change-Id: If7d3de517d1061a8f2997fae624144fe90e9ce1f
parent 06ddb7ae
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -3590,6 +3590,7 @@ bool Camera3Device::RequestThread::threadLoop() {
    for (size_t i = 0; i < mNextRequests.size(); i++) {
        auto& nextRequest = mNextRequests.editItemAt(i);
        sp<CaptureRequest> captureRequest = nextRequest.captureRequest;
        captureRequest->mTestPatternChanged = overrideTestPattern(captureRequest);
        // Do not override rotate&crop for stream configurations that include
        // SurfaceViews(HW_COMPOSER) output, unless mOverrideToPortrait is set.
        // The display rotation there will be compensated by NATIVE_WINDOW_TRANSFORM_INVERSE_DISPLAY
@@ -3748,7 +3749,6 @@ status_t Camera3Device::RequestThread::prepareHalRequests() {
        bool triggersMixedIn = (triggerCount > 0 || mPrevTriggers > 0);
        mPrevTriggers = triggerCount;

        bool testPatternChanged = overrideTestPattern(captureRequest);
        bool settingsOverrideChanged = overrideSettingsOverride(captureRequest);

        // If the request is the same as last, or we had triggers now or last time or
@@ -3757,7 +3757,7 @@ status_t Camera3Device::RequestThread::prepareHalRequests() {
                (mPrevRequest != captureRequest || triggersMixedIn ||
                         captureRequest->mRotateAndCropChanged ||
                         captureRequest->mAutoframingChanged ||
                         testPatternChanged || settingsOverrideChanged ||
                         captureRequest->mTestPatternChanged || settingsOverrideChanged ||
                         (flags::inject_session_params() && mForceNewRequestAfterReconfigure)) &&
                // Request settings are all the same within one batch, so only treat the first
                // request in a batch as new
+2 −0
Original line number Diff line number Diff line
@@ -655,6 +655,8 @@ class Camera3Device :
        bool                                mAutoframingAuto;
        // Indicates that the auto framing value within 'mSettingsList' was modified
        bool                                mAutoframingChanged = false;
        // Indicates that the camera test pattern setting is modified
        bool                                mTestPatternChanged = false;

        // Whether this capture request has its zoom ratio set to 1.0x before
        // the framework overrides it for camera HAL consumption.