View Source Membrane.RTC.Engine.Endpoint (Membrane RTC Engine v0.14.0)

Module representing RTC Engine's endpoint.

For specific information about possible endpoints, refer to modules specified by type/0.

Link to this section Summary

Types

t()

Module representing RTC Engine's endpoint.

Link to this section Types

@type id() :: any()
@type t() :: %Membrane.RTC.Engine.Endpoint{
  id: id(),
  inbound_tracks: %{
    required(Membrane.RTC.Engine.Track.id()) => Membrane.RTC.Engine.Track.t()
  },
  metadata: any(),
  type: type()
}

Module representing RTC Engine's endpoint.

This module contains:

  • id - id of the endpoint.
  • type - type of the endpoint.
  • metadata - metadata of the endpoint, assigned when engine receives {:ready, metadata} message from the endpoint.
  • inbound_tracks - inbound tracks (received by the endpoint from "outside" of the engine) of the endpoint.
@type type() :: module()

Link to this section Functions

Link to this function

get_active_track_metadata(endpoint)

View Source
@spec get_active_track_metadata(endpoint :: t()) :: %{
  required(Membrane.RTC.Engine.Track.id()) => any()
}
Link to this function

get_audio_tracks(endpoint)

View Source
@spec get_audio_tracks(endpoint :: t()) :: [Membrane.RTC.Engine.Track.t()]
Link to this function

get_track_by_id(endpoint, id)

View Source
@spec get_track_by_id(endpoint :: t(), id :: Membrane.RTC.Engine.Track.id()) ::
  Membrane.RTC.Engine.Track.t() | nil
@spec get_tracks(endpoint :: t()) :: [Membrane.RTC.Engine.Track.t()]
Link to this function

get_video_tracks(endpoint)

View Source
@spec get_video_tracks(endpoint :: t()) :: [Membrane.RTC.Engine.Track.t()]
Link to this function

new(id, type, inbound_tracks)

View Source
@spec new(
  id :: id(),
  type :: type(),
  inbound_tracks :: [Membrane.RTC.Engine.Track.t()]
) :: t()
Link to this function

update_track_encoding(endpoint, track_id, value)

View Source
@spec update_track_encoding(
  endpoint :: t(),
  track_id :: Membrane.RTC.Engine.Track.id(),
  encoding :: atom()
) :: t()
Link to this function

update_track_metadata(endpoint, track_id, metadata)

View Source
@spec update_track_metadata(
  endpoint :: t(),
  track_id :: Membrane.RTC.Engine.Track.id(),
  metadata :: any()
) :: t()