lib/membrane/rtp/ssrc_router/streams_info.ex
defmodule Membrane.RTP.SSRCRouter.StreamsInfo do
@moduledoc """
A struct sent as a message to `Membrane.RTP.SSRCRouter` with info about known streams
and streams that will be identified by extensions and should not be reported until they are present
In particular, simulcast tracks need a RID extension in header in order to be handled.
"""
alias Membrane.RTP
@type t() :: %__MODULE__{
accept_ssrcs: [RTP.ssrc_t()],
require_extensions: %{RTP.payload_type_t() => [RTP.Header.Extension.identifier_t()]}
}
@enforce_keys [:require_extensions]
defstruct @enforce_keys ++ [accept_ssrcs: []]
end