Type alias MKWishAbrConfig

MKWishAbrConfig: {
    BITRATE_MODIFIER_FUNCTION_TYPE: "log" | "linear";
    TARGET_BITRATE_FACTOR: number;
    TARGET_BUFFER_FACTOR: number;
    USE_RATE_BASED_SELECTION_ON_SEEKING: boolean;
}

Configuration options for WISH ABR logic.

You can enable the logic by setting logic to WISH.

Type declaration

  • BITRATE_MODIFIER_FUNCTION_TYPE: "log" | "linear"

    Whether the bitrates should be interpolated linearly or logarithmically. A logarithmic interpolation better reflects human perception as it considers switches across lower qualities to be more visible than switches among higher qualities.

    Default value is 'log'.

  • TARGET_BITRATE_FACTOR: number

    This is the δ (delta) parameter of WISH. It indicates the capability to deliver a certain bitrate (δ > 0). i.e. how much the throughput should be, compared to the selected bitrate.

    Default value is 1. A value larger than 1 will make the logic more conservative.

  • TARGET_BUFFER_FACTOR: number

    The ξ (xi) parameter of WISH indicates the proportion of filled buffer (0 < ξ <= 1). i.e. the amount of buffer the player will try to maintain.

    Default value is 0.8. A value of 1 means that the buffer needs to be full in order to consider switching to a higher quality.

  • USE_RATE_BASED_SELECTION_ON_SEEKING: boolean

    This config option allows to temporarily disable WISH during startup phase and seeking, in favor of a purely rate-based quality selection.

    By design WISH always selects the lowest quality when buffer is empty, which may not be ideal on seeking.

    Default value is false.