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

Commit aebe9dc2 authored by Glenn Kasten's avatar Glenn Kasten
Browse files

Normal tracks use triple buffering if resampling

Bug: 26230944
Change-Id: I40f6cd7147db1be95f297af406c77c6404a76f37
parent 5bdfad1a
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1468,8 +1468,9 @@ status_t AudioTrack::createTrack_l()
            // notify every HAL buffer, regardless of the size of the track buffer
            maxNotificationFrames = afFrameCountHAL;
        } else {
            // For normal tracks, use double-buffering
            const int nBuffering = 2;
            // For normal tracks, use at least double-buffering if no sample rate conversion,
            // or at least triple-buffering if there is sample rate conversion
            const int nBuffering = mOriginalSampleRate == mAfSampleRate ? 2 : 3;
            maxNotificationFrames = frameCount / nBuffering;
        }
        if (mNotificationFramesAct == 0 || mNotificationFramesAct > maxNotificationFrames) {