[Matroska-devel] adding a 'forced display' flag?

Steve Lhomme steve.lhomme at free.fr
Wed Nov 17 13:59:12 CET 2004

Moritz Bunkus a écrit :
> I agree. So the question is how exactly we'll handle these two flags. We
> have to add that to the specs with a very clear description. Maybe even
> provide some pseudo code like I've done earlier. I'll start with a
> description of the "default track" flag:
>   The "default track" flag is a hint for the playback application and
>   SHOULD always be changeable by the user. If the user wants to see or

IMO it's not good to define a feature according to another. Both flags 
are quite independant and if not, that would probably be the forced flag 
that relies on the default.

>   hear a track of a certain kind (audio, video, subtitles) and she
>   hasn't chosen a specific track then the player SHOULD use the first
>   track of that kind whose "default track" flag is set to "1". If no
>   such track is found then the first track of this kind SHOULD be
>   chosen.

That's kinda long for the specs.

>   Only one track of a kind MAY have its "default track" flag set in a
>   segment. If a track entry does not contain the "default track" flag
>   element then its default value "1" is to be used.
> The last sentence is just a reminder that Matroska knows default values
> even though most apps always write that field nowadays.

So it can be dropped.

> First try for the "forced display" flag:

I don't like the word "display". The forced flag should be usable for 
all kinds of data.

>   The "forced display" flag tells the playback application that it MUST
>   display/play this track or another track of the same kind that also
>   has its "forced display" flag set. The "forced display" flag overrides
>   the "default track" flag.

Nop. At least on DVD you can play the forced tracks and the "main" one 
at the same time (used only for subs AFAIK).

>   If more than one track of a kind has its "forced display" flag set
>   then the playback application MAY chose one of those tracks based on
>   the user's preferences (e.g. choice of language).

Well, not exactly it's the choice of language, or the default flag (or 
whatever the application wants if none is found).

Here are my versions :

* Default Flag :

The default flag specifies which track of a kind (audio, video, subs) 
SHOULD be used if no language found matches the user preference.

* Forced Flag :

The forced flag specifies that a track MUST be used during playback. 
There can be many forced track for a kind (audio, video, subs), the 
player should select the one which language matches the user preference 
or the default + forced track. Overlay MAY happen between a forced and 
non-forced track of the same kind.

More information about the Matroska-devel mailing list