Amazon Vinyl
    Preparing search index...

    Interface QualitySelectorImplOptions

    interface QualitySelectorImplOptions {
        bandwidthMultiplierHigh?: number;
        bandwidthMultiplierLow?: number;
        highBufferThreshold?: number;
        lowBufferThreshold?: number;
        maxBandwidth?: Maybe<number>;
        maxHeight?: Maybe<number>;
        maxWidth?: Maybe<number>;
        restrictDecoderChangeOnAudioAbrUp?: boolean;
        strategy?: AbrStrategy;
    }
    Index
    bandwidthMultiplierHigh?: number

    A multiplier applied to the estimated bandwidth when the fetched buffer is at or above highBufferThreshold. Higher values are more optimistic and allow selection of higher qualities once enough data is buffered to absorb short-term bandwidth dips.

    As the fetched buffer fills from 0 toward highBufferThreshold, the effective multiplier linearly interpolates between bandwidthMultiplierLow and this value.

    Default: 0.9

    bandwidthMultiplierLow?: number

    A multiplier applied to the estimated bandwidth when the fetched buffer is empty (0 seconds). Lower values are more conservative (reduce the bandwidth used for quality selection) and help avoid rebuffers when the buffer is low.

    As the fetched buffer fills toward highBufferThreshold, the effective multiplier linearly interpolates between this value and bandwidthMultiplierHigh.

    Default: 0.4

    highBufferThreshold?: number

    If at least this amount of time (in seconds) is currently fetched, don't consider an ABR-down. Also used as the upper bound for interpolating between bandwidthMultiplierLow and bandwidthMultiplierHigh based on the current fetched time. Default: 15

    lowBufferThreshold?: number

    If less than this amount of time (in seconds) is currently fetched, don't consider an ABR-up. Default: 4

    maxBandwidth?: Maybe<number>

    Maximum bandwidth in bits per second a quality may use to be selectable.

    Soft cap: if no qualities fit within the limit (including when set to 0), the quality with the lowest bandwidth is selected so playback is still possible.

    Has no effect when strategy is AbrStrategy.LOWEST or AbrStrategy.HIGHEST, since those strategies pin the selection regardless of bandwidth.

    Default: null (no limit).

    maxHeight?: Maybe<number>

    Maximum video height, in pixels, a quality may have to be selectable. Mirrors Shaka's restrictions.maxHeight.

    Only affects video qualities; audio (and other non-video) qualities are never restricted by resolution. Qualities with an unknown height (null) are treated as within the cap.

    Soft cap: if no video quality fits within the resolution limit, the quality with the smallest bandwidth is selected so video still plays.

    Has no effect when strategy is AbrStrategy.LOWEST or AbrStrategy.HIGHEST, since those strategies pin the selection regardless of resolution.

    Default: null (no limit).

    maxWidth?: Maybe<number>

    Maximum video width, in pixels, a quality may have to be selectable. Mirrors Shaka's restrictions.maxWidth. Behaves like maxHeight but constrains the width dimension.

    Default: null (no limit).

    restrictDecoderChangeOnAudioAbrUp?: boolean

    When true, avoids changing codecs when considering choosing a higher audio bitrate than what is currently playing. A decoder re-initialization is often an audible change, so consumers that prefer to avoid audible artifacts may enable this. ABR-down is still allowed across decoders because the subtle audio artifact is more desirable than a rebuffer. Default: false

    strategy?: AbrStrategy

    Defines the strategy used for quality selection.

    Default: BEST (ABR will be enabled)