Skip to content

Draft: demux: mkv: respect user's subtitle preference

Initializing all tracks to be defaulted causes preference matching for subtitles to fail in es_out as ESCreate sends the last default subtitle in the tracks array to es_out. ESSelect prefers default subtitle over user preference, which causes unwanted behavior of ignoring user's choice even though a default does not exist.

Instead EsOutPropsInit should instruct ESSelect to choose a subtitle if it does not exist.

Currently, in case of subtitle: for auto selection: es_out respects demux'es choice. So, if demux appoints a subtitle: that one will be selected irrespective of user preference. Which is alright as it means the demuxer should handle user preference instead.

However, in case of MKV, user preference is not handled. And it selects the "Last default subtitle track" as the "Default subtitle track". Which, in the end, causes ignorance of user preference because of the reason above. This is also a regression from VLC 3.

This patch will allow mkv module to receive the subtitle preference within it, and select a proper subtitle based on that. At the same time it will pave the way to implement FlagForced properly.

Edited by Khalid Masum

Merge request reports

Loading