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

Commit 86f8b98e authored by James Dong's avatar James Dong
Browse files

Add timestamp and data pointer checks in CameraSource

Change-Id: I99e188f631df2257813aa7ec657d6ecfc8859d9e
parent 475a0523
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -701,13 +701,12 @@ void CameraSource::dataCallbackTimestamp(int64_t timestampUs,
        return;
    }

    if (mNumFramesReceived > 0 &&
        timestampUs - mLastFrameTimestampUs > mGlitchDurationThresholdUs) {
        if (mNumGlitches % 10 == 0) {  // Don't spam the log
            LOGV("Long delay detected in video recording");
        }
    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.
@@ -732,6 +731,7 @@ void CameraSource::dataCallbackTimestamp(int64_t timestampUs,
    }
    ++mNumFramesReceived;

    CHECK(data != NULL && data->size() > 0);
    mFramesReceived.push_back(data);
    int64_t timeUs = mStartTimeUs + (timestampUs - mFirstFrameTimeUs);
    mFrameTimes.push_back(timeUs);