Loading camera/CameraSessionStats.cpp +16 −2 Original line number Original line Diff line number Diff line Loading @@ -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, Loading @@ -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) { Loading Loading @@ -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; Loading @@ -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; } } Loading Loading @@ -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; } } Loading camera/include/camera/CameraSessionStats.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -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(); Loading services/camera/libcameraservice/api2/CameraDeviceClient.cpp +8 −1 Original line number Original line Diff line number Diff line Loading @@ -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++; Loading Loading @@ -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, Loading services/camera/libcameraservice/api2/CameraDeviceClient.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -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 Loading services/camera/libcameraservice/common/Camera2ClientBase.cpp +3 −2 Original line number Original line Diff line number Diff line Loading @@ -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) { Loading @@ -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 Loading
camera/CameraSessionStats.cpp +16 −2 Original line number Original line Diff line number Diff line Loading @@ -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, Loading @@ -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) { Loading Loading @@ -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; Loading @@ -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; } } Loading Loading @@ -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; } } Loading
camera/include/camera/CameraSessionStats.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -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(); Loading
services/camera/libcameraservice/api2/CameraDeviceClient.cpp +8 −1 Original line number Original line Diff line number Diff line Loading @@ -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++; Loading Loading @@ -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, Loading
services/camera/libcameraservice/api2/CameraDeviceClient.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -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 Loading
services/camera/libcameraservice/common/Camera2ClientBase.cpp +3 −2 Original line number Original line Diff line number Diff line Loading @@ -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) { Loading @@ -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