## rtpbin rtpbin — Real-Time Transport Protocol bin |

## Synopsis

    struct              GstRtpBin;

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GstObject
                   +----GstElement
                         +----GstBin
                               +----GstRtpBin

## Implemented Interfaces

GstRtpBin implements GstChildProxy.

## Properties

      "do-lost"                  gboolean              : Read / Write
      "latency"                  guint                 : Read / Write
      "sdes"                     GstStructure*         : Read / Write
      "ignore-pt"                gboolean              : Read / Write
      "autoremove"               gboolean              : Read / Write
      "buffer-mode"              RTPJitterBufferMode   : Read / Write
      "ntp-sync"                 gboolean              : Read / Write
      "use-pipeline-clock"       gboolean              : Read / Write
      "rtcp-sync"                GstRTCPSync           : Read / Write
      "rtcp-sync-interval"       guint                 : Read / Write
      "drop-on-latency"          gboolean              : Read / Write

## Signals

      "clear-pt-map"                                   : Action
      "get-internal-session"                           : Action
      "on-bye-ssrc"                                    : Run Last
      "on-bye-timeout"                                 : Run Last
      "on-new-ssrc"                                    : Run Last
      "on-npt-stop"                                    : Run Last
      "on-sender-timeout"                              : Run Last
      "on-ssrc-active"                                 : Run Last
      "on-ssrc-collision"                              : Run Last
      "on-ssrc-sdes"                                   : Run Last
      "on-ssrc-validated"                              : Run Last
      "on-timeout"                                     : Run Last
      "request-pt-map"                                 : Run Last
      "reset-sync"                                     : Action
      "payload-type-change"                            : Run Last

## Description

## Synopsis

### Element Information

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

### Element Pads

name | recv_rtcp_sink_%u
direction | sink
presence | request
details | application/x-rtcp

name | recv_rtp_sink_%u
direction | sink
presence | request
details | application/x-rtp

name | send_rtp_sink_%u
direction | sink
presence | request
details | application/x-rtp

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

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

name | send_rtcp_src_%u
direction | source
presence | request
details | application/x-rtcp

## Details

### struct GstRtpBin

    struct GstRtpBin;

## Property Details

### The `"do-lost"` property

      "do-lost"                  gboolean              : Read / Write

Send an event downstream when a packet is lost.

Default value: FALSE

### The `"latency"` property

      "latency"                  guint                 : Read / Write

Default amount of ms to buffer in the jitterbuffers.

Default value: 200

### The `"sdes"` property

      "sdes"                     GstStructure*         : Read / Write

The SDES items of this session.

### The `"ignore-pt"` property

      "ignore-pt"                gboolean              : Read / Write

Do not demultiplex based on PT values.

Default value: FALSE

### The `"autoremove"` property

      "autoremove"               gboolean              : Read / Write

Automatically remove timed out sources.

Default value: FALSE

### The `"buffer-mode"` property

      "buffer-mode"              RTPJitterBufferMode   : Read / Write

Control the buffering algorithm in use.

Default value: Slave receiver to sender clock

### The `"ntp-sync"` property

      "ntp-sync"                 gboolean              : Read / Write

Synchronize received streams to the NTP clock.

Default value: FALSE

### The `"use-pipeline-clock"` property

      "use-pipeline-clock"       gboolean              : Read / Write

Use the pipeline running-time to set the NTP time in the RTCP SR messages.

Default value: FALSE

### The `"rtcp-sync"` property

      "rtcp-sync"                GstRTCPSync           : Read / Write

Use of RTCP SR in synchronization.

Default value: always

### The `"rtcp-sync-interval"` property

      "rtcp-sync-interval"       guint                 : Read / Write

RTCP SR interval synchronization (ms) (0 = always).

Default value: 0

### The `"drop-on-latency"` property

      "drop-on-latency"          gboolean              : Read / Write

Tells the jitterbuffer to never exceed the given latency in size.

Default value: FALSE

## Signal Details

### The `"clear-pt-map"` signal

    void                user_function                      (GstRtpBin *rtpbin,
                                                            gpointer   user_data)      : Action

Clear all previously cached pt-mapping obtained with "request-pt-map".

`rtpbin` : | the object which received the signal
`user_data` : | user data set when the signal handler was connected.

### The `"get-internal-session"` signal

    RTPSession*         user_function                      (GstRtpBin *rtpbin,
                                                            guint      id,
                                                            gpointer   user_data)      : Action

Request the internal RTPSession object as GObject in session `id`.

`rtpbin` : | the object which received the signal
`id` : | the session id
`user_data` : | user data set when the signal handler was connected.

### The `"on-bye-ssrc"` signal

    void                user_function                      (GstRtpBin *rtpbin,
                                                            guint      session,
                                                            guint      ssrc,
                                                            gpointer   user_data)      : Run Last

Notify of an SSRC that became inactive because of a BYE packet.

`rtpbin` : | the object which received the signal
`session` : | the session
`ssrc` : | the SSRC
`user_data` : | user data set when the signal handler was connected.

### The `"on-bye-timeout"` signal

    void                user_function                      (GstRtpBin *rtpbin,
                                                            guint      session,
                                                            guint      ssrc,
                                                            gpointer   user_data)      : Run Last

Notify of an SSRC that has timed out because of BYE

`rtpbin` : | the object which received the signal
`session` : | the session
`ssrc` : | the SSRC
`user_data` : | user data set when the signal handler was connected.

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

    void                user_function                      (GstRtpBin *rtpbin,
                                                            guint      session,
                                                            guint      ssrc,
                                                            gpointer   user_data)      : Run Last

Notify of a new SSRC that entered `session`.

`rtpbin` : | the object which received the signal
`session` : | the session
`ssrc` : | the SSRC
`user_data` : | user data set when the signal handler was connected.

### The `"on-npt-stop"` signal

    void                user_function                      (GstRtpBin *rtpbin,
                                                            guint      session,
                                                            guint      ssrc,
                                                            gpointer   user_data)      : Run Last

Notify that SSRC sender has sent data up to the configured NPT stop time.

`rtpbin` : | the object which received the signal
`session` : | the session
`ssrc` : | the SSRC
`user_data` : | user data set when the signal handler was connected.

### The `"on-sender-timeout"` signal

    void                user_function                      (GstRtpBin *rtpbin,
                                                            guint      session,
                                                            guint      ssrc,
                                                            gpointer   user_data)      : Run Last

Notify of a sender SSRC that has timed out and became a receiver

`rtpbin` : | the object which received the signal
`session` : | the session
`ssrc` : | the SSRC
`user_data` : | user data set when the signal handler was connected.

### The `"on-ssrc-active"` signal

    void                user_function                      (GstRtpBin *rtpbin,
                                                            guint      session,
                                                            guint      ssrc,
                                                            gpointer   user_data)      : Run Last

Notify of a SSRC that is active, i.e., sending RTCP.

`rtpbin` : | the object which received the signal
`session` : | the session
`ssrc` : | the SSRC
`user_data` : | user data set when the signal handler was connected.

### The `"on-ssrc-collision"` signal

    void                user_function                      (GstRtpBin *rtpbin,
                                                            guint      session,
                                                            guint      ssrc,
                                                            gpointer   user_data)      : Run Last

Notify when we have an SSRC collision

`rtpbin` : | the object which received the signal
`session` : | the session
`ssrc` : | the SSRC
`user_data` : | user data set when the signal handler was connected.

### The `"on-ssrc-sdes"` signal

    void                user_function                      (GstRtpBin *rtpbin,
                                                            guint      session,
                                                            guint      ssrc,
                                                            gpointer   user_data)      : Run Last

Notify of a SSRC that is active, i.e., sending RTCP.

`rtpbin` : | the object which received the signal
`session` : | the session
`ssrc` : | the SSRC
`user_data` : | user data set when the signal handler was connected.

### The `"on-ssrc-validated"` signal

    void                user_function                      (GstRtpBin *rtpbin,
                                                            guint      session,
                                                            guint      ssrc,
                                                            gpointer   user_data)      : Run Last

Notify of a new SSRC that became validated.

`rtpbin` : | the object which received the signal
`session` : | the session
`ssrc` : | the SSRC
`user_data` : | user data set when the signal handler was connected.

### The `"on-timeout"` signal

    void                user_function                      (GstRtpBin *rtpbin,
                                                            guint      session,
                                                            guint      ssrc,
                                                            gpointer   user_data)      : Run Last

Notify of an SSRC that has timed out

`rtpbin` : | the object which received the signal
`session` : | the session
`ssrc` : | the SSRC
`user_data` : | user data set when the signal handler was connected.

### The `"request-pt-map"` signal

    GstCaps*            user_function                      (GstRtpBin *rtpbin,
                                                            guint      session,
                                                            guint      pt,
                                                            gpointer   user_data)      : Run Last

Request the payload type as GstCaps for `pt` in `session`.

`rtpbin` : | the object which received the signal
`session` : | the session
`pt` : | the pt
`user_data` : | user data set when the signal handler was connected.

### The `"reset-sync"` signal

    void                user_function                      (GstRtpBin *rtpbin,
                                                            gpointer   user_data)      : Action

Reset all currently configured lip-sync parameters and require new SR packets for all streams before lip-sync is attempted again.

`rtpbin` : | the object which received the signal
`user_data` : | user data set when the signal handler was connected.

### The `"payload-type-change"` signal

    void                user_function                      (GstRtpBin *rtpbin,
                                                            guint      session,
                                                            guint      pt,
                                                            gpointer   user_data)      : Run Last

Signal that the current payload type changed to `pt` in `session`.

`rtpbin` : | the object which received the signal
`session` : | the session
`pt` : | the pt
`user_data` : | user data set when the signal handler was connected.

Since 0.10.17