RTPSession

GObject
    ╰──RTPSession

The RTP session manager object


Signals

on-app-rtcp

on_app_rtcp_callback (GstElement * session,
                      guint subtype,
                      guint ssrc,
                      gchararray name,
                      GstBuffer * data,
                      gpointer udata)
def on_app_rtcp_callback (session, subtype, ssrc, name, data, udata):
    #python callback for the 'on-app-rtcp' signal
function on_app_rtcp_callback(session: GstElement * session, subtype: guint subtype, ssrc: guint ssrc, name: gchararray name, data: GstBuffer * data, udata: gpointer udata): {
    // javascript callback for the 'on-app-rtcp' signal
}

Notify that a RTCP APP packet has been received

Parameters:

session –

the object which received the signal

subtype –

The subtype of the packet

ssrc –

The SSRC/CSRC of the packet

name –

The name of the packet

data –

a GstBuffer with the application-dependant data or NULL if there was no data

udata –
No description available

Flags: Run Last


on-bye-ssrc

on_bye_ssrc_callback (GstElement * session,
                      RTPSource * src,
                      gpointer udata)
def on_bye_ssrc_callback (session, src, udata):
    #python callback for the 'on-bye-ssrc' signal
function on_bye_ssrc_callback(session: GstElement * session, src: RTPSource * src, udata: gpointer udata): {
    // javascript callback for the 'on-bye-ssrc' signal
}

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

Parameters:

session –

the object which received the signal

src –

the RTPSource that went away

udata –
No description available

Flags: Run Last


on-bye-timeout

on_bye_timeout_callback (GstElement * session,
                         RTPSource * src,
                         gpointer udata)
def on_bye_timeout_callback (session, src, udata):
    #python callback for the 'on-bye-timeout' signal
function on_bye_timeout_callback(session: GstElement * session, src: RTPSource * src, udata: gpointer udata): {
    // javascript callback for the 'on-bye-timeout' signal
}

Notify of an SSRC that has timed out because of BYE

Parameters:

session –

the object which received the signal

src –

the RTPSource that timed out

udata –
No description available

Flags: Run Last


on-feedback-rtcp

on_feedback_rtcp_callback (GstElement * session,
                           guint type,
                           guint fbtype,
                           guint sender_ssrc,
                           guint media_ssrc,
                           GstBuffer * fci,
                           gpointer udata)
def on_feedback_rtcp_callback (session, type, fbtype, sender_ssrc, media_ssrc, fci, udata):
    #python callback for the 'on-feedback-rtcp' signal
function on_feedback_rtcp_callback(session: GstElement * session, type: guint type, fbtype: guint fbtype, sender_ssrc: guint sender_ssrc, media_ssrc: guint media_ssrc, fci: GstBuffer * fci, udata: gpointer udata): {
    // javascript callback for the 'on-feedback-rtcp' signal
}

Notify that a RTCP feedback packet has been received

Parameters:

session –

the object which received the signal

type –

Type of RTCP packet, will be GST_RTCP_TYPE_RTPFB or GST_RTCP_TYPE_RTPFB

fbtype –

The type of RTCP FB packet, probably part of GstRTCPFBType

sender_ssrc –

The SSRC of the sender

media_ssrc –

The SSRC of the media this refers to

fci –

a GstBuffer with the FCI data from the FB packet or NULL if there was no FCI

udata –
No description available

Flags: Run Last


on-new-sender-ssrc

on_new_sender_ssrc_callback (GstElement * session,
                             RTPSource * src,
                             gpointer udata)
def on_new_sender_ssrc_callback (session, src, udata):
    #python callback for the 'on-new-sender-ssrc' signal
function on_new_sender_ssrc_callback(session: GstElement * session, src: RTPSource * src, udata: gpointer udata): {
    // javascript callback for the 'on-new-sender-ssrc' signal
}

Notify of a new sender SSRC that entered session.

Parameters:

session –

the object which received the signal

src –

the new sender RTPSource

udata –
No description available

Flags: Run Last

Since : 1.8


on-new-ssrc

on_new_ssrc_callback (GstElement * session,
                      RTPSource * src,
                      gpointer udata)
def on_new_ssrc_callback (session, src, udata):
    #python callback for the 'on-new-ssrc' signal
function on_new_ssrc_callback(session: GstElement * session, src: RTPSource * src, udata: gpointer udata): {
    // javascript callback for the 'on-new-ssrc' signal
}

