## FsRtpSession

FsRtpSession — A RTP session in a FsRtpConference

## Synopsis

                        FsRtpSession;

## Object Hierarchy

      GObject
       +----FsSession
             +----FsRtpSession

## Properties

      "no-rtcp-timeout"          gint                  : Read / Write
      "rtp-header-extension-preferences" FsRtpHeaderExtensionGList*  : Read / Write
      "rtp-header-extensions"    FsRtpHeaderExtensionGList*  : Read
      "send-bitrate"             guint                 : Read / Write
      "ssrc"                     guint                 : Read / Write

## Description

This object represents one session, it is created by called `fs_conference_new_session()` on a FsRtpConference. It can be either Audio or Video. It also represents data send with one and only one SSRC (although if there is a SSRC collision, that SSRC may change).

### Codec profiles

It is possible to define "codec profiles", that is non-autodetected encoding and decoding pipelines for codecs. It is even possible to declare entirely new codecs using this method.

To create a profile for a codec, add it to the codec-preferences with special optional parameters called "farstream-send-profile" and "farstream-recv-profile", these should contain gst-launch style descriptions of the encoding or decoding bin.

As a special case, encoding profiles can have more than one unconnected source pad, all of these pads should produce application/x-rtp of some kind. The profile will be ignored if not ALL pads match currently negotiated codecs.

Also, it is possible to declare profiles with only a decoding pipeline, you will only be able to receive from this codec, the encoding may be a secondary pad of some other codec.

## Details

### FsRtpSession

    typedef struct _FsRtpSession FsRtpSession;

## Property Details

### The `"no-rtcp-timeout"` property

      "no-rtcp-timeout"          gint                  : Read / Write

This is the time (in ms) after which data received without RTCP is attached the FsStream, this only works if there is only one FsStream. -1 will wait forever. 0 will not wait for RTCP and attach it immediataly to the FsStream and prohibit the creation of a second FsStream.

Allowed values: >= G_MAXULONG

Default value: 7000

### The `"rtp-header-extension-preferences"` property

      "rtp-header-extension-preferences" FsRtpHeaderExtensionGList*  : Read / Write

GList of RTP Header extensions that are locally supported and desired by the application.

### The `"rtp-header-extensions"` property

      "rtp-header-extensions"    FsRtpHeaderExtensionGList*  : Read

GList of RTP Header extensions that have been negotiated and will be used when sending of receiving RTP packets.

### The `"send-bitrate"` property

      "send-bitrate"             guint                 : Read / Write

The bitrate that the session will try to send at in bits/sec.

Default value: 0

### The `"ssrc"` property

      "ssrc"                     guint                 : Read / Write

This is the current SSRC used to send data (defaults to a random value).

Default value: 0