View Source Membrane.Agora.Dispatcher (Membrane Agora plugin v0.2.4)

This element allows for dispatching the streams received by the Membrane.Agora.Source based on the user_id field from the buffer's metadata. The Membrane.Agora.Source sends a single stream for all the users that are present in the Agora channel and enriches buffers with the user_id field which corresponds to the ID of the stream sender from the Agora channel. The Membrane.Agora.Dispatcher element allows to demultiplex such a single output channel stream into multiple streams for each of the users.

Usage:

Element options

Passed via struct Membrane.Agora.Dispatcher.t/0

  • queue_before_pad_connected?

    boolean()

    Default value: true
    If true, the buffers will be queued until the corresponding pad, on which they should be sent, is connected. Otherwise, if there is no corresponding pad available, the buffers are discarded. Defaults to true.

Pads

:input

Accepted formats:

%Membrane.H264{alignment: :au}
%Membrane.RawAudio{sample_rate: 44100, channels: 2, sample_format: :s16le}
Direction::input
Availability::always
Flow control::auto

:output

Accepted formats:

%Membrane.H264{alignment: :au}
%Membrane.RawAudio{sample_rate: 44100, channels: 2, sample_format: :s16le}
Direction::output
Availability::on_request
Flow control::auto

Summary

Types

t()

Struct containing options for Membrane.Agora.Dispatcher

Functions

Returns description of options available for this module

Types

@type t() :: %Membrane.Agora.Dispatcher{queue_before_pad_connected?: boolean()}

Struct containing options for Membrane.Agora.Dispatcher

Functions

@spec options() :: keyword()

Returns description of options available for this module