Loading apex/manifest.json +1 −1 Original line number Diff line number Diff line { "name": "com.android.media", "version": 300801200 "version": 300801300 } apex/manifest_codec.json +1 −1 Original line number Diff line number Diff line { "name": "com.android.media.swcodec", "version": 300801200 "version": 300801300 } camera/CaptureResult.cpp +0 −6 Original line number Diff line number Diff line Loading @@ -49,9 +49,6 @@ status_t CaptureResultExtras::readFromParcel(const android::Parcel *parcel) { } errorPhysicalCameraId = cameraId; } parcel->readInt64(&lastCompletedRegularFrameNumber); parcel->readInt64(&lastCompletedReprocessFrameNumber); parcel->readInt64(&lastCompletedZslFrameNumber); return OK; } Loading Loading @@ -79,9 +76,6 @@ status_t CaptureResultExtras::writeToParcel(android::Parcel *parcel) const { } else { parcel->writeBool(false); } parcel->writeInt64(lastCompletedRegularFrameNumber); parcel->writeInt64(lastCompletedReprocessFrameNumber); parcel->writeInt64(lastCompletedZslFrameNumber); return OK; } Loading camera/include/camera/CaptureResult.h +1 −32 Original line number Diff line number Diff line Loading @@ -76,34 +76,6 @@ struct CaptureResultExtras : public android::Parcelable { */ String16 errorPhysicalCameraId; // The last completed frame numbers shouldn't be checked in onResultReceived() and notifyError() // because the output buffers could be arriving after onResultReceived() and // notifyError(). Given this constraint, we check it for each // onCaptureStarted, and if there is no further onCaptureStarted(), // check for onDeviceIdle() to clear out all pending frame numbers. /** * The latest regular request frameNumber for which all buffers and capture result have been * returned or notified as an BUFFER_ERROR/RESULT_ERROR/REQUEST_ERROR. -1 if * none has completed. */ int64_t lastCompletedRegularFrameNumber; /** * The latest reprocess request frameNumber for which all buffers and capture result have been * returned or notified as an BUFFER_ERROR/RESULT_ERROR/REQUEST_ERROR. -1 if * none has completed. */ int64_t lastCompletedReprocessFrameNumber; /** * The latest Zsl request frameNumber for which all buffers and capture result have been * returned or notified as an BUFFER_ERROR/RESULT_ERROR/REQUEST_ERROR. -1 if * none has completed. */ int64_t lastCompletedZslFrameNumber; /** * Constructor initializes object as invalid by setting requestId to be -1. */ Loading @@ -115,10 +87,7 @@ struct CaptureResultExtras : public android::Parcelable { frameNumber(0), partialResultCount(0), errorStreamId(-1), errorPhysicalCameraId(), lastCompletedRegularFrameNumber(-1), lastCompletedReprocessFrameNumber(-1), lastCompletedZslFrameNumber(-1) { errorPhysicalCameraId() { } /** Loading camera/ndk/impl/ACameraDevice.cpp +35 −82 Original line number Diff line number Diff line Loading @@ -1336,19 +1336,19 @@ CameraDevice::checkRepeatingSequenceCompleteLocked( void CameraDevice::checkAndFireSequenceCompleteLocked() { int64_t completedFrameNumber = mFrameNumberTracker.getCompletedFrameNumber(); //std::map<int, int64_t> mSequenceLastFrameNumberMap; auto it = mSequenceLastFrameNumberMap.begin(); while (it != mSequenceLastFrameNumberMap.end()) { int sequenceId = it->first; int64_t lastFrameNumber = it->second.lastFrameNumber; int64_t lastFrameNumber = it->second; bool seqCompleted = false; bool hasCallback = true; if (mRemote == nullptr) { ALOGW("Camera %s closed while checking sequence complete", getId()); return; } ALOGV("%s: seq %d's last frame number %" PRId64 ", completed %" PRId64, __FUNCTION__, sequenceId, lastFrameNumber, completedFrameNumber); if (!it->second.isSequenceCompleted) { // Check if there is callback for this sequence // This should not happen because we always register callback (with nullptr inside) if (mSequenceCallbackMap.count(sequenceId) == 0) { Loading @@ -1357,14 +1357,16 @@ CameraDevice::checkAndFireSequenceCompleteLocked() { } if (lastFrameNumber <= completedFrameNumber) { ALOGV("Mark sequenceId %d as sequence completed", sequenceId); it->second.isSequenceCompleted = true; ALOGV("seq %d reached last frame %" PRId64 ", completed %" PRId64, sequenceId, lastFrameNumber, completedFrameNumber); seqCompleted = true; } if (it->second.isSequenceCompleted && hasCallback) { if (seqCompleted && hasCallback) { // remove callback holder from callback map auto cbIt = mSequenceCallbackMap.find(sequenceId); CallbackHolder cbh = cbIt->second; mSequenceCallbackMap.erase(cbIt); // send seq complete callback sp<AMessage> msg = new AMessage(kWhatCaptureSeqEnd, mHandler); msg->setPointer(kContextKey, cbh.mContext); Loading @@ -1380,53 +1382,10 @@ CameraDevice::checkAndFireSequenceCompleteLocked() { cbh.mSession.clear(); postSessionMsgAndCleanup(msg); } } if (it->second.isSequenceCompleted && it->second.isInflightCompleted) { if (mSequenceCallbackMap.find(sequenceId) != mSequenceCallbackMap.end()) { mSequenceCallbackMap.erase(sequenceId); } // No need to track sequence complete if there is no callback registered if (seqCompleted || !hasCallback) { it = mSequenceLastFrameNumberMap.erase(it); ALOGV("%s: Remove holder for sequenceId %d", __FUNCTION__, sequenceId); } else { ++it; } } } void CameraDevice::removeCompletedCallbackHolderLocked(int64_t lastCompletedRegularFrameNumber) { auto it = mSequenceLastFrameNumberMap.begin(); while (it != mSequenceLastFrameNumberMap.end()) { int sequenceId = it->first; int64_t lastFrameNumber = it->second.lastFrameNumber; if (mRemote == nullptr) { ALOGW("Camera %s closed while checking sequence complete", getId()); return; } ALOGV("%s: seq %d's last frame number %" PRId64 ", completed inflight frame number %" PRId64, __FUNCTION__, sequenceId, lastFrameNumber, lastCompletedRegularFrameNumber); if (lastFrameNumber <= lastCompletedRegularFrameNumber) { if (it->second.isSequenceCompleted) { // Check if there is callback for this sequence // This should not happen because we always register callback (with nullptr inside) if (mSequenceCallbackMap.count(sequenceId) == 0) { ALOGW("No callback found for sequenceId %d", sequenceId); } else { mSequenceCallbackMap.erase(sequenceId); } it = mSequenceLastFrameNumberMap.erase(it); ALOGV("%s: Remove holder for sequenceId %d", __FUNCTION__, sequenceId); } else { ALOGV("Mark sequenceId %d as inflight completed", sequenceId); it->second.isInflightCompleted = true; ++it; } } else { ++it; } Loading Loading @@ -1521,9 +1480,6 @@ CameraDevice::ServiceCallback::onDeviceIdle() { return ret; } dev->removeCompletedCallbackHolderLocked( std::numeric_limits<int64_t>::max()/*lastCompletedRegularFrameNumber*/); if (dev->mIdle) { // Already in idle state. Possibly other thread did waitUntilIdle return ret; Loading Loading @@ -1566,9 +1522,6 @@ CameraDevice::ServiceCallback::onCaptureStarted( return ret; } dev->removeCompletedCallbackHolderLocked( resultExtras.lastCompletedRegularFrameNumber); int sequenceId = resultExtras.requestId; int32_t burstId = resultExtras.burstId; Loading Loading
apex/manifest.json +1 −1 Original line number Diff line number Diff line { "name": "com.android.media", "version": 300801200 "version": 300801300 }
apex/manifest_codec.json +1 −1 Original line number Diff line number Diff line { "name": "com.android.media.swcodec", "version": 300801200 "version": 300801300 }
camera/CaptureResult.cpp +0 −6 Original line number Diff line number Diff line Loading @@ -49,9 +49,6 @@ status_t CaptureResultExtras::readFromParcel(const android::Parcel *parcel) { } errorPhysicalCameraId = cameraId; } parcel->readInt64(&lastCompletedRegularFrameNumber); parcel->readInt64(&lastCompletedReprocessFrameNumber); parcel->readInt64(&lastCompletedZslFrameNumber); return OK; } Loading Loading @@ -79,9 +76,6 @@ status_t CaptureResultExtras::writeToParcel(android::Parcel *parcel) const { } else { parcel->writeBool(false); } parcel->writeInt64(lastCompletedRegularFrameNumber); parcel->writeInt64(lastCompletedReprocessFrameNumber); parcel->writeInt64(lastCompletedZslFrameNumber); return OK; } Loading
camera/include/camera/CaptureResult.h +1 −32 Original line number Diff line number Diff line Loading @@ -76,34 +76,6 @@ struct CaptureResultExtras : public android::Parcelable { */ String16 errorPhysicalCameraId; // The last completed frame numbers shouldn't be checked in onResultReceived() and notifyError() // because the output buffers could be arriving after onResultReceived() and // notifyError(). Given this constraint, we check it for each // onCaptureStarted, and if there is no further onCaptureStarted(), // check for onDeviceIdle() to clear out all pending frame numbers. /** * The latest regular request frameNumber for which all buffers and capture result have been * returned or notified as an BUFFER_ERROR/RESULT_ERROR/REQUEST_ERROR. -1 if * none has completed. */ int64_t lastCompletedRegularFrameNumber; /** * The latest reprocess request frameNumber for which all buffers and capture result have been * returned or notified as an BUFFER_ERROR/RESULT_ERROR/REQUEST_ERROR. -1 if * none has completed. */ int64_t lastCompletedReprocessFrameNumber; /** * The latest Zsl request frameNumber for which all buffers and capture result have been * returned or notified as an BUFFER_ERROR/RESULT_ERROR/REQUEST_ERROR. -1 if * none has completed. */ int64_t lastCompletedZslFrameNumber; /** * Constructor initializes object as invalid by setting requestId to be -1. */ Loading @@ -115,10 +87,7 @@ struct CaptureResultExtras : public android::Parcelable { frameNumber(0), partialResultCount(0), errorStreamId(-1), errorPhysicalCameraId(), lastCompletedRegularFrameNumber(-1), lastCompletedReprocessFrameNumber(-1), lastCompletedZslFrameNumber(-1) { errorPhysicalCameraId() { } /** Loading
camera/ndk/impl/ACameraDevice.cpp +35 −82 Original line number Diff line number Diff line Loading @@ -1336,19 +1336,19 @@ CameraDevice::checkRepeatingSequenceCompleteLocked( void CameraDevice::checkAndFireSequenceCompleteLocked() { int64_t completedFrameNumber = mFrameNumberTracker.getCompletedFrameNumber(); //std::map<int, int64_t> mSequenceLastFrameNumberMap; auto it = mSequenceLastFrameNumberMap.begin(); while (it != mSequenceLastFrameNumberMap.end()) { int sequenceId = it->first; int64_t lastFrameNumber = it->second.lastFrameNumber; int64_t lastFrameNumber = it->second; bool seqCompleted = false; bool hasCallback = true; if (mRemote == nullptr) { ALOGW("Camera %s closed while checking sequence complete", getId()); return; } ALOGV("%s: seq %d's last frame number %" PRId64 ", completed %" PRId64, __FUNCTION__, sequenceId, lastFrameNumber, completedFrameNumber); if (!it->second.isSequenceCompleted) { // Check if there is callback for this sequence // This should not happen because we always register callback (with nullptr inside) if (mSequenceCallbackMap.count(sequenceId) == 0) { Loading @@ -1357,14 +1357,16 @@ CameraDevice::checkAndFireSequenceCompleteLocked() { } if (lastFrameNumber <= completedFrameNumber) { ALOGV("Mark sequenceId %d as sequence completed", sequenceId); it->second.isSequenceCompleted = true; ALOGV("seq %d reached last frame %" PRId64 ", completed %" PRId64, sequenceId, lastFrameNumber, completedFrameNumber); seqCompleted = true; } if (it->second.isSequenceCompleted && hasCallback) { if (seqCompleted && hasCallback) { // remove callback holder from callback map auto cbIt = mSequenceCallbackMap.find(sequenceId); CallbackHolder cbh = cbIt->second; mSequenceCallbackMap.erase(cbIt); // send seq complete callback sp<AMessage> msg = new AMessage(kWhatCaptureSeqEnd, mHandler); msg->setPointer(kContextKey, cbh.mContext); Loading @@ -1380,53 +1382,10 @@ CameraDevice::checkAndFireSequenceCompleteLocked() { cbh.mSession.clear(); postSessionMsgAndCleanup(msg); } } if (it->second.isSequenceCompleted && it->second.isInflightCompleted) { if (mSequenceCallbackMap.find(sequenceId) != mSequenceCallbackMap.end()) { mSequenceCallbackMap.erase(sequenceId); } // No need to track sequence complete if there is no callback registered if (seqCompleted || !hasCallback) { it = mSequenceLastFrameNumberMap.erase(it); ALOGV("%s: Remove holder for sequenceId %d", __FUNCTION__, sequenceId); } else { ++it; } } } void CameraDevice::removeCompletedCallbackHolderLocked(int64_t lastCompletedRegularFrameNumber) { auto it = mSequenceLastFrameNumberMap.begin(); while (it != mSequenceLastFrameNumberMap.end()) { int sequenceId = it->first; int64_t lastFrameNumber = it->second.lastFrameNumber; if (mRemote == nullptr) { ALOGW("Camera %s closed while checking sequence complete", getId()); return; } ALOGV("%s: seq %d's last frame number %" PRId64 ", completed inflight frame number %" PRId64, __FUNCTION__, sequenceId, lastFrameNumber, lastCompletedRegularFrameNumber); if (lastFrameNumber <= lastCompletedRegularFrameNumber) { if (it->second.isSequenceCompleted) { // Check if there is callback for this sequence // This should not happen because we always register callback (with nullptr inside) if (mSequenceCallbackMap.count(sequenceId) == 0) { ALOGW("No callback found for sequenceId %d", sequenceId); } else { mSequenceCallbackMap.erase(sequenceId); } it = mSequenceLastFrameNumberMap.erase(it); ALOGV("%s: Remove holder for sequenceId %d", __FUNCTION__, sequenceId); } else { ALOGV("Mark sequenceId %d as inflight completed", sequenceId); it->second.isInflightCompleted = true; ++it; } } else { ++it; } Loading Loading @@ -1521,9 +1480,6 @@ CameraDevice::ServiceCallback::onDeviceIdle() { return ret; } dev->removeCompletedCallbackHolderLocked( std::numeric_limits<int64_t>::max()/*lastCompletedRegularFrameNumber*/); if (dev->mIdle) { // Already in idle state. Possibly other thread did waitUntilIdle return ret; Loading Loading @@ -1566,9 +1522,6 @@ CameraDevice::ServiceCallback::onCaptureStarted( return ret; } dev->removeCompletedCallbackHolderLocked( resultExtras.lastCompletedRegularFrameNumber); int sequenceId = resultExtras.requestId; int32_t burstId = resultExtras.burstId; Loading