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 the packet_filter_switch!() macro to create an enum implementing this trait.
  • DemuxContext - to create specific PacketFilter instances for each type of sub-stream found within the Transport Stream data. possibly by using the demux_context!() macro.

Structs§

  • Transport Stream demultiplexer.
  • Owns a queue of FilterChange objects representing pending updates to the Pid handling of the Demultiplexer.
  • No-op implementation of PacketFilter.
  • PacketFilter implementation which will insert some other PacketFilter into the Demultiplex instance for each program listed in the stream’s PAT-section.
  • PacketFilter implementation which will insert some other PacketFilter into the Demultiplex instance for each sub-stream listed in one of the stream’s PMT-sections.

Enums§

Traits§

  • Context shared between the Dumultiplex object and the PacketFilter instances which customise its behavior.
  • Trait to which Demultiplex delegates handling of subsets of Transport Stream packets.