Class DefaultLoadControl.Builder

    • Constructor Detail

      • Builder

        public Builder()
        Constructs a new instance.
    • Method Detail

      • setBufferDurationsMs

        @CanIgnoreReturnValue
        public DefaultLoadControl.Builder setBufferDurationsMs​(int minBufferMs,
                                                               int maxBufferMs,
                                                               int bufferForPlaybackMs,
                                                               int bufferForPlaybackAfterRebufferMs)
        Sets the buffer duration parameters.
        Parameters:
        minBufferMs - The minimum duration of media that the player will attempt to ensure is buffered at all times, in milliseconds.
        maxBufferMs - The maximum duration of media that the player will attempt to buffer, in milliseconds.
        bufferForPlaybackMs - The duration of media that must be buffered for playback to start or resume following a user action such as a seek, in milliseconds.
        bufferForPlaybackAfterRebufferMs - The default duration of media that must be buffered for playback to resume after a rebuffer, in milliseconds. A rebuffer is defined to be caused by buffer depletion rather than a user action.
        Returns:
        This builder, for convenience.
        Throws:
        IllegalStateException - If build() has already been called.
      • setTargetBufferBytes

        @CanIgnoreReturnValue
        public DefaultLoadControl.Builder setTargetBufferBytes​(int targetBufferBytes)
        Sets the target buffer size in bytes. If set to C.LENGTH_UNSET, the target buffer size will be calculated based on the selected tracks.
        Parameters:
        targetBufferBytes - The target buffer size in bytes.
        Returns:
        This builder, for convenience.
        Throws:
        IllegalStateException - If build() has already been called.
      • setPrioritizeTimeOverSizeThresholds

        @CanIgnoreReturnValue
        public DefaultLoadControl.Builder setPrioritizeTimeOverSizeThresholds​(boolean prioritizeTimeOverSizeThresholds)
        Sets whether the load control prioritizes buffer time constraints over buffer size constraints.
        Parameters:
        prioritizeTimeOverSizeThresholds - Whether the load control prioritizes buffer time constraints over buffer size constraints.
        Returns:
        This builder, for convenience.
        Throws:
        IllegalStateException - If build() has already been called.
      • setBackBuffer

        @CanIgnoreReturnValue
        public DefaultLoadControl.Builder setBackBuffer​(int backBufferDurationMs,
                                                        boolean retainBackBufferFromKeyframe)
        Sets the back buffer duration, and whether the back buffer is retained from the previous keyframe.
        Parameters:
        backBufferDurationMs - The back buffer duration in milliseconds.
        retainBackBufferFromKeyframe - Whether the back buffer is retained from the previous keyframe.
        Returns:
        This builder, for convenience.
        Throws:
        IllegalStateException - If build() has already been called.