Membrane.RTP.SSRCRouter (Membrane RTP plugin v0.9.0) View Source

A filter separating RTP packets from different SSRCs into different outpts.

When receiving a new SSRC, it creates a new pad and notifies its parent (new_stream_notification_t/0) that should link the new output pad.

When an RTCP event arrives from some output pad the router tries to forward it do a proper input pad. The input pad gets chosen by the source input pad from which packets with given ssrc were previously sent, the source pad's id gets extracted and the router tries to send the event to an input pad of id {:rtcp, id}, if no such pad exists the router simply drops the event.

Pads

:input

Availability:on_request
CapsMembrane.RTP
Demand unit:buffers
Direction:input
Mode:pull
Name:input

:output

Availability:on_request
CapsMembrane.RTP
Direction:output
Mode:pull
Name:output

Link to this section Summary

Types

Notification sent when an RTP packet with new SSRC arrives and new output pad should be linked

Functions

Returns pads descriptions for Membrane.RTP.SSRCRouter

Link to this section Types

Link to this type

new_stream_notification_t()

View Source

Specs

new_stream_notification_t() ::
  {:new_rtp_stream, Membrane.RTP.ssrc_t(), Membrane.RTP.payload_type_t()}

Notification sent when an RTP packet with new SSRC arrives and new output pad should be linked

Link to this section Functions

Specs

membrane_pads() :: [{Membrane.Pad.name_t(), Membrane.Pad.description_t()}]

Returns pads descriptions for Membrane.RTP.SSRCRouter