Fragment Response Common Fields

This section defines the common fields that are used in the Fragment Response message for the following fields: MoofBox, MfhdBox, TrafBox, TfxdBox, TfxfBox, TfhdBox, and TrunBox.

SampleFlags (4 bytes): A comprehensive sample flags field.

SampleDependsOn (2 bits): Specifies whether this sample depends on another sample.

SampleDependsOnUnknown (2 bits): Unknown whether this sample depends on other samples.

SampleDependsOnOthers (2 bits): This sample depends on other samples.

SampleDoesNotDependOnOthers (2 bits): This sample does not depend on other samples.

SampleIsDependedOn (2 bits): Specifies whether other samples depend on this sample.

SampleIsDependedOnUnknown (2 bits): Unknown whether other samples depend on this sample.

SampleIsNotDisposable (2 bits): Other samples depend on this sample.

SampleIsDisposable (2 bits): No other samples depend on this sample.

SampleHasRedundancy (2 bits): Specifies whether this sample uses redundant coding.

RedundantCodingUnknown (2 bits): Unknown whether this sample uses redundant coding.

RedundantCoding (2 bits): This sample uses redundant coding.

NoRedundantCoding (2 bits): This sample does not use redundant coding.

SampleIsDifferenceValue (1 bit): A value of %b1 specifies that the sample is not a random access point in the stream.

SamplePaddingValue (3 bits): The sample padding value, as specified in [ISO/IEC-14496-12].

SampleDegradationPriority (2 bytes): The sample degradation priority, as specified in [ISO/IEC-14496-12].

VendorExtensionUUIDBox (Variable): A user extension box, as specified in [ISO/IEC-14496-12].

The syntax of the fields that are defined in this section, specified in ABNF [RFC5234], is as follows.

 SampleFlags = 6*6 RESERVED_BIT                                                          
 SampleDependsOn = SampleDependsOnUnknown                                                          
                   / SampleDependsOnOthers                                                          
                   / SampleDoesNotDependsOnOthers                                                          
 SampleDependsOnUnknown = %b0 %b0                                                          
 SampleDependsOnOthers = %b0 %b1                                                          
 SampleDoesNotDependOnOthers = %b1 %b0                                                          
 SampleIsDependedOn = SampleIsDependedOnUnknown                                                          
                      / SampleIsNotDisposable                                                          
                      / SampleIsDisposable                                                          
 SampleIsDependedOnUnknown = %b0 %b0                                                          
 SampleIsNotDisposable = %b0 %b1                                                          
 SampleIsDisposable = %b1 %b0                                                          
 SampleHasRedundancy = RedundantCodingUnknown                                                          
                       / RedundantCoding                                                          
                       / NoRedundantCoding                                                          
 RedundantCodingUnknown = %b0 %b0                                                          
 RedundantCoding = %b0 %b1                                                          
 NoRedundantCoding = %b1 %b0                                                          
 SamplePaddingValue = 3*3 BIT                                                          
 SampleIsDifferenceValue = BIT                                                          
 SampleDegradationPriority = UNSIGNED_INT16                                                          
 VendorExtensionUUIDBox = UUIDBoxLength UUIDBoxType [UUIDBoxLongLength] UUIDBoxUUID                                                          
 UUIDBoxType = %d117 %d117 %d105 %d100                                                          
 UUIDBoxLength = BoxLength                                                          
 UUIDBoxLongLength = LongBoxLength                                                          
 UUIDBoxUUID = UUID                                                          
 UUIDBoxData = *BYTE                                                          
 BoxLength = UNSIGNED_INT32                                                          
 LongBoxLength = UNSIGNED_INT64                                                          
 RESERVED_UNSIGNED_INT64 = %x00 %x00 %x00 %x00 %x00 %x00 %x00 %x00                                                          
 UNSIGNED_INT64 = 8*8 BYTE                                                          
 RESERVED_UNSIGNED_INT32 = %x00 %x00 %x00 %x00                                                          
 UNSIGNED_INT32 = 4*4 BYTE                                                          
 RESERVED_UNSIGNED_INT16 = %x00 %x00                                                          
 UNSIGNED_INT16 = 2*2 BYTE                                                          
 RESERVED_BYTE = %x00                                                          
 BYTE = 8*8 BIT                                                          
 RESERVED_BIT = %b0                                                          
 BIT = %b0 / %b1