RTPSource

GObject
    ╰──RTPSource

A source in the RTPSession

conflicting_addresses: GList of conflicting addresses


Properties

disable-rtcp

“disable-rtcp” gboolean

Allow disabling the sending of RTCP packets for this source.

Flags : Read / Write

Default value : false


is-csrc

“is-csrc” gboolean

If this SSRC is acting as a contributing source

Flags : Read

Default value : false


is-sender

“is-sender” gboolean

If this SSRC is a sender

Flags : Read

Default value : false


is-validated

“is-validated” gboolean

If this SSRC is validated

Flags : Read

Default value : false


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


probation

“probation” guint

Consecutive packet sequence numbers to accept the source

Flags : Read / Write

Default value : 2


sdes

“sdes” GstStructure *

The current SDES items of the source. Returns a structure with name application/x-rtp-source-sdes and may contain the following fields:

'cname' G_TYPE_STRING : The canonical name in the form user@host 'name' G_TYPE_STRING : The user name 'email' G_TYPE_STRING : The user's electronic mail address 'phone' G_TYPE_STRING : The user's phone number 'location' G_TYPE_STRING : The geographic user location 'tool' G_TYPE_STRING : The name of application or tool 'note' G_TYPE_STRING : A notice about the source

Other fields may be present and these represent private items in the SDES where the field name is the prefix.

Flags : Read

Default value :

application/x-rtp-source-sdes;

ssrc

“ssrc” guint

The SSRC of this source

Flags : Read / Write / Construct Only

Default value : 0


stats

“stats” GstStructure *

This property returns a GstStructure named application/x-rtp-source-stats with fields useful for statistics and diagnostics.

Take note of each respective field's units:

  • NTP times are in the appropriate 32-bit or 64-bit fixed-point format starting from January 1, 1970 (except for timespans).
  • RTP times are in clock rate units (i.e. clock rate = 1 second) starting at a random offset.
  • For fields indicating packet loss, note that late packets are not considered lost, and duplicates are not taken into account. Hence, the loss may be negative if there are duplicates.

The following fields are always present.

  • "ssrc" G_TYPE_UINT the SSRC of this source
  • "internal" G_TYPE_BOOLEAN this source is a source of the session
  • "validated" G_TYPE_BOOLEAN the source is validated
  • "received-bye" G_TYPE_BOOLEAN we received a BYE from this source
  • "is-csrc" G_TYPE_BOOLEAN this source was found as CSRC
  • "is-sender" G_TYPE_BOOLEAN this source is a sender
  • "seqnum-base" G_TYPE_INT first seqnum if known
  • "clock-rate" G_TYPE_INT the clock rate of the media

The following fields are only present when known.

  • "rtp-from" G_TYPE_STRING where we received the last RTP packet from
  • "rtcp-from" G_TYPE_STRING where we received the last RTCP packet from

The following fields make sense for internal sources and will only increase when "is-sender" is TRUE.

  • "octets-sent" G_TYPE_UINT64 number of payload bytes we sent
  • "packets-sent" G_TYPE_UINT64 number of packets we sent

The following fields make sense for non-internal sources and will only increase when "is-sender" is TRUE.

  • "octets-received" G_TYPE_UINT64 total number of payload bytes received
  • "packets-received" G_TYPE_UINT64 total number of packets received
  • "bytes-received" G_TYPE_UINT64 total number of bytes received including lower level headers overhead

Following fields are updated when "is-sender" is TRUE.

  • "bitrate" G_TYPE_UINT64 bitrate in bits per second
  • "jitter" G_TYPE_UINT estimated jitter (in clock rate units)
  • "packets-lost" G_TYPE_INT estimated amount of packets lost

The last SR report this source sent. This only updates when "is-sender" is TRUE.

  • "have-sr" G_TYPE_BOOLEAN the source has sent SR
  • "sr-ntptime" G_TYPE_UINT64 NTP time of SR (in NTP Timestamp Format, 32.32 fixed point)
  • "sr-rtptime" G_TYPE_UINT RTP time of SR (in clock rate units)
  • "sr-octet-count" G_TYPE_UINT the number of bytes in the SR
  • "sr-packet-count" G_TYPE_UINT the number of packets in the SR

