2.2.4.6 TfhdBox
The TfhdBox field and related fields encapsulate defaults for per-sample metadata in the fragment. The syntax of the TfhdBox field is a strict subset of the syntax of the Track Fragment Header Box that is defined in [ISO/IEC-14496-12].
TfhdBox (variable): The metadata container for per-sample defaults.
TfhdBoxLength (4 bytes): The length of the TfhdBox field, in bytes, including the TfhdBoxLength field. If the value of the TfhdBoxLength field is %00.00.00.01, the TfhdBoxLongLength field MUST be present.
TfhdBoxLongLength (8 bytes): The length of the TfhdBox field, in bytes, including the TfhdBoxLongLength field.
BaseDataOffset (8 bytes): The offset, in bytes, from the beginning of the MdatBox field to the sample field in the MdatBox field.
SampleDescriptionIndex (4 bytes): The ordinal of the sample description for the track that is applicable to this fragment. This field SHOULD be omitted.
DefaultSampleDuration (4 bytes): The default duration of each sample, in increments that are defined by the TimeScale field for the track.
DefaultSampleSize (4 bytes): The default size of each sample, in bytes.
DefaultSampleFlags (4 bytes): The default value of the SampleFlags field for each sample.
The syntax of the fields that are defined in this section, specified in ABNF [RFC5234], is as follows.
-
TfhdBox = TfhdBoxLength TfhdBoxType [TfhdBoxLongLength] TfhdBoxFields TfhdBoxChildren TfhdBoxType = %d116 %d102 %d104 %d100 TfhdBoxLength = BoxLength TfhdBoxLongLength = LongBoxLength TfhdBoxFields = TfhdBoxVersion TfhdBoxFlags [ BaseDataOffset ] [ SampleDescriptionIndex ] [ DefaultSampleDuration ] [ DefaultSampleSize ] [ DefaultSampleFlags ] TfhdBoxVersion = %x00 TfhdBoxFlags = 18*18RESERVED-BIT DefaultSampleFlagsPresent DefaultSampleSizePresent DefaultSampleDurationPresent RESERVED-BIT SampleDescriptionIndexPresent BaseDataOffsetPresent BaseDataOffset = UNSIGNED-INT64 SampleDescriptionIndex = UNSIGNED-INT32 DefaultSampleDuration = UNSIGNED-INT32 DefaultSampleSize = UNSIGNED-INT32 DefaultSampleFlags = SampleFlags TfhdBoxChildren = *( VendorExtensionUUIDBox )