Notify of a new SSRC that entered session.

Parameters:

session –

the object which received the signal

src –

the new RTPSource

udata –
No description available

Flags: Run Last


on-receiving-rtcp

on_receiving_rtcp_callback (GstElement * session,
                            GstBuffer * buffer,
                            gpointer udata)
def on_receiving_rtcp_callback (session, buffer, udata):
    #python callback for the 'on-receiving-rtcp' signal
function on_receiving_rtcp_callback(session: GstElement * session, buffer: GstBuffer * buffer, udata: gpointer udata): {
    // javascript callback for the 'on-receiving-rtcp' signal
}

This signal is emitted when receiving an RTCP packet before it is handled by the session. It can be used to extract custom information from RTCP packets.

Parameters:

session –

the object which received the signal

buffer –

the GstBuffer containing the RTCP packet that was received

udata –
No description available

Flags: Run Last

Since : 1.6


on-sender-ssrc-active

on_sender_ssrc_active_callback (GstElement * session,
                                RTPSource * src,
                                gpointer udata)
def on_sender_ssrc_active_callback (session, src, udata):
    #python callback for the 'on-sender-ssrc-active' signal
function on_sender_ssrc_active_callback(session: GstElement * session, src: RTPSource * src, udata: gpointer udata): {
    // javascript callback for the 'on-sender-ssrc-active' signal
}

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

Parameters:

session –

the object which received the signal

src –

the active sender RTPSource

udata –
No description available

Flags: Run Last

Since : 1.8


on-sender-timeout

on_sender_timeout_callback (GstElement * session,
                            RTPSource * src,
                            gpointer udata)
def on_sender_timeout_callback (session, src, udata):
    #python callback for the 'on-sender-timeout' signal
function on_sender_timeout_callback(session: GstElement * session, src: RTPSource * src, udata: gpointer udata): {
    // javascript callback for the 'on-sender-timeout' signal
}

Notify of an SSRC that was a sender but timed out and became a receiver.

Parameters:

session –

the object which received the signal

src –

the RTPSource that timed out

udata –
No description available

Flags: Run Last


on-sending-nacks

guint
on_sending_nacks_callback (GstElement * param_0,
                           guint arg0,
                           guint arg1,
                           GArray * arg2,
                           GstBuffer * arg3,
                           gpointer udata)
def on_sending_nacks_callback (param_0, arg0, arg1, arg2, arg3, udata):
    #python callback for the 'on-sending-nacks' signal
function on_sending_nacks_callback(param_0: GstElement * param_0, arg0: guint arg0, arg1: guint arg1, arg2: GArray * arg2, arg3: GstBuffer * arg3, udata: gpointer udata): {
    // javascript callback for the 'on-sending-nacks' signal
}

Parameters:

param_0 –
No description available
arg0 –
No description available
arg1 –
No description available
arg2 –
No description available
arg3 –
No description available
udata –
No description available
Returns (guint) –
No description available

Flags: Run Last


on-sending-rtcp

gboolean
on_sending_rtcp_callback (GstElement * session,
                          GstBuffer * buffer,
                          gboolean early,
                          gpointer udata)
def on_sending_rtcp_callback (session, buffer, early, udata):
    #python callback for the 'on-sending-rtcp' signal
function on_sending_rtcp_callback(session: GstElement * session, buffer: GstBuffer * buffer, early: gboolean early, udata: gpointer udata): {
    // javascript callback for the 'on-sending-rtcp' signal
}

This signal is emitted before sending an RTCP packet, it can be used to add extra RTCP Packets.

Parameters:

session –

the object which received the signal

buffer –

the GstBuffer containing the RTCP packet about to be sent

early –

TRUE if the packet is early, FALSE if it is regular

udata –
No description available
Returns (gboolean) –

TRUE if the RTCP buffer should NOT be suppressed, FALSE if suppressing it is acceptable

Flags: Run Last


on-ssrc-active

on_ssrc_active_callback (GstElement * session,
                         RTPSource * src,
                         gpointer udata)
def on_ssrc_active_callback (session, src, udata):
    #python callback for the 'on-ssrc-active' signal
function on_ssrc_active_callback(session: GstElement * session, src: RTPSource * src, udata: gpointer udata): {
    // javascript callback for the 'on-ssrc-active' signal
}

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

Parameters:

session –

the object which received the signal

src –

the active RTPSource

udata –
No description available

