#[non_exhaustive]pub enum StreamType {
Show 60 variants
Reserved,
Mpeg1Video,
Mpeg2Video,
Mpeg1Audio,
Mpeg2Audio,
PrivateSections,
PesPrivateData,
Mheg,
DsmCc,
H222_1,
Iso13818_6TypeA,
Iso13818_6TypeB,
Iso13818_6TypeC,
Iso13818_6TypeD,
Auxiliary,
AacAdts,
Mpeg4Video,
AacLatm,
SlFlexMuxPes,
SlFlexMuxSections,
SyncDownload,
MetadataPes,
MetadataSections,
MetadataDataCarousel,
MetadataObjectCarousel,
MetadataSyncDownload,
Ipmp,
H264,
Iso14496_3Audio,
Iso14496_17Text,
AuxiliaryVideo,
Svc,
Mvc,
Jpeg2000,
AdditionalViewH262,
AdditionalViewH264,
Hevc,
HevcTemporalSubset,
Mvcd,
Temi,
HevcAnnexG,
HevcAnnexGTemporal,
HevcAnnexH,
HevcAnnexHTemporal,
GreenAccessUnits,
MhasAudioMain,
MhasAudioAux,
QualityAccessUnits,
MediaOrchestration,
MctsHevc,
JpegXs,
Vvc,
VvcTemporalSubset,
Evc,
Ac3,
Scte35,
EAc3,
IpmpHigh,
ReservedRange(u8),
UserPrivate(u8),
}Expand description
Stream type coding — Rec. ITU-T H.222.0 (06/2021) Table 2-34.
Identifies the elementary-stream type carried in the associated PID.
Values 0x80–0xFF are user private; only well-established entries
cited to their own specs are named — the rest fall through to
UserPrivate.
§Examples
use dvb_si::tables::pmt::StreamType;
assert_eq!(StreamType::from_u8(0x02).name(), "MPEG-2 Video");
assert_eq!(StreamType::from_u8(0x1B).to_u8(), 0x1B); // H.264, lossless round-tripA parsed PmtStream.stream_type is already a StreamType — match on it directly.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Reserved
0x00 — ITU-T | ISO/IEC Reserved.
Mpeg1Video
0x01 — ISO/IEC 11172-2 Video (MPEG-1 video).
Mpeg2Video
0x02 — Rec. ITU-T H.262 | ISO/IEC 13818-2 Video (MPEG-2 video).
Mpeg1Audio
0x03 — ISO/IEC 11172-3 Audio (MPEG-1 audio).
Mpeg2Audio
0x04 — ISO/IEC 13818-3 Audio (MPEG-2 audio).
PrivateSections
0x05 — Rec. ITU-T H.222.0 | ISO/IEC 13818-1 private_sections.
PesPrivateData
0x06 — Rec. ITU-T H.222.0 | ISO/IEC 13818-1 PES packets containing private data.
Mheg
0x07 — ISO/IEC 13522 MHEG.
DsmCc
0x08 — Rec. ITU-T H.222.0 | ISO/IEC 13818-1 Annex A DSM-CC.
H222_1
0x09 — Rec. ITU-T H.222.1.
Iso13818_6TypeA
0x0A — ISO/IEC 13818-6 type A.
Iso13818_6TypeB
0x0B — ISO/IEC 13818-6 type B.
Iso13818_6TypeC
0x0C — ISO/IEC 13818-6 type C.
Iso13818_6TypeD
0x0D — ISO/IEC 13818-6 type D.
Auxiliary
0x0E — Rec. ITU-T H.222.0 | ISO/IEC 13818-1 auxiliary.
AacAdts
0x0F — ISO/IEC 13818-7 Audio with ADTS transport syntax (AAC).
Mpeg4Video
0x10 — ISO/IEC 14496-2 Visual (MPEG-4 video).
AacLatm
0x11 — ISO/IEC 14496-3 Audio with LATM transport syntax (AAC LATM).
SlFlexMuxPes
0x12 — ISO/IEC 14496-1 SL-packetized / FlexMux stream in PES.
SlFlexMuxSections
0x13 — ISO/IEC 14496-1 SL-packetized / FlexMux stream in sections.
SyncDownload
0x14 — ISO/IEC 13818-6 Synchronized Download Protocol.
MetadataPes
0x15 — Metadata carried in PES packets.
MetadataSections
0x16 — Metadata carried in metadata_sections.
MetadataDataCarousel
0x17 — Metadata carried in ISO/IEC 13818-6 Data Carousel.
MetadataObjectCarousel
0x18 — Metadata carried in ISO/IEC 13818-6 Object Carousel.
MetadataSyncDownload
0x19 — Metadata carried in ISO/IEC 13818-6 Synchronized Download Protocol.
Ipmp
0x1A — IPMP stream (ISO/IEC 13818-11, MPEG-2 IPMP).
H264
0x1B — AVC video stream (Rec. ITU-T H.264 | ISO/IEC 14496-10).
Iso14496_3Audio
0x1C — ISO/IEC 14496-3 Audio without additional transport syntax (DST, ALS, SLS).
Iso14496_17Text
0x1D — ISO/IEC 14496-17 Text.
AuxiliaryVideo
0x1E — Auxiliary video stream (ISO/IEC 23002-3).
Svc
0x1F — SVC video sub-bitstream of an AVC video stream (H.264 Annex G).
Mvc
0x20 — MVC video sub-bitstream of an AVC video stream (H.264 Annex H).
Jpeg2000
0x21 — JPEG 2000 video (Rec. ITU-T T.800 | ISO/IEC 15444-1).
AdditionalViewH262
0x22 — Additional view H.262 | ISO/IEC 13818-2 video for service-compatible stereoscopic 3D.
AdditionalViewH264
0x23 — Additional view H.264 | ISO/IEC 14496-10 video for service-compatible stereoscopic 3D.
Hevc
0x24 — Rec. ITU-T H.265 | ISO/IEC 23008-2 video (HEVC) or HEVC temporal sub-bitstream.
HevcTemporalSubset
0x25 — HEVC temporal video subset (H.265 Annex A profiles).
Mvcd
0x26 — MVCD video sub-bitstream of an AVC video stream (H.264 Annex I).
Temi
0x27 — Timeline and External Media Information (TEMI, H.222.0 Annex U).
HevcAnnexG
0x28 — HEVC enhancement sub-partition incl. TemporalId 0 (H.265 Annex G).
HevcAnnexGTemporal
0x29 — HEVC temporal enhancement sub-partition (H.265 Annex G).
HevcAnnexH
0x2A — HEVC enhancement sub-partition incl. TemporalId 0 (H.265 Annex H).
HevcAnnexHTemporal
0x2B — HEVC temporal enhancement sub-partition (H.265 Annex H).
GreenAccessUnits
0x2C — Green access units carried in MPEG-2 sections.
MhasAudioMain
0x2D — ISO/IEC 23008-3 Audio with MHAS transport syntax — main stream.
MhasAudioAux
0x2E — ISO/IEC 23008-3 Audio with MHAS transport syntax — auxiliary stream.
QualityAccessUnits
0x2F — Quality access units carried in sections.
MediaOrchestration
0x30 — Media Orchestration Access Units carried in sections.
MctsHevc
0x31 — MCTS substream of an H.265 | ISO/IEC 23008-2 video stream.
JpegXs
0x32 — JPEG XS video stream (ISO/IEC 21122-2 profiles).
Vvc
0x33 — VVC video stream (Rec. ITU-T H.266 | ISO/IEC 23090-3) or VVC temporal sub-bitstream.
VvcTemporalSubset
0x34 — VVC temporal video subset (H.266 Annex A profiles).
Evc
0x35 — EVC video stream or EVC temporal sub-bitstream (ISO/IEC 23094-1).
Ac3
0x81 — ATSC AC-3 audio (A/52).
Scte35
0x86 — SCTE-35 splice_info_section (ANSI/SCTE 35).
EAc3
0x87 — ATSC E-AC-3 / Dolby Digital Plus audio (A/52B).
IpmpHigh
0x7F — IPMP stream (H.222.0 Table 2-34).
ReservedRange(u8)
Rec. ITU-T H.222.0 reserved range 0x36..=0x7E.
UserPrivate(u8)
User private range 0x80..=0xFF (except named entries).
Implementations§
Trait Implementations§
Source§impl Clone for StreamType
impl Clone for StreamType
Source§fn clone(&self) -> StreamType
fn clone(&self) -> StreamType
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for StreamType
Source§impl Debug for StreamType
impl Debug for StreamType
Source§impl Display for StreamType
impl Display for StreamType
impl Eq for StreamType
Source§impl PartialEq for StreamType
impl PartialEq for StreamType
Source§fn eq(&self, other: &StreamType) -> bool
fn eq(&self, other: &StreamType) -> bool
self and other values to be equal, and is used by ==.