DefaultAudioSink.AudioTrackBufferSizeProvider


public interface DefaultAudioSink.AudioTrackBufferSizeProvider

Known direct subclasses
DefaultAudioTrackBufferSizeProvider

Provide the buffer size to use when creating an AudioTrack.


Provides the buffer size to use when creating an AudioTrack.

Summary

Constants

default static final DefaultAudioSink.AudioTrackBufferSizeProvider

Default instance.

Public methods

abstract int
getBufferSizeInBytes(
    int minBufferSizeInBytes,
    @C.Encoding int encoding,
    @DefaultAudioSink.OutputMode int outputMode,
    int pcmFrameSize,
    int sampleRate,
    int bitrate,
    double maxAudioTrackPlaybackSpeed
)

Returns the buffer size to use when creating an AudioTrack for a specific format and output mode.

Constants

DEFAULT

default static final DefaultAudioSink.AudioTrackBufferSizeProvider DEFAULT

Default instance.

Public methods

getBufferSizeInBytes

abstract int getBufferSizeInBytes(
    int minBufferSizeInBytes,
    @C.Encoding int encoding,
    @DefaultAudioSink.OutputMode int outputMode,
    int pcmFrameSize,
    int sampleRate,
    int bitrate,
    double maxAudioTrackPlaybackSpeed
)

Returns the buffer size to use when creating an AudioTrack for a specific format and output mode.

Parameters
int minBufferSizeInBytes

The minimum buffer size in bytes required to play this format. See getMinBufferSize.

@C.Encoding int encoding

The C.Encoding of the format.

@DefaultAudioSink.OutputMode int outputMode

How the audio will be played. One of the output modes.

int pcmFrameSize

The size of the PCM frames if the encoding is PCM, 1 otherwise, in bytes.

int sampleRate

The sample rate of the format, in Hz.

int bitrate

The bitrate of the audio stream if the stream is compressed, or NO_VALUE if encoding is PCM or the bitrate is not known.

double maxAudioTrackPlaybackSpeed

The maximum speed the content will be played using setPlaybackParams. 0.5 is 2x slow motion, 1 is real time, 2 is 2x fast forward, etc. This will be 1 unless setEnableAudioTrackPlaybackParams is enabled.

Returns
int

The computed buffer size in bytes. It should always be >= minBufferSizeInBytes. The computed buffer size must contain an integer number of frames: bufferSizeInBytes % pcmFrameSize == 0.