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

Commit b91d0c26 authored by Shuzhen Wang's avatar Shuzhen Wang
Browse files

Camera: Init mMirrorModeForProducers for all constructors

mMirrorModeForProducers needs to match mGbps. Initialize it
in all of the OutputConfiguration constructors.

Flag: com.android.internal.camera.flags.mirror_mode_shared_surfaces
Test: Camera native CTS
Bug: 376159964
Change-Id: Idf14479701ae4e7a4ba09caea8b90524b7f3e2ea
parent db4c795c
Loading
Loading
Loading
Loading
+10 −3
Original line number Original line Diff line number Diff line
@@ -102,6 +102,12 @@ int OutputConfiguration::getMirrorMode(sp<IGraphicBufferProducer> surface) const
        return mMirrorMode;
        return mMirrorMode;
    }
    }


    if (mGbps.size() != mMirrorModeForProducers.size()) {
        ALOGE("%s: mGbps size doesn't match mMirrorModeForProducers: %zu vs %zu",
                __FUNCTION__, mGbps.size(), mMirrorModeForProducers.size());
        return mMirrorMode;
    }

    // Use per-producer mirror mode if available.
    // Use per-producer mirror mode if available.
    for (size_t i = 0; i < mGbps.size(); i++) {
    for (size_t i = 0; i < mGbps.size(); i++) {
        if (mGbps[i] == surface) {
        if (mGbps[i] == surface) {
@@ -350,6 +356,7 @@ OutputConfiguration::OutputConfiguration(sp<IGraphicBufferProducer>& gbp, int ro
    mStreamUseCase = ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT;
    mStreamUseCase = ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT;
    mTimestampBase = TIMESTAMP_BASE_DEFAULT;
    mTimestampBase = TIMESTAMP_BASE_DEFAULT;
    mMirrorMode = MIRROR_MODE_AUTO;
    mMirrorMode = MIRROR_MODE_AUTO;
    mMirrorModeForProducers.push_back(mMirrorMode);
    mUseReadoutTimestamp = false;
    mUseReadoutTimestamp = false;
    mFormat = HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED;
    mFormat = HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED;
    mDataspace = 0;
    mDataspace = 0;
@@ -367,9 +374,9 @@ OutputConfiguration::OutputConfiguration(
    mColorSpace(ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_UNSPECIFIED),
    mColorSpace(ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_UNSPECIFIED),
    mStreamUseCase(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT),
    mStreamUseCase(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT),
    mTimestampBase(TIMESTAMP_BASE_DEFAULT),
    mTimestampBase(TIMESTAMP_BASE_DEFAULT),
    mMirrorMode(MIRROR_MODE_AUTO), mUseReadoutTimestamp(false),
    mMirrorMode(MIRROR_MODE_AUTO), mMirrorModeForProducers(gbps.size(), mMirrorMode),
    mFormat(HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED), mDataspace(0),
    mUseReadoutTimestamp(false), mFormat(HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED),
    mUsage(0) { }
    mDataspace(0), mUsage(0) { }


status_t OutputConfiguration::writeToParcel(android::Parcel* parcel) const {
status_t OutputConfiguration::writeToParcel(android::Parcel* parcel) const {