Class DefaultAudioTrackBufferSizeProvider

    • Field Detail

      • minPcmBufferDurationUs

        protected final int minPcmBufferDurationUs
        Deprecated.
        The minimum length for PCM AudioTrack buffers, in microseconds.
      • maxPcmBufferDurationUs

        protected final int maxPcmBufferDurationUs
        Deprecated.
        The maximum length for PCM AudioTrack buffers, in microseconds.
      • pcmBufferMultiplicationFactor

        protected final int pcmBufferMultiplicationFactor
        Deprecated.
        The multiplication factor to apply to the minimum buffer size requested.
      • passthroughBufferDurationUs

        protected final int passthroughBufferDurationUs
        Deprecated.
        The length for passthrough AudioTrack buffers, in microseconds.
      • offloadBufferDurationUs

        protected final int offloadBufferDurationUs
        Deprecated.
        The length for offload AudioTrack buffers, in microseconds.
      • ac3BufferMultiplicationFactor

        public final int ac3BufferMultiplicationFactor
        Deprecated.
        The multiplication factor to apply to AC3 passthrough buffer to avoid underruns on some devices (e.g., Broadcom 7271).
    • Method Detail

      • getBufferSizeInBytes

        public int getBufferSizeInBytes​(int minBufferSizeInBytes,
                                        @com.google.android.exoplayer2.C.Encoding int encoding,
                                        @com.google.android.exoplayer2.audio.DefaultAudioSink.OutputMode int outputMode,
                                        int pcmFrameSize,
                                        int sampleRate,
                                        int bitrate,
                                        double maxAudioTrackPlaybackSpeed)
        Deprecated.
        Description copied from interface: DefaultAudioSink.AudioTrackBufferSizeProvider
        Returns the buffer size to use when creating an AudioTrack for a specific format and output mode.
        Specified by:
        getBufferSizeInBytes in interface DefaultAudioSink.AudioTrackBufferSizeProvider
        Parameters:
        minBufferSizeInBytes - The minimum buffer size in bytes required to play this format. See AudioTrack.getMinBufferSize(int, int, int).
        encoding - The C.Encoding of the format.
        outputMode - How the audio will be played. One of the output modes.
        pcmFrameSize - The size of the PCM frames if the encoding is PCM, 1 otherwise, in bytes.
        sampleRate - The sample rate of the format, in Hz.
        bitrate - The bitrate of the audio stream if the stream is compressed, or Format.NO_VALUE if encoding is PCM or the bitrate is not known.
        maxAudioTrackPlaybackSpeed - The maximum speed the content will be played using AudioTrack.setPlaybackParams(android.media.PlaybackParams). 0.5 is 2x slow motion, 1 is real time, 2 is 2x fast forward, etc. This will be 1 unless DefaultAudioSink.Builder.setEnableAudioTrackPlaybackParams(boolean) is enabled.
        Returns:
        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.
      • get1xBufferSizeInBytes

        protected int get1xBufferSizeInBytes​(int minBufferSizeInBytes,
                                             int encoding,
                                             int outputMode,
                                             int pcmFrameSize,
                                             int sampleRate,
                                             int bitrate)
        Deprecated.
        Returns the buffer size for playback at 1x speed.
      • getPcmBufferSizeInBytes

        protected int getPcmBufferSizeInBytes​(int minBufferSizeInBytes,
                                              int samplingRate,
                                              int frameSize)
        Deprecated.
        Returns the buffer size for PCM playback.
      • getPassthroughBufferSizeInBytes

        protected int getPassthroughBufferSizeInBytes​(@com.google.android.exoplayer2.C.Encoding int encoding,
                                                      int bitrate)
        Deprecated.
        Returns the buffer size for passthrough playback.
      • getOffloadBufferSizeInBytes

        protected int getOffloadBufferSizeInBytes​(@com.google.android.exoplayer2.C.Encoding int encoding)
        Deprecated.
        Returns the buffer size for offload playback.
      • durationUsToBytes

        protected static int durationUsToBytes​(int durationUs,
                                               int samplingRate,
                                               int frameSize)
        Deprecated.
      • getMaximumEncodedRateBytesPerSecond

        protected static int getMaximumEncodedRateBytesPerSecond​(@com.google.android.exoplayer2.C.Encoding int encoding)
        Deprecated.