[Matroska-users] requesting clarification of semantics of TrackUID

Matthew Heaney matthewjheaney at hotmail.com
Mon Jan 25 18:12:45 CET 2010

The Matroska spec describes the TrackUID sub-element of the Track element as
being an non-zero unsigned integer.

I noticed that the SegmentUID, PrevUID, and NextUID (in the Segment
Information element) are all binary values.  Is the TrackUID really intended
to be an unsigned integer, instead of binary?  (If so, then why the

The TrackUID is serialized in normal, network byte order -- the value does
not have the UTF8-like encoding as for element IDs and data sizes.  Does
this mean that it can use all of the bits in the (unsigned integer) value?
So for example, if the TrackUID were represented as a 1-byte integer, can it
have values in the full range 0-255?

If the TrackUID really is an unsigned integer (as is stated in the spec),
then is there come canonical representation?  I have been synthesizing a new
TrackUID by generating a random value for each byte (of an 8-byte integer),
but I don't know whether this is the intended mechanism.


More information about the Matroska-users mailing list