# `Membrane.MPEG.TS.StreamFormat`
[🔗](https://github.com/kim-company/membrane_mpeg_ts_plugin/blob/main/lib/membrane/mpeg/ts/stream_format.ex#L1)

MPEG-TS stream format derived from PMT entries.

Use `stream_type` plus `descriptors` to identify streams that share the same
stream_type (e.g. PES private data with a registration descriptor).

# `elementary_stream_t`

```elixir
@type elementary_stream_t() :: %{
  optional(:pid) =&gt; non_neg_integer(),
  optional(:stream_type) =&gt; atom(),
  optional(:descriptors) =&gt; list(),
  optional(:upstream_format) =&gt; struct() | nil
}
```

# `t`

```elixir
@type t() :: %Membrane.MPEG.TS.StreamFormat{
  descriptors: list(),
  elementary_streams: [elementary_stream_t()],
  stream_type: atom() | nil
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
