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

Commit 41852688 authored by Phil Burk's avatar Phil Burk
Browse files

aaudio: set buffer size to at least one burst

Clip setBufferSizeInFrames() to at least one burst
for Legacy streams to avoid underruns.

Bug: 129545119
Test: Look at BufferSize when you run this.
Test: adb shell write_sine_callback -pn -n0
Test: It should not glitch.
Change-Id: Id82862d59122ba2d9dd98dff579b5c147e40fab5
parent a0a01876
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -420,6 +420,10 @@ aaudio_result_t AudioStreamTrack::write(const void *buffer,

aaudio_result_t AudioStreamTrack::setBufferSize(int32_t requestedFrames)
{
    // Do not ask for less than one burst.
    if (requestedFrames < getFramesPerBurst()) {
        requestedFrames = getFramesPerBurst();
    }
    ssize_t result = mAudioTrack->setBufferSizeInFrames(requestedFrames);
    if (result < 0) {
        return AAudioConvert_androidToAAudioResult(result);