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

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

Merge "Camera: Add video stabilization mode to camera session stats" into tm-dev

parents c3a3ee83 9372b0ba
Loading
Loading
Loading
Loading
+16 −2
Original line number Original line Diff line number Diff line
@@ -264,7 +264,8 @@ CameraSessionStats::CameraSessionStats() :
        mInternalReconfigure(0),
        mInternalReconfigure(0),
        mRequestCount(0),
        mRequestCount(0),
        mResultErrorCount(0),
        mResultErrorCount(0),
        mDeviceError(false) {}
        mDeviceError(false),
        mVideoStabilizationMode(-1) {}


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


status_t CameraSessionStats::readFromParcel(const android::Parcel* parcel) {
status_t CameraSessionStats::readFromParcel(const android::Parcel* parcel) {
    if (parcel == NULL) {
    if (parcel == NULL) {
@@ -381,6 +383,12 @@ status_t CameraSessionStats::readFromParcel(const android::Parcel* parcel) {
        return BAD_VALUE;
        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;
    mCameraId = id;
    mFacing = facing;
    mFacing = facing;
    mNewCameraState = newCameraState;
    mNewCameraState = newCameraState;
@@ -396,6 +404,7 @@ status_t CameraSessionStats::readFromParcel(const android::Parcel* parcel) {
    mDeviceError = deviceError;
    mDeviceError = deviceError;
    mStreamStats = std::move(streamStats);
    mStreamStats = std::move(streamStats);
    mUserTag = userTag;
    mUserTag = userTag;
    mVideoStabilizationMode = videoStabilizationMode;


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

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


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


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


        // Save certain CaptureRequest settings
        if (!request.mUserTag.empty()) {
        if (!request.mUserTag.empty()) {
            mUserTag = request.mUserTag;
            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++;
    mRequestIdCounter++;


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


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


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


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


Loading