Skip to main content

DescriptorBody

Enum DescriptorBody 

Source
pub enum DescriptorBody<'a> {
Show 21 variants VideoStream(VideoStreamDescriptor), AudioStream(AudioStreamDescriptor), Hierarchy(HierarchyDescriptor), Registration { format_identifier: [u8; 4], additional_identification_info: &'a [u8], }, DataStreamAlignment(DataStreamAlignmentDescriptor), TargetBackgroundGrid(TargetBackgroundGridDescriptor), VideoWindow(VideoWindowDescriptor), Ca(CaDescriptor<'a>), Iso639Language(Vec<Iso639Language>), SystemClock(SystemClockDescriptor), MultiplexBufferUtilization(MultiplexBufferUtilizationDescriptor), Copyright(CopyrightDescriptor<'a>), MaximumBitrate(MaximumBitrateDescriptor), SmoothingBuffer(SmoothingBufferDescriptor), Std(StdDescriptor), Ibp(IbpDescriptor), AvcVideo(AvcVideoDescriptor), HevcVideo(HevcVideoDescriptor), Service(ServiceDescriptor<'a>), ShortEvent(ShortEventDescriptor<'a>), Raw,
}
Expand description

Typed body for descriptors this module decodes.

Variants§

§

VideoStream(VideoStreamDescriptor)

0x02 video_stream_descriptor (§2.6.2).

§

AudioStream(AudioStreamDescriptor)

0x03 audio_stream_descriptor (§2.6.4).

§

Hierarchy(HierarchyDescriptor)

0x04 hierarchy_descriptor (§2.6.6) — links one program element to its embedded base layer for hierarchically-coded video / audio / private streams (Table 2-43).

§

Registration

0x05 registration_descriptor (§2.6.8). format_identifier is a 4-byte ASCII code (e.g. b"HDMV" on Blu-ray) plus optional additional bytes whose semantics are scoped to the FOURCC.

Fields

§format_identifier: [u8; 4]
§additional_identification_info: &'a [u8]
§

DataStreamAlignment(DataStreamAlignmentDescriptor)

0x06 data_stream_alignment_descriptor (§2.6.10).

§

TargetBackgroundGrid(TargetBackgroundGridDescriptor)

0x07 target_background_grid_descriptor (§2.6.12) — describes a grid of unit pixels projected onto the display area, against which a paired video_window_descriptor places the stream’s window (Table 2-49).

§

VideoWindow(VideoWindowDescriptor)

0x08 video_window_descriptor (§2.6.14) — places the stream’s display window on the grid defined by its paired target_background_grid_descriptor (Table 2-50).

§

Ca(CaDescriptor<'a>)

0x09 CA_descriptor (§2.6.16) — Conditional Access PID + system.

§

Iso639Language(Vec<Iso639Language>)

0x0A ISO_639_language_descriptor (§2.6.18).

§

SystemClock(SystemClockDescriptor)

0x0B system_clock_descriptor (§2.6.20).

§

MultiplexBufferUtilization(MultiplexBufferUtilizationDescriptor)

0x0C multiplex_buffer_utilization_descriptor (§2.6.22).

§

Copyright(CopyrightDescriptor<'a>)

0x0D copyright_descriptor (§2.6.24).

§

MaximumBitrate(MaximumBitrateDescriptor)

0x0E maximum_bitrate_descriptor (§2.6.26).

§

SmoothingBuffer(SmoothingBufferDescriptor)

0x10 smoothing_buffer_descriptor (§2.6.30).

§

Std(StdDescriptor)

0x11 STD_descriptor (§2.6.32).

§

Ibp(IbpDescriptor)

0x12 IBP_descriptor (§2.6.34) — GOP-structure hints for the associated video elementary stream (Table 2-61).

§

AvcVideo(AvcVideoDescriptor)

0x28 AVC_video_descriptor (§2.6.64).

§

HevcVideo(HevcVideoDescriptor)

0x38 HEVC_video_descriptor (Amd. 3 §2.6.95).

§

Service(ServiceDescriptor<'a>)

0x48 service_descriptor — DVB SI extension (ETSI EN 300 468 §6.2.33 Table 88). Carried in the SDT service loop; names the service plus its provider in text form.

§

ShortEvent(ShortEventDescriptor<'a>)

0x4D short_event_descriptor — DVB SI extension (ETSI EN 300 468 §6.2.37 Table 93). Carried in the EIT event loop; names the event plus a short text description, both tagged with a language code.

§

Raw

Unrecognised tag — payload bytes preserved verbatim.

Trait Implementations§

Source§

impl<'a> Clone for DescriptorBody<'a>

Source§

fn clone(&self) -> DescriptorBody<'a>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for DescriptorBody<'a>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for DescriptorBody<'a>

§

impl<'a> RefUnwindSafe for DescriptorBody<'a>

§

impl<'a> Send for DescriptorBody<'a>

§

impl<'a> Sync for DescriptorBody<'a>

§

impl<'a> Unpin for DescriptorBody<'a>

§

impl<'a> UnsafeUnpin for DescriptorBody<'a>

§

impl<'a> UnwindSafe for DescriptorBody<'a>

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> 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<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
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<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.