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

Commit cbb29762 authored by Mikhail Naganov's avatar Mikhail Naganov
Browse files

audio: Adjust stream buffer size calculation

When calculating buffer size, use powers of two
for "large" buffers only on SRs >= 44100 Hz.
With lower SRs, sizes rounded up to a multiple
of 2 give too high latency.

Bug: 328432688
Test: repro steps from b/328432688#comment3
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I605ef8507fef030d349e85c33ed0229c9566ddb5
parent 98aba894
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -213,7 +213,7 @@ class Module : public BnModule {
                                                                                 sampleRateHz);
        // Round up to nearest 16 frames since in the framework this is the size of a mixer burst.
        const int32_t multipleOf16 = (rawSizeFrames + 15) & ~15;
        if (multipleOf16 <= 512) return multipleOf16;
        if (sampleRateHz < 44100 || multipleOf16 <= 512) return multipleOf16;
        // Larger buffers should use powers of 2.
        int32_t powerOf2 = 1;
        while (powerOf2 < multipleOf16) powerOf2 <<= 1;