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

Commit 108762b6 authored by Jean-Michel Trivi's avatar Jean-Michel Trivi Committed by The Android Open Source Project
Browse files

Automated import from //branches/master/...@141201,141201

parent 917a839d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -335,6 +335,7 @@ private:
    uint32_t                mNotificationFrames;
    uint32_t                mRemainingFrames;
    uint32_t                mMarkerPosition;
    bool                    mMarkerReached;
    uint32_t                mNewPosition;
    uint32_t                mUpdatePeriod;
};
+7 −2
Original line number Diff line number Diff line
@@ -200,6 +200,7 @@ status_t AudioRecord::set(
    // TODO: add audio hardware input latency here
    mLatency = (1000*mFrameCount) / mSampleRate;
    mMarkerPosition = 0;
    mMarkerReached = false;
    mNewPosition = 0;
    mUpdatePeriod = 0;

@@ -293,6 +294,9 @@ status_t AudioRecord::stop()

    if (android_atomic_and(~1, &mActive) == 1) {
        mAudioRecord->stop();
        // the record head position will reset to 0, so if a marker is set, we need
        // to activate it again
        mMarkerReached = false;
        if (t != 0) {
            t->requestExit();
        } else {
@@ -317,6 +321,7 @@ status_t AudioRecord::setMarkerPosition(uint32_t marker)
    if (mCbf == 0) return INVALID_OPERATION;

    mMarkerPosition = marker;
    mMarkerReached = false;

    return NO_ERROR;
}
@@ -492,10 +497,10 @@ bool AudioRecord::processAudioBuffer(const sp<ClientRecordThread>& thread)
    size_t readSize;

    // Manage marker callback
    if (mMarkerPosition > 0) {
    if (!mMarkerReached && (mMarkerPosition > 0)) {
        if (mCblk->user >= mMarkerPosition) {
            mCbf(EVENT_MARKER, mUserData, (void *)&mMarkerPosition);
            mMarkerPosition = 0;
            mMarkerReached = true;
        }
    }