video-dev / video-dev/hls.js

Proposal - Code splitting / modularization

Open
#2,175 4 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Enhancement Feature proposal Revisit-at-later-release-cycle
Dominant language
TypeScript
Stars
16.9k
Forks
2.8k
Avg merge
1d 12h
Merged PRs (30d)
27

Description

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

No issue in particular, other than not easily being able to easily omit certain pieces of functionality.
We offer a 'light' build that currently removes:

  • alt-audio support
  • subtitles support
  • EME support

However depending on the combination of features desired (e.g. if someone wants EME support but not subtitles or alt-audio support) they're either forced to build from source with local code modifications or use the main fully-featured build.

Describe the solution you'd like

Perhaps a 'plugin' system - where core functionality stays in place and utilizes a set of provided plugins.

Further design details TBD

Describe alternatives you've considered

None. Are there any other alternative approaches to tackle this?

Additional context

We should still always provide the main and light builds for the folks that want them.

It would be really slick if we also have the ability to easily build from source with a selectable list of features, so no local code modifications are needed.

As well, we could come up with some other pre-built options to offer alongside the main and light builds.

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.

Research direction

No files, tests, or entry points are named. Start by reviewing how the current main and light builds select features, then define the selectable build options and verify that both existing builds remain available.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.