View Source Membrane.RTC.Engine.Support.StaticTrackSender (Membrane RTC Engine v0.18.0)

This is a very simple version of Membrane.RTC.Engine.Endpoint.WebRTC.TrackSender element.

Engine forwards track starting from a keyframe. Therefore, whenever some endpoint requests some track, engine sends keyframe request to the track source.

In case of publishing from a file we are not able to generate keyframe on request. This element ignores incoming demands and starts sending data after receiving first keyframe request. Subsequent keyframe requests are ignored.

Element options

Passed via struct Membrane.RTC.Engine.Support.StaticTrackSender.t/0

  • track

    Membrane.RTC.Engine.Track.t()

    Required
    Track this sender will maintain

  • is_keyframe

    (Membrane.Buffer.t(), Track.t() -> boolean())

    Required
    Function informing if buffer is a keyframe for this track

Pads

:input

Accepted formats:

Membrane.RTP
Direction::input
Availability::always
Flow control::manual
Demand unit::buffers

:output

Accepted formats:

Membrane.RTP
Direction::output
Availability::always
Flow control::manual
Demand unit:nil

Summary

Functions

Returns description of options available for this module

Types

@type t() :: %Membrane.RTC.Engine.Support.StaticTrackSender{
  is_keyframe:
    (Membrane.Buffer.t(), Membrane.RTC.Engine.Track.t() -> boolean()),
  track: Membrane.RTC.Engine.Track.t()
}

Struct containing options for Membrane.RTC.Engine.Support.StaticTrackSender

Functions

@spec options() :: keyword()

Returns description of options available for this module