Support SCORE for prioritization of specific variants within a playlist

Open
#7,538 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
typescript

Research direction

Start by tracing HLS.js's variant-selection path and the existing SCORE arbitration described in the issue. Define how score tiers interact with playlist order, unplayable variants, and stall risk; done means preferred playable variants are selected consistently across the requested cases.

Written by the indexing model from the issue text.

Description

Feature proposal
Is your feature request related to a problem? Please describe.

Currently, HLS.js only uses SCORE for arbitration when no factors other than playlist order remain in selection. This is incorrect.

Describe the solution you'd like

Always pick a variant from those with the highest SCORE, except those that are unplayable or would degrade playback (stall).

The best way to score variants is in tiers. Give multiple bitrate variants in an adaptation set (with the same codecs) the same score. The "better" or more efficient sets should be assigned the highest score. This will force the client to select the preferred adaptation set according to available resources. Unsupported variants or variants that cannot be played without stalling should not be chosen, regardless of SCORE.

Additional context

No response

Dominant language
TypeScript
Stars
16.9k
Forks
2.8k
Avg merge
1d 12h
Merged PRs (30d)
27

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from video-dev/hls.js

All issues in video-dev/hls.js

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.