Skip to content

Draft: Fix secondary subtitles cycling

Timshel K requested to merge Timshel/vlc:fix/secondary-sub-cycling into master

Hey,

Had some issues on selecting secondary subtitles, when cycling it would change the primary and I was not able to always cycle through all subtitles.

After looking at it my understanding is that the trackpriv->vout_order is not set when selecting the subtitle. Then the next time we cycle through the check fail since all selected subtitles still have a VLC_VOUT_ORDER_NONE.

Solution I tested is to add the vlc_vout_order in vlc_input_event_es. To limit code modification I decided to go with a convention that the es_id_list list produced in hotkeys.c/CycleSecondarySubtitles will be ordered with primary then secondary sub (This mean that when trying to select a secondary sub it will first select a primary sub then cycle through secondary).

Additional modifications in CycleSecondarySubtitles are:

  • When first checking all subtitle store the cycle_index instead of the id to prevent having to find it later on.
  • Break out of the Selected Search loop when we have found two selected subtitles.
  • When looping to search the next track add a modulo to be able to start from index 0.

Merge request reports