The maximum amount of Receiver report blocks in RR and SR messages.
The maximum text length for an SDES item.
The maximum amount of SDES items.
Mask for version, padding bit and packet type pair allowing reduced size packets, basically it accepts other types than RR and SR
Mask for version, padding bit and packet type pair
Valid value for the first two bytes of an RTCP packet after applying #GST_RTCP_VALID_MASK to them.
The supported RTCP version 2.
Constant string used in element classification to signal that this element is a RTP header extension.
The supported RTP version 2.
Attaches RTP source information to buffer
.
a #GstBuffer
pointer to the SSRC
pointer to the CSRCs
number of elements in csrc
Find the #GstRTPSourceMeta on buffer
.
Open buffer
for reading or writing, depending on flags
. The resulting RTCP
buffer state is stored in rtcp
.
a buffer with an RTCP packet
flags for the mapping
resulting #GstRTCPBuffer
Check if the data
and size
point to the data of a valid compound,
non-reduced size RTCP packet.
Use this function to validate a packet before using the other functions in
this module.
the data to validate
Check if the data
and size
point to the data of a valid RTCP packet.
Use this function to validate a packet before using the other functions in
this module.
This function is updated to support reduced size rtcp packets according to RFC 5506 and will validate full compound RTCP packets as well as reduced size RTCP packets.
the data to validate
Converts an NTP time to UNIX nanoseconds. ntptime
can typically be
the NTP time of an SR RTCP message and contains, in the upper 32 bits, the
number of seconds since 1900 and, in the lower 32 bits, the fractional
seconds. The resulting value will be the number of nanoseconds since 1970.
an NTP timestamp
Convert name
into a GstRTCPSDESType
. name
is typically a key in a
#GstStructure containing SDES items.
a SDES name
Converts type
to the string equivalent. The string is typically used as a
key in a #GstStructure containing SDES items.
a #GstRTCPSDESType
Converts a UNIX timestamp in nanoseconds to an NTP time. The caller should pass a value with nanoseconds since 1970. The NTP time will, in the upper 32 bits, contain the number of seconds since 1900 and, in the lower 32 bits, the fractional seconds. The resulting value can be used as an ntptime for constructing SR RTCP packets.
an UNIX timestamp in nanoseconds
Allocate enough data in buffer
to hold an RTP packet with csrc_count
CSRCs,
a payload length of payload_len
and padding of pad_len
.
buffer
must be writable and all previous memory in buffer
will be freed.
If pad_len
is >0, the padding bit will be set. All other RTP header fields
will be set to 0/FALSE.
a #GstBuffer
the length of the payload
the amount of padding
the number of CSRC entries
Calculate the header length of an RTP packet with csrc_count
CSRC entries.
An RTP packet can have at most 15 CSRC entries.
the number of CSRC entries
Calculate the total length of an RTP packet with a payload size of payload_len,
a padding of pad_len
and a csrc_count
CSRC entries.
the length of the payload
the amount of padding
the number of CSRC entries
Calculate the length of the payload of an RTP packet with size packet_len,
a padding of pad_len
and a csrc_count
CSRC entries.
the length of the total RTP packet
the amount of padding
the number of CSRC entries
Compare two sequence numbers, taking care of wraparounds. This function
returns the difference between seqnum1
and seqnum2
.
a sequence number
a sequence number
Get the default clock-rate for the static payload type payload_type
.
the static payload type
Update the exttimestamp
field with the extended timestamp of timestamp
For the first call of the method, exttimestamp
should point to a location
with a value of -1.
This function is able to handle both forward and backward timestamps taking into account:
a previous extended timestamp
a new timestamp
Similar to gst_rtp_buffer_get_extension_onebyte_header, but working on the #GBytes you get from gst_rtp_buffer_get_extension_bytes. Parses RFC 5285 style header extensions with a one byte header. It will return the nth extension with the requested id.
#GBytes
The bit-pattern. Anything but 0xBEDE is rejected.
The ID of the header extension to be read (between 1 and 14).
Read the nth extension packet with the requested ID
Allocate a new #GstBuffer with enough data to hold an RTP packet with
csrc_count
CSRCs, a payload length of payload_len
and padding of pad_len
.
All other RTP header fields will be set to 0/FALSE.
the length of the payload
the amount of padding
the number of CSRC entries
Create a new #GstBuffer that can hold an RTP packet that is exactly
packet_len
long. The length of the payload depends on pad_len
and
csrc_count
and can be calculated with gst_rtp_buffer_calc_payload_len().
All RTP header fields will be set to 0/FALSE.
the total length of the packet
the amount of padding
the number of CSRC entries
Retrieve all the factories of the currently registered RTP header extensions. Call gst_element_factory_create() with each factory to create the associated #GstRTPHeaderExtension.
Reads the NTP time from the size
NTP-56 extension bytes in data
and store the
result in ntptime
.
the data to read from
Reads the NTP time from the size
NTP-64 extension bytes in data
and store the
result in ntptime
.
the data to read from
Writes the NTP time in ntptime
to the format required for the NTP-56 header
extension. data
must hold at least #GST_RTP_HDREXT_NTP_56_SIZE bytes.
the data to write to
the size of data
the NTP time
Writes the NTP time in ntptime
to the format required for the NTP-64 header
extension. data
must hold at least #GST_RTP_HDREXT_NTP_64_SIZE bytes.
the data to write to
the size of data
the NTP time
Get the #GstRTPPayloadInfo for media
and encoding_name
. This function is
mostly used to get the default clock-rate and bandwidth for dynamic payload
types specified with media
and encoding
name.
The search for encoding_name
will be performed in a case insensitive way.
the media to find
the encoding name to find
Get the #GstRTPPayloadInfo for payload_type
. This function is
mostly used to get the default clock-rate and bandwidth for static payload
types specified with payload_type
.
the payload_type to find
The maximum amount of SSRCs in a BYE packet.