pub struct FilePartitionBox {
pub full_header: FullBoxHeader,
pub item_id: u32,
pub packet_payload_size: u16,
pub reserved: u8,
pub fec_encoding_id: u8,
pub fec_instance_id: u16,
pub max_source_block_length: u16,
pub encoding_symbol_length: u16,
pub max_number_of_encoding_symbols: u16,
pub scheme_specific_info: Base64String,
pub entry_count: u32,
pub entries: Vec<FilePartitionBoxEntry>,
}Expand description
File partition box
ISO/IEC 14996-12 - 8.13.3
Fields§
§full_header: FullBoxHeaderThe full box header.
item_id: u32References the item in the ItemLocationBox that the file partitioning applies to.
packet_payload_size: u16Gives the target ALC/LCT or FLUTE packet payload size of the partitioning algorithm. Note that UDP packet payloads are larger, as they also contain ALC/LCT or FLUTE headers.
reserved: u8Reserved 8 bits, must be set to 0.
fec_encoding_id: u8Identifies the FEC encoding scheme using a “Reliable Multicast Transport (RMT) FEC Encoding ID” declared at IANA, as defined in IETF RFC 5052. Note that i) value zero corresponds to the “Compact No-Code FEC scheme” also known as “Null-FEC” (IETF RFC 3695); ii) value one corresponds to the “MBMS FEC” (3GPP TS 26.346); iii) for values in the range of 0 to 127, inclusive, the FEC scheme is Fully-Specified, whereas for values in the range of 128 to 255, inclusive, the FEC scheme is Under-Specified.
fec_instance_id: u16Provides a more specific identification of the FEC encoder being used for an
Under-Specified FEC scheme. This value should be set to zero for Fully-Specified FEC schemes and
shall be ignored when parsing a file with FEC_encoding_ID in the range of 0 to 127, inclusive.
FEC_instance_ID is scoped by the FEC_encoding_ID. See IETF RFC 5052 for further details.
max_source_block_length: u16Gives the maximum number of source symbols per source block.
encoding_symbol_length: u16Gives the size (in bytes) of one encoding symbol. All encoding symbols of one item have the same length, except the last symbol which may be shorter.
max_number_of_encoding_symbols: u16Gives the maximum number of encoding symbols that can be generated for a source block for those FEC schemes in which the maximum number of encoding symbols is relevant, such as FEC encoding ID 129 defined in IETF RFC 5052. For those FEC schemes in which the maximum number of encoding symbols is not relevant, the semantics of this field is unspecified.
scheme_specific_info: Base64StringThe scheme-specific object transfer information (FEC-OTI-Scheme-Specific-Info). The definition of the information depends on the FEC encoding ID.
entry_count: u32Gives the number of entries in the list of (block_count, block_size) pairs that provides a
partitioning of the source file. Starting from the beginning of the file, each entry indicates how the
next segment of the file is divided into source blocks and source symbols.
entries: Vec<FilePartitionBoxEntry>block_count and block_size pairs.
Trait Implementations§
Source§impl Debug for FilePartitionBox
impl Debug for FilePartitionBox
Source§impl<'a> Deserialize<'a> for FilePartitionBox
impl<'a> Deserialize<'a> for FilePartitionBox
Source§fn deserialize<R>(reader: R) -> Result<Self>where
R: ZeroCopyReader<'a>,
fn deserialize<R>(reader: R) -> Result<Self>where
R: ZeroCopyReader<'a>,
Source§impl<'a> DeserializeSeed<'a, BoxHeader> for FilePartitionBox
impl<'a> DeserializeSeed<'a, BoxHeader> for FilePartitionBox
Source§fn deserialize_seed<R>(reader: R, _seed: BoxHeader) -> Result<Self>where
R: ZeroCopyReader<'a>,
fn deserialize_seed<R>(reader: R, _seed: BoxHeader) -> Result<Self>where
R: ZeroCopyReader<'a>,
Source§impl IsoBox for FilePartitionBox
impl IsoBox for FilePartitionBox
Source§fn add_header_size(payload_size: usize) -> usize
fn add_header_size(payload_size: usize) -> usize
Source§fn box_header(&self) -> BoxHeader
fn box_header(&self) -> BoxHeader
BoxHeader for this box.Source§fn serialize_box_header<W>(&self, writer: W) -> Result<()>where
W: Write,
fn serialize_box_header<W>(&self, writer: W) -> Result<()>where
W: Write,
IsoBox::box_header to the given writer.