## rtpssrcdemux rtpssrcdemux — Splits RTP streams based on the SSRC |

## Signals

void | clear-ssrc | Action
void | new-ssrc-pad | Run Last
void | removed-ssrc-pad | Run Last

## Types and Values

struct | GstRtpSsrcDemux

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstElement
                    ╰── GstRtpSsrcDemux

## Description

rtpssrcdemux acts as a demuxer for RTP packets based on the SSRC of the packets. Its main purpose is to allow an application to easily receive and decode an RTP stream with multiple SSRCs.

For each SSRC that is detected, a new pad will be created and the “new-ssrc-pad” signal will be emitted.

### Example pipelines

    1
    gst-launch-1.0 udpsrc caps="application/x-rtp" ! rtpssrcdemux ! fakesink

Takes an RTP stream and send the RTP packets with the first detected SSRC to fakesink, discarding the other SSRCs.

## Synopsis

### Element Information

plugin | rtpmanager
author | Wim Taymans <wim.taymans@gmail.com>
class | Demux/Network/RTP

### Element Pads

name | rtcp_sink
direction | sink
presence | always
details | application/x-rtcp

name | sink
direction | sink
presence | always
details | application/x-rtp

name | rtcp_src_%u
direction | source
presence | sometimes
details | application/x-rtcp

name | src_%u
direction | source
presence | sometimes
details | application/x-rtp

## Functions

## Types and Values

### struct GstRtpSsrcDemux

    struct GstRtpSsrcDemux;

## Signal Details

### The `“clear-ssrc”` signal

    void
    user_function (GstRtpSsrcDemux *demux,
                   guint            ssrc,
                   gpointer         user_data)

Action signal to remove the pad for SSRC.

#### Parameters

demux | the object which received the signal |
ssrc | the SSRC of the pad |
user_data | user data set when the signal handler was connected. |

Flags: Action

### The `“new-ssrc-pad”` signal

    void
    user_function (GstRtpSsrcDemux *demux,
                   guint            ssrc,
                   GstPad          *pad,
                   gpointer         user_data)

Emited when a new SSRC pad has been created.

#### Parameters

demux | the object which received the signal |
ssrc | the SSRC of the pad |
pad | the new pad. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“removed-ssrc-pad”` signal

    void
    user_function (GstRtpSsrcDemux *demux,
                   guint            ssrc,
                   GstPad          *pad,
                   gpointer         user_data)

Emited when a SSRC pad has been removed.

#### Parameters

demux | the object which received the signal |
ssrc | the SSRC of the pad |
pad | the removed pad. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last