video-dev/hls.js · issue #4920

608 caption channels the playlist never declared

When a Multivariant Playlist declares its closed-caption renditions with EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS, a player should present only the INSTREAM-IDs it names. hls.js instead surfaces every 608 channel that happens to carry data. Both players below load the same stream from the same manifest; only the library differs. Read the issue →

Scenario

Side by side

0.0s

Before — hls.js as shipped

Waiting for caption data…
no caption tracks yet

After — with the fix

Waiting for caption data…
no caption tracks yet

Caption tracks appear as the players decode 608 data, so give it a few seconds of playback. Click a chip to render that channel over the video. Red chips are channels the manifest never declared.

The fix


  

Gated on a new filterUndeclaredClosedCaptions config option (default true). Playlists that declare no CLOSED-CAPTIONS renditions — and single Media Playlists, which cannot declare any — keep the old behavior, so streams that rely on undeclared channels today are unaffected.