Struct FilePartitionBox

Source
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: FullBoxHeader

The full box header.

§item_id: u32

References the item in the ItemLocationBox that the file partitioning applies to.

§packet_payload_size: u16

Gives 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: u8

Reserved 8 bits, must be set to 0.

§fec_encoding_id: u8

Identifies 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: u16

Provides 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: u16

Gives the maximum number of source symbols per source block.

§encoding_symbol_length: u16

Gives 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: u16

Gives 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: Base64String

The scheme-specific object transfer information (FEC-OTI-Scheme-Specific-Info). The definition of the information depends on the FEC encoding ID.

§entry_count: u32

Gives 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

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> Deserialize<'a> for FilePartitionBox

Source§

fn deserialize<R>(reader: R) -> Result<Self>
where R: ZeroCopyReader<'a>,

Deserialize a value from the given zero-copy reader.
Source§

impl<'a> DeserializeSeed<'a, BoxHeader> for FilePartitionBox

Source§

fn deserialize_seed<R>(reader: R, _seed: BoxHeader) -> Result<Self>
where R: ZeroCopyReader<'a>,

Deserialize a value from the given zero-copy reader using the provided seed.
Source§

impl IsoBox for FilePartitionBox

Source§

const TYPE: BoxType

The box type of this box.
Source§

fn add_header_size(payload_size: usize) -> usize

This function calculates the header size, adds it to the given payload size and return the result. Read more
Source§

fn box_header(&self) -> BoxHeader

Constructs a BoxHeader for this box.
Source§

fn serialize_box_header<W>(&self, writer: W) -> Result<()>
where W: Write,

Serializes the box header returned by IsoBox::box_header to the given writer.
Source§

impl IsoSized for FilePartitionBox

Source§

fn size(&self) -> usize

Returns the size of the type when serialized.
Source§

impl PartialEq for FilePartitionBox

Source§

fn eq(&self, other: &FilePartitionBox) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for FilePartitionBox

Source§

fn serialize<W>(&self, writer: W) -> Result<()>
where W: Write,

Serialize the value into the given writer.
Source§

impl Eq for FilePartitionBox

Source§

impl StructuralPartialEq for FilePartitionBox

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Az for T

Source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

Source§

fn cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> CheckedAs for T

Source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

Source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<Src, Dst> LosslessTryInto<Dst> for Src
where Dst: LosslessTryFrom<Src>,

Source§

fn lossless_try_into(self) -> Option<Dst>

Performs the conversion.
Source§

impl<Src, Dst> LossyInto<Dst> for Src
where Dst: LossyFrom<Src>,

Source§

fn lossy_into(self) -> Dst

Performs the conversion.
Source§

impl<T> OverflowingAs for T

Source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

Source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> SaturatingAs for T

Source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

Source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> UnwrappedAs for T

Source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

Source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> WrappingAs for T

Source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

Source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.