#[non_exhaustive]pub struct SeamlessSplice {
pub splice_type: u8,
pub dts_next_au: u64,
pub marker_bits: u8,
}Expand description
seamless_splice field within the adaptation-field extension
(ISO/IEC 13818-1:2007 §2.4.3.5, seamless_splice_flag == 1).
Wire layout: 5 bytes — splice_type(4) | DTS_next_AU[32:30](3) | marker(1) | DTS_next_AU[29:15](15) | marker(1) | DTS_next_AU[14:0](15) | marker(1).
The DTS field uses the same marker-bit encoding as PTS/DTS in PES headers.
#[non_exhaustive]: build with SeamlessSplice::new.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.splice_type: u84-bit splice_type.
dts_next_au: u6433-bit DTS_next_AU (90 kHz decoding time of the next splice unit).
marker_bits: u8The three marker_bits of DTS_next_AU (Table 2-6), packed as
0b<byte0><byte2><byte4>; the spec fixes them to 1 (0b111), but a
real stream (TSDuck test-147.ts) carries 0, so they are kept for a
byte-exact round trip.
Implementations§
Trait Implementations§
Source§impl Clone for SeamlessSplice
impl Clone for SeamlessSplice
impl Copy for SeamlessSplice
Source§impl Debug for SeamlessSplice
impl Debug for SeamlessSplice
impl Eq for SeamlessSplice
Source§impl PartialEq for SeamlessSplice
impl PartialEq for SeamlessSplice
Source§impl Serialize for SeamlessSplice
Available on crate feature serde only.
impl Serialize for SeamlessSplice
Available on crate feature
serde only.impl StructuralPartialEq for SeamlessSplice
Auto Trait Implementations§
impl Forget for SeamlessSplice
impl Freeze for SeamlessSplice
impl RefUnwindSafe for SeamlessSplice
impl Send for SeamlessSplice
impl Sync for SeamlessSplice
impl Unpin for SeamlessSplice
impl UnsafeUnpin for SeamlessSplice
impl UnwindSafe for SeamlessSplice
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more