Skip to content

Commit

Permalink
Make the TrackEntry\Language mandatory
Browse files Browse the repository at this point in the history
Following the bug/inconsistency found in EBML [1] it might be better to make
the track language mandatory. It will give better past/present compatibility.

In light of the next Track Selection explanation it's also vital to know the
language when you have more than one audio/subtitle track.

This may be a problem for video tracks that were not mandatory and technically
didn't have a defined language. The flag does make sense though, even for video.
For example some text on the screen may appear differently between languages.

This change will turn every track of every file that doesn't have this value set
assume it's in English. That's probably what any system dealing with track selection
is already doing anyway given it was the official default value.

[1] ietf-wg-cellar/ebml-specification#394
  • Loading branch information
robUx4 committed Feb 7, 2021
1 parent 1684324 commit c98127c
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion ebml_matroska.xml
Original file line number Diff line number Diff line change
Expand Up @@ -402,7 +402,7 @@ The intepretation of the binary data depends on the BlockAddIDType value and the
<documentation lang="en" purpose="definition">A human-readable track name.</documentation>
<extension cppname="TrackName"/>
</element>
<element name="Language" path="\Segment\Tracks\TrackEntry\Language" id="0x22B59C" type="string" default="eng" maxOccurs="1">
<element name="Language" path="\Segment\Tracks\TrackEntry\Language" id="0x22B59C" type="string" default="eng" minOccurs="1" maxOccurs="1">
<documentation lang="en" purpose="definition">Specifies the language of the track in the Matroska languages form;
see (#language-codes) on language codes.
This Element **MUST** be ignored if the LanguageIETF Element is used in the same TrackEntry.</documentation>
Expand Down

0 comments on commit c98127c

Please sign in to comment.