Struct CompactSampleToGroupBox

Source
pub struct CompactSampleToGroupBox {
    pub version: u8,
    pub flags: CompactSampleToGroupBoxFlags,
    pub grouping_type: [u8; 4],
    pub grouping_type_parameter: Option<u32>,
    pub pattern_count: u32,
    pub patterns: Vec<CompactSampleToGroupBoxPattern>,
    pub sample_group_description_index: Vec<Vec<CompactSampleToGroupBoxSampleGroupDescriptionIndex>>,
}
Expand description

Compact sample to group box

ISO/IEC 14496-12 - 8.9.5

Fields§

§version: u8

The version of the box.

§flags: CompactSampleToGroupBoxFlags

The flags of the box.

§grouping_type: [u8; 4]

An integer that identifies the type (i.e. criterion used to form the sample groups) of the sample grouping and links it to its sample group description table with the same value for grouping type. At most one occurrence of either the ‘csgp’ or ‘sbgp’ with the same value for grouping_type (and, if used, grouping_type_parameter) shall exist for a track.

§grouping_type_parameter: Option<u32>

An indication of the sub-type of the grouping.

§pattern_count: u32

Indicates the length of the associated pattern in the pattern array that follows it. The sum of the included sample_count values indicates the number of mapped samples.

§patterns: Vec<CompactSampleToGroupBoxPattern>

pattern_length and sample_count

§sample_group_description_index: Vec<Vec<CompactSampleToGroupBoxSampleGroupDescriptionIndex>>

sample_group_description_index[j][k]

See CompactSampleToGroupBoxSampleGroupDescriptionIndex::value for details.

Trait Implementations§

Source§

impl Debug for CompactSampleToGroupBox

Source§

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

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

impl<'a> Deserialize<'a> for CompactSampleToGroupBox

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 CompactSampleToGroupBox

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 CompactSampleToGroupBox

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 CompactSampleToGroupBox

Source§

fn size(&self) -> usize

Returns the size of the type when serialized.
Source§

impl PartialEq for CompactSampleToGroupBox

Source§

fn eq(&self, other: &CompactSampleToGroupBox) -> 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 CompactSampleToGroupBox

Source§

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

Serialize the value into the given writer.
Source§

impl Eq for CompactSampleToGroupBox

Source§

impl StructuralPartialEq for CompactSampleToGroupBox

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.