## rtpsession rtpsession — Implement an RTP session |

## Synopsis

    struct              GstRtpSession;

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GstObject
                   +----GstElement
                         +----GstRtpSession

## Properties

      "bandwidth"                gdouble               : Read / Write
      "internal-session"         RTPSession*           : Read
      "ntp-ns-base"              guint64               : Read / Write
      "num-active-sources"       guint                 : Read
      "num-sources"              guint                 : Read
      "rtcp-fraction"            gdouble               : Read / Write
      "sdes"                     GstStructure*         : Read / Write
      "rtcp-rr-bandwidth"        gint                  : Read / Write
      "rtcp-rs-bandwidth"        gint                  : Read / Write
      "use-pipeline-clock"       gboolean              : Read / Write
      "rtcp-min-interval"        guint64               : Read / Write
      "probation"                guint                 : Read / Write

## Signals

      "clear-pt-map"                                   : Action
      "on-bye-ssrc"                                    : Run Last
      "on-bye-timeout"                                 : Run Last
      "on-new-ssrc"                                    : 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

## Description

## Synopsis

### Element Information

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

### Element Pads

name | recv_rtcp_sink
direction | sink
presence | request
details | application/x-rtcp

name | recv_rtp_sink
direction | sink
presence | request
details | application/x-rtp

name | send_rtp_sink
direction | sink
presence | request
details | application/x-rtp

name | recv_rtp_src
direction | source
presence | sometimes
details | application/x-rtp

name | send_rtp_src
direction | source
presence | sometimes
details | application/x-rtp

name | sync_src
direction | source
presence | sometimes
details | application/x-rtcp

name | send_rtcp_src
direction | source
presence | request
details | application/x-rtcp

## Details

### struct GstRtpSession

    struct GstRtpSession;

## Property Details

### The `"bandwidth"` property

      "bandwidth"                gdouble               : Read / Write

The bandwidth of the session in bytes per second (0 for auto-discover).

Allowed values: >= 0

Default value: 64000

### The `"internal-session"` property

      "internal-session"         RTPSession*           : Read

The internal RTPSession object.

### The `"ntp-ns-base"` property

      "ntp-ns-base"              guint64               : Read / Write

The NTP base time corresponding to running_time 0 (deprecated).

Default value: 0

### The `"num-active-sources"` property

      "num-active-sources"       guint                 : Read

The number of active sources in the session.

Default value: 0

### The `"num-sources"` property

      "num-sources"              guint                 : Read

The number of sources in the session.

Default value: 0

### The `"rtcp-fraction"` property

      "rtcp-fraction"            gdouble               : Read / Write

The RTCP bandwidth of the session in bytes per second (or as a real fraction of the RTP bandwidth if < 1.0).

Allowed values: >= 0

Default value: 3200

### The `"sdes"` property

      "sdes"                     GstStructure*         : Read / Write

The SDES items of this session.

### The `"rtcp-rr-bandwidth"` property

      "rtcp-rr-bandwidth"        gint                  : Read / Write

The RTCP bandwidth used for receivers in bytes per second (-1 = default).

Allowed values: >= G_MAXULONG

Default value: -1

### The `"rtcp-rs-bandwidth"` property

      "rtcp-rs-bandwidth"        gint                  : Read / Write

The RTCP bandwidth used for senders in bytes per second (-1 = default).

Allowed values: >= G_MAXULONG

Default value: -1

### 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-min-interval"` property

      "rtcp-min-interval"        guint64               : Read / Write

Minimum interval between Regular RTCP packet (in ns).

Default value: 5000000000

### The `"probation"` property

      "probation"                guint                 : Read / Write

Consecutive packet sequence numbers to accept the source.

Default value: 2

## Signal Details

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

    void                user_function                      (GstRtpSession *sess,
                                                            gpointer       user_data)      : Action

Clear the cached pt-maps requested with "request-pt-map".

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

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

    void                user_function                      (GstRtpSession *sess,
                                                            guint          ssrc,
                                                            gpointer       user_data)      : Run Last

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

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

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

    void                user_function                      (GstRtpSession *sess,
                                                            guint          ssrc,
                                                            gpointer       user_data)      : Run Last

Notify of an SSRC that has timed out because of BYE

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

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

    void                user_function                      (GstRtpSession *sess,
                                                            guint          ssrc,
                                                            gpointer       user_data)      : Run Last

Notify of a new SSRC that entered `session`.

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

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

    void                user_function                      (GstRtpSession *sess,
                                                            guint          ssrc,
                                                            gpointer       user_data)      : Run Last

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

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

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

    void                user_function                      (GstRtpSession *gstrtpsession,
                                                            guint          arg1,
                                                            gpointer       user_data)          : Run Last

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

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

    void                user_function                      (GstRtpSession *gstrtpsession,
                                                            guint          arg1,
                                                            gpointer       user_data)          : Run Last

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

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

    void                user_function                      (GstRtpSession *session,
                                                            guint          src,
                                                            gpointer       user_data)      : Run Last

Notify that a new SDES was received for SSRC.

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

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

    void                user_function                      (GstRtpSession *gstrtpsession,
                                                            guint          arg1,
                                                            gpointer       user_data)          : Run Last

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

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

    void                user_function                      (GstRtpSession *sess,
                                                            guint          ssrc,
                                                            gpointer       user_data)      : Run Last

Notify of an SSRC that has timed out

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

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

    GstCaps*            user_function                      (GstRtpSession *sess,
                                                            guint          pt,
                                                            gpointer       user_data)      : Run Last

Request the payload type as GstCaps for `pt`.

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