The class' operator() decides if the given (subtitle) SelectionStream lh is 'better than' the given (subtitle) SelectionStream rh. If lh is 'better than' rh the return value is true, false otherwise.
A subtitle lh is 'better than' a subtitle rh (in evaluation order) if
- lh was previously selected, or
- lh is an external sub and rh not, or
- lh is a forced sub and ("original stream's language" was selected or subtitles are off) and audio stream language matches sub language and rh not, or
- lh is a default sub and ("original stream's language" was selected or subtitles are off) and audio stream language matches sub language and rh not, or
- lh is a sub where audio stream language matches sub language and (original stream's language" was selected or subtitles are off) and rh not, or
- lh is a forced sub and a default sub ("original stream's language" was selected or subtitles are off)
- lh is an external sub and its language matches the preferred subtitle's language (unequal to "original stream's language") and rh not, or
- lh is language matches the preferred subtitle's language (unequal to "original stream's language") and rh not, or
- lh is a default sub and rh not