MPEG.TS.Demuxer (MPEG.TS v2.2.0)

View Source

Responsible for demultiplexing a stream of MPEG.TS.Packet into the elemetary streams listed in the stream's Program Map Table. Does not yet handle PAT.

Summary

Types

t()

@type t() :: %MPEG.TS.Demuxer{
  buffered_bytes: binary(),
  demuxed_queues: %{
    required(MPEG.TS.PMT.stream_id_t()) => MPEG.TS.StreamQueue.t()
  },
  packet_filter: (MPEG.TS.PMT.stream_id_t() -> boolean()),
  pat: MPEG.TS.PAT.t(),
  pmt: MPEG.TS.PMT.t() | nil,
  waiting_random_access_indicator: term()
}

Functions

end_of_stream(state)

new()

@spec new() :: t()

push_buffer(state, buffer, discontinuity \\ false)

push_packets(state, packets)

size(demuxer, stream_id)

take(state, stream_id, size \\ 1)