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

Commit ce0e36be authored by Chong Zhang's avatar Chong Zhang Committed by Android (Google) Code Review
Browse files

Merge "skip dropped frame without timestamp checking" into mnc-dev

parents 3cef9257 0aaff700
Loading
Loading
Loading
Loading
+12 −7
Original line number Diff line number Diff line
@@ -881,13 +881,6 @@ void CameraSource::dataCallbackTimestamp(int64_t timestampUs,
        return;
    }

    if (mNumFramesReceived > 0) {
        CHECK(timestampUs > mLastFrameTimestampUs);
        if (timestampUs - mLastFrameTimestampUs > mGlitchDurationThresholdUs) {
            ++mNumGlitches;
        }
    }

    // May need to skip frame or modify timestamp. Currently implemented
    // by the subclass CameraSourceTimeLapse.
    if (skipCurrentFrame(timestampUs)) {
@@ -895,6 +888,18 @@ void CameraSource::dataCallbackTimestamp(int64_t timestampUs,
        return;
    }

    if (mNumFramesReceived > 0) {
        if (timestampUs <= mLastFrameTimestampUs) {
            ALOGW("Dropping frame with backward timestamp %lld (last %lld)",
                    (long long)timestampUs, (long long)mLastFrameTimestampUs);
            releaseOneRecordingFrame(data);
            return;
        }
        if (timestampUs - mLastFrameTimestampUs > mGlitchDurationThresholdUs) {
            ++mNumGlitches;
        }
    }

    mLastFrameTimestampUs = timestampUs;
    if (mNumFramesReceived == 0) {
        mFirstFrameTimeUs = timestampUs;