Applies to: Protocol and format interpretation for developers inspecting authorized media delivery.

The useful distinctions

  • TrackNumber is used in Matroska block headers.
  • TrackUID identifies the track.
  • Both are nonzero unsigned-integer elements.

Give each identifier its own column

A track can have a short number used by blocks and a distinct UID used for identity-related references. The synthetic element pair gives them values two and 101 so that conflating them becomes obvious. A report that calls both track ID would hide the distinction. Use the actual element names in a technical ledger and preserve the original values rather than replacing either with a menu position.

Retain scope when comparing containers

When a container is rewritten, the meaning of an identifier depends on the format's rules and the operation performed. Do not assume a second displayed audio track must carry TrackNumber two, or that a number reused in another file identifies the same content. The example serializes two valid child elements only; it is not a complete TrackEntry or a playable container. A full review would need the required surrounding elements, block references, and any UID-based targets examined together. This small byte example supports that review by showing exact field boundaries without inventing media samples, language metadata, or a muxing operation that was never performed. For this example, block routing would use the small track number two, while an external metadata ledger could retain UID 101. Do not substitute one merely because both happen to be unsigned integers.

Worked example · synthetic

D7 81 02 encodes TrackNumber 2. The following 73 C5 81 65 encodes TrackUID 101. These are valid TrackEntry child elements; the enclosing track and container are intentionally absent.

Valid serialized Matroska TrackEntry child elements; incomplete container.

D7 81 02 73 C5 81 65

Check the interpretation

  • Keep TrackNumber and TrackUID separate.
  • Check nonzero values and reference targets.
  • Do not equate menu position with either identifier.