MPEG.TS.Demuxer (MPEG.TS v3.2.3)

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{
  last_pts: MPEG.TS.timestamp_ns(),
  pending: binary(),
  pids_with_pmt: %{
    required(MPEG.TS.Packet.pid_t()) => MPEG.TS.PAT.program_id_t()
  },
  stream_aggregators: %{
    required(MPEG.TS.Packet.pid_t()) => MPEG.TS.StreamAggregator.t()
  },
  streams: %{required(MPEG.TS.Packet.pid_t()) => MPEG.TS.PMT.stream_t()},
  strict?: boolean()
}

Functions

available_streams(state)

demux(state, data)

@spec demux(t(), binary()) :: {[MPEG.TS.Demuxer.Container.t()], t()}

filter(units, pid)

flush(state)

@spec flush(t()) :: {[MPEG.TS.Demuxer.Container.t()], t()}

new(opts \\ [])

stream!(stream, opts \\ [])

stream_file!(path, opts \\ [])