Skip to content

Fix Roku subtitle menu for burned-in tracks#854

Open
VX-101 wants to merge 2 commits intojellyfin:masterfrom
VX-101:fix-subtitle-burnin-selection
Open

Fix Roku subtitle menu for burned-in tracks#854
VX-101 wants to merge 2 commits intojellyfin:masterfrom
VX-101:fix-subtitle-burnin-selection

Conversation

@VX-101
Copy link
Copy Markdown

@VX-101 VX-101 commented Apr 30, 2026

Changes

Fixes the in-playback subtitle menu state when playback is transcoding with burned-in subtitles.

When burn-in subtitles were enabled, onVideoContentLoaded() marked subtitle tracks as encoded but stopped iterating after finding the selected track. That meant any later subtitle tracks were dropped from fullSubtitleData, so the playback subtitle menu could show an incomplete list.

The player also skipped updating selectedSubtitle during burned-in subtitle playback, so the menu could show None even though Jellyfin had selected and burned in a default subtitle stream.

This change:

  • keeps processing the full subtitle list when marking burned-in tracks as encoded
  • always updates selectedSubtitle while the observer is temporarily removed
  • preserves the existing observer guard so this state update does not trigger an unnecessary reload

Fixes #851.

Testing

  • Ran npm run build successfully.
  • Sideloaded the generated Roku package.
  • Tested with an MKV containing two English PGS subtitle tracks.
  • Confirmed the in-playback subtitle menu shows None plus both PGS tracks.
  • Confirmed the default burned-in subtitle track is selected correctly and default CC works.

@VX-101 VX-101 requested a review from a team as a code owner April 30, 2026 01:28
@jimdogx
Copy link
Copy Markdown
Member

jimdogx commented Apr 30, 2026

Don't forget to update Whats New if you'd like credit for your work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CC menu can show None while default PGS subtitles are still displayed

3 participants