Expand description
Main types implementing the demultiplexer state-machine.
Construct an instance of Demultiplex and feed it one a succession
of byte-slices containing the Transport Stream data.
Users of this crate are expected to provide their own implementations of,
PacketFilter- for defining per-stream-type handling, possibly by using thepacket_filter_switch!()macro to create an enum implementing this trait.DemuxContext- to create specificPacketFilterinstances for each type of sub-stream found within the Transport Stream data. possibly by using thedemux_context!()macro.
Structs§
- Demultiplex
- Transport Stream demultiplexer.
- Filter
Changeset - Owns a queue of
FilterChangeobjects representing pending updates to the Pid handling of theDemultiplexer. - Null
Packet Filter - No-op implementation of
PacketFilter. - PatPacket
Filter PacketFilterimplementation which will insert some otherPacketFilterinto theDemultiplexinstance for each program listed in the stream’s PAT-section.- PmtPacket
Filter PacketFilterimplementation which will insert some otherPacketFilterinto theDemultiplexinstance for each sub-stream listed in one of the stream’s PMT-sections.
Enums§
- Demux
Error - TODO: this type does not belong here
- Filter
Change - Represents the intention to either insert a new
PacketFilterinto theDemultiplexinstance or remove an oldPacketFilterfrom theDemultiplexinstance. - Filter
Request - Request that may be submitted to a
DemuxContext::construct()implementation.
Traits§
- Demux
Context - Context shared between the
Dumultiplexobject and thePacketFilterinstances which customise its behavior. - Packet
Filter - Trait to which
Demultiplexdelegates handling of subsets of Transport Stream packets.