I've been working on some patches which aim to provide logic and configurability options for renderers with native subtitle support. See my streamablesubs
- Supported subtitle formats are defined in the renderer configuration. If a video is supported and it is associated with a supported subtitle, both the video and the subtitle will be streamed. If there are not any supported subtitles, the video will be streamed/transcoded according to PMS/subtitle configurations.
- Skip transcode subtitles can also be defined. If a video is being transcoded and contains "Skip transcode" subtitles, the video will be transcoded without subtitles. The subtitles will be streamed instead. This is only relevant to natively supported external subtitles.
- For renderers without native subtitle support, behaviour should be the same as before.
- The patches make use of a new class which presents a backwards-incompatible change, some plugins might need to be updated.
I am currently not satisfied with subtitle selection logic for natively supported external subtitles. Some improvements have been introduced but the logic remains primitive. To improve this, I would like to develop the new DLNAMediaSubtitleList class further and perhaps also develop a similar class for audio tracks. I would appreciate some feedback from the PMS team... if the changes presented so far seem feasible to you then I will spend the time to implement the final ideas for your review.
EDIT: Attached is a truth table to help visualise the intended behaviour.