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

Commit 0e9436c3 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Camera: Add video stabilization mode to camera session stats" into...

Merge "Camera: Add video stabilization mode to camera session stats" into tm-dev am: 15f8a7ca am: 9677fef7

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/18374607



Change-Id: I09f18ed839fe7599c0043a023923e787874a3283
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 3a9243ec 9677fef7
Loading
Loading
Loading
Loading
+16 −2
Original line number Diff line number Diff line
@@ -264,7 +264,8 @@ CameraSessionStats::CameraSessionStats() :
        mInternalReconfigure(0),
        mRequestCount(0),
        mResultErrorCount(0),
        mDeviceError(false) {}
        mDeviceError(false),
        mVideoStabilizationMode(-1) {}

CameraSessionStats::CameraSessionStats(const String16& cameraId,
        int facing, int newCameraState, const String16& clientName,
@@ -281,7 +282,8 @@ CameraSessionStats::CameraSessionStats(const String16& cameraId,
                mInternalReconfigure(0),
                mRequestCount(0),
                mResultErrorCount(0),
                mDeviceError(0) {}
                mDeviceError(0),
                mVideoStabilizationMode(-1) {}

status_t CameraSessionStats::readFromParcel(const android::Parcel* parcel) {
    if (parcel == NULL) {
@@ -381,6 +383,12 @@ status_t CameraSessionStats::readFromParcel(const android::Parcel* parcel) {
        return BAD_VALUE;
    }

    int32_t videoStabilizationMode;
    if ((err = parcel->readInt32(&videoStabilizationMode)) != OK) {
        ALOGE("%s: Failed to read video stabilization mode from parcel", __FUNCTION__);
        return err;
    }

    mCameraId = id;
    mFacing = facing;
    mNewCameraState = newCameraState;
@@ -396,6 +404,7 @@ status_t CameraSessionStats::readFromParcel(const android::Parcel* parcel) {
    mDeviceError = deviceError;
    mStreamStats = std::move(streamStats);
    mUserTag = userTag;
    mVideoStabilizationMode = videoStabilizationMode;

    return OK;
}
@@ -482,6 +491,11 @@ status_t CameraSessionStats::writeToParcel(android::Parcel* parcel) const {
        ALOGE("%s: Failed to write user tag!", __FUNCTION__);
        return err;
    }

    if ((err = parcel->writeInt32(mVideoStabilizationMode)) != OK) {
        ALOGE("%s: Failed to write video stabilization mode!", __FUNCTION__);
        return err;
    }
    return OK;
}

+1 −0
Original line number Diff line number Diff line
@@ -137,6 +137,7 @@ public:
    bool mDeviceError;
    std::vector<CameraStreamStats> mStreamStats;
    String16 mUserTag;
    int mVideoStabilizationMode;

    // Constructors
    CameraSessionStats();
+8 −1
Original line number Diff line number Diff line
@@ -519,9 +519,16 @@ binder::Status CameraDeviceClient::submitRequestList(
        metadataRequestList.push_back(physicalSettingsList);
        surfaceMapList.push_back(surfaceMap);

        // Save certain CaptureRequest settings
        if (!request.mUserTag.empty()) {
            mUserTag = request.mUserTag;
        }
        camera_metadata_entry entry =
                physicalSettingsList.begin()->metadata.find(
                        ANDROID_CONTROL_VIDEO_STABILIZATION_MODE);
        if (entry.count == 1) {
            mVideoStabilizationMode = entry.data.u8[0];
        }
    }
    mRequestIdCounter++;

@@ -1971,7 +1978,7 @@ void CameraDeviceClient::notifyIdle(
        remoteCb->onDeviceIdle();
    }
    Camera2ClientBase::notifyIdleWithUserTag(requestCount, resultErrorCount, deviceError,
            streamStats, mUserTag);
            streamStats, mUserTag, mVideoStabilizationMode);
}

void CameraDeviceClient::notifyShutter(const CaptureResultExtras& resultExtras,
+2 −0
Original line number Diff line number Diff line
@@ -352,6 +352,8 @@ private:

    // The string representation of object passed into CaptureRequest.setTag.
    std::string mUserTag;
    // The last set video stabilization mode
    int mVideoStabilizationMode = -1;
};

}; // namespace android
+3 −2
Original line number Diff line number Diff line
@@ -338,7 +338,7 @@ template <typename TClientBase>
void Camera2ClientBase<TClientBase>::notifyIdleWithUserTag(
        int64_t requestCount, int64_t resultErrorCount, bool deviceError,
        const std::vector<hardware::CameraStreamStats>& streamStats,
        const std::string& userTag) {
        const std::string& userTag, int videoStabilizationMode) {
    if (mDeviceActive) {
        status_t res = TClientBase::finishCameraStreamingOps();
        if (res != OK) {
@@ -346,7 +346,8 @@ void Camera2ClientBase<TClientBase>::notifyIdleWithUserTag(
                    TClientBase::mCameraIdStr.string(), res);
        }
        CameraServiceProxyWrapper::logIdle(TClientBase::mCameraIdStr,
                requestCount, resultErrorCount, deviceError, userTag, streamStats);
                requestCount, resultErrorCount, deviceError, userTag, videoStabilizationMode,
                streamStats);
    }
    mDeviceActive = false;

Loading