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

## Synopsis

    struct              GstRtpSsrcDemux;

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GstObject
                   +----GstElement
                         +----GstRtpSsrcDemux

## Signals

      "clear-ssrc"                                     : Action
      "new-ssrc-pad"                                   : Run Last
      "removed-ssrc-pad"                               : Run Last

## 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.

Last reviewed on 2007-05-28 (0.10.5)

## 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

## Details

### struct GstRtpSsrcDemux

    struct GstRtpSsrcDemux;

## Signal Details

### The `"clear-ssrc"` signal

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

Action signal to remove the pad for SSRC.

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

### The `"new-ssrc-pad"` signal

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

Emited when a new SSRC pad has been created.

`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.

### The `"removed-ssrc-pad"` signal

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

Emited when a SSRC pad has been removed.

`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.