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

Commit 13969262 authored by Andy Hung's avatar Andy Hung
Browse files

AudioTrack, AudioRecord: Fix latency computation

Force 64 bit arithmetic to avoid integer overflow on 32 bit
platforms.

Test: CTS AudioTrackTest
Bug: 65536481
Change-Id: I774a7811fce08c7cbe59f0a062fd2c2d72220203
parent 49997ac3
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -274,7 +274,7 @@ status_t AudioRecord::set(
    mStatus = NO_ERROR;
    mUserData = user;
    // TODO: add audio hardware input latency here
    mLatency = (1000 * mFrameCount) / mSampleRate;
    mLatency = (1000LL * mFrameCount) / mSampleRate;
    mMarkerPosition = 0;
    mMarkerReached = false;
    mNewPosition = 0;
+1 −1
Original line number Diff line number Diff line
@@ -1279,7 +1279,7 @@ void AudioTrack::updateLatency_l()
        ALOGW("getLatency(%d) failed status %d", mOutput, status);
    } else {
        // FIXME don't believe this lie
        mLatency = mAfLatency + (1000 * mFrameCount) / mSampleRate;
        mLatency = mAfLatency + (1000LL * mFrameCount) / mSampleRate;
    }
}