Top |
FsRtpSessionFsRtpSession — A RTP session in a FsRtpConference |
gint | no-rtcp-timeout | Read / Write |
FsRtpHeaderExtensionGList * | rtp-header-extension-preferences | Read / Write |
FsRtpHeaderExtensionGList * | rtp-header-extensions | Read |
guint | send-bitrate | Read / Write |
guint | ssrc | Read / Write |
GObject * | internal-session | Read |
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).
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.
To tell FsRtpSession to authenticate encrypt the media it is
sending using SRTP, one must set the parameters using a
GstStructure named "FarstreamSRTP" and passing it to
fs_session_set_encryption_parameters()
.
The cipher, auth, and key must be specified:
"rtp-cipher" and "rtcp-cipher" |
gchar * |
Encryption algorithm Possible values: "null", "aes-128-icm" or "aes-256-icm" |
"cipher" |
gchar * |
Default value for "rtp-cipher" and "rtcp-cipher" Possible values: "null", "aes-128-icm" or "aes-256-icm" |
"rtp-auth" and "rtcp-auth" |
gchar * |
Authentication algorithm, can never be null Possible values: "hmac-sha1-32" or "hmac-sha1-80" |
"auth" |
gchar * |
Default value for "rtp-auth" and "rtcp-auth" Possible values: "hmac-sha1-32" or "hmac-sha1-80" |
"key" |
GstBuffer | Size must be 30 if cipher is "aes-128-icm" and 46 if cipher is "aes-256-icm" |
“no-rtcp-timeout”
property“no-rtcp-timeout” gint
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.
Flags: Read / Write
Allowed values: >= G_MAXULONG
Default value: 7000
“rtp-header-extension-preferences”
property “rtp-header-extension-preferences” FsRtpHeaderExtensionGList *
GList of RTP Header extensions that are locally supported and desired by the application.
Flags: Read / Write
“rtp-header-extensions”
property “rtp-header-extensions” FsRtpHeaderExtensionGList *
GList of RTP Header extensions that have been negotiated and will be used when sending of receiving RTP packets.
Flags: Read
“send-bitrate”
property“send-bitrate” guint
The bitrate that the session will try to send at in bits/sec.
Flags: Read / Write
Default value: 0
“ssrc”
property“ssrc” guint
This is the current SSRC used to send data (defaults to a random value).
Flags: Read / Write
Default value: 0
“internal-session”
property“internal-session” GObject *
Internal RTPSession object from rtpbin.
Flags: Read