MKV: Strange selection of forced subtitles
I have tried the following with a self-compiled snapshot vlc-2.2.7-20171002-0226 on openSUSE 42.3; the stable 2.2.6 shows the same behaviour: VLC selects a "forced" subtitle although another "forced" one is "default" and corresponds to the audio language. I didn't set any preferred language.
I have an mkv file with the following tracks:
- Video
- Audio English, default
- Audio German and the following subtitles
- Subtitle English
- Subtitle English
- Subtitle German
- Subtitle German
Now, my issue is that with the following subtitle flags in the mkv
- Subtitle English, default, forced
- Subtitle English
- Subtitle German, forced
- Subtitle German and setting no "Preferred subtitle language" (as default), VLC plays the Audio English with the forced German subtitle (3.). This happens with both LANG=de_DE.UTF-8 and LANG=en_GB.UTF-8. I would expect VLC to play the forced English subtitle (1.) due to being default, the first subtitle and the to the audio language matching language. The Matroska spec says, that "When there are multiple "forced" tracks, the player should decide on the language of the forced flag or use the default flag if no track matches the use languages."
Of course, I could select "en" as my preferred subtitle language, but then VLC would always play an English subtitle track, even if there is no default or forced track. If I remove the "forced" flag of the German subtitle track, VLC plays correctly the English "forced" track but as far as I understand, this is not required by the standard.
In a perfect world, VLC would always select the "forced" subtitle that matches the language of the audio track. However, at least I would expect it to play the subtitle track that is "default" and "forced" if it exists.