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

Commit 2050f6cb authored by Phil Burk's avatar Phil Burk
Browse files

AudioAttributes docs: warn about small buffer size with FLAG_LOW_LATENCY



Explain buffer size optimization.

This CL has no code changes, just documentation changes.

Bug: 28802853
Change-Id: I91942f00a3e9691e4fc05b24656b8bf4cb538bc2
Signed-off-by: default avatarPhil Burk <philburk@google.com>
parent 31e49b09
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -225,9 +225,20 @@ public final class AudioAttributes implements Parcelable {
    public final static int FLAG_BYPASS_MUTE = 0x1 << 7;

    /**
     * Flag requesting a low latency path.
     * Flag requesting a low latency path when creating an AudioTrack.
     * When using this flag, the sample rate must match the native sample rate
     * of the device. Effects processing is also unavailable.
     *
     * Note that if this flag is used without specifying a bufferSizeInBytes then the
     * AudioTrack's actual buffer size may be too small. It is recommended that a fairly
     * large buffer should be specified when the AudioTrack is created.
     * Then the actual size can be reduced by calling
     * {@link AudioTrack#setBufferSizeInFrames(int)}. The buffer size can be optimized
     * by lowering it after each write() call until the audio glitches, which is detected by calling
     * {@link AudioTrack#getUnderrunCount()}. Then the buffer size can be increased
     * until there are no glitches.
     * This tuning step should be done while playing silence.
     * This technique provides a compromise between latency and glitch rate.
     */
    public final static int FLAG_LOW_LATENCY = 0x1 << 8;