Subject: [Cellar] Matroska: "Forced" and "Default" flag definitions

From: Rodger Combs <[email-masked]>
Date: Thu, 20 Jul 2017 01:32:38 -0500

Currently, Matroska's "forced" flag's documentation describes a feature that wouldn't be particularly useful as defined, and doesn't match any implementation's behavior I know of (though if any implementation actually does overlay a forced track alongside a normal one, please let me know). I'd like to propose an updated definition of the default and forced flags:

- Default:
For audio or video, set if that track SHOULD be active if no language found matches the user's preference; this can be used to specify the original content language. For subtitles, set if that track SHOULD be chosen if there are multiple tracks which match the user's language preferences. (1 bit)

Alternate definition:
Set if that track (audio, video or subs) SHOULD be active if multiple tracks found matches the user's language preference. This can be used to specify a "normal" track (as opposed to other tracks containing commentary or other alternate content). (1 bit)

If the alternate definition is used, then the original/default language should be the first track of its type. If the first definition given is used, then the first track of a given language and type should be the "normal" one. It might be generally useful to add flags for track types (commentary, hearing-impaired, descriptive audio service, etc...), but that's out of scope of this proposal.

- Forced:
Applies only to subtitles. Set if that track SHOULD be active during playback, even if the user's preferences would normally not enable subtitles with the selected audio track; this can be used for tracks containing only translations of foreign-language audio or onscreen text. (1 bit)

These definitions better match the intent of the flags on DVD and BD, without implying user-hostile behavior or overlays of multiple tracks, and I think they do a better job of carrying information about the relevant tracks. They also match at least some existing implementation behavior.

---

From: Rodger Combs <[email-masked]>
Date: Sun, 30 Jul 2017 18:38:34 -0500

I've submitted these changes as a PR to the specification repository: https://github.com/Matroska-Org/matroska-specification/pull/158 <https://github.com/Matroska-Org/matroska-specification/pull/158>
> On Jul 20, 2017, at 01:32, Rodger Combs <[email-masked]> wrote:
>