Flags: Run Last


on-ssrc-collision

on_ssrc_collision_callback (GstElement * session,
                            RTPSource * src,
                            gpointer udata)
def on_ssrc_collision_callback (session, src, udata):
    #python callback for the 'on-ssrc-collision' signal
function on_ssrc_collision_callback(session: GstElement * session, src: RTPSource * src, udata: gpointer udata): {
    // javascript callback for the 'on-ssrc-collision' signal
}

Notify when we have an SSRC collision

Parameters:

session –

the object which received the signal

src –

the RTPSource that caused a collision

udata –
No description available

Flags: Run Last


on-ssrc-sdes

on_ssrc_sdes_callback (GstElement * session,
                       RTPSource * src,
                       gpointer udata)
def on_ssrc_sdes_callback (session, src, udata):
    #python callback for the 'on-ssrc-sdes' signal
function on_ssrc_sdes_callback(session: GstElement * session, src: RTPSource * src, udata: gpointer udata): {
    // javascript callback for the 'on-ssrc-sdes' signal
}

Notify that a new SDES was received for SSRC.

Parameters:

session –

the object which received the signal

src –

the RTPSource

udata –
No description available

Flags: Run Last


on-ssrc-validated

on_ssrc_validated_callback (GstElement * session,
                            RTPSource * src,
                            gpointer udata)
def on_ssrc_validated_callback (session, src, udata):
    #python callback for the 'on-ssrc-validated' signal
function on_ssrc_validated_callback(session: GstElement * session, src: RTPSource * src, udata: gpointer udata): {
    // javascript callback for the 'on-ssrc-validated' signal
}

Notify of a new SSRC that became validated.

Parameters:

session –

the object which received the signal

src –

the new validated RTPSource

udata –
No description available

Flags: Run Last


on-timeout

on_timeout_callback (GstElement * session,
                     RTPSource * src,
                     gpointer udata)
def on_timeout_callback (session, src, udata):
    #python callback for the 'on-timeout' signal
function on_timeout_callback(session: GstElement * session, src: RTPSource * src, udata: gpointer udata): {
    // javascript callback for the 'on-timeout' signal
}

Notify of an SSRC that has timed out

Parameters:

session –

the object which received the signal

src –

the RTPSource that timed out

udata –
No description available

Flags: Run Last


Action Signals

get-source-by-ssrc

g_signal_emit_by_name (session, "get-source-by-ssrc", ssrc, &ret);
ret = session.emit ("get-source-by-ssrc", ssrc)
let ret = session.emit ("get-source-by-ssrc", ssrc);

Request the RTPSource object with SSRC ssrc in session.

Parameters:

session (GstElement *) –

the object which received the signal

ssrc (guint) –

the SSRC of the RTPSource

Returns (RTPSource *) –
No description available

Flags: Run Last / Action


send-rtcp

g_signal_emit_by_name (session, "send-rtcp", max_delay);
ret = session.emit ("send-rtcp", max_delay)
let ret = session.emit ("send-rtcp", max_delay);

Requests that the RTPSession initiate a new RTCP packet as soon as possible within the requested delay.

This sets feedback to TRUE if not already done before.

Parameters:

session (GstElement *) –

the object which received the signal

max_delay (guint64) –

The maximum delay after which the feedback will not be useful anymore

Flags: Run Last / Action


send-rtcp-full

g_signal_emit_by_name (session, "send-rtcp-full", max_delay, &ret);
ret = session.emit ("send-rtcp-full", max_delay)
let ret = session.emit ("send-rtcp-full", max_delay);

Requests that the RTPSession initiate a new RTCP packet as soon as possible within the requested delay.

This sets feedback to TRUE if not already done before.

Parameters:

session (GstElement *) –

the object which received the signal

max_delay (guint64) –

The maximum delay after which the feedback will not be useful anymore

Returns (gboolean) –

TRUE if the new RTCP packet could be scheduled within the requested delay, FALSE otherwise.

Flags: Run Last / Action

Since : 1.6


Properties

bandwidth

“bandwidth” gdouble

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

Flags : Read / Write

Default value : 0


disable-sr-timestamp

“disable-sr-timestamp” gboolean

Whether sender reports should be timestamped.

Flags : Read / Write

Default value : false

Since : 1.16


favor-new

“favor-new” gboolean

Resolve SSRC conflict in favor of new sources

Flags : Read / Write

Default value : false


internal-source

“internal-source” RTPSource *

The internal source element of the session (deprecated)

Flags : Read


internal-ssrc

“internal-ssrc” guint

The internal SSRC used for the session (deprecated)

Flags : Read / Write

Default value : 0


max-csrcs

“max-csrcs” guint

How many contributing sources to track per SSRC. After the limit is reached the oldest CSRC is timed out. Only applies to receiver sources.

Flags : Read / Write

Default value : 15

Since : 1.28.7


max-dropout-time

“max-dropout-time” guint

The maximum time (milliseconds) of missing packets tolerated.

Flags : Read / Write

Default value : 60000


max-misorder-time

“max-misorder-time” guint

The maximum time (milliseconds) of misordered packets tolerated.

Flags : Read / Write

Default value : 2000


max-sources

“max-sources” guint

How many sources to track. After the limit is reached the oldest CSRC / SSRC is timed out. Only applies to receiver sources.

Flags : Read / Write

Default value : 150

Since : 1.28.7


num-active-sources

“num-active-sources” guint

The number of active sources in the session

Flags : Read

Default value : 0


num-sources

“num-sources” guint

The number of sources in the session

Flags : Read

Default value : 0


probation

“probation” guint

Consecutive packet sequence numbers to accept the source

Flags : Read / Write

Default value : 2


rtcp-feedback-retention-window

“rtcp-feedback-retention-window” guint64

Duration during which RTCP Feedback packets are retained (in ns)

Flags : Read / Write

Default value : 2000000000


rtcp-fraction

“rtcp-fraction” gdouble

The fraction of the bandwidth used for RTCP in bits per second (or as a real fraction of the RTP bandwidth if < 1)

Flags : Read / Write

Default value : 0.05


rtcp-immediate-feedback-threshold

“rtcp-immediate-feedback-threshold” guint

The maximum number of members of a RTP session for which immediate feedback is used (DEPRECATED: has no effect and is not needed)

Flags : Read / Write

Default value : 3


rtcp-min-interval

“rtcp-min-interval” guint64

Minimum interval between Regular RTCP packet (in ns)

Flags : Read / Write

Default value : 5000000000


rtcp-mtu

“rtcp-mtu” guint

The maximum size of the RTCP packets

Flags : Read / Write

Default value : 1400


rtcp-reduced-size

“rtcp-reduced-size” gboolean

Use Reduced Size RTCP for feedback packets

Flags : Read / Write

Default value : false


rtcp-rr-bandwidth

“rtcp-rr-bandwidth” gint

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

Flags : Read / Write

Default value : -1


rtcp-rs-bandwidth

“rtcp-rs-bandwidth” gint

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

Flags : Read / Write

Default value : -1


rtp-profile

“rtp-profile” GstRTPProfile *

RTP profile to use for this session

Flags : Read / Write

Default value : avp (1)


sdes

“sdes” GstStructure *

The SDES items of this session

Flags : Read / Write


sources

“sources” GValueArray *

An array of all known sources in the session

Flags : Read


stats

“stats” GstStructure *

Various session statistics. This property returns a GstStructure with name application/x-rtp-session-stats with the following fields:

  • "rtx-drop-count" G_TYPE_UINT The number of retransmission events dropped (due to bandwidth constraints)
  • "sent-nack-count" G_TYPE_UINT Number of NACKs sent
  • "recv-nack-count" G_TYPE_UINT Number of NACKs received
  • "source-stats" G_TYPE_BOXED GValueArray of stats for all RTP sources (Since 1.8)

Flags : Read

Default value :

application/x-rtp-session-stats, rtx-drop-count=(uint)0, sent-nack-count=(uint)0, recv-nack-count=(uint)0, source-stats=(GValueArray)<  >;

Since : 1.4


timeout-inactive-sources

“timeout-inactive-sources” gboolean

Whether inactive sources should be timed out

Flags : Read / Write

Default value : true

Since : 1.24


twcc-feedback-interval

“twcc-feedback-interval” guint64

The interval to send TWCC reports on. This overrides the default behavior of sending reports based on marker-bits.

Flags : Read / Write

Default value : 18446744073709551615

Since : 1.20


update-ntp64-header-ext

“update-ntp64-header-ext” gboolean

Whether RTP NTP header extension should be updated with actual NTP time. If not, use the NTP time from buffer timestamp metadata

Flags : Read / Write

Default value : true

Since : 1.22


The results of the search are