The following fields are only present for non-internal sources and represent the content of the last RB packet that was sent to this source. These values are only updated when the source is sending.

  • "sent-rb" G_TYPE_BOOLEAN we have sent an RB
  • "sent-rb-fractionlost" G_TYPE_UINT calculated lost 8-bit fraction
  • "sent-rb-packetslost" G_TYPE_INT lost packets
  • "sent-rb-exthighestseq" G_TYPE_UINT last seen seqnum
  • "sent-rb-jitter" G_TYPE_UINT jitter (in clock rate units)
  • "sent-rb-lsr" G_TYPE_UINT last SR time (seconds in NTP Short Format, 16.16 fixed point)
  • "sent-rb-dlsr" G_TYPE_UINT delay since last SR (seconds in NTP Short Format, 16.16 fixed point)

The following fields are present for non-internal and internal sources, but the meaning is different. non-internal: it represents the last RB (RR in this case) that this source sent. This is only updated when the source is receiving data and sending RB blocks. It is deprecated and is present for backwards compatibility. Statistics about internal local sources should be retrieved from the source. internal: it represents the last RB (RR in this case) received with remote statistics about this source.

  • "have-rb" G_TYPE_BOOLEAN the source has sent RB
  • "rb-ssrc" G_TYPE_UINT The SSRC of the source the RB is about
  • "rb-fractionlost" G_TYPE_UINT lost 8-bit fraction
  • "rb-packetslost" G_TYPE_INT lost packets
  • "rb-exthighestseq" G_TYPE_UINT highest received seqnum
  • "rb-jitter" G_TYPE_UINT reception jitter (in clock rate units)
  • "rb-lsr" G_TYPE_UINT last SR time (seconds in NTP Short Format, 16.16 fixed point)
  • "rb-dlsr" G_TYPE_UINT delay since last SR (seconds in NTP Short Format, 16.16 fixed point)
  • "rb-round-trip" G_TYPE_UINT the round-trip time (seconds in NTP Short Format, 16.16 fixed point)

The round trip of this source is calculated from the last RB values and the reception time of the last RB packet.

The following field is present only for internal sources and contains an array of the the most recent receiver reports from each peer. In unicast scenarios this will be a single entry that is identical to the data provided by the have-rb and rb-* fields, but in multicast there will be one entry in the array for each peer that is sending receiver reports.

  • "received-rr" GST_TYPE_LIST Array of GstStructure entries, one for each peer that sent an RR.

Each entry in the array contains the following fields:

  • "rb-ssrc" G_TYPE_UINT The SSRC of this source
  • "rb-sender-ssrc" G_TYPE_UINT The SSRC of the sender of this RR
  • "rb-fractionlost" G_TYPE_UINT lost 8-bit fraction
  • "rb-packetslost" G_TYPE_INT lost packets
  • "rb-exthighestseq" G_TYPE_UINT highest received seqnum
  • "rb-jitter" G_TYPE_UINT reception jitter (in clock rate units)
  • "rb-lsr" G_TYPE_UINT last SR time (seconds in NTP Short Format, 16.16 fixed point)
  • "rb-dlsr" G_TYPE_UINT delay since last SR (seconds in NTP Short Format, 16.16 fixed point)
  • "rb-round-trip" G_TYPE_UINT the round-trip time (seconds in NTP Short Format, 16.16 fixed point)

Flags : Read

Default value :

application/x-rtp-source-stats, ssrc=(uint)0, internal=(boolean)false, validated=(boolean)false, received-bye=(boolean)false, is-csrc=(boolean)false, is-sender=(boolean)false, seqnum-base=(int)-1, clock-rate=(int)-1, octets-sent=(guint64)0, packets-sent=(guint64)0, octets-received=(guint64)0, packets-received=(guint64)0, bytes-received=(guint64)0, bitrate=(guint64)0, packets-lost=(int)0, jitter=(uint)0, sent-pli-count=(uint)0, recv-pli-count=(uint)0, sent-fir-count=(uint)0, recv-fir-count=(uint)0, sent-nack-count=(uint)0, recv-nack-count=(uint)0, recv-packet-rate=(uint)0, have-sr=(boolean)false, sr-ntptime=(guint64)0, sr-rtptime=(uint)0, sr-octet-count=(uint)0, sr-packet-count=(uint)0, sent-rb=(boolean)false, sent-rb-fractionlost=(uint)0, sent-rb-packetslost=(int)0, sent-rb-exthighestseq=(uint)0, sent-rb-jitter=(uint)0, sent-rb-lsr=(uint)0, sent-rb-dlsr=(uint)0, have-rb=(boolean)false, rb-ssrc=(uint)0, rb-fractionlost=(uint)0, rb-packetslost=(int)0, rb-exthighestseq=(uint)0, rb-jitter=(uint)0, rb-lsr=(uint)0, rb-dlsr=(uint)0, rb-round-trip=(uint)0;

The results of the search are