pub struct Muxer { /* private fields */ }Expand description
Writes a single-program MPEG-TS stream: write_pat_pmt (call at the start,
and periodically — real players expect PAT/PMT to repeat) plus
write_access_unit per elementary-stream access unit.
Implementations§
Source§impl Muxer
impl Muxer
Sourcepub fn new(
program_number: u16,
pmt_pid: u16,
streams: &[ElementaryStream],
) -> Result<Self, Error>
pub fn new( program_number: u16, pmt_pid: u16, streams: &[ElementaryStream], ) -> Result<Self, Error>
Start a mux session for one program. pmt_pid and every stream’s pid
must be in 2..=0x1FFF (0/1 are reserved for PAT/CAT).
Sourcepub fn write_pat_pmt(&mut self, out: &mut Vec<u8>)
pub fn write_pat_pmt(&mut self, out: &mut Vec<u8>)
Write one PAT packet + one PMT packet describing this program’s streams.
Sourcepub fn write_access_unit(
&mut self,
pid: u16,
data: &[u8],
pts_90k: u64,
dts_90k: Option<u64>,
random_access: bool,
out: &mut Vec<u8>,
) -> Result<(), Error>
pub fn write_access_unit( &mut self, pid: u16, data: &[u8], pts_90k: u64, dts_90k: Option<u64>, random_access: bool, out: &mut Vec<u8>, ) -> Result<(), Error>
Packetize one access unit (already-encoded elementary-stream data, e.g.
Annex-B H.264 or an ADTS AAC frame) into a PES packet and split it across
TS packets on pid.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Muxer
impl RefUnwindSafe for Muxer
impl Send for Muxer
impl Sync for Muxer
impl Unpin for Muxer
impl UnsafeUnpin for Muxer
impl UnwindSafe for Muxer
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