2.2.4.9 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*6RESERVED-BIT                                                          
                       SampleDependsOn                                                          
                       SampleIsDependedOn                                                          
                       SampleHasRedundancy                                                          
                       SamplePaddingValue                                                          
                       SampleIsDifferenceValue                                                          
                       SampleDegradationPriority                                                          
 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*3BIT                                                          
 SampleIsDifferenceValue = BIT                                                          
 SampleDegradationPriority = UNSIGNED-INT16                                                          
 VendorExtensionUUIDBox = UUIDBoxLength UUIDBoxType [UUIDBoxLongLength] UUIDBoxUUID                                                          
                          UUIDBoxData                                                          
 UUIDBoxType = %d117 %d117 %d105 %d100                                                          
 UUIDBoxLength = BoxLength                                                          
 UUIDBoxLongLength = LongBoxLength                                                          
 UUIDBoxUUID = UUID                                                          
 UUIDBoxData = *BYTE                                                          
 BoxLength = UNSIGNED-INT32                                                          
 LongBoxLength = UNSIGNED-INT64
 UNSIGNED-INT64 = 2UNSIGNED-INT32
 UNSIGNED-INT32 = 2UNSIGNED-INT16
 UNSIGNED-INT16 = 2BYTE
 BYTE = 8BIT
 BIT = %b0-1
  
 RESERVED-UNSIGNED-INT64 = 2RESERVED-UNSIGNED-INT32
 RESERVED-UNSIGNED-INT32 = 2RESERVED-UNSIGNED-INT16
 RESERVED-UNSIGNED-INT16 = 2RESERVED-BYTE
RESERVED-BYTE = 8RESERVED-BIT
RESERVED-BIT = %b0-0 ; RESERVED-BIT defined as a bit 0, but not used