LoadOptions.teletextPage reaches the engine at load, is stored as teletextPageForSubtitleTap and handed to EmbeddedSubtitleDecoder when that decoder is constructed. The page is therefore fixed for the life of the decoder, and a decoder only exists once a subtitle track is selected.
Two consequences:
- A host cannot offer the page as an in-player choice, only as a setting that takes effect on the next load. Sodalite exposes it exactly that way today.
- On a channel where the automatic
txt_page=subtitle misses the right page, the viewer has to leave the channel, change a setting and come back.
What it would take: a settable page that rebuilds the drain decoder for the active track rather than only applying at construction. The drain path already replaces decoders on a target change (clearSubtitleDrainTarget nils them), so the mechanism exists; the page just has to travel with it.
Low priority: it only affects real transport streams carrying Teletext, and only when the automatic page selection misses.
LoadOptions.teletextPagereaches the engine at load, is stored asteletextPageForSubtitleTapand handed toEmbeddedSubtitleDecoderwhen that decoder is constructed. The page is therefore fixed for the life of the decoder, and a decoder only exists once a subtitle track is selected.Two consequences:
txt_page=subtitlemisses the right page, the viewer has to leave the channel, change a setting and come back.What it would take: a settable page that rebuilds the drain decoder for the active track rather than only applying at construction. The drain path already replaces decoders on a target change (
clearSubtitleDrainTargetnils them), so the mechanism exists; the page just has to travel with it.Low priority: it only affects real transport streams carrying Teletext, and only when the automatic page selection misses.