gstreamer/girs/GstRtp-1.0.gir

6746 lines
443 KiB
Plaintext

<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations. -->
<repository xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0" version="1.2">
<include name="Gst" version="1.0"/>
<include name="GstBase" version="1.0"/>
<package name="gstreamer-rtp-1.0"/>
<c:include name="gst/rtp/rtp.h"/>
<namespace name="GstRtp" version="1.0" shared-library="libgstrtp-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst">
<function-macro name="IS_RTP_BASE_AUDIO_PAYLOAD" c:identifier="GST_IS_RTP_BASE_AUDIO_PAYLOAD" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_RTP_BASE_AUDIO_PAYLOAD_CLASS" c:identifier="GST_IS_RTP_BASE_AUDIO_PAYLOAD_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_RTP_BASE_DEPAYLOAD" c:identifier="GST_IS_RTP_BASE_DEPAYLOAD" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_RTP_BASE_DEPAYLOAD_CLASS" c:identifier="GST_IS_RTP_BASE_DEPAYLOAD_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_RTP_BASE_PAYLOAD" c:identifier="GST_IS_RTP_BASE_PAYLOAD" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_RTP_BASE_PAYLOAD_CLASS" c:identifier="GST_IS_RTP_BASE_PAYLOAD_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_RTP_HEADER_EXTENSION" c:identifier="GST_IS_RTP_HEADER_EXTENSION" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_RTP_HEADER_EXTENSION_CLASS" c:identifier="GST_IS_RTP_HEADER_EXTENSION_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<record name="RTCPBuffer" c:type="GstRTCPBuffer">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Note: The API in this module is not yet declared stable.
The GstRTPCBuffer helper functions makes it easy to parse and create regular
#GstBuffer objects that contain compound RTCP packets. These buffers are typically
of 'application/x-rtcp' #GstCaps.
An RTCP buffer consists of 1 or more #GstRTCPPacket structures that you can
retrieve with gst_rtcp_buffer_get_first_packet(). #GstRTCPPacket acts as a pointer
into the RTCP buffer; you can move to the next packet with
gst_rtcp_packet_move_to_next().</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<field name="buffer" writable="1">
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</field>
<field name="map" writable="1">
<type name="Gst.MapInfo" c:type="GstMapInfo"/>
</field>
<method name="add_packet" c:identifier="gst_rtcp_buffer_add_packet">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Add a new packet of @type to @rtcp. @packet will point to the newly created
packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the packet could be created. This function returns %FALSE
if the max mtu is exceeded for the buffer.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="rtcp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid RTCP buffer</doc>
<type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
</instance-parameter>
<parameter name="type" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the #GstRTCPType of the new packet</doc>
<type name="RTCPType" c:type="GstRTCPType"/>
</parameter>
<parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">pointer to new packet</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</parameter>
</parameters>
</method>
<method name="get_first_packet" c:identifier="gst_rtcp_buffer_get_first_packet">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Initialize a new #GstRTCPPacket pointer that points to the first packet in
@rtcp.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">TRUE if the packet existed in @rtcp.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="rtcp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid RTCP buffer</doc>
<type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
</instance-parameter>
<parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</parameter>
</parameters>
</method>
<method name="get_packet_count" c:identifier="gst_rtcp_buffer_get_packet_count">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the number of RTCP packets in @rtcp.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the number of RTCP packets in @rtcp.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="rtcp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid RTCP buffer</doc>
<type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
</instance-parameter>
</parameters>
</method>
<method name="unmap" c:identifier="gst_rtcp_buffer_unmap">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Finish @rtcp after being constructed. This function is usually called
after gst_rtcp_buffer_map() and after adding the RTCP items to the new buffer.
The function adjusts the size of @rtcp with the total length of all the
added packets.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="rtcp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a buffer with an RTCP packet</doc>
<type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
</instance-parameter>
</parameters>
</method>
<function name="map" c:identifier="gst_rtcp_buffer_map">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Open @buffer for reading or writing, depending on @flags. The resulting RTCP
buffer state is stored in @rtcp.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a buffer with an RTCP packet</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">flags for the mapping</doc>
<type name="Gst.MapFlags" c:type="GstMapFlags"/>
</parameter>
<parameter name="rtcp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">resulting #GstRTCPBuffer</doc>
<type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
</parameter>
</parameters>
</function>
<function name="new" c:identifier="gst_rtcp_buffer_new">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Create a new buffer for constructing RTCP packets. The packet will have a
maximum size of @mtu.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">A newly allocated buffer.</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<parameter name="mtu" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the maximum mtu size.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="new_copy_data" c:identifier="gst_rtcp_buffer_new_copy_data">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Create a new buffer and set the data to a copy of @len
bytes of @data and the size to @len. The data will be freed when the buffer
is freed.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">A newly allocated buffer with a copy of @data and of size @len.</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">data for the new buffer</doc>
<array length="1" zero-terminated="0" c:type="gconstpointer">
<type name="guint8"/>
</array>
</parameter>
<parameter name="len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the length of data</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="new_take_data" c:identifier="gst_rtcp_buffer_new_take_data">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Create a new buffer and set the data and size of the buffer to @data and @len
respectively. @data will be freed when the buffer is unreffed, so this
function transfers ownership of @data to the new buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">A newly allocated buffer with @data and of size @len.</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">data for the new buffer</doc>
<array length="1" zero-terminated="0" c:type="gpointer">
<type name="guint8"/>
</array>
</parameter>
<parameter name="len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the length of data</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="validate" c:identifier="gst_rtcp_buffer_validate">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Check if the data pointed to by @buffer is a valid RTCP packet using
gst_rtcp_buffer_validate_data().</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">TRUE if @buffer is a valid RTCP packet.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the buffer to validate</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
</parameters>
</function>
<function name="validate_data" c:identifier="gst_rtcp_buffer_validate_data">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">TRUE if the data points to a valid RTCP packet.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the data to validate</doc>
<array length="1" zero-terminated="0" c:type="guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the length of @data to validate</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="validate_data_reduced" c:identifier="gst_rtcp_buffer_validate_data_reduced" version="1.6">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">TRUE if the data points to a valid RTCP packet.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the data to validate</doc>
<array length="1" zero-terminated="0" c:type="guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the length of @data to validate</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="validate_reduced" c:identifier="gst_rtcp_buffer_validate_reduced" version="1.6">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Check if the data pointed to by @buffer is a valid RTCP packet using
gst_rtcp_buffer_validate_reduced().</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">TRUE if @buffer is a valid RTCP packet.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the buffer to validate</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
</parameters>
</function>
</record>
<enumeration name="RTCPFBType" glib:type-name="GstRTCPFBType" glib:get-type="gst_rtcpfb_type_get_type" c:type="GstRTCPFBType">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Different types of feedback messages.</doc>
<member name="fb_type_invalid" value="0" c:identifier="GST_RTCP_FB_TYPE_INVALID" glib:nick="fb-type-invalid">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Invalid type</doc>
</member>
<member name="rtpfb_type_nack" value="1" c:identifier="GST_RTCP_RTPFB_TYPE_NACK" glib:nick="rtpfb-type-nack">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Generic NACK</doc>
</member>
<member name="rtpfb_type_tmmbr" value="3" c:identifier="GST_RTCP_RTPFB_TYPE_TMMBR" glib:nick="rtpfb-type-tmmbr">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Temporary Maximum Media Stream Bit Rate Request</doc>
</member>
<member name="rtpfb_type_tmmbn" value="4" c:identifier="GST_RTCP_RTPFB_TYPE_TMMBN" glib:nick="rtpfb-type-tmmbn">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Temporary Maximum Media Stream Bit Rate
Notification</doc>
</member>
<member name="rtpfb_type_rtcp_sr_req" value="5" c:identifier="GST_RTCP_RTPFB_TYPE_RTCP_SR_REQ" glib:nick="rtpfb-type-rtcp-sr-req">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Request an SR packet for early
synchronization</doc>
</member>
<member name="rtpfb_type_twcc" value="15" c:identifier="GST_RTCP_RTPFB_TYPE_TWCC" glib:nick="rtpfb-type-twcc">
</member>
<member name="psfb_type_pli" value="1" c:identifier="GST_RTCP_PSFB_TYPE_PLI" glib:nick="psfb-type-pli">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Picture Loss Indication</doc>
</member>
<member name="psfb_type_sli" value="2" c:identifier="GST_RTCP_PSFB_TYPE_SLI" glib:nick="psfb-type-sli">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Slice Loss Indication</doc>
</member>
<member name="psfb_type_rpsi" value="3" c:identifier="GST_RTCP_PSFB_TYPE_RPSI" glib:nick="psfb-type-rpsi">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Reference Picture Selection Indication</doc>
</member>
<member name="psfb_type_afb" value="15" c:identifier="GST_RTCP_PSFB_TYPE_AFB" glib:nick="psfb-type-afb">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Application layer Feedback</doc>
</member>
<member name="psfb_type_fir" value="4" c:identifier="GST_RTCP_PSFB_TYPE_FIR" glib:nick="psfb-type-fir">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Full Intra Request Command</doc>
</member>
<member name="psfb_type_tstr" value="5" c:identifier="GST_RTCP_PSFB_TYPE_TSTR" glib:nick="psfb-type-tstr">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Temporal-Spatial Trade-off Request</doc>
</member>
<member name="psfb_type_tstn" value="6" c:identifier="GST_RTCP_PSFB_TYPE_TSTN" glib:nick="psfb-type-tstn">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Temporal-Spatial Trade-off Notification</doc>
</member>
<member name="psfb_type_vbcn" value="7" c:identifier="GST_RTCP_PSFB_TYPE_VBCN" glib:nick="psfb-type-vbcn">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Video Back Channel Message</doc>
</member>
</enumeration>
<record name="RTCPPacket" c:type="GstRTCPPacket">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Data structure that points to a packet at @offset in @buffer.
The size of the structure is made public to allow stack allocations.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<field name="rtcp" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">pointer to RTCP buffer</doc>
<type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
</field>
<field name="offset" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">offset of packet in buffer data</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="padding" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="count" readable="0" private="1">
<type name="guint8" c:type="guint8"/>
</field>
<field name="type" readable="0" private="1">
<type name="RTCPType" c:type="GstRTCPType"/>
</field>
<field name="length" readable="0" private="1">
<type name="guint16" c:type="guint16"/>
</field>
<field name="item_offset" readable="0" private="1">
<type name="guint" c:type="guint"/>
</field>
<field name="item_count" readable="0" private="1">
<type name="guint" c:type="guint"/>
</field>
<field name="entry_offset" readable="0" private="1">
<type name="guint" c:type="guint"/>
</field>
<method name="add_profile_specific_ext" c:identifier="gst_rtcp_packet_add_profile_specific_ext" version="1.10">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Add profile-specific extension @data to @packet. If @packet already
contains profile-specific extension @data will be appended to the existing
extension.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the profile specific extension data was added.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid SR or RR #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">profile-specific data</doc>
<array length="1" zero-terminated="0" c:type="const guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">length of the profile-specific data in bytes</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="add_rb" c:identifier="gst_rtcp_packet_add_rb">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Add a new report block to @packet with the given values.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the packet was created. This function can return %FALSE if
the max MTU is exceeded or the number of report blocks is greater than
#GST_RTCP_MAX_RB_COUNT.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid SR or RR #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="ssrc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">data source being reported</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
<parameter name="fractionlost" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">fraction lost since last SR/RR</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="packetslost" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the cumululative number of packets lost</doc>
<type name="gint32" c:type="gint32"/>
</parameter>
<parameter name="exthighestseq" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the extended last sequence number received</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
<parameter name="jitter" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the interarrival jitter</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
<parameter name="lsr" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the last SR packet from this source</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
<parameter name="dlsr" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the delay since last SR packet</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="app_get_data" c:identifier="gst_rtcp_packet_app_get_data" version="1.10">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the application-dependent data attached to a RTPFB or PSFB @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">A pointer to the data</doc>
<type name="guint8" c:type="guint8*"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid APP #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="app_get_data_length" c:identifier="gst_rtcp_packet_app_get_data_length" version="1.10">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the length of the application-dependent data attached to an APP
@packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">The length of data in 32-bit words.</doc>
<type name="guint16" c:type="guint16"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid APP #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="app_get_name" c:identifier="gst_rtcp_packet_app_get_name" version="1.10">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the name field of the APP @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">The 4-byte name field, not zero-terminated.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid APP #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="app_get_ssrc" c:identifier="gst_rtcp_packet_app_get_ssrc" version="1.10">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the SSRC/CSRC field of the APP @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">The SSRC/CSRC.</doc>
<type name="guint32" c:type="guint32"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid APP #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="app_get_subtype" c:identifier="gst_rtcp_packet_app_get_subtype" version="1.10">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the subtype field of the APP @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">The subtype.</doc>
<type name="guint8" c:type="guint8"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid APP #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="app_set_data_length" c:identifier="gst_rtcp_packet_app_set_data_length" version="1.10">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Set the length of the application-dependent data attached to an APP
@packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if there was enough space in the packet to add this much
data.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid APP #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="wordlen" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Length of the data in 32-bit words</doc>
<type name="guint16" c:type="guint16"/>
</parameter>
</parameters>
</method>
<method name="app_set_name" c:identifier="gst_rtcp_packet_app_set_name" version="1.10">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Set the name field of the APP @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid APP #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">4-byte ASCII name</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="app_set_ssrc" c:identifier="gst_rtcp_packet_app_set_ssrc" version="1.10">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Set the SSRC/CSRC field of the APP @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid APP #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="ssrc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">SSRC/CSRC of the packet</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="app_set_subtype" c:identifier="gst_rtcp_packet_app_set_subtype" version="1.10">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Set the subtype field of the APP @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid APP #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="subtype" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">subtype of the packet</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</method>
<method name="bye_add_ssrc" c:identifier="gst_rtcp_packet_bye_add_ssrc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Add @ssrc to the BYE @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the ssrc was added. This function can return %FALSE if
the max MTU is exceeded or the number of sources blocks is greater than
#GST_RTCP_MAX_BYE_SSRC_COUNT.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid BYE #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="ssrc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">an SSRC to add</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="bye_add_ssrcs" c:identifier="gst_rtcp_packet_bye_add_ssrcs">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Adds @len SSRCs in @ssrc to BYE @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the all the SSRCs were added. This function can return %FALSE if
the max MTU is exceeded or the number of sources blocks is greater than
#GST_RTCP_MAX_BYE_SSRC_COUNT.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid BYE #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="ssrc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">an array of SSRCs to add</doc>
<array length="1" zero-terminated="0" c:type="guint32*">
<type name="guint32" c:type="guint32"/>
</array>
</parameter>
<parameter name="len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">number of elements in @ssrc</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="bye_get_nth_ssrc" c:identifier="gst_rtcp_packet_bye_get_nth_ssrc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the @nth SSRC of the BYE @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">The @nth SSRC of @packet.</doc>
<type name="guint32" c:type="guint32"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid BYE #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="nth" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the nth SSRC to get</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="bye_get_reason" c:identifier="gst_rtcp_packet_bye_get_reason">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the reason in @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">The reason for the BYE @packet or NULL if the packet did not contain
a reason string. The string must be freed with g_free() after usage.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid BYE #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="bye_get_reason_len" c:identifier="gst_rtcp_packet_bye_get_reason_len">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the length of the reason string.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">The length of the reason string or 0 when there is no reason string
present.</doc>
<type name="guint8" c:type="guint8"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid BYE #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="bye_get_ssrc_count" c:identifier="gst_rtcp_packet_bye_get_ssrc_count">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the number of SSRC fields in @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">The number of SSRC fields in @packet.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid BYE #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="bye_set_reason" c:identifier="gst_rtcp_packet_bye_set_reason">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Set the reason string to @reason in @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">TRUE if the string could be set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid BYE #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="reason" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a reason string</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="copy_profile_specific_ext" c:identifier="gst_rtcp_packet_copy_profile_specific_ext" version="1.10">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">The profile-specific extension data is copied into a new allocated
memory area @data. This must be freed with g_free() after usage.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if there was valid data.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid SR or RR #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="data" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">result profile-specific data</doc>
<array length="1" zero-terminated="0" c:type="guint8**">
<type name="guint8" c:type="guint8*"/>
</array>
</parameter>
<parameter name="len" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">length of the profile-specific extension data</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<method name="fb_get_fci" c:identifier="gst_rtcp_packet_fb_get_fci">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the Feedback Control Information attached to a RTPFB or PSFB @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a pointer to the FCI</doc>
<type name="guint8" c:type="guint8*"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid RTPFB or PSFB #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="fb_get_fci_length" c:identifier="gst_rtcp_packet_fb_get_fci_length">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the length of the Feedback Control Information attached to a
RTPFB or PSFB @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">The length of the FCI in 32-bit words.</doc>
<type name="guint16" c:type="guint16"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid RTPFB or PSFB #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="fb_get_media_ssrc" c:identifier="gst_rtcp_packet_fb_get_media_ssrc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the media SSRC field of the RTPFB or PSFB @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the media SSRC.</doc>
<type name="guint32" c:type="guint32"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid RTPFB or PSFB #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="fb_get_sender_ssrc" c:identifier="gst_rtcp_packet_fb_get_sender_ssrc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the sender SSRC field of the RTPFB or PSFB @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the sender SSRC.</doc>
<type name="guint32" c:type="guint32"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid RTPFB or PSFB #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="fb_get_type" c:identifier="gst_rtcp_packet_fb_get_type">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the feedback message type of the FB @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">The feedback message type.</doc>
<type name="RTCPFBType" c:type="GstRTCPFBType"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid RTPFB or PSFB #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="fb_set_fci_length" c:identifier="gst_rtcp_packet_fb_set_fci_length">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Set the length of the Feedback Control Information attached to a
RTPFB or PSFB @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if there was enough space in the packet to add this much FCI</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid RTPFB or PSFB #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="wordlen" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Length of the FCI in 32-bit words</doc>
<type name="guint16" c:type="guint16"/>
</parameter>
</parameters>
</method>
<method name="fb_set_media_ssrc" c:identifier="gst_rtcp_packet_fb_set_media_ssrc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Set the media SSRC field of the RTPFB or PSFB @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid RTPFB or PSFB #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="ssrc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a media SSRC</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="fb_set_sender_ssrc" c:identifier="gst_rtcp_packet_fb_set_sender_ssrc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Set the sender SSRC field of the RTPFB or PSFB @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid RTPFB or PSFB #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="ssrc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a sender SSRC</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="fb_set_type" c:identifier="gst_rtcp_packet_fb_set_type">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Set the feedback message type of the FB @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid RTPFB or PSFB #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="type" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the #GstRTCPFBType to set</doc>
<type name="RTCPFBType" c:type="GstRTCPFBType"/>
</parameter>
</parameters>
</method>
<method name="get_count" c:identifier="gst_rtcp_packet_get_count">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the count field in @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">The count field in @packet or -1 if @packet does not point to a
valid packet.</doc>
<type name="guint8" c:type="guint8"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_length" c:identifier="gst_rtcp_packet_get_length">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the length field of @packet. This is the length of the packet in
32-bit words minus one.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">The length field of @packet.</doc>
<type name="guint16" c:type="guint16"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_padding" c:identifier="gst_rtcp_packet_get_padding">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the packet padding of the packet pointed to by @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">If the packet has the padding bit set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_profile_specific_ext" c:identifier="gst_rtcp_packet_get_profile_specific_ext" version="1.10">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if there was valid data.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid SR or RR #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="data" direction="out" caller-allocates="0" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">result profile-specific data</doc>
<array length="1" zero-terminated="0" c:type="guint8**">
<type name="guint8" c:type="guint8*"/>
</array>
</parameter>
<parameter name="len" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">result length of the profile-specific data</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<method name="get_profile_specific_ext_length" c:identifier="gst_rtcp_packet_get_profile_specific_ext_length" version="1.10">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">The number of 32-bit words containing profile-specific extension
data from @packet.</doc>
<type name="guint16" c:type="guint16"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid SR or RR #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_rb" c:identifier="gst_rtcp_packet_get_rb">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Parse the values of the @nth report block in @packet and store the result in
the values.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid SR or RR #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="nth" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the nth report block in @packet</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="ssrc" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">result for data source being reported</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
<parameter name="fractionlost" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">result for fraction lost since last SR/RR</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
<parameter name="packetslost" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">result for the cumululative number of packets lost</doc>
<type name="gint32" c:type="gint32*"/>
</parameter>
<parameter name="exthighestseq" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">result for the extended last sequence number received</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
<parameter name="jitter" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">result for the interarrival jitter</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
<parameter name="lsr" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">result for the last SR packet from this source</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
<parameter name="dlsr" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">result for the delay since last SR packet</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
</parameters>
</method>
<method name="get_rb_count" c:identifier="gst_rtcp_packet_get_rb_count">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the number of report blocks in @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">The number of report blocks in @packet.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid SR or RR #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_type" c:identifier="gst_rtcp_packet_get_type">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the packet type of the packet pointed to by @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">The packet type or GST_RTCP_TYPE_INVALID when @packet is not
pointing to a valid packet.</doc>
<type name="RTCPType" c:type="GstRTCPType"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="move_to_next" c:identifier="gst_rtcp_packet_move_to_next">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Move the packet pointer @packet to the next packet in the payload.
Use gst_rtcp_buffer_get_first_packet() to initialize @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">TRUE if @packet is pointing to a valid packet after calling this
function.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="remove" c:identifier="gst_rtcp_packet_remove">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Removes the packet pointed to by @packet and moves pointer to the next one</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">TRUE if @packet is pointing to a valid packet after calling this
function.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="rr_get_ssrc" c:identifier="gst_rtcp_packet_rr_get_ssrc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the ssrc field of the RR @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the ssrc.</doc>
<type name="guint32" c:type="guint32"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid RR #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="rr_set_ssrc" c:identifier="gst_rtcp_packet_rr_set_ssrc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Set the ssrc field of the RR @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid RR #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="ssrc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the SSRC to set</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="sdes_add_entry" c:identifier="gst_rtcp_packet_sdes_add_entry">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Add a new SDES entry to the current item in @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the item could be added, %FALSE if the MTU has been
reached.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid SDES #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="type" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the #GstRTCPSDESType of the SDES entry</doc>
<type name="RTCPSDESType" c:type="GstRTCPSDESType"/>
</parameter>
<parameter name="len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the data length</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the data</doc>
<array length="1" zero-terminated="0" c:type="const guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
</parameters>
</method>
<method name="sdes_add_item" c:identifier="gst_rtcp_packet_sdes_add_item">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Add a new SDES item for @ssrc to @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the item could be added, %FALSE if the maximum amount of
items has been exceeded for the SDES packet or the MTU has been reached.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid SDES #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="ssrc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the SSRC of the new item to add</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="sdes_copy_entry" c:identifier="gst_rtcp_packet_sdes_copy_entry">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">This function is like gst_rtcp_packet_sdes_get_entry() but it returns a
null-terminated copy of the data instead. use g_free() after usage.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if there was valid data.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid SDES #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="type" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">result of the entry type</doc>
<type name="RTCPSDESType" c:type="GstRTCPSDESType*"/>
</parameter>
<parameter name="len" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">result length of the entry data</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
<parameter name="data" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">result entry data</doc>
<array length="1" zero-terminated="0" c:type="guint8**">
<type name="guint8" c:type="guint8*"/>
</array>
</parameter>
</parameters>
</method>
<method name="sdes_first_entry" c:identifier="gst_rtcp_packet_sdes_first_entry">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Move to the first SDES entry in the current item.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if there was a first entry.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid SDES #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="sdes_first_item" c:identifier="gst_rtcp_packet_sdes_first_item">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Move to the first SDES item in @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">TRUE if there was a first item.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid SDES #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="sdes_get_entry" c:identifier="gst_rtcp_packet_sdes_get_entry">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the data of the current SDES item entry. @type (when not NULL) will
contain the type of the entry. @data (when not NULL) will point to @len
bytes.
When @type refers to a text item, @data will point to a UTF8 string. Note
that this UTF8 string is NOT null-terminated. Use
gst_rtcp_packet_sdes_copy_entry() to get a null-terminated copy of the entry.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if there was valid data.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid SDES #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="type" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">result of the entry type</doc>
<type name="RTCPSDESType" c:type="GstRTCPSDESType*"/>
</parameter>
<parameter name="len" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">result length of the entry data</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
<parameter name="data" direction="out" caller-allocates="0" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">result entry data</doc>
<array length="1" zero-terminated="0" c:type="guint8**">
<type name="guint8" c:type="guint8*"/>
</array>
</parameter>
</parameters>
</method>
<method name="sdes_get_item_count" c:identifier="gst_rtcp_packet_sdes_get_item_count">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the number of items in the SDES packet @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">The number of items in @packet.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid SDES #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="sdes_get_ssrc" c:identifier="gst_rtcp_packet_sdes_get_ssrc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the SSRC of the current SDES item.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the SSRC of the current item.</doc>
<type name="guint32" c:type="guint32"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid SDES #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="sdes_next_entry" c:identifier="gst_rtcp_packet_sdes_next_entry">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Move to the next SDES entry in the current item.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if there was a next entry.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid SDES #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="sdes_next_item" c:identifier="gst_rtcp_packet_sdes_next_item">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Move to the next SDES item in @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">TRUE if there was a next item.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid SDES #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_rb" c:identifier="gst_rtcp_packet_set_rb">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Set the @nth new report block in @packet with the given values.
Note: Not implemented.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid SR or RR #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="nth" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the nth report block to set</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="ssrc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">data source being reported</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
<parameter name="fractionlost" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">fraction lost since last SR/RR</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="packetslost" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the cumululative number of packets lost</doc>
<type name="gint32" c:type="gint32"/>
</parameter>
<parameter name="exthighestseq" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the extended last sequence number received</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
<parameter name="jitter" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the interarrival jitter</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
<parameter name="lsr" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the last SR packet from this source</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
<parameter name="dlsr" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the delay since last SR packet</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="sr_get_sender_info" c:identifier="gst_rtcp_packet_sr_get_sender_info">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Parse the SR sender info and store the values.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid SR #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="ssrc" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">result SSRC</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
<parameter name="ntptime" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">result NTP time</doc>
<type name="guint64" c:type="guint64*"/>
</parameter>
<parameter name="rtptime" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">result RTP time</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
<parameter name="packet_count" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">result packet count</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
<parameter name="octet_count" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">result octet count</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
</parameters>
</method>
<method name="sr_set_sender_info" c:identifier="gst_rtcp_packet_sr_set_sender_info">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Set the given values in the SR packet @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid SR #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="ssrc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the SSRC</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
<parameter name="ntptime" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the NTP time</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
<parameter name="rtptime" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the RTP time</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
<parameter name="packet_count" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the packet count</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
<parameter name="octet_count" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the octet count</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="xr_first_rb" c:identifier="gst_rtcp_packet_xr_first_rb" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Move to the first extended report block in XR @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">TRUE if there was a first extended report block.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="xr_get_block_length" c:identifier="gst_rtcp_packet_xr_get_block_length" version="1.16">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">The number of 32-bit words containing type-specific block
data from @packet.</doc>
<type name="guint16" c:type="guint16"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="xr_get_block_type" c:identifier="gst_rtcp_packet_xr_get_block_type" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the extended report block type of the XR @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">The extended report block type.</doc>
<type name="RTCPXRType" c:type="GstRTCPXRType"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="xr_get_dlrr_block" c:identifier="gst_rtcp_packet_xr_get_dlrr_block" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Parse the extended report block for DLRR report block type.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the report block is correctly parsed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket which has DLRR Report Block.</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="nth" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the index of sub-block to retrieve.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="ssrc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the SSRC of the receiver.</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
<parameter name="last_rr" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the last receiver reference timestamp of @ssrc.</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
<parameter name="delay" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the delay since @last_rr.</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
</parameters>
</method>
<method name="xr_get_prt_by_seq" c:identifier="gst_rtcp_packet_xr_get_prt_by_seq" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Retrieve the packet receipt time of @seq which ranges in [begin_seq, end_seq).</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the report block returns the receipt time correctly.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket which has the Packet Recept Times Report Block.</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="seq" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the sequence to retrieve the time.</doc>
<type name="guint16" c:type="guint16"/>
</parameter>
<parameter name="receipt_time" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the packet receipt time of @seq.</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
</parameters>
</method>
<method name="xr_get_prt_info" c:identifier="gst_rtcp_packet_xr_get_prt_info" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Parse the Packet Recept Times Report Block from a XR @packet</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the report block is correctly parsed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket which has a Packet Receipt Times Report Block</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="ssrc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the SSRC of the RTP data packet source being reported upon by this report block.</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
<parameter name="thinning" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the amount of thinning performed on the sequence number space.</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
<parameter name="begin_seq" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the first sequence number that this block reports on.</doc>
<type name="guint16" c:type="guint16*"/>
</parameter>
<parameter name="end_seq" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the last sequence number that this block reports on plus one.</doc>
<type name="guint16" c:type="guint16*"/>
</parameter>
</parameters>
</method>
<method name="xr_get_rle_info" c:identifier="gst_rtcp_packet_xr_get_rle_info" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Parse the extended report block for Loss RLE and Duplicated LRE block type.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the report block is correctly parsed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket which is Loss RLE or Duplicate RLE report.</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="ssrc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the SSRC of the RTP data packet source being reported upon by this report block.</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
<parameter name="thinning" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the amount of thinning performed on the sequence number space.</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
<parameter name="begin_seq" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the first sequence number that this block reports on.</doc>
<type name="guint16" c:type="guint16*"/>
</parameter>
<parameter name="end_seq" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the last sequence number that this block reports on plus one.</doc>
<type name="guint16" c:type="guint16*"/>
</parameter>
<parameter name="chunk_count" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the number of chunks calculated by block length.</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
</parameters>
</method>
<method name="xr_get_rle_nth_chunk" c:identifier="gst_rtcp_packet_xr_get_rle_nth_chunk" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Retrieve actual chunk data.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the report block returns chunk correctly.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket which is Loss RLE or Duplicate RLE report.</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="nth" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the index of chunk to retrieve.</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="chunk" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the @nth chunk.</doc>
<type name="guint16" c:type="guint16*"/>
</parameter>
</parameters>
</method>
<method name="xr_get_rrt" c:identifier="gst_rtcp_packet_xr_get_rrt" version="1.16">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the report block returns the reference time correctly.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket which has the Receiver Reference Time.</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="timestamp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">NTP timestamp</doc>
<type name="guint64" c:type="guint64*"/>
</parameter>
</parameters>
</method>
<method name="xr_get_ssrc" c:identifier="gst_rtcp_packet_xr_get_ssrc" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the ssrc field of the XR @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the ssrc.</doc>
<type name="guint32" c:type="guint32"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="xr_get_summary_info" c:identifier="gst_rtcp_packet_xr_get_summary_info" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Extract a basic information from static summary report block of XR @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the report block is correctly parsed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket which has Statics Summary Report Block.</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="ssrc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the SSRC of the source.</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
<parameter name="begin_seq" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the first sequence number that this block reports on.</doc>
<type name="guint16" c:type="guint16*"/>
</parameter>
<parameter name="end_seq" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the last sequence number that this block reports on plus one.</doc>
<type name="guint16" c:type="guint16*"/>
</parameter>
</parameters>
</method>
<method name="xr_get_summary_jitter" c:identifier="gst_rtcp_packet_xr_get_summary_jitter" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Extract jitter information from the statistics summary. If the jitter flag in
a block header is set as zero, all of jitters will be zero.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the report block is correctly parsed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket which has Statics Summary Report Block.</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="min_jitter" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the minimum relative transit time between two sequences.</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
<parameter name="max_jitter" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the maximum relative transit time between two sequences.</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
<parameter name="mean_jitter" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the mean relative transit time between two sequences.</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
<parameter name="dev_jitter" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the standard deviation of the relative transit time between two sequences.</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
</parameters>
</method>
<method name="xr_get_summary_pkt" c:identifier="gst_rtcp_packet_xr_get_summary_pkt" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Get the number of lost or duplicate packets. If the flag in a block header
is set as zero, @lost_packets or @dup_packets will be zero.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the report block is correctly parsed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket which has Statics Summary Report Block.</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="lost_packets" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the number of lost packets between begin_seq and end_seq.</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
<parameter name="dup_packets" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the number of duplicate packets between begin_seq and end_seq.</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
</parameters>
</method>
<method name="xr_get_summary_ttl" c:identifier="gst_rtcp_packet_xr_get_summary_ttl" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Extract the value of ttl for ipv4, or hop limit for ipv6.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the report block is correctly parsed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket which has Statics Summary Report Block.</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="is_ipv4" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the flag to indicate that the return values are ipv4 ttl or ipv6 hop limits.</doc>
<type name="gboolean" c:type="gboolean*"/>
</parameter>
<parameter name="min_ttl" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the minimum TTL or Hop Limit value of data packets between two sequences.</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
<parameter name="max_ttl" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the maximum TTL or Hop Limit value of data packets between two sequences.</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
<parameter name="mean_ttl" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the mean TTL or Hop Limit value of data packets between two sequences.</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
<parameter name="dev_ttl" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the standard deviation of the TTL or Hop Limit value of data packets between two sequences.</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
</parameters>
</method>
<method name="xr_get_voip_burst_metrics" c:identifier="gst_rtcp_packet_xr_get_voip_burst_metrics" version="1.16">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the report block is correctly parsed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket which has VoIP Metrics Report Block.</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="burst_density" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the fraction of RTP data packets within burst periods.</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
<parameter name="gap_density" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the fraction of RTP data packets within inter-burst gaps.</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
<parameter name="burst_duration" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the mean duration(ms) of the burst periods.</doc>
<type name="guint16" c:type="guint16*"/>
</parameter>
<parameter name="gap_duration" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the mean duration(ms) of the gap periods.</doc>
<type name="guint16" c:type="guint16*"/>
</parameter>
</parameters>
</method>
<method name="xr_get_voip_configuration_params" c:identifier="gst_rtcp_packet_xr_get_voip_configuration_params" version="1.16">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the report block is correctly parsed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket which has VoIP Metrics Report Block.</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="gmin" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the gap threshold.</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
<parameter name="rx_config" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the receiver configuration byte.</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
</parameters>
</method>
<method name="xr_get_voip_delay_metrics" c:identifier="gst_rtcp_packet_xr_get_voip_delay_metrics" version="1.16">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the report block is correctly parsed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket which has VoIP Metrics Report Block.</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="roundtrip_delay" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the most recently calculated round trip time between RTP interfaces(ms)</doc>
<type name="guint16" c:type="guint16*"/>
</parameter>
<parameter name="end_system_delay" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the most recently estimated end system delay(ms)</doc>
<type name="guint16" c:type="guint16*"/>
</parameter>
</parameters>
</method>
<method name="xr_get_voip_jitter_buffer_params" c:identifier="gst_rtcp_packet_xr_get_voip_jitter_buffer_params" version="1.16">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the report block is correctly parsed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket which has VoIP Metrics Report Block.</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="jb_nominal" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the current nominal jitter buffer delay(ms)</doc>
<type name="guint16" c:type="guint16*"/>
</parameter>
<parameter name="jb_maximum" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the current maximum jitter buffer delay(ms)</doc>
<type name="guint16" c:type="guint16*"/>
</parameter>
<parameter name="jb_abs_max" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the absolute maximum delay(ms)</doc>
<type name="guint16" c:type="guint16*"/>
</parameter>
</parameters>
</method>
<method name="xr_get_voip_metrics_ssrc" c:identifier="gst_rtcp_packet_xr_get_voip_metrics_ssrc" version="1.16">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the report block is correctly parsed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket which has VoIP Metrics Report Block.</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="ssrc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the SSRC of source</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
</parameters>
</method>
<method name="xr_get_voip_packet_metrics" c:identifier="gst_rtcp_packet_xr_get_voip_packet_metrics" version="1.16">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the report block is correctly parsed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket which has VoIP Metrics Report Block.</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="loss_rate" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the fraction of RTP data packets from the source lost.</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
<parameter name="discard_rate" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the fraction of RTP data packets from the source that have been discarded.</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
</parameters>
</method>
<method name="xr_get_voip_quality_metrics" c:identifier="gst_rtcp_packet_xr_get_voip_quality_metrics" version="1.16">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the report block is correctly parsed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket which has VoIP Metrics Report Block.</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="r_factor" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the R factor is a voice quality metric describing the segment of the call.</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
<parameter name="ext_r_factor" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the external R factor is a voice quality metric.</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
<parameter name="mos_lq" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the estimated mean opinion score for listening quality.</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
<parameter name="mos_cq" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the estimated mean opinion score for conversational quality.</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
</parameters>
</method>
<method name="xr_get_voip_signal_metrics" c:identifier="gst_rtcp_packet_xr_get_voip_signal_metrics" version="1.16">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">%TRUE if the report block is correctly parsed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket which has VoIP Metrics Report Block.</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
<parameter name="signal_level" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the ratio of the signal level to a 0 dBm reference.</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
<parameter name="noise_level" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the ratio of the silent period background noise level to a 0 dBm reference.</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
<parameter name="rerl" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the residual echo return loss value.</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
<parameter name="gmin" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the gap threshold.</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
</parameters>
</method>
<method name="xr_next_rb" c:identifier="gst_rtcp_packet_xr_next_rb" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Move to the next extended report block in XR @packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">TRUE if there was a next extended report block.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a valid XR #GstRTCPPacket</doc>
<type name="RTCPPacket" c:type="GstRTCPPacket*"/>
</instance-parameter>
</parameters>
</method>
</record>
<enumeration name="RTCPSDESType" glib:type-name="GstRTCPSDESType" glib:get-type="gst_rtcpsdes_type_get_type" c:type="GstRTCPSDESType">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Different types of SDES content.</doc>
<member name="invalid" value="-1" c:identifier="GST_RTCP_SDES_INVALID" glib:nick="invalid">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Invalid SDES entry</doc>
</member>
<member name="end" value="0" c:identifier="GST_RTCP_SDES_END" glib:nick="end">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">End of SDES list</doc>
</member>
<member name="cname" value="1" c:identifier="GST_RTCP_SDES_CNAME" glib:nick="cname">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Canonical name</doc>
</member>
<member name="name" value="2" c:identifier="GST_RTCP_SDES_NAME" glib:nick="name">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">User name</doc>
</member>
<member name="email" value="3" c:identifier="GST_RTCP_SDES_EMAIL" glib:nick="email">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">User's electronic mail address</doc>
</member>
<member name="phone" value="4" c:identifier="GST_RTCP_SDES_PHONE" glib:nick="phone">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">User's phone number</doc>
</member>
<member name="loc" value="5" c:identifier="GST_RTCP_SDES_LOC" glib:nick="loc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Geographic user location</doc>
</member>
<member name="tool" value="6" c:identifier="GST_RTCP_SDES_TOOL" glib:nick="tool">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Name of application or tool</doc>
</member>
<member name="note" value="7" c:identifier="GST_RTCP_SDES_NOTE" glib:nick="note">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Notice about the source</doc>
</member>
<member name="priv" value="8" c:identifier="GST_RTCP_SDES_PRIV" glib:nick="priv">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Private extensions</doc>
</member>
<member name="h323_caddr" value="9" c:identifier="GST_RTCP_SDES_H323_CADDR" version="1.20" glib:nick="h323-caddr">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">H.323 callable address</doc>
</member>
<member name="apsi" value="10" c:identifier="GST_RTCP_SDES_APSI" version="1.20" glib:nick="apsi">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Application Specific Identifier (RFC6776)</doc>
</member>
<member name="rgrp" value="11" c:identifier="GST_RTCP_SDES_RGRP" version="1.20" glib:nick="rgrp">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Reporting Group Identifier (RFC8861)</doc>
</member>
<member name="rtp_stream_id" value="12" c:identifier="GST_RTCP_SDES_RTP_STREAM_ID" version="1.20" glib:nick="rtp-stream-id">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">RtpStreamId SDES item (RFC8852).</doc>
</member>
<member name="repaired_rtp_stream_id" value="13" c:identifier="GST_RTCP_SDES_REPAIRED_RTP_STREAM_ID" version="1.20" glib:nick="repaired-rtp-stream-id">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">RepairedRtpStreamId SDES item (RFC8852).</doc>
</member>
<member name="ccid" value="14" c:identifier="GST_RTCP_SDES_CCID" version="1.20" glib:nick="ccid">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">CLUE CaptId (RFC8849)</doc>
</member>
<member name="mid" value="15" c:identifier="GST_RTCP_SDES_MID" version="1.20" glib:nick="mid">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">MID SDES item (RFC8843).</doc>
</member>
</enumeration>
<enumeration name="RTCPType" glib:type-name="GstRTCPType" glib:get-type="gst_rtcp_type_get_type" c:type="GstRTCPType">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Different RTCP packet types.</doc>
<member name="invalid" value="0" c:identifier="GST_RTCP_TYPE_INVALID" glib:nick="invalid">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Invalid type</doc>
</member>
<member name="sr" value="200" c:identifier="GST_RTCP_TYPE_SR" glib:nick="sr">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Sender report</doc>
</member>
<member name="rr" value="201" c:identifier="GST_RTCP_TYPE_RR" glib:nick="rr">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Receiver report</doc>
</member>
<member name="sdes" value="202" c:identifier="GST_RTCP_TYPE_SDES" glib:nick="sdes">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Source description</doc>
</member>
<member name="bye" value="203" c:identifier="GST_RTCP_TYPE_BYE" glib:nick="bye">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Goodbye</doc>
</member>
<member name="app" value="204" c:identifier="GST_RTCP_TYPE_APP" glib:nick="app">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Application defined</doc>
</member>
<member name="rtpfb" value="205" c:identifier="GST_RTCP_TYPE_RTPFB" glib:nick="rtpfb">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Transport layer feedback.</doc>
</member>
<member name="psfb" value="206" c:identifier="GST_RTCP_TYPE_PSFB" glib:nick="psfb">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Payload-specific feedback.</doc>
</member>
<member name="xr" value="207" c:identifier="GST_RTCP_TYPE_XR" glib:nick="xr">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Extended report.</doc>
</member>
</enumeration>
<enumeration name="RTCPXRType" version="1.16" glib:type-name="GstRTCPXRType" glib:get-type="gst_rtcpxr_type_get_type" c:type="GstRTCPXRType">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Types of RTCP Extended Reports, those are defined in RFC 3611 and other RFCs
according to the [IANA registry](https://www.iana.org/assignments/rtcp-xr-block-types/rtcp-xr-block-types.xhtml).</doc>
<member name="invalid" value="-1" c:identifier="GST_RTCP_XR_TYPE_INVALID" glib:nick="invalid">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Invalid XR Report Block</doc>
</member>
<member name="lrle" value="1" c:identifier="GST_RTCP_XR_TYPE_LRLE" glib:nick="lrle">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Loss RLE Report Block</doc>
</member>
<member name="drle" value="2" c:identifier="GST_RTCP_XR_TYPE_DRLE" glib:nick="drle">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Duplicate RLE Report Block</doc>
</member>
<member name="prt" value="3" c:identifier="GST_RTCP_XR_TYPE_PRT" glib:nick="prt">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Packet Receipt Times Report Block</doc>
</member>
<member name="rrt" value="4" c:identifier="GST_RTCP_XR_TYPE_RRT" glib:nick="rrt">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Receiver Reference Time Report Block</doc>
</member>
<member name="dlrr" value="5" c:identifier="GST_RTCP_XR_TYPE_DLRR" glib:nick="dlrr">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Delay since the last Receiver Report</doc>
</member>
<member name="ssumm" value="6" c:identifier="GST_RTCP_XR_TYPE_SSUMM" glib:nick="ssumm">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Statistics Summary Report Block</doc>
</member>
<member name="voip_metrics" value="7" c:identifier="GST_RTCP_XR_TYPE_VOIP_METRICS" glib:nick="voip-metrics">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">VoIP Metrics Report Block</doc>
</member>
</enumeration>
<constant name="RTCP_MAX_BYE_SSRC_COUNT" value="31" c:type="GST_RTCP_MAX_BYE_SSRC_COUNT">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">The maximum amount of SSRCs in a BYE packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="RTCP_MAX_RB_COUNT" value="31" c:type="GST_RTCP_MAX_RB_COUNT">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">The maximum amount of Receiver report blocks in RR and SR messages.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="RTCP_MAX_SDES" value="255" c:type="GST_RTCP_MAX_SDES">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">The maximum text length for an SDES item.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="RTCP_MAX_SDES_ITEM_COUNT" value="31" c:type="GST_RTCP_MAX_SDES_ITEM_COUNT">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">The maximum amount of SDES items.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="RTCP_REDUCED_SIZE_VALID_MASK" value="49400" c:type="GST_RTCP_REDUCED_SIZE_VALID_MASK">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Mask for version and packet type pair allowing reduced size
packets, basically it accepts other types than RR and SR</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="RTCP_VALID_MASK" value="57598" c:type="GST_RTCP_VALID_MASK">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Mask for version, padding bit and packet type pair</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="RTCP_VALID_VALUE" value="32968" c:type="GST_RTCP_VALID_VALUE">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Valid value for the first two bytes of an RTCP packet after applying
#GST_RTCP_VALID_MASK to them.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="RTCP_VERSION" value="2" c:type="GST_RTCP_VERSION">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">The supported RTCP version 2.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<type name="gint" c:type="gint"/>
</constant>
<class name="RTPBaseAudioPayload" c:symbol-prefix="rtp_base_audio_payload" c:type="GstRTPBaseAudioPayload" parent="RTPBasePayload" glib:type-name="GstRTPBaseAudioPayload" glib:get-type="gst_rtp_base_audio_payload_get_type" glib:type-struct="RTPBaseAudioPayloadClass">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">Provides a base class for audio RTP payloaders for frame or sample based
audio codecs (constant bitrate)
This class derives from GstRTPBasePayload. It can be used for payloading
audio codecs. It will only work with constant bitrate codecs. It supports
both frame based and sample based codecs. It takes care of packing up the
audio data into RTP packets and filling up the headers accordingly. The
payloading is done based on the maximum MTU (mtu) and the maximum time per
packet (max-ptime). The general idea is to divide large data buffers into
smaller RTP packets. The RTP packet size is the minimum of either the MTU,
max-ptime (if set) or available data. The RTP packet size is always larger or
equal to min-ptime (if set). If min-ptime is not set, any residual data is
sent in a last RTP packet. In the case of frame based codecs, the resulting
RTP packets always contain full frames.
## Usage
To use this base class, your child element needs to call either
gst_rtp_base_audio_payload_set_frame_based() or
gst_rtp_base_audio_payload_set_sample_based(). This is usually done in the
element's `_init()` function. Then, the child element must call either
gst_rtp_base_audio_payload_set_frame_options(),
gst_rtp_base_audio_payload_set_sample_options() or
gst_rtp_base_audio_payload_set_samplebits_options. Since
GstRTPBaseAudioPayload derives from GstRTPBasePayload, the child element
must set any variables or call/override any functions required by that base
class. The child element does not need to override any other functions
specific to GstRTPBaseAudioPayload.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"/>
<method name="flush" c:identifier="gst_rtp_base_audio_payload_flush">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">Create an RTP buffer and store @payload_len bytes of the adapter as the
payload. Set the timestamp on the new buffer to @timestamp before pushing
the buffer downstream.
If @payload_len is -1, all pending bytes will be flushed. If @timestamp is
-1, the timestamp will be calculated automatically.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">a #GstFlowReturn</doc>
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="baseaudiopayload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">a #GstRTPBasePayload</doc>
<type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
</instance-parameter>
<parameter name="payload_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">length of payload</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="timestamp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">a #GstClockTime</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</method>
<method name="get_adapter" c:identifier="gst_rtp_base_audio_payload_get_adapter">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">Gets the internal adapter used by the depayloader.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">a #GstAdapter.</doc>
<type name="GstBase.Adapter" c:type="GstAdapter*"/>
</return-value>
<parameters>
<instance-parameter name="rtpbaseaudiopayload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">a #GstRTPBaseAudioPayload</doc>
<type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
</instance-parameter>
</parameters>
</method>
<method name="push" c:identifier="gst_rtp_base_audio_payload_push">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">Create an RTP buffer and store @payload_len bytes of @data as the
payload. Set the timestamp on the new buffer to @timestamp before pushing
the buffer downstream.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">a #GstFlowReturn</doc>
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="baseaudiopayload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">a #GstRTPBasePayload</doc>
<type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
</instance-parameter>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">data to set as payload</doc>
<array length="1" zero-terminated="0" c:type="const guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="payload_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">length of payload</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="timestamp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">a #GstClockTime</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</method>
<method name="set_frame_based" c:identifier="gst_rtp_base_audio_payload_set_frame_based">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">Tells #GstRTPBaseAudioPayload that the child element is for a frame based
audio codec</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="rtpbaseaudiopayload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">a pointer to the element.</doc>
<type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_frame_options" c:identifier="gst_rtp_base_audio_payload_set_frame_options">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">Sets the options for frame based audio codecs.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="rtpbaseaudiopayload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">a pointer to the element.</doc>
<type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
</instance-parameter>
<parameter name="frame_duration" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">The duraction of an audio frame in milliseconds.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="frame_size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">The size of an audio frame in bytes.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_sample_based" c:identifier="gst_rtp_base_audio_payload_set_sample_based">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">Tells #GstRTPBaseAudioPayload that the child element is for a sample based
audio codec</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="rtpbaseaudiopayload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">a pointer to the element.</doc>
<type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_sample_options" c:identifier="gst_rtp_base_audio_payload_set_sample_options">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">Sets the options for sample based audio codecs.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="rtpbaseaudiopayload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">a pointer to the element.</doc>
<type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
</instance-parameter>
<parameter name="sample_size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">Size per sample in bytes.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_samplebits_options" c:identifier="gst_rtp_base_audio_payload_set_samplebits_options">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">Sets the options for sample based audio codecs.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="rtpbaseaudiopayload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">a pointer to the element.</doc>
<type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
</instance-parameter>
<parameter name="sample_size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.c">Size per sample in bits.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<property name="buffer-list" writable="1" transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</property>
<field name="payload">
<type name="RTPBasePayload" c:type="GstRTPBasePayload"/>
</field>
<field name="priv">
<type name="RTPBaseAudioPayloadPrivate" c:type="GstRTPBaseAudioPayloadPrivate*"/>
</field>
<field name="base_ts">
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</field>
<field name="frame_size">
<type name="gint" c:type="gint"/>
</field>
<field name="frame_duration">
<type name="gint" c:type="gint"/>
</field>
<field name="sample_size">
<type name="gint" c:type="gint"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="RTPBaseAudioPayloadClass" c:type="GstRTPBaseAudioPayloadClass" glib:is-gtype-struct-for="RTPBaseAudioPayload">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.h">Base class for audio RTP payloader.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"/>
<field name="parent_class">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.h">the parent class</doc>
<type name="RTPBasePayloadClass" c:type="GstRTPBasePayloadClass"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="RTPBaseAudioPayloadPrivate" c:type="GstRTPBaseAudioPayloadPrivate" disguised="1">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"/>
</record>
<class name="RTPBaseDepayload" c:symbol-prefix="rtp_base_depayload" c:type="GstRTPBaseDepayload" parent="Gst.Element" abstract="1" glib:type-name="GstRTPBaseDepayload" glib:get-type="gst_rtp_base_depayload_get_type" glib:type-struct="RTPBaseDepayloadClass">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">Provides a base class for RTP depayloaders
In order to handle RTP header extensions correctly if the
depayloader aggregates multiple RTP packet payloads into one output
buffer this class provides the function
gst_rtp_base_depayload_set_aggregate_hdrext_enabled(). If the
aggregation is enabled the virtual functions
@GstRTPBaseDepayload.process or
@GstRTPBaseDepayload.process_rtp_packet must tell the base class
what happens to the current RTP packet. By default the base class
assumes that the packet payload is used with the next output
buffer.
If the RTP packet will not be used with an output buffer
gst_rtp_base_depayload_dropped() must be called. A typical
situation would be if we are waiting for a keyframe.
If the RTP packet will be used but not with the current output
buffer but with the next one gst_rtp_base_depayload_delayed() must
be called. This may happen if the current RTP packet signals the
start of a new output buffer and the currently processed output
buffer will be pushed first. The undelay happens implicitly once
the current buffer has been pushed or
gst_rtp_base_depayload_flush() has been called.
If gst_rtp_base_depayload_flush() is called all RTP packets that
have not been dropped since the last output buffer are dropped,
e.g. if an output buffer is discarded due to malformed data. This
may or may not include the current RTP packet depending on the 2nd
parameter @keep_current.
Be aware that in case gst_rtp_base_depayload_push_list() is used
each buffer will see the same list of RTP header extensions.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<virtual-method name="handle_event">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="filter" transfer-ownership="none">
<type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
</instance-parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gst.Event" c:type="GstEvent*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="packet_lost">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="filter" transfer-ownership="none">
<type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
</instance-parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gst.Event" c:type="GstEvent*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="process">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<return-value transfer-ownership="full">
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<instance-parameter name="base" transfer-ownership="none">
<type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
</instance-parameter>
<parameter name="in" transfer-ownership="none">
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="process_rtp_packet">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<return-value transfer-ownership="full">
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<instance-parameter name="base" transfer-ownership="none">
<type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
</instance-parameter>
<parameter name="rtp_buffer" transfer-ownership="none">
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_caps">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="filter" transfer-ownership="none">
<type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
</instance-parameter>
<parameter name="caps" transfer-ownership="none">
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
</virtual-method>
<method name="delayed" c:identifier="gst_rtp_base_depayload_delayed" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">Called from @GstRTPBaseDepayload.process or
@GstRTPBaseDepayload.process_rtp_packet when the depayloader needs
to keep the current input RTP header for use with the next output
buffer.
The delayed buffer will remain until the end of processing the
current output buffer and then enqueued for processing with the
next output buffer.
A typical use-case is when the depayloader implementation will
start a new output buffer for the current input RTP buffer but push
the current output buffer first.
Must be called with the stream lock held.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="depayload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">a #GstRTPBaseDepayload</doc>
<type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
</instance-parameter>
</parameters>
</method>
<method name="dropped" c:identifier="gst_rtp_base_depayload_dropped" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">Called from @GstRTPBaseDepayload.process or
@GstRTPBaseDepayload.process_rtp_packet if the depayloader does not
use the current buffer for the output buffer. This will either drop
the delayed buffer or the last buffer from the header extension
cache.
A typical use-case is when the depayloader implementation is
dropping an input RTP buffer while waiting for the first keyframe.
Must be called with the stream lock held.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="depayload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">a #GstRTPBaseDepayload</doc>
<type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
</instance-parameter>
</parameters>
</method>
<method name="flush" c:identifier="gst_rtp_base_depayload_flush" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">If @GstRTPBaseDepayload.process or
@GstRTPBaseDepayload.process_rtp_packet drop an output buffer this
function tells the base class to flush header extension cache as
well.
This will not drop an input RTP header marked as delayed from
gst_rtp_base_depayload_delayed().
If @keep_current is %TRUE the current input RTP header will be kept
and enqueued after flushing the previous input RTP headers.
A typical use-case for @keep_current is when the depayloader
implementation invalidates the current output buffer and starts a
new one with the current RTP input buffer.
Must be called with the stream lock held.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="depayload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">a #GstRTPBaseDepayload</doc>
<type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
</instance-parameter>
<parameter name="keep_current" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">if the current RTP buffer shall be kept</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="is_aggregate_hdrext_enabled" c:identifier="gst_rtp_base_depayload_is_aggregate_hdrext_enabled" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">Queries whether header extensions will be aggregated per depayloaded buffers.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">%TRUE if aggregate-header-extension is enabled.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="depayload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">a #GstRTPBaseDepayload</doc>
<type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
</instance-parameter>
</parameters>
</method>
<method name="is_source_info_enabled" c:identifier="gst_rtp_base_depayload_is_source_info_enabled" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">Queries whether #GstRTPSourceMeta will be added to depayloaded buffers.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">%TRUE if source-info is enabled.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="depayload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">a #GstRTPBaseDepayload</doc>
<type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
</instance-parameter>
</parameters>
</method>
<method name="push" c:identifier="gst_rtp_base_depayload_push">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">Push @out_buf to the peer of @filter. This function takes ownership of
@out_buf.
This function will by default apply the last incoming timestamp on
the outgoing buffer when it didn't have a timestamp already.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">a #GstFlowReturn.</doc>
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="filter" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">a #GstRTPBaseDepayload</doc>
<type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
</instance-parameter>
<parameter name="out_buf" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">a #GstBuffer</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
</parameters>
</method>
<method name="push_list" c:identifier="gst_rtp_base_depayload_push_list">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">Push @out_list to the peer of @filter. This function takes ownership of
@out_list.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">a #GstFlowReturn.</doc>
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="filter" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">a #GstRTPBaseDepayload</doc>
<type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
</instance-parameter>
<parameter name="out_list" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">a #GstBufferList</doc>
<type name="Gst.BufferList" c:type="GstBufferList*"/>
</parameter>
</parameters>
</method>
<method name="set_aggregate_hdrext_enabled" c:identifier="gst_rtp_base_depayload_set_aggregate_hdrext_enabled" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">Enable or disable aggregating header extensions.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="depayload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">a #GstRTPBaseDepayload</doc>
<type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
</instance-parameter>
<parameter name="enable" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">whether to aggregate header extensions per output buffer</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_source_info_enabled" c:identifier="gst_rtp_base_depayload_set_source_info_enabled" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">Enable or disable adding #GstRTPSourceMeta to depayloaded buffers.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="depayload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">a #GstRTPBaseDepayload</doc>
<type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
</instance-parameter>
<parameter name="enable" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">whether to add meta about RTP sources to buffer</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<property name="auto-header-extension" version="1.20" writable="1" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">If enabled, the depayloader will automatically try to enable all the
RTP header extensions provided in the sink caps, saving the application
the need to handle these extensions manually using the
GstRTPBaseDepayload::request-extension: signal.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="extensions" version="1.24" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">A list of already enabled RTP header extensions. This may be useful for finding
out which extensions are already enabled (with add-extension signal) and picking a non-conflicting
ID for a new extension that needs to be added on top of the existing ones.
Note that the value returned by reading this property is not dynamically updated when the set of
enabled extensions changes by any of existing action signals. Rather, it represents the current state
at the time the property is read.
Dynamic updates of this property can be received by subscribing to its corresponding "notify" signal, i.e.
"notify::extensions".</doc>
<type name="Gst.ValueArray"/>
</property>
<property name="max-reorder" version="1.18" writable="1" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">Max seqnum reorder before the sender is assumed to have restarted.
When max-reorder is set to 0 all reordered/duplicate packets are
considered coming from a restarted sender.</doc>
<type name="gint" c:type="gint"/>
</property>
<property name="source-info" version="1.16" writable="1" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">Add RTP source information found in RTP header as meta to output buffer.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="stats" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">Various depayloader statistics retrieved atomically (and are therefore
synchroized with each other). This property return a GstStructure named
application/x-rtp-depayload-stats containing the following fields relating to
the last processed buffer and current state of the stream being depayloaded:
* `clock-rate`: #G_TYPE_UINT, clock-rate of the stream
* `npt-start`: #G_TYPE_UINT64, time of playback start
* `npt-stop`: #G_TYPE_UINT64, time of playback stop
* `play-speed`: #G_TYPE_DOUBLE, the playback speed
* `play-scale`: #G_TYPE_DOUBLE, the playback scale
* `running-time-dts`: #G_TYPE_UINT64, the last running-time of the
last DTS
* `running-time-pts`: #G_TYPE_UINT64, the last running-time of the
last PTS
* `seqnum`: #G_TYPE_UINT, the last seen seqnum
* `timestamp`: #G_TYPE_UINT, the last seen RTP timestamp</doc>
<type name="Gst.Structure"/>
</property>
<field name="parent">
<type name="Gst.Element" c:type="GstElement"/>
</field>
<field name="sinkpad">
<type name="Gst.Pad" c:type="GstPad*"/>
</field>
<field name="srcpad">
<type name="Gst.Pad" c:type="GstPad*"/>
</field>
<field name="clock_rate">
<type name="guint" c:type="guint"/>
</field>
<field name="segment">
<type name="Gst.Segment" c:type="GstSegment"/>
</field>
<field name="need_newsegment">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="priv" readable="0" private="1">
<type name="RTPBaseDepayloadPrivate" c:type="GstRTPBaseDepayloadPrivate*"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<glib:signal name="add-extension" when="last" action="1" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">Add @ext as an extension for reading part of an RTP header extension from
incoming RTP packets.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="ext" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">the #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="clear-extensions" when="last" action="1" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">Clear all RTP header extensions used by this depayloader.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="request-extension" when="last" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">The returned @ext must be configured with the correct @ext_id and with the
necessary attributes as required by the extension implementation.</doc>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">the #GstRTPHeaderExtension for @ext_id, or %NULL</doc>
<type name="RTPHeaderExtension"/>
</return-value>
<parameters>
<parameter name="ext_id" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">the extension id being requested</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="ext_uri" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.c">the extension URI being requested</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="RTPBaseDepayloadClass" c:type="GstRTPBaseDepayloadClass" glib:is-gtype-struct-for="RTPBaseDepayload">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h">Base class for RTP depayloaders.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<field name="parent_class">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h">the parent class</doc>
<type name="Gst.ElementClass" c:type="GstElementClass"/>
</field>
<field name="set_caps">
<callback name="set_caps">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="filter" transfer-ownership="none">
<type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
</parameter>
<parameter name="caps" transfer-ownership="none">
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="process">
<callback name="process">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<return-value transfer-ownership="full">
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<parameter name="base" transfer-ownership="none">
<type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
</parameter>
<parameter name="in" transfer-ownership="none">
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="packet_lost">
<callback name="packet_lost">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="filter" transfer-ownership="none">
<type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gst.Event" c:type="GstEvent*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="handle_event">
<callback name="handle_event">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="filter" transfer-ownership="none">
<type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gst.Event" c:type="GstEvent*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="process_rtp_packet">
<callback name="process_rtp_packet">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<return-value transfer-ownership="full">
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<parameter name="base" transfer-ownership="none">
<type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
</parameter>
<parameter name="rtp_buffer" transfer-ownership="none">
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="3">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="RTPBaseDepayloadPrivate" c:type="GstRTPBaseDepayloadPrivate" disguised="1">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
</record>
<class name="RTPBasePayload" c:symbol-prefix="rtp_base_payload" c:type="GstRTPBasePayload" parent="Gst.Element" abstract="1" glib:type-name="GstRTPBasePayload" glib:get-type="gst_rtp_base_payload_get_type" glib:type-struct="RTPBasePayloadClass">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">Provides a base class for RTP payloaders</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<virtual-method name="get_caps">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="full">
<type name="Gst.Caps" c:type="GstCaps*"/>
</return-value>
<parameters>
<instance-parameter name="payload" transfer-ownership="none">
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</instance-parameter>
<parameter name="pad" transfer-ownership="none">
<type name="Gst.Pad" c:type="GstPad*"/>
</parameter>
<parameter name="filter" transfer-ownership="none">
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="handle_buffer">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="payload" transfer-ownership="none">
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</instance-parameter>
<parameter name="buffer" transfer-ownership="none">
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="query">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="payload" transfer-ownership="none">
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</instance-parameter>
<parameter name="pad" transfer-ownership="none">
<type name="Gst.Pad" c:type="GstPad*"/>
</parameter>
<parameter name="query" transfer-ownership="none">
<type name="Gst.Query" c:type="GstQuery*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_caps">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="payload" transfer-ownership="none">
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</instance-parameter>
<parameter name="caps" transfer-ownership="none">
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="sink_event">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="payload" transfer-ownership="none">
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</instance-parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gst.Event" c:type="GstEvent*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="src_event">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="payload" transfer-ownership="none">
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</instance-parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gst.Event" c:type="GstEvent*"/>
</parameter>
</parameters>
</virtual-method>
<method name="allocate_output_buffer" c:identifier="gst_rtp_base_payload_allocate_output_buffer" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">Allocate a new #GstBuffer with enough data to hold an RTP packet with
minimum @csrc_count CSRCs, a payload length of @payload_len and padding of
@pad_len. If @payload has #GstRTPBasePayload:source-info %TRUE additional
CSRCs may be allocated and filled with RTP source information.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">A newly allocated buffer that can hold an RTP packet with given
parameters.</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<instance-parameter name="payload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">a #GstRTPBasePayload</doc>
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</instance-parameter>
<parameter name="payload_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">the length of the payload</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="pad_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">the amount of padding</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="csrc_count" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">the minimum number of CSRC entries</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</method>
<method name="get_source_count" c:identifier="gst_rtp_base_payload_get_source_count" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">Count the total number of RTP sources found in the meta of @buffer, which
will be automically added by gst_rtp_base_payload_allocate_output_buffer().
If #GstRTPBasePayload:source-info is %FALSE the count will be 0.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">The number of sources.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="payload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">a #GstRTPBasePayload</doc>
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</instance-parameter>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">a #GstBuffer, typically the buffer to payload</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
</parameters>
</method>
<method name="is_filled" c:identifier="gst_rtp_base_payload_is_filled">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">Check if the packet with @size and @duration would exceed the configured
maximum size.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">%TRUE if the packet of @size and @duration would exceed the
configured MTU or max_ptime.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="payload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">a #GstRTPBasePayload</doc>
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</instance-parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">the size of the packet</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="duration" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">the duration of the packet</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</method>
<method name="is_source_info_enabled" c:identifier="gst_rtp_base_payload_is_source_info_enabled" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">Queries whether the payloader will add contributing sources (CSRCs) to the
RTP header from #GstRTPSourceMeta.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">%TRUE if source-info is enabled.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="payload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">a #GstRTPBasePayload</doc>
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</instance-parameter>
</parameters>
</method>
<method name="push" c:identifier="gst_rtp_base_payload_push">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">Push @buffer to the peer element of the payloader. The SSRC, payload type,
seqnum and timestamp of the RTP buffer will be updated first.
This function takes ownership of @buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">a #GstFlowReturn.</doc>
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="payload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">a #GstRTPBasePayload</doc>
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</instance-parameter>
<parameter name="buffer" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">a #GstBuffer</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
</parameters>
</method>
<method name="push_list" c:identifier="gst_rtp_base_payload_push_list">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">Push @list to the peer element of the payloader. The SSRC, payload type,
seqnum and timestamp of the RTP buffer will be updated first.
This function takes ownership of @list.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">a #GstFlowReturn.</doc>
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="payload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">a #GstRTPBasePayload</doc>
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</instance-parameter>
<parameter name="list" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">a #GstBufferList</doc>
<type name="Gst.BufferList" c:type="GstBufferList*"/>
</parameter>
</parameters>
</method>
<method name="set_options" c:identifier="gst_rtp_base_payload_set_options">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">Set the rtp options of the payloader. These options will be set in the caps
of the payloader. Subclasses must call this method before calling
gst_rtp_base_payload_push() or gst_rtp_base_payload_set_outcaps().</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="payload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">a #GstRTPBasePayload</doc>
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</instance-parameter>
<parameter name="media" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">the media type (typically "audio" or "video")</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="dynamic" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">if the payload type is dynamic</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
<parameter name="encoding_name" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">the encoding name</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="clock_rate" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">the clock rate of the media</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="set_outcaps" c:identifier="gst_rtp_base_payload_set_outcaps" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">Configure the output caps with the optional parameters.
Variable arguments should be in the form field name, field type
(as a GType), value(s). The last variable argument should be NULL.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">%TRUE if the caps could be set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="payload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">a #GstRTPBasePayload</doc>
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</instance-parameter>
<parameter name="fieldname" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">the first field name or %NULL</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="..." transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">field values</doc>
<varargs/>
</parameter>
</parameters>
</method>
<method name="set_outcaps_structure" c:identifier="gst_rtp_base_payload_set_outcaps_structure" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">Configure the output caps with the optional fields.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">%TRUE if the caps could be set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="payload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">a #GstRTPBasePayload</doc>
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</instance-parameter>
<parameter name="s" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">a #GstStructure with the caps fields</doc>
<type name="Gst.Structure" c:type="GstStructure*"/>
</parameter>
</parameters>
</method>
<method name="set_source_info_enabled" c:identifier="gst_rtp_base_payload_set_source_info_enabled" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">Enable or disable adding contributing sources to RTP packets from
#GstRTPSourceMeta.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="payload" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">a #GstRTPBasePayload</doc>
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</instance-parameter>
<parameter name="enable" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">whether to add contributing sources to RTP packets</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<property name="auto-header-extension" version="1.20" writable="1" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">If enabled, the payloader will automatically try to enable all the
RTP header extensions provided in the src caps, saving the application
the need to handle these extensions manually using the
GstRTPBasePayload::request-extension: signal.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="extensions" version="1.24" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">A list of already enabled RTP header extensions. This may be useful for finding
out which extensions are already enabled (with add-extension signal) and picking a non-conflicting
ID for a new extension that needs to be added on top of the existing ones.
Note that the value returned by reading this property is not dynamically updated when the set of
enabled extensions changes by any of existing action signals. Rather, it represents the current state
at the time the property is read.
Dynamic updates of this property can be received by subscribing to its corresponding "notify" signal, i.e.
"notify::extensions".</doc>
<type name="Gst.ValueArray"/>
</property>
<property name="max-ptime" writable="1" transfer-ownership="none">
<type name="gint64" c:type="gint64"/>
</property>
<property name="min-ptime" writable="1" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">Minimum duration of the packet data in ns (can't go above MTU)</doc>
<type name="gint64" c:type="gint64"/>
</property>
<property name="mtu" writable="1" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</property>
<property name="onvif-no-rate-control" version="1.16" writable="1" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">Make the payloader timestamp packets according to the Rate-Control=no
behaviour specified in the ONVIF replay spec.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="perfect-rtptime" writable="1" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">Try to use the offset fields to generate perfect RTP timestamps. When this
option is disabled, RTP timestamps are generated from GST_BUFFER_PTS of
each payloaded buffer. The PTSes of buffers may not necessarily increment
with the amount of data in each input buffer, consider e.g. the case where
the buffer arrives from a network which means that the PTS is unrelated to
the amount of data. Because the RTP timestamps are generated from
GST_BUFFER_PTS this can result in RTP timestamps that also don't increment
with the amount of data in the payloaded packet. To circumvent this it is
possible to set the perfect rtptime option enabled. When this option is
enabled the payloader will increment the RTP timestamps based on
GST_BUFFER_OFFSET which relates to the amount of data in each packet
rather than the GST_BUFFER_PTS of each buffer and therefore the RTP
timestamps will more closely correlate with the amount of data in each
buffer. Currently GstRTPBasePayload is limited to handling perfect RTP
timestamps for audio streams.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="pt" writable="1" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</property>
<property name="ptime-multiple" writable="1" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">Force buffers to be multiples of this duration in ns (0 disables)</doc>
<type name="gint64" c:type="gint64"/>
</property>
<property name="scale-rtptime" version="1.18" writable="1" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">Make the RTP packets' timestamps be scaled with the segment's rate
(corresponding to RTSP speed parameter). Disabling this property means
the timestamps will not be affected by the set delivery speed (RTSP speed).
Example: A server wants to allow streaming a recorded video in double
speed but still have the timestamps correspond to the position in the
video. This is achieved by the client setting RTSP Speed to 2 while the
server has this property disabled.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="seqnum" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</property>
<property name="seqnum-offset" writable="1" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</property>
<property name="source-info" version="1.16" writable="1" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">Enable writing the CSRC field in allocated RTP header based on RTP source
information found in the input buffer's #GstRTPSourceMeta.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="ssrc" writable="1" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</property>
<property name="stats" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">Various payloader statistics retrieved atomically (and are therefore
synchroized with each other), these can be used e.g. to generate an
RTP-Info header. This property return a GstStructure named
application/x-rtp-payload-stats containing the following fields relating to
the last processed buffer and current state of the stream being payloaded:
* `clock-rate` :#G_TYPE_UINT, clock-rate of the stream
* `running-time` :#G_TYPE_UINT64, running time
* `seqnum` :#G_TYPE_UINT, sequence number, same as #GstRTPBasePayload:seqnum
* `timestamp` :#G_TYPE_UINT, RTP timestamp, same as #GstRTPBasePayload:timestamp
* `ssrc` :#G_TYPE_UINT, The SSRC in use
* `pt` :#G_TYPE_UINT, The Payload type in use, same as #GstRTPBasePayload:pt
* `seqnum-offset` :#G_TYPE_UINT, The current offset added to the seqnum
* `timestamp-offset` :#G_TYPE_UINT, The current offset added to the timestamp</doc>
<type name="Gst.Structure"/>
</property>
<property name="timestamp" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</property>
<property name="timestamp-offset" writable="1" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</property>
<field name="element">
<type name="Gst.Element" c:type="GstElement"/>
</field>
<field name="sinkpad" readable="0" private="1">
<type name="Gst.Pad" c:type="GstPad*"/>
</field>
<field name="srcpad" readable="0" private="1">
<type name="Gst.Pad" c:type="GstPad*"/>
</field>
<field name="ts_base" readable="0" private="1">
<type name="guint32" c:type="guint32"/>
</field>
<field name="seqnum_base" readable="0" private="1">
<type name="guint16" c:type="guint16"/>
</field>
<field name="media" readable="0" private="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="encoding_name" readable="0" private="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="dynamic" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="clock_rate" readable="0" private="1">
<type name="guint32" c:type="guint32"/>
</field>
<field name="ts_offset" readable="0" private="1">
<type name="gint32" c:type="gint32"/>
</field>
<field name="timestamp" readable="0" private="1">
<type name="guint32" c:type="guint32"/>
</field>
<field name="seqnum_offset" readable="0" private="1">
<type name="gint16" c:type="gint16"/>
</field>
<field name="seqnum" readable="0" private="1">
<type name="guint16" c:type="guint16"/>
</field>
<field name="max_ptime" readable="0" private="1">
<type name="gint64" c:type="gint64"/>
</field>
<field name="pt" readable="0" private="1">
<type name="guint" c:type="guint"/>
</field>
<field name="ssrc" readable="0" private="1">
<type name="guint" c:type="guint"/>
</field>
<field name="current_ssrc" readable="0" private="1">
<type name="guint" c:type="guint"/>
</field>
<field name="mtu" readable="0" private="1">
<type name="guint" c:type="guint"/>
</field>
<field name="segment" readable="0" private="1">
<type name="Gst.Segment" c:type="GstSegment"/>
</field>
<field name="min_ptime" readable="0" private="1">
<type name="guint64" c:type="guint64"/>
</field>
<field name="ptime" readable="0" private="1">
<type name="guint64" c:type="guint64"/>
</field>
<field name="ptime_multiple" readable="0" private="1">
<type name="guint64" c:type="guint64"/>
</field>
<field name="priv" readable="0" private="1">
<type name="RTPBasePayloadPrivate" c:type="GstRTPBasePayloadPrivate*"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<glib:signal name="add-extension" when="last" action="1" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">Add @ext as an extension for writing part of an RTP header extension onto
outgoing RTP packets.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="ext" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">the #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="clear-extensions" when="last" action="1" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">Clear all RTP header extensions used by this payloader.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="request-extension" when="last" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">The returned @ext must be configured with the correct @ext_id and with the
necessary attributes as required by the extension implementation.</doc>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">the #GstRTPHeaderExtension for @ext_id, or %NULL</doc>
<type name="RTPHeaderExtension"/>
</return-value>
<parameters>
<parameter name="ext_id" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">the extension id being requested</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="ext_uri" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c">the extension URI being requested</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="RTPBasePayloadClass" c:type="GstRTPBasePayloadClass" glib:is-gtype-struct-for="RTPBasePayload">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h">Base class for audio RTP payloader.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<field name="parent_class">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h">the parent class</doc>
<type name="Gst.ElementClass" c:type="GstElementClass"/>
</field>
<field name="get_caps">
<callback name="get_caps">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="full">
<type name="Gst.Caps" c:type="GstCaps*"/>
</return-value>
<parameters>
<parameter name="payload" transfer-ownership="none">
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</parameter>
<parameter name="pad" transfer-ownership="none">
<type name="Gst.Pad" c:type="GstPad*"/>
</parameter>
<parameter name="filter" transfer-ownership="none">
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_caps">
<callback name="set_caps">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="payload" transfer-ownership="none">
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</parameter>
<parameter name="caps" transfer-ownership="none">
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="handle_buffer">
<callback name="handle_buffer">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="payload" transfer-ownership="none">
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</parameter>
<parameter name="buffer" transfer-ownership="none">
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="sink_event">
<callback name="sink_event">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="payload" transfer-ownership="none">
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gst.Event" c:type="GstEvent*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="src_event">
<callback name="src_event">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="payload" transfer-ownership="none">
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</parameter>
<parameter name="event" transfer-ownership="none">
<type name="Gst.Event" c:type="GstEvent*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="query">
<callback name="query">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="payload" transfer-ownership="none">
<type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
</parameter>
<parameter name="pad" transfer-ownership="none">
<type name="Gst.Pad" c:type="GstPad*"/>
</parameter>
<parameter name="query" transfer-ownership="none">
<type name="Gst.Query" c:type="GstQuery*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="RTPBasePayloadPrivate" c:type="GstRTPBasePayloadPrivate" disguised="1">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
</record>
<record name="RTPBuffer" c:type="GstRTPBuffer">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The GstRTPBuffer helper functions makes it easy to parse and create regular
#GstBuffer objects that contain RTP payloads. These buffers are typically of
'application/x-rtp' #GstCaps.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<field name="buffer" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h">pointer to RTP buffer</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</field>
<field name="state" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h">internal state</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="data" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h">array of data</doc>
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<field name="size" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h">array of size</doc>
<array zero-terminated="0" fixed-size="4">
<type name="gsize" c:type="gsize"/>
</array>
</field>
<field name="map" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h">array of #GstMapInfo</doc>
<array zero-terminated="0" fixed-size="4">
<type name="Gst.MapInfo" c:type="GstMapInfo"/>
</array>
</field>
<method name="add_extension_onebyte_header" c:identifier="gst_rtp_buffer_add_extension_onebyte_header">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Adds a RFC 5285 header extension with a one byte header to the end of the
RTP header. If there is already a RFC 5285 header extension with a one byte
header, the new extension will be appended.
It will not work if there is already a header extension that does not follow
the mechanism described in RFC 5285 or if there is a header extension with
a two bytes header as described in RFC 5285. In that case, use
gst_rtp_buffer_add_extension_twobytes_header()</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">%TRUE if header extension could be added</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
<parameter name="id" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The ID of the header extension (between 1 and 14).</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">location for data</doc>
<array length="2" zero-terminated="0" c:type="gconstpointer">
<type name="guint8"/>
</array>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the size of the data in bytes</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="add_extension_twobytes_header" c:identifier="gst_rtp_buffer_add_extension_twobytes_header">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Adds a RFC 5285 header extension with a two bytes header to the end of the
RTP header. If there is already a RFC 5285 header extension with a two bytes
header, the new extension will be appended.
It will not work if there is already a header extension that does not follow
the mechanism described in RFC 5285 or if there is a header extension with
a one byte header as described in RFC 5285. In that case, use
gst_rtp_buffer_add_extension_onebyte_header()</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">%TRUE if header extension could be added</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
<parameter name="appbits" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Application specific bits</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="id" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The ID of the header extension</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">location for data</doc>
<array length="3" zero-terminated="0" c:type="gconstpointer">
<type name="guint8"/>
</array>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the size of the data in bytes</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_csrc" c:identifier="gst_rtp_buffer_get_csrc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Get the CSRC at index @idx in @buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the CSRC at index @idx in host order.</doc>
<type name="guint32" c:type="guint32"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
<parameter name="idx" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the index of the CSRC to get</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</method>
<method name="get_csrc_count" c:identifier="gst_rtp_buffer_get_csrc_count">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Get the CSRC count of the RTP packet in @buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the CSRC count of @buffer.</doc>
<type name="guint8" c:type="guint8"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_extension" c:identifier="gst_rtp_buffer_get_extension">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Check if the extension bit is set on the RTP packet in @buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">TRUE if @buffer has the extension bit set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_extension_bytes" c:identifier="gst_rtp_buffer_get_extension_bytes" shadows="get_extension_data" version="1.2">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Similar to gst_rtp_buffer_get_extension_data, but more suitable for language
bindings usage. @bits will contain the extension 16 bits of custom data and
the extension data (not including the extension header) is placed in a new
#GBytes structure.
If @rtp did not contain an extension, this function will return %NULL, with
@bits unchanged. If there is an extension header but no extension data then
an empty #GBytes will be returned.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">A new #GBytes if an extension header was present
and %NULL otherwise.</doc>
<type name="GLib.Bytes" c:type="GBytes*"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
<parameter name="bits" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">location for header bits</doc>
<type name="guint16" c:type="guint16*"/>
</parameter>
</parameters>
</method>
<method name="get_extension_data" c:identifier="gst_rtp_buffer_get_extension_data" shadowed-by="get_extension_bytes" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Get the extension data. @bits will contain the extension 16 bits of custom
data. @data will point to the data in the extension and @wordlen will contain
the length of @data in 32 bits words.
If @buffer did not contain an extension, this function will return %FALSE
with @bits, @data and @wordlen unchanged.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">TRUE if @buffer had the extension bit set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
<parameter name="bits" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">location for result bits</doc>
<type name="guint16" c:type="guint16*"/>
</parameter>
<parameter name="data" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">location for data</doc>
<array zero-terminated="0" c:type="gpointer*">
<type name="guint8"/>
</array>
</parameter>
<parameter name="wordlen" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">location for length of @data in 32 bits words</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<method name="get_extension_onebyte_header" c:identifier="gst_rtp_buffer_get_extension_onebyte_header">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Parses RFC 5285 style header extensions with a one byte header. It will
return the nth extension with the requested id.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">TRUE if @buffer had the requested header extension</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
<parameter name="id" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The ID of the header extension to be read (between 1 and 14).</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="nth" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Read the nth extension packet with the requested ID</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="data" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">
location for data</doc>
<array length="3" zero-terminated="0" c:type="gpointer*">
<type name="guint8"/>
</array>
</parameter>
<parameter name="size" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the size of the data in bytes</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<method name="get_extension_twobytes_header" c:identifier="gst_rtp_buffer_get_extension_twobytes_header">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Parses RFC 5285 style header extensions with a two bytes header. It will
return the nth extension with the requested id.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">TRUE if @buffer had the requested header extension</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
<parameter name="appbits" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Application specific bits</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
<parameter name="id" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The ID of the header extension to be read (between 1 and 14).</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="nth" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Read the nth extension packet with the requested ID</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="data" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">
location for data</doc>
<array length="4" zero-terminated="0" c:type="gpointer*">
<type name="guint8"/>
</array>
</parameter>
<parameter name="size" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the size of the data in bytes</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<method name="get_header_len" c:identifier="gst_rtp_buffer_get_header_len">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Return the total length of the header in @buffer. This include the length of
the fixed header, the CSRC list and the extension header.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The total length of the header in @buffer.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_marker" c:identifier="gst_rtp_buffer_get_marker">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Check if the marker bit is set on the RTP packet in @buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">TRUE if @buffer has the marker bit set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_packet_len" c:identifier="gst_rtp_buffer_get_packet_len">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Return the total length of the packet in @buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The total length of the packet in @buffer.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_padding" c:identifier="gst_rtp_buffer_get_padding">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Check if the padding bit is set on the RTP packet in @buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">TRUE if @buffer has the padding bit set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_payload" c:identifier="gst_rtp_buffer_get_payload" shadowed-by="get_payload_bytes" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Get a pointer to the payload data in @buffer. This pointer is valid as long
as a reference to @buffer is held.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">A pointer
to the payload data in @buffer.</doc>
<array zero-terminated="0" c:type="gpointer">
<type name="guint8"/>
</array>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_payload_buffer" c:identifier="gst_rtp_buffer_get_payload_buffer">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Create a buffer of the payload of the RTP packet in @buffer. This function
will internally create a subbuffer of @buffer so that a memcpy can be
avoided.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">A new buffer with the data of the payload.</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_payload_bytes" c:identifier="gst_rtp_buffer_get_payload_bytes" shadows="get_payload" version="1.2">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Similar to gst_rtp_buffer_get_payload, but more suitable for language
bindings usage. The return value is a pointer to a #GBytes structure
containing the payload data in @rtp.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">A new #GBytes containing the payload data in @rtp.</doc>
<type name="GLib.Bytes" c:type="GBytes*"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_payload_len" c:identifier="gst_rtp_buffer_get_payload_len">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Get the length of the payload of the RTP packet in @buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The length of the payload in @buffer.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_payload_subbuffer" c:identifier="gst_rtp_buffer_get_payload_subbuffer">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Create a subbuffer of the payload of the RTP packet in @buffer. @offset bytes
are skipped in the payload and the subbuffer will be of size @len.
If @len is -1 the total payload starting from @offset is subbuffered.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">A new buffer with the specified data of the payload.</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
<parameter name="offset" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the offset in the payload</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the length in the payload</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_payload_type" c:identifier="gst_rtp_buffer_get_payload_type">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Get the payload type of the RTP packet in @buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The payload type.</doc>
<type name="guint8" c:type="guint8"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_seq" c:identifier="gst_rtp_buffer_get_seq">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Get the sequence number of the RTP packet in @buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The sequence number in host order.</doc>
<type name="guint16" c:type="guint16"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_ssrc" c:identifier="gst_rtp_buffer_get_ssrc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Get the SSRC of the RTP packet in @buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the SSRC of @buffer in host order.</doc>
<type name="guint32" c:type="guint32"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_timestamp" c:identifier="gst_rtp_buffer_get_timestamp">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Get the timestamp of the RTP packet in @buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The timestamp in host order.</doc>
<type name="guint32" c:type="guint32"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_version" c:identifier="gst_rtp_buffer_get_version">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Get the version number of the RTP packet in @buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The version of @buffer.</doc>
<type name="guint8" c:type="guint8"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
</parameters>
</method>
<method name="pad_to" c:identifier="gst_rtp_buffer_pad_to">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Set the amount of padding in the RTP packet in @buffer to
@len. If @len is 0, the padding is removed.
NOTE: This function does not work correctly.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
<parameter name="len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the new amount of padding</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="remove_extension_data" c:identifier="gst_rtp_buffer_remove_extension_data" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Unsets the extension bit of the RTP buffer and removes the extension header
and data.
If the RTP buffer has no header extension data, the action has no effect.
The RTP buffer must be mapped READWRITE only once and the underlying
GstBuffer must be writable.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_csrc" c:identifier="gst_rtp_buffer_set_csrc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Modify the CSRC at index @idx in @buffer to @csrc.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
<parameter name="idx" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the CSRC index to set</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="csrc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the CSRC in host order to set at @idx</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="set_extension" c:identifier="gst_rtp_buffer_set_extension">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Set the extension bit on the RTP packet in @buffer to @extension.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
<parameter name="extension" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the new extension</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_extension_data" c:identifier="gst_rtp_buffer_set_extension_data">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Set the extension bit of the rtp buffer and fill in the @bits and @length of the
extension header. If the existing extension data is not large enough, it will
be made larger.
Will also shorten the extension data from 1.20.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">True if done.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
<parameter name="bits" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the bits specific for the extension</doc>
<type name="guint16" c:type="guint16"/>
</parameter>
<parameter name="length" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the length that counts the number of 32-bit words in
the extension, excluding the extension header ( therefore zero is a valid length)</doc>
<type name="guint16" c:type="guint16"/>
</parameter>
</parameters>
</method>
<method name="set_marker" c:identifier="gst_rtp_buffer_set_marker">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Set the marker bit on the RTP packet in @buffer to @marker.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
<parameter name="marker" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the new marker</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_packet_len" c:identifier="gst_rtp_buffer_set_packet_len">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Set the total @rtp size to @len. The data in the buffer will be made
larger if needed. Any padding will be removed from the packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
<parameter name="len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the new packet length</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_padding" c:identifier="gst_rtp_buffer_set_padding">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Set the padding bit on the RTP packet in @buffer to @padding.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the buffer</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
<parameter name="padding" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the new padding</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_payload_type" c:identifier="gst_rtp_buffer_set_payload_type">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Set the payload type of the RTP packet in @buffer to @payload_type.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
<parameter name="payload_type" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the new type</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</method>
<method name="set_seq" c:identifier="gst_rtp_buffer_set_seq">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Set the sequence number of the RTP packet in @buffer to @seq.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
<parameter name="seq" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the new sequence number</doc>
<type name="guint16" c:type="guint16"/>
</parameter>
</parameters>
</method>
<method name="set_ssrc" c:identifier="gst_rtp_buffer_set_ssrc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Set the SSRC on the RTP packet in @buffer to @ssrc.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
<parameter name="ssrc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the new SSRC</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="set_timestamp" c:identifier="gst_rtp_buffer_set_timestamp">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Set the timestamp of the RTP packet in @buffer to @timestamp.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
<parameter name="timestamp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the new timestamp</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="set_version" c:identifier="gst_rtp_buffer_set_version">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Set the version of the RTP packet in @buffer to @version.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the RTP packet</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
<parameter name="version" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the new version</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</method>
<method name="unmap" c:identifier="gst_rtp_buffer_unmap">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Unmap @rtp previously mapped with gst_rtp_buffer_map().</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="rtp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">a #GstRTPBuffer</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</instance-parameter>
</parameters>
</method>
<function name="allocate_data" c:identifier="gst_rtp_buffer_allocate_data">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">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 &gt;0, the padding bit will be set. All other RTP header fields
will be set to 0/FALSE.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">a #GstBuffer</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
<parameter name="payload_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the length of the payload</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="pad_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the amount of padding</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="csrc_count" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the number of CSRC entries</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
<function name="calc_header_len" c:identifier="gst_rtp_buffer_calc_header_len">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Calculate the header length of an RTP packet with @csrc_count CSRC entries.
An RTP packet can have at most 15 CSRC entries.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The length of an RTP header with @csrc_count CSRC entries.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="csrc_count" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the number of CSRC entries</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
<function name="calc_packet_len" c:identifier="gst_rtp_buffer_calc_packet_len">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The total length of an RTP header with given parameters.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="payload_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the length of the payload</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="pad_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the amount of padding</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="csrc_count" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the number of CSRC entries</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
<function name="calc_payload_len" c:identifier="gst_rtp_buffer_calc_payload_len">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The length of the payload of an RTP packet with given parameters.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="packet_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the length of the total RTP packet</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="pad_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the amount of padding</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="csrc_count" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the number of CSRC entries</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
<function name="compare_seqnum" c:identifier="gst_rtp_buffer_compare_seqnum">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Compare two sequence numbers, taking care of wraparounds. This function
returns the difference between @seqnum1 and @seqnum2.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">a negative value if @seqnum1 is bigger than @seqnum2, 0 if they
are equal or a positive value if @seqnum1 is smaller than @segnum2.</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="seqnum1" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">a sequence number</doc>
<type name="guint16" c:type="guint16"/>
</parameter>
<parameter name="seqnum2" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">a sequence number</doc>
<type name="guint16" c:type="guint16"/>
</parameter>
</parameters>
</function>
<function name="default_clock_rate" c:identifier="gst_rtp_buffer_default_clock_rate">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Get the default clock-rate for the static payload type @payload_type.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the default clock rate or -1 if the payload type is not static or
the clock-rate is undefined.</doc>
<type name="guint32" c:type="guint32"/>
</return-value>
<parameters>
<parameter name="payload_type" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the static payload type</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
<function name="ext_timestamp" c:identifier="gst_rtp_buffer_ext_timestamp">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">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:
- timestamp wraparound making sure that the returned value is properly increased.
- timestamp unwraparound making sure that the returned value is properly decreased.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The extended timestamp of @timestamp or 0 if the result can't go anywhere backwards.</doc>
<type name="guint64" c:type="guint64"/>
</return-value>
<parameters>
<parameter name="exttimestamp" direction="inout" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">a previous extended timestamp</doc>
<type name="guint64" c:type="guint64*"/>
</parameter>
<parameter name="timestamp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">a new timestamp</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</function>
<function name="get_extension_onebyte_header_from_bytes" c:identifier="gst_rtp_buffer_get_extension_onebyte_header_from_bytes" version="1.18">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">TRUE if @bytes had the requested header extension</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="bytes" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">#GBytes</doc>
<type name="GLib.Bytes" c:type="GBytes*"/>
</parameter>
<parameter name="bit_pattern" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The bit-pattern. Anything but 0xBEDE is rejected.</doc>
<type name="guint16" c:type="guint16"/>
</parameter>
<parameter name="id" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The ID of the header extension to be read (between 1 and 14).</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="nth" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Read the nth extension packet with the requested ID</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="data" direction="out" caller-allocates="0" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">
location for data</doc>
<array length="5" zero-terminated="0" c:type="gpointer*">
<type name="guint8"/>
</array>
</parameter>
<parameter name="size" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the size of the data in bytes</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</function>
<function name="map" c:identifier="gst_rtp_buffer_map">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Map the contents of @buffer into @rtp.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">%TRUE if @buffer could be mapped.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">a #GstBuffer</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">#GstMapFlags</doc>
<type name="Gst.MapFlags" c:type="GstMapFlags"/>
</parameter>
<parameter name="rtp" direction="out" caller-allocates="1" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">a #GstRTPBuffer</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</parameter>
</parameters>
</function>
<function name="new_allocate" c:identifier="gst_rtp_buffer_new_allocate">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">A newly allocated buffer that can hold an RTP packet with given
parameters.</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<parameter name="payload_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the length of the payload</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="pad_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the amount of padding</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="csrc_count" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the number of CSRC entries</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
<function name="new_allocate_len" c:identifier="gst_rtp_buffer_new_allocate_len">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">A newly allocated buffer that can hold an RTP packet of @packet_len.</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<parameter name="packet_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the total length of the packet</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="pad_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the amount of padding</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="csrc_count" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the number of CSRC entries</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
<function name="new_copy_data" c:identifier="gst_rtp_buffer_new_copy_data">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Create a new buffer and set the data to a copy of @len
bytes of @data and the size to @len. The data will be freed when the buffer
is freed.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">A newly allocated buffer with a copy of @data and of size @len.</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">data for the new
buffer</doc>
<array length="1" zero-terminated="0" c:type="gconstpointer">
<type name="guint8"/>
</array>
</parameter>
<parameter name="len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the length of data</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
</parameters>
</function>
<function name="new_take_data" c:identifier="gst_rtp_buffer_new_take_data">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Create a new buffer and set the data and size of the buffer to @data and @len
respectively. @data will be freed when the buffer is unreffed, so this
function transfers ownership of @data to the new buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">A newly allocated buffer with @data and of size @len.</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">
data for the new buffer</doc>
<array length="1" zero-terminated="0" c:type="gpointer">
<type name="guint8"/>
</array>
</parameter>
<parameter name="len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the length of data</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
</parameters>
</function>
</record>
<bitfield name="RTPBufferFlags" version="1.10" glib:type-name="GstRTPBufferFlags" glib:get-type="gst_rtp_buffer_flags_get_type" c:type="GstRTPBufferFlags">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h">Additional RTP buffer flags. These flags can potentially be used on any
buffers carrying RTP packets.
Note that these are only valid for #GstCaps of type: application/x-rtp (x-rtcp).
They can conflict with other extended buffer flags.</doc>
<member name="retransmission" value="1048576" c:identifier="GST_RTP_BUFFER_FLAG_RETRANSMISSION" glib:nick="retransmission">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h">The #GstBuffer was once wrapped
in a retransmitted packet as specified by RFC 4588.</doc>
</member>
<member name="redundant" value="2097152" c:identifier="GST_RTP_BUFFER_FLAG_REDUNDANT" glib:nick="redundant">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h">The packet represents redundant RTP packet.
The flag is used in gstrtpstorage to be able to hold the packetback
and use it only for recovery from packet loss.
Since: 1.14</doc>
</member>
<member name="last" value="268435456" c:identifier="GST_RTP_BUFFER_FLAG_LAST" glib:nick="last">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h">Offset to define more flags.</doc>
</member>
</bitfield>
<bitfield name="RTPBufferMapFlags" version="1.6.1" glib:type-name="GstRTPBufferMapFlags" glib:get-type="gst_rtp_buffer_map_flags_get_type" c:type="GstRTPBufferMapFlags">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h">Additional mapping flags for gst_rtp_buffer_map().</doc>
<member name="skip_padding" value="65536" c:identifier="GST_RTP_BUFFER_MAP_FLAG_SKIP_PADDING" glib:nick="skip-padding">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h">Skip mapping and validation of RTP
padding and RTP pad count when present. Useful for buffers where
the padding may be encrypted.</doc>
</member>
<member name="last" value="16777216" c:identifier="GST_RTP_BUFFER_MAP_FLAG_LAST" glib:nick="last">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h">Offset to define more flags</doc>
</member>
</bitfield>
<class name="RTPHeaderExtension" c:symbol-prefix="rtp_header_extension" c:type="GstRTPHeaderExtension" version="1.20" parent="Gst.Element" abstract="1" glib:type-name="GstRTPHeaderExtension" glib:get-type="gst_rtp_header_extension_get_type" glib:type-struct="RTPHeaderExtensionClass">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h">Instance struct for a RTP Audio/Video header extension.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<function name="create_from_uri" c:identifier="gst_rtp_header_extension_create_from_uri" version="1.20">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the #GstRTPHeaderExtension for @uri or %NULL</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the rtp header extension URI to search for</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<virtual-method name="get_max_size" invoker="get_max_size" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">This is used to know how much data a certain header extension will need for
both allocating the resulting data, and deciding how much payload data can
be generated.
Implementations should return as accurate a value as is possible using the
information given in the input @buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the maximum size of the data written by this extension</doc>
<type name="gsize" c:type="gsize"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
<parameter name="input_meta" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstBuffer</doc>
<type name="Gst.Buffer" c:type="const GstBuffer*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_supported_flags" invoker="get_supported_flags" version="1.20">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the flags supported by this instance of @ext</doc>
<type name="RTPHeaderExtensionFlags" c:type="GstRTPHeaderExtensionFlags"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="read" invoker="read" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">Read the RTP header extension from @data.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">whether the extension could be read from @data</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
<parameter name="read_flags" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">#GstRTPHeaderExtensionFlags for how the extension should
be written</doc>
<type name="RTPHeaderExtensionFlags" c:type="GstRTPHeaderExtensionFlags"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">location to read the rtp header extension from</doc>
<array length="2" zero-terminated="0" c:type="const guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">size of @data</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstBuffer to modify if necessary</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_attributes">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
<parameter name="direction" transfer-ownership="none">
<type name="RTPHeaderExtensionDirection" c:type="GstRTPHeaderExtensionDirection"/>
</parameter>
<parameter name="attributes" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_caps_from_attributes" invoker="set_caps_from_attributes" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">gst_rtp_header_extension_set_id() must have been called with a valid
extension id that is contained in these caps.
The only current known caps format is based on the SDP standard as produced
by gst_sdp_media_attributes_to_caps().</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">whether the configured attributes on @ext can successfully be set on
@caps</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
<parameter name="caps" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">writable #GstCaps to modify</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_non_rtp_sink_caps" invoker="set_non_rtp_sink_caps" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">Passes RTP payloader's sink (i.e. not payloaded) @caps to the header
extension.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">Whether @caps could be read successfully</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
<parameter name="caps" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">sink #GstCaps</doc>
<type name="Gst.Caps" c:type="const GstCaps*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="update_non_rtp_src_caps" invoker="update_non_rtp_src_caps" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">Updates depayloader src caps based on the information received in RTP header.
@caps must be writable as this function may modify them.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">whether @caps were modified successfully</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
<parameter name="caps" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">src #GstCaps to modify</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="write" invoker="write" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">Writes the RTP header extension to @data using information available from
the @input_meta. @data will be sized to be at least the value returned
from gst_rtp_header_extension_get_max_size().</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the size of the data written, &lt; 0 on failure</doc>
<type name="gssize" c:type="gssize"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
<parameter name="input_meta" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the input #GstBuffer to read information from if necessary</doc>
<type name="Gst.Buffer" c:type="const GstBuffer*"/>
</parameter>
<parameter name="write_flags" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">#GstRTPHeaderExtensionFlags for how the extension should
be written</doc>
<type name="RTPHeaderExtensionFlags" c:type="GstRTPHeaderExtensionFlags"/>
</parameter>
<parameter name="output" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">output RTP #GstBuffer</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">location to write the rtp header extension into</doc>
<array length="4" zero-terminated="0" c:type="guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">size of @data</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
</parameters>
</virtual-method>
<method name="get_direction" c:identifier="gst_rtp_header_extension_get_direction" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">Retrieve the direction</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">The direction</doc>
<type name="RTPHeaderExtensionDirection" c:type="GstRTPHeaderExtensionDirection"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_id" c:identifier="gst_rtp_header_extension_get_id" version="1.20">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the RTP extension id configured on @ext</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_max_size" c:identifier="gst_rtp_header_extension_get_max_size" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">This is used to know how much data a certain header extension will need for
both allocating the resulting data, and deciding how much payload data can
be generated.
Implementations should return as accurate a value as is possible using the
information given in the input @buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the maximum size of the data written by this extension</doc>
<type name="gsize" c:type="gsize"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
<parameter name="input_meta" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstBuffer</doc>
<type name="Gst.Buffer" c:type="const GstBuffer*"/>
</parameter>
</parameters>
</method>
<method name="get_sdp_caps_field_name" c:identifier="gst_rtp_header_extension_get_sdp_caps_field_name" version="1.20">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the #GstStructure field name used in SDP-like #GstCaps for this @ext configuration</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_supported_flags" c:identifier="gst_rtp_header_extension_get_supported_flags" version="1.20">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the flags supported by this instance of @ext</doc>
<type name="RTPHeaderExtensionFlags" c:type="GstRTPHeaderExtensionFlags"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_uri" c:identifier="gst_rtp_header_extension_get_uri" version="1.20">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the RTP extension URI for this object</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
</parameters>
</method>
<method name="read" c:identifier="gst_rtp_header_extension_read" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">Read the RTP header extension from @data.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">whether the extension could be read from @data</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
<parameter name="read_flags" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">#GstRTPHeaderExtensionFlags for how the extension should
be written</doc>
<type name="RTPHeaderExtensionFlags" c:type="GstRTPHeaderExtensionFlags"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">location to read the rtp header extension from</doc>
<array length="2" zero-terminated="0" c:type="const guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">size of @data</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstBuffer to modify if necessary</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
</parameters>
</method>
<method name="set_attributes_from_caps" c:identifier="gst_rtp_header_extension_set_attributes_from_caps" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">gst_rtp_header_extension_set_id() must have been called with a valid
extension id that is contained in these caps.
The only current known caps format is based on the SDP standard as produced
by gst_sdp_media_attributes_to_caps().</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">whether the @caps could be successfully set on @ext.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
<parameter name="caps" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the #GstCaps to configure this extension with</doc>
<type name="Gst.Caps" c:type="const GstCaps*"/>
</parameter>
</parameters>
</method>
<method name="set_caps_from_attributes" c:identifier="gst_rtp_header_extension_set_caps_from_attributes" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">gst_rtp_header_extension_set_id() must have been called with a valid
extension id that is contained in these caps.
The only current known caps format is based on the SDP standard as produced
by gst_sdp_media_attributes_to_caps().</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">whether the configured attributes on @ext can successfully be set on
@caps</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
<parameter name="caps" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">writable #GstCaps to modify</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
</method>
<method name="set_caps_from_attributes_helper" c:identifier="gst_rtp_header_extension_set_caps_from_attributes_helper" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">Helper implementation for GstRTPExtensionClass::set_caps_from_attributes
that sets the @ext uri on caps with the specified extension id as required
for sdp #GstCaps.
Requires that the extension does not have any attributes or direction
advertised in @caps.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">whether the @ext attributes could be set on @caps.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
<parameter name="caps" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">#GstCaps to write fields into</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
<parameter name="attributes" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_direction" c:identifier="gst_rtp_header_extension_set_direction" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">Set the direction that this header extension should be used in.
If #GST_RTP_HEADER_EXTENSION_DIRECTION_INHERITED is included, the
direction will not be included in the caps (as it shouldn't be in the
extmap line in the SDP).</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
<parameter name="direction" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">The direction</doc>
<type name="RTPHeaderExtensionDirection" c:type="GstRTPHeaderExtensionDirection"/>
</parameter>
</parameters>
</method>
<method name="set_id" c:identifier="gst_rtp_header_extension_set_id" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">sets the RTP extension id on @ext</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
<parameter name="ext_id" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">The id of this extension</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_non_rtp_sink_caps" c:identifier="gst_rtp_header_extension_set_non_rtp_sink_caps" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">Passes RTP payloader's sink (i.e. not payloaded) @caps to the header
extension.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">Whether @caps could be read successfully</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
<parameter name="caps" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">sink #GstCaps</doc>
<type name="Gst.Caps" c:type="const GstCaps*"/>
</parameter>
</parameters>
</method>
<method name="set_wants_update_non_rtp_src_caps" c:identifier="gst_rtp_header_extension_set_wants_update_non_rtp_src_caps" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">Call this function in a subclass from #GstRTPHeaderExtensionClass::read to
tell the depayloader whether the data just parsed from RTP packet require
updating its src (non-RTP) caps. If @state is TRUE, #GstRTPBaseDepayload will
eventually invoke gst_rtp_header_extension_update_non_rtp_src_caps() to
have the caps update applied. Applying the update also flips the internal
"wants update" flag back to FALSE.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
<parameter name="state" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">TRUE if caps update is needed</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="update_non_rtp_src_caps" c:identifier="gst_rtp_header_extension_update_non_rtp_src_caps" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">Updates depayloader src caps based on the information received in RTP header.
@caps must be writable as this function may modify them.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">whether @caps were modified successfully</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
<parameter name="caps" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">src #GstCaps to modify</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
</method>
<method name="wants_update_non_rtp_src_caps" c:identifier="gst_rtp_header_extension_wants_update_non_rtp_src_caps" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">Call this function after gst_rtp_header_extension_read() to check if
the depayloader's src caps need updating with data received in the last RTP
packet.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">Whether @ext wants to update depayloader's src caps.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
</parameters>
</method>
<method name="write" c:identifier="gst_rtp_header_extension_write" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">Writes the RTP header extension to @data using information available from
the @input_meta. @data will be sized to be at least the value returned
from gst_rtp_header_extension_get_max_size().</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the size of the data written, &lt; 0 on failure</doc>
<type name="gssize" c:type="gssize"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</instance-parameter>
<parameter name="input_meta" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the input #GstBuffer to read information from if necessary</doc>
<type name="Gst.Buffer" c:type="const GstBuffer*"/>
</parameter>
<parameter name="write_flags" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">#GstRTPHeaderExtensionFlags for how the extension should
be written</doc>
<type name="RTPHeaderExtensionFlags" c:type="GstRTPHeaderExtensionFlags"/>
</parameter>
<parameter name="output" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">output RTP #GstBuffer</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">location to write the rtp header extension into</doc>
<array length="4" zero-terminated="0" c:type="guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">size of @data</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
</parameters>
</method>
<field name="parent">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h">the parent #GObject</doc>
<type name="Gst.Element" c:type="GstElement"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="RTPHeaderExtensionClass" c:type="GstRTPHeaderExtensionClass" glib:is-gtype-struct-for="RTPHeaderExtension" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h">Base class for RTP Header extensions.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<field name="parent_class">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h">the parent class</doc>
<type name="Gst.ElementClass" c:type="GstElementClass"/>
</field>
<field name="get_supported_flags">
<callback name="get_supported_flags">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the flags supported by this instance of @ext</doc>
<type name="RTPHeaderExtensionFlags" c:type="GstRTPHeaderExtensionFlags"/>
</return-value>
<parameters>
<parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_max_size">
<callback name="get_max_size">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the maximum size of the data written by this extension</doc>
<type name="gsize" c:type="gsize"/>
</return-value>
<parameters>
<parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</parameter>
<parameter name="input_meta" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstBuffer</doc>
<type name="Gst.Buffer" c:type="const GstBuffer*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="write">
<callback name="write">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the size of the data written, &lt; 0 on failure</doc>
<type name="gssize" c:type="gssize"/>
</return-value>
<parameters>
<parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</parameter>
<parameter name="input_meta" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the input #GstBuffer to read information from if necessary</doc>
<type name="Gst.Buffer" c:type="const GstBuffer*"/>
</parameter>
<parameter name="write_flags" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">#GstRTPHeaderExtensionFlags for how the extension should
be written</doc>
<type name="RTPHeaderExtensionFlags" c:type="GstRTPHeaderExtensionFlags"/>
</parameter>
<parameter name="output" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">output RTP #GstBuffer</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">location to write the rtp header extension into</doc>
<array length="5" zero-terminated="0" c:type="guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">size of @data</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
</parameters>
</callback>
</field>
<field name="read">
<callback name="read">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">whether the extension could be read from @data</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</parameter>
<parameter name="read_flags" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">#GstRTPHeaderExtensionFlags for how the extension should
be written</doc>
<type name="RTPHeaderExtensionFlags" c:type="GstRTPHeaderExtensionFlags"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">location to read the rtp header extension from</doc>
<array length="3" zero-terminated="0" c:type="const guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">size of @data</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstBuffer to modify if necessary</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_non_rtp_sink_caps">
<callback name="set_non_rtp_sink_caps">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">Whether @caps could be read successfully</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</parameter>
<parameter name="caps" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">sink #GstCaps</doc>
<type name="Gst.Caps" c:type="const GstCaps*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="update_non_rtp_src_caps">
<callback name="update_non_rtp_src_caps">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">whether @caps were modified successfully</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</parameter>
<parameter name="caps" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">src #GstCaps to modify</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_attributes">
<callback name="set_attributes">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="ext" transfer-ownership="none">
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</parameter>
<parameter name="direction" transfer-ownership="none">
<type name="RTPHeaderExtensionDirection" c:type="GstRTPHeaderExtensionDirection"/>
</parameter>
<parameter name="attributes" transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="set_caps_from_attributes">
<callback name="set_caps_from_attributes">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">whether the configured attributes on @ext can successfully be set on
@caps</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GstRTPHeaderExtension</doc>
<type name="RTPHeaderExtension" c:type="GstRTPHeaderExtension*"/>
</parameter>
<parameter name="caps" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">writable #GstCaps to modify</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="20">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<method name="set_uri" c:identifier="gst_rtp_header_extension_class_set_uri" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">Set the URI for this RTP header extension implementation.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="klass" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the #GstRTPHeaderExtensionClass</doc>
<type name="RTPHeaderExtensionClass" c:type="GstRTPHeaderExtensionClass*"/>
</instance-parameter>
<parameter name="uri" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the RTP Header extension uri for @klass</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
</record>
<bitfield name="RTPHeaderExtensionDirection" version="1.20" glib:type-name="GstRTPHeaderExtensionDirection" glib:get-type="gst_rtp_header_extension_direction_get_type" c:type="GstRTPHeaderExtensionDirection">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h">Direction to which to apply the RTP Header Extension</doc>
<member name="inactive" value="0" c:identifier="GST_RTP_HEADER_EXTENSION_DIRECTION_INACTIVE" glib:nick="inactive">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h">Neither send nor
receive RTP Header Extensions</doc>
</member>
<member name="sendonly" value="1" c:identifier="GST_RTP_HEADER_EXTENSION_DIRECTION_SENDONLY" glib:nick="sendonly">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h">Only send RTP Header
Extensions @GST_RTP_HEADER_EXTENSION_DIRECTION_RECVONLY: Only
receive RTP Header Extensions</doc>
</member>
<member name="recvonly" value="2" c:identifier="GST_RTP_HEADER_EXTENSION_DIRECTION_RECVONLY" glib:nick="recvonly">
</member>
<member name="sendrecv" value="3" c:identifier="GST_RTP_HEADER_EXTENSION_DIRECTION_SENDRECV" glib:nick="sendrecv">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h">Send and receive RTP
Header Extensions ext</doc>
</member>
<member name="inherited" value="4" c:identifier="GST_RTP_HEADER_EXTENSION_DIRECTION_INHERITED" glib:nick="inherited">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h">RTP header extension
direction is inherited from the stream</doc>
</member>
</bitfield>
<bitfield name="RTPHeaderExtensionFlags" version="1.20" glib:type-name="GstRTPHeaderExtensionFlags" glib:get-type="gst_rtp_header_extension_flags_get_type" c:type="GstRTPHeaderExtensionFlags">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h">Flags that apply to a RTP Audio/Video header extension.</doc>
<member name="one_byte" value="1" c:identifier="GST_RTP_HEADER_EXTENSION_ONE_BYTE" glib:nick="one-byte">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h">The one byte rtp extension header.
1-16 data bytes per extension with a maximum of
14 extension ids in total.</doc>
</member>
<member name="two_byte" value="2" c:identifier="GST_RTP_HEADER_EXTENSION_TWO_BYTE" glib:nick="two-byte">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h">The two byte rtp extension header.
256 data bytes per extension with a maximum of 255 (or 256
including appbits) extensions in total.</doc>
</member>
</bitfield>
<enumeration name="RTPPayload" glib:type-name="GstRTPPayload" glib:get-type="gst_rtp_payload_get_type" c:type="GstRTPPayload">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">Standard predefined fixed payload types.
The official list is at:
http://www.iana.org/assignments/rtp-parameters
Audio:
reserved: 19
unassigned: 20-23,
Video:
unassigned: 24, 27, 29, 30, 35-71, 77-95
Reserved for RTCP conflict avoidance: 72-76</doc>
<member name="pcmu" value="0" c:identifier="GST_RTP_PAYLOAD_PCMU" glib:nick="pcmu">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">ITU-T G.711. mu-law audio (RFC 3551)</doc>
</member>
<member name="1016" value="1" c:identifier="GST_RTP_PAYLOAD_1016" glib:nick="1016">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">RFC 3551 says reserved</doc>
</member>
<member name="g721" value="2" c:identifier="GST_RTP_PAYLOAD_G721" glib:nick="g721">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">RFC 3551 says reserved</doc>
</member>
<member name="gsm" value="3" c:identifier="GST_RTP_PAYLOAD_GSM" glib:nick="gsm">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">GSM audio</doc>
</member>
<member name="g723" value="4" c:identifier="GST_RTP_PAYLOAD_G723" glib:nick="g723">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">ITU G.723.1 audio</doc>
</member>
<member name="dvi4_8000" value="5" c:identifier="GST_RTP_PAYLOAD_DVI4_8000" glib:nick="dvi4-8000">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">IMA ADPCM wave type (RFC 3551)</doc>
</member>
<member name="dvi4_16000" value="6" c:identifier="GST_RTP_PAYLOAD_DVI4_16000" glib:nick="dvi4-16000">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">IMA ADPCM wave type (RFC 3551)</doc>
</member>
<member name="lpc" value="7" c:identifier="GST_RTP_PAYLOAD_LPC" glib:nick="lpc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">experimental linear predictive encoding</doc>
</member>
<member name="pcma" value="8" c:identifier="GST_RTP_PAYLOAD_PCMA" glib:nick="pcma">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">ITU-T G.711 A-law audio (RFC 3551)</doc>
</member>
<member name="g722" value="9" c:identifier="GST_RTP_PAYLOAD_G722" glib:nick="g722">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">ITU-T G.722 (RFC 3551)</doc>
</member>
<member name="l16_stereo" value="10" c:identifier="GST_RTP_PAYLOAD_L16_STEREO" glib:nick="l16-stereo">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">stereo PCM</doc>
</member>
<member name="l16_mono" value="11" c:identifier="GST_RTP_PAYLOAD_L16_MONO" glib:nick="l16-mono">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">mono PCM</doc>
</member>
<member name="qcelp" value="12" c:identifier="GST_RTP_PAYLOAD_QCELP" glib:nick="qcelp">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">EIA &amp; TIA standard IS-733</doc>
</member>
<member name="cn" value="13" c:identifier="GST_RTP_PAYLOAD_CN" glib:nick="cn">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">Comfort Noise (RFC 3389)</doc>
</member>
<member name="mpa" value="14" c:identifier="GST_RTP_PAYLOAD_MPA" glib:nick="mpa">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">Audio MPEG 1-3.</doc>
</member>
<member name="g728" value="15" c:identifier="GST_RTP_PAYLOAD_G728" glib:nick="g728">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">ITU-T G.728 Speech coder (RFC 3551)</doc>
</member>
<member name="dvi4_11025" value="16" c:identifier="GST_RTP_PAYLOAD_DVI4_11025" glib:nick="dvi4-11025">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">IMA ADPCM wave type (RFC 3551)</doc>
</member>
<member name="dvi4_22050" value="17" c:identifier="GST_RTP_PAYLOAD_DVI4_22050" glib:nick="dvi4-22050">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">IMA ADPCM wave type (RFC 3551)</doc>
</member>
<member name="g729" value="18" c:identifier="GST_RTP_PAYLOAD_G729" glib:nick="g729">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">ITU-T G.729 Speech coder (RFC 3551)</doc>
</member>
<member name="cellb" value="25" c:identifier="GST_RTP_PAYLOAD_CELLB" glib:nick="cellb">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">See RFC 2029</doc>
</member>
<member name="jpeg" value="26" c:identifier="GST_RTP_PAYLOAD_JPEG" glib:nick="jpeg">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">ISO Standards 10918-1 and 10918-2 (RFC 2435)</doc>
</member>
<member name="nv" value="28" c:identifier="GST_RTP_PAYLOAD_NV" glib:nick="nv">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">nv encoding by Ron Frederick</doc>
</member>
<member name="h261" value="31" c:identifier="GST_RTP_PAYLOAD_H261" glib:nick="h261">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">ITU-T Recommendation H.261 (RFC 2032)</doc>
</member>
<member name="mpv" value="32" c:identifier="GST_RTP_PAYLOAD_MPV" glib:nick="mpv">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">Video MPEG 1 &amp; 2 (RFC 2250)</doc>
</member>
<member name="mp2t" value="33" c:identifier="GST_RTP_PAYLOAD_MP2T" glib:nick="mp2t">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">MPEG-2 transport stream (RFC 2250)</doc>
</member>
<member name="h263" value="34" c:identifier="GST_RTP_PAYLOAD_H263" glib:nick="h263">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">Video H263 (RFC 2190)</doc>
</member>
</enumeration>
<record name="RTPPayloadInfo" c:type="GstRTPPayloadInfo">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">Structure holding default payload type information.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<field name="payload_type" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">payload type, -1 means dynamic</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="media" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">the media type(s), usually "audio", "video", "application", "text",
"message".</doc>
<type name="utf8" c:type="const gchar*"/>
</field>
<field name="encoding_name" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">the encoding name of @pt</doc>
<type name="utf8" c:type="const gchar*"/>
</field>
<field name="clock_rate" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">default clock rate, 0 = unknown/variable</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="encoding_parameters" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">encoding parameters. For audio this is the number of
channels. NULL = not applicable.</doc>
<type name="utf8" c:type="const gchar*"/>
</field>
<field name="bitrate" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">the bitrate of the media. 0 = unknown/variable.</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<function name="for_name" c:identifier="gst_rtp_payload_info_for_name">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.c">a #GstRTPPayloadInfo or NULL when no info could be found.</doc>
<type name="RTPPayloadInfo" c:type="const GstRTPPayloadInfo*"/>
</return-value>
<parameters>
<parameter name="media" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.c">the media to find</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="encoding_name" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.c">the encoding name to find</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="for_pt" c:identifier="gst_rtp_payload_info_for_pt">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.c">a #GstRTPPayloadInfo or NULL when no info could be found.</doc>
<type name="RTPPayloadInfo" c:type="const GstRTPPayloadInfo*"/>
</return-value>
<parameters>
<parameter name="payload_type" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.c">the payload_type to find</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
</record>
<enumeration name="RTPProfile" version="1.6" glib:type-name="GstRTPProfile" glib:get-type="gst_rtp_profile_get_type" c:type="GstRTPProfile">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpdefs.h">The transfer profile to use.</doc>
<member name="unknown" value="0" c:identifier="GST_RTP_PROFILE_UNKNOWN" glib:nick="unknown">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpdefs.h">invalid profile</doc>
</member>
<member name="avp" value="1" c:identifier="GST_RTP_PROFILE_AVP" glib:nick="avp">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpdefs.h">the Audio/Visual profile (RFC 3551)</doc>
</member>
<member name="savp" value="2" c:identifier="GST_RTP_PROFILE_SAVP" glib:nick="savp">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpdefs.h">the secure Audio/Visual profile (RFC 3711)</doc>
</member>
<member name="avpf" value="3" c:identifier="GST_RTP_PROFILE_AVPF" glib:nick="avpf">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpdefs.h">the Audio/Visual profile with feedback (RFC 4585)</doc>
</member>
<member name="savpf" value="4" c:identifier="GST_RTP_PROFILE_SAVPF" glib:nick="savpf">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpdefs.h">the secure Audio/Visual profile with feedback (RFC 5124)</doc>
</member>
</enumeration>
<record name="RTPSourceMeta" c:type="GstRTPSourceMeta" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.h">Meta describing the source(s) of the buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.h"/>
<field name="meta" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.h">parent #GstMeta</doc>
<type name="Gst.Meta" c:type="GstMeta"/>
</field>
<field name="ssrc" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.h">the SSRC</doc>
<type name="guint32" c:type="guint32"/>
</field>
<field name="ssrc_valid" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.h">whether @ssrc is set and valid</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="csrc" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.h">pointer to the CSRCs</doc>
<array zero-terminated="0" fixed-size="15">
<type name="guint32" c:type="guint32"/>
</array>
</field>
<field name="csrc_count" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.h">number of elements in @csrc</doc>
<type name="guint" c:type="guint"/>
</field>
<method name="append_csrc" c:identifier="gst_rtp_source_meta_append_csrc" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.c">Appends @csrc to the list of contributing sources in @meta.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.c">%TRUE if all elements in @csrc was added, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="meta" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.c">a #GstRTPSourceMeta</doc>
<type name="RTPSourceMeta" c:type="GstRTPSourceMeta*"/>
</instance-parameter>
<parameter name="csrc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.c">the csrcs to append</doc>
<array length="1" zero-terminated="0" c:type="const guint32*">
<type name="guint32" c:type="guint32"/>
</array>
</parameter>
<parameter name="csrc_count" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.c">number of elements in @csrc</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_source_count" c:identifier="gst_rtp_source_meta_get_source_count" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.c">Count the total number of RTP sources found in @meta, both SSRC and CSRC.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.c">The number of RTP sources</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="meta" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.c">a #GstRTPSourceMeta</doc>
<type name="RTPSourceMeta" c:type="const GstRTPSourceMeta*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_ssrc" c:identifier="gst_rtp_source_meta_set_ssrc" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.c">Sets @ssrc in @meta. If @ssrc is %NULL the ssrc of @meta will be unset.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.c">%TRUE on success, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="meta" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.c">a #GstRTPSourceMeta</doc>
<type name="RTPSourceMeta" c:type="GstRTPSourceMeta*"/>
</instance-parameter>
<parameter name="ssrc" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.c">pointer to the SSRC</doc>
<type name="guint32" c:type="guint32*"/>
</parameter>
</parameters>
</method>
<function name="get_info" c:identifier="gst_rtp_source_meta_get_info">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.h"/>
<return-value transfer-ownership="none">
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
</return-value>
</function>
</record>
<function-macro name="RTP_BASE_AUDIO_PAYLOAD" c:identifier="GST_RTP_BASE_AUDIO_PAYLOAD" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="RTP_BASE_AUDIO_PAYLOAD_CAST" c:identifier="GST_RTP_BASE_AUDIO_PAYLOAD_CAST" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="RTP_BASE_AUDIO_PAYLOAD_CLASS" c:identifier="GST_RTP_BASE_AUDIO_PAYLOAD_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="RTP_BASE_DEPAYLOAD" c:identifier="GST_RTP_BASE_DEPAYLOAD" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="RTP_BASE_DEPAYLOAD_CAST" c:identifier="GST_RTP_BASE_DEPAYLOAD_CAST" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="RTP_BASE_DEPAYLOAD_CLASS" c:identifier="GST_RTP_BASE_DEPAYLOAD_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="RTP_BASE_DEPAYLOAD_GET_CLASS" c:identifier="GST_RTP_BASE_DEPAYLOAD_GET_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="RTP_BASE_DEPAYLOAD_SINKPAD" c:identifier="GST_RTP_BASE_DEPAYLOAD_SINKPAD" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<parameters>
<parameter name="depayload">
</parameter>
</parameters>
</function-macro>
<function-macro name="RTP_BASE_DEPAYLOAD_SRCPAD" c:identifier="GST_RTP_BASE_DEPAYLOAD_SRCPAD" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasedepayload.h"/>
<parameters>
<parameter name="depayload">
</parameter>
</parameters>
</function-macro>
<function-macro name="RTP_BASE_PAYLOAD" c:identifier="GST_RTP_BASE_PAYLOAD" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="RTP_BASE_PAYLOAD_CAST" c:identifier="GST_RTP_BASE_PAYLOAD_CAST" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="RTP_BASE_PAYLOAD_CLASS" c:identifier="GST_RTP_BASE_PAYLOAD_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="RTP_BASE_PAYLOAD_GET_CLASS" c:identifier="GST_RTP_BASE_PAYLOAD_GET_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="RTP_BASE_PAYLOAD_MTU" c:identifier="GST_RTP_BASE_PAYLOAD_MTU" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h">Get access to the configured MTU of @payload.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<parameters>
<parameter name="payload">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h">a #GstRTPBasePayload</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="RTP_BASE_PAYLOAD_PT" c:identifier="GST_RTP_BASE_PAYLOAD_PT" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h">Get access to the configured payload type of @payload.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<parameters>
<parameter name="payload">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h">a #GstRTPBasePayload</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="RTP_BASE_PAYLOAD_SINKPAD" c:identifier="GST_RTP_BASE_PAYLOAD_SINKPAD" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h">Get access to the sinkpad of @payload.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<parameters>
<parameter name="payload">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h">a #GstRTPBasePayload</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="RTP_BASE_PAYLOAD_SRCPAD" c:identifier="GST_RTP_BASE_PAYLOAD_SRCPAD" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h">Get access to the srcpad of @payload.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h"/>
<parameters>
<parameter name="payload">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.h">a #GstRTPBasePayload</doc>
</parameter>
</parameters>
</function-macro>
<constant name="RTP_HDREXT_BASE" value="urn:ietf:params:rtp-hdrext:" c:type="GST_RTP_HDREXT_BASE">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_HDREXT_ELEMENT_CLASS" value="Network/Extension/RTPHeader" c:type="GST_RTP_HDREXT_ELEMENT_CLASS" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h">Constant string used in element classification to signal that this element
is a RTP header extension.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_HDREXT_NTP_56" value="ntp-56" c:type="GST_RTP_HDREXT_NTP_56">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_HDREXT_NTP_56_SIZE" value="7" c:type="GST_RTP_HDREXT_NTP_56_SIZE">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="RTP_HDREXT_NTP_64" value="ntp-64" c:type="GST_RTP_HDREXT_NTP_64">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_HDREXT_NTP_64_SIZE" value="8" c:type="GST_RTP_HDREXT_NTP_64_SIZE">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<type name="gint" c:type="gint"/>
</constant>
<function-macro name="RTP_HEADER_EXTENSION" c:identifier="GST_RTP_HEADER_EXTENSION" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="RTP_HEADER_EXTENSION_CAST" c:identifier="GST_RTP_HEADER_EXTENSION_CAST" version="1.20" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="RTP_HEADER_EXTENSION_CLASS" c:identifier="GST_RTP_HEADER_EXTENSION_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="RTP_HEADER_EXTENSION_GET_CLASS" c:identifier="GST_RTP_HEADER_EXTENSION_GET_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<constant name="RTP_HEADER_EXTENSION_URI_METADATA_KEY" value="RTP-Header-Extension-URI" c:type="GST_RTP_HEADER_EXTENSION_URI_METADATA_KEY" version="1.20">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_1016_STRING" value="1" c:type="GST_RTP_PAYLOAD_1016_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_CELLB_STRING" value="25" c:type="GST_RTP_PAYLOAD_CELLB_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_CN_STRING" value="13" c:type="GST_RTP_PAYLOAD_CN_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_DVI4_11025_STRING" value="16" c:type="GST_RTP_PAYLOAD_DVI4_11025_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_DVI4_16000_STRING" value="6" c:type="GST_RTP_PAYLOAD_DVI4_16000_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_DVI4_22050_STRING" value="17" c:type="GST_RTP_PAYLOAD_DVI4_22050_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_DVI4_8000_STRING" value="5" c:type="GST_RTP_PAYLOAD_DVI4_8000_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_DYNAMIC_STRING" value="[96, 127]" c:type="GST_RTP_PAYLOAD_DYNAMIC_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_G721_STRING" value="2" c:type="GST_RTP_PAYLOAD_G721_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_G722_STRING" value="9" c:type="GST_RTP_PAYLOAD_G722_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_G723_53" value="17" c:type="GST_RTP_PAYLOAD_G723_53">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="RTP_PAYLOAD_G723_53_STRING" value="17" c:type="GST_RTP_PAYLOAD_G723_53_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_G723_63" value="16" c:type="GST_RTP_PAYLOAD_G723_63">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="RTP_PAYLOAD_G723_63_STRING" value="16" c:type="GST_RTP_PAYLOAD_G723_63_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_G723_STRING" value="4" c:type="GST_RTP_PAYLOAD_G723_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_G728_STRING" value="15" c:type="GST_RTP_PAYLOAD_G728_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_G729_STRING" value="18" c:type="GST_RTP_PAYLOAD_G729_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_GSM_STRING" value="3" c:type="GST_RTP_PAYLOAD_GSM_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_H261_STRING" value="31" c:type="GST_RTP_PAYLOAD_H261_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_H263_STRING" value="34" c:type="GST_RTP_PAYLOAD_H263_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="RTP_PAYLOAD_IS_DYNAMIC" c:identifier="GST_RTP_PAYLOAD_IS_DYNAMIC" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">Check if @pt is a dynamic payload type.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<parameters>
<parameter name="pt">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h">a payload type</doc>
</parameter>
</parameters>
</function-macro>
<constant name="RTP_PAYLOAD_JPEG_STRING" value="26" c:type="GST_RTP_PAYLOAD_JPEG_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_L16_MONO_STRING" value="11" c:type="GST_RTP_PAYLOAD_L16_MONO_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_L16_STEREO_STRING" value="10" c:type="GST_RTP_PAYLOAD_L16_STEREO_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_LPC_STRING" value="7" c:type="GST_RTP_PAYLOAD_LPC_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_MP2T_STRING" value="33" c:type="GST_RTP_PAYLOAD_MP2T_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_MPA_STRING" value="14" c:type="GST_RTP_PAYLOAD_MPA_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_MPV_STRING" value="32" c:type="GST_RTP_PAYLOAD_MPV_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_NV_STRING" value="28" c:type="GST_RTP_PAYLOAD_NV_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_PCMA_STRING" value="8" c:type="GST_RTP_PAYLOAD_PCMA_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_PCMU_STRING" value="0" c:type="GST_RTP_PAYLOAD_PCMU_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_QCELP_STRING" value="12" c:type="GST_RTP_PAYLOAD_QCELP_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_TS41" value="19" c:type="GST_RTP_PAYLOAD_TS41">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="RTP_PAYLOAD_TS41_STRING" value="19" c:type="GST_RTP_PAYLOAD_TS41_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_PAYLOAD_TS48" value="18" c:type="GST_RTP_PAYLOAD_TS48">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="RTP_PAYLOAD_TS48_STRING" value="18" c:type="GST_RTP_PAYLOAD_TS48_STRING">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="RTP_SOURCE_META_MAX_CSRC_COUNT" value="15" c:type="GST_RTP_SOURCE_META_MAX_CSRC_COUNT">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="RTP_VERSION" value="2" c:type="GST_RTP_VERSION">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h">The supported RTP version 2.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<type name="gint" c:type="gint"/>
</constant>
<function name="buffer_add_rtp_source_meta" c:identifier="gst_buffer_add_rtp_source_meta" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.c">Attaches RTP source information to @buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.c">the #GstRTPSourceMeta on @buffer.</doc>
<type name="RTPSourceMeta" c:type="GstRTPSourceMeta*"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.c">a #GstBuffer</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
<parameter name="ssrc" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.c">pointer to the SSRC</doc>
<type name="guint32" c:type="const guint32*"/>
</parameter>
<parameter name="csrc" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.c">pointer to the CSRCs</doc>
<array length="3" zero-terminated="0" c:type="const guint32*">
<type name="guint32" c:type="guint32"/>
</array>
</parameter>
<parameter name="csrc_count" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.c">number of elements in @csrc</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="buffer_get_rtp_source_meta" c:identifier="gst_buffer_get_rtp_source_meta" version="1.16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.c">Find the #GstRTPSourceMeta on @buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.h"/>
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.c">the #GstRTPSourceMeta or %NULL when there
is no such metadata on @buffer.</doc>
<type name="RTPSourceMeta" c:type="GstRTPSourceMeta*"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.c">a #GstBuffer</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
</parameters>
</function>
<docsection name="gstrtpdefs">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpdefs.h">Provides common defines for the RTP library.</doc>
</docsection>
<docsection name="gstrtppayloads">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.c">The GstRTPPayloads helper functions makes it easy to deal with static and dynamic
payloads. Its main purpose is to retrieve properties such as the default clock-rate
and get session bandwidth information.</doc>
</docsection>
<function name="rtcp_buffer_map" c:identifier="gst_rtcp_buffer_map" moved-to="RTCPBuffer.map">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Open @buffer for reading or writing, depending on @flags. The resulting RTCP
buffer state is stored in @rtcp.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a buffer with an RTCP packet</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">flags for the mapping</doc>
<type name="Gst.MapFlags" c:type="GstMapFlags"/>
</parameter>
<parameter name="rtcp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">resulting #GstRTCPBuffer</doc>
<type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
</parameter>
</parameters>
</function>
<function name="rtcp_buffer_new" c:identifier="gst_rtcp_buffer_new" moved-to="RTCPBuffer.new">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Create a new buffer for constructing RTCP packets. The packet will have a
maximum size of @mtu.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">A newly allocated buffer.</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<parameter name="mtu" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the maximum mtu size.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="rtcp_buffer_new_copy_data" c:identifier="gst_rtcp_buffer_new_copy_data" moved-to="RTCPBuffer.new_copy_data">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Create a new buffer and set the data to a copy of @len
bytes of @data and the size to @len. The data will be freed when the buffer
is freed.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">A newly allocated buffer with a copy of @data and of size @len.</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">data for the new buffer</doc>
<array length="1" zero-terminated="0" c:type="gconstpointer">
<type name="guint8"/>
</array>
</parameter>
<parameter name="len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the length of data</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="rtcp_buffer_new_take_data" c:identifier="gst_rtcp_buffer_new_take_data" moved-to="RTCPBuffer.new_take_data">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Create a new buffer and set the data and size of the buffer to @data and @len
respectively. @data will be freed when the buffer is unreffed, so this
function transfers ownership of @data to the new buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">A newly allocated buffer with @data and of size @len.</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">data for the new buffer</doc>
<array length="1" zero-terminated="0" c:type="gpointer">
<type name="guint8"/>
</array>
</parameter>
<parameter name="len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the length of data</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="rtcp_buffer_validate" c:identifier="gst_rtcp_buffer_validate" moved-to="RTCPBuffer.validate">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Check if the data pointed to by @buffer is a valid RTCP packet using
gst_rtcp_buffer_validate_data().</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">TRUE if @buffer is a valid RTCP packet.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the buffer to validate</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
</parameters>
</function>
<function name="rtcp_buffer_validate_data" c:identifier="gst_rtcp_buffer_validate_data" moved-to="RTCPBuffer.validate_data">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">TRUE if the data points to a valid RTCP packet.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the data to validate</doc>
<array length="1" zero-terminated="0" c:type="guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the length of @data to validate</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="rtcp_buffer_validate_data_reduced" c:identifier="gst_rtcp_buffer_validate_data_reduced" moved-to="RTCPBuffer.validate_data_reduced" version="1.6">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">TRUE if the data points to a valid RTCP packet.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the data to validate</doc>
<array length="1" zero-terminated="0" c:type="guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the length of @data to validate</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="rtcp_buffer_validate_reduced" c:identifier="gst_rtcp_buffer_validate_reduced" moved-to="RTCPBuffer.validate_reduced" version="1.6">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Check if the data pointed to by @buffer is a valid RTCP packet using
gst_rtcp_buffer_validate_reduced().</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">TRUE if @buffer is a valid RTCP packet.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the buffer to validate</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
</parameters>
</function>
<function name="rtcp_ntp_to_unix" c:identifier="gst_rtcp_ntp_to_unix">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the UNIX time for @ntptime in nanoseconds.</doc>
<type name="guint64" c:type="guint64"/>
</return-value>
<parameters>
<parameter name="ntptime" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">an NTP timestamp</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
</function>
<function name="rtcp_sdes_name_to_type" c:identifier="gst_rtcp_sdes_name_to_type">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Convert @name into a @GstRTCPSDESType. @name is typically a key in a
#GstStructure containing SDES items.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the #GstRTCPSDESType for @name or #GST_RTCP_SDES_PRIV when @name
is a private sdes item.</doc>
<type name="RTCPSDESType" c:type="GstRTCPSDESType"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a SDES name</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="rtcp_sdes_type_to_name" c:identifier="gst_rtcp_sdes_type_to_name">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Converts @type to the string equivalent. The string is typically used as a
key in a #GstStructure containing SDES items.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the string equivalent of @type</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">a #GstRTCPSDESType</doc>
<type name="RTCPSDESType" c:type="GstRTCPSDESType"/>
</parameter>
</parameters>
</function>
<function name="rtcp_unix_to_ntp" c:identifier="gst_rtcp_unix_to_ntp">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">the NTP time for @unixtime.</doc>
<type name="guint64" c:type="guint64"/>
</return-value>
<parameters>
<parameter name="unixtime" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">an UNIX timestamp in nanoseconds</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
</function>
<function name="rtp_buffer_allocate_data" c:identifier="gst_rtp_buffer_allocate_data" moved-to="RTPBuffer.allocate_data">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">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 &gt;0, the padding bit will be set. All other RTP header fields
will be set to 0/FALSE.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">a #GstBuffer</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
<parameter name="payload_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the length of the payload</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="pad_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the amount of padding</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="csrc_count" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the number of CSRC entries</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
<function name="rtp_buffer_calc_header_len" c:identifier="gst_rtp_buffer_calc_header_len" moved-to="RTPBuffer.calc_header_len">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Calculate the header length of an RTP packet with @csrc_count CSRC entries.
An RTP packet can have at most 15 CSRC entries.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The length of an RTP header with @csrc_count CSRC entries.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="csrc_count" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the number of CSRC entries</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
<function name="rtp_buffer_calc_packet_len" c:identifier="gst_rtp_buffer_calc_packet_len" moved-to="RTPBuffer.calc_packet_len">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The total length of an RTP header with given parameters.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="payload_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the length of the payload</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="pad_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the amount of padding</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="csrc_count" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the number of CSRC entries</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
<function name="rtp_buffer_calc_payload_len" c:identifier="gst_rtp_buffer_calc_payload_len" moved-to="RTPBuffer.calc_payload_len">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The length of the payload of an RTP packet with given parameters.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="packet_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the length of the total RTP packet</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="pad_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the amount of padding</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="csrc_count" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the number of CSRC entries</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
<function name="rtp_buffer_compare_seqnum" c:identifier="gst_rtp_buffer_compare_seqnum" moved-to="RTPBuffer.compare_seqnum">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Compare two sequence numbers, taking care of wraparounds. This function
returns the difference between @seqnum1 and @seqnum2.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">a negative value if @seqnum1 is bigger than @seqnum2, 0 if they
are equal or a positive value if @seqnum1 is smaller than @segnum2.</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="seqnum1" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">a sequence number</doc>
<type name="guint16" c:type="guint16"/>
</parameter>
<parameter name="seqnum2" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">a sequence number</doc>
<type name="guint16" c:type="guint16"/>
</parameter>
</parameters>
</function>
<function name="rtp_buffer_default_clock_rate" c:identifier="gst_rtp_buffer_default_clock_rate" moved-to="RTPBuffer.default_clock_rate">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Get the default clock-rate for the static payload type @payload_type.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the default clock rate or -1 if the payload type is not static or
the clock-rate is undefined.</doc>
<type name="guint32" c:type="guint32"/>
</return-value>
<parameters>
<parameter name="payload_type" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the static payload type</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
<function name="rtp_buffer_ext_timestamp" c:identifier="gst_rtp_buffer_ext_timestamp" moved-to="RTPBuffer.ext_timestamp">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">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:
- timestamp wraparound making sure that the returned value is properly increased.
- timestamp unwraparound making sure that the returned value is properly decreased.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The extended timestamp of @timestamp or 0 if the result can't go anywhere backwards.</doc>
<type name="guint64" c:type="guint64"/>
</return-value>
<parameters>
<parameter name="exttimestamp" direction="inout" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">a previous extended timestamp</doc>
<type name="guint64" c:type="guint64*"/>
</parameter>
<parameter name="timestamp" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">a new timestamp</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</function>
<function name="rtp_buffer_get_extension_onebyte_header_from_bytes" c:identifier="gst_rtp_buffer_get_extension_onebyte_header_from_bytes" moved-to="RTPBuffer.get_extension_onebyte_header_from_bytes" version="1.18">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">TRUE if @bytes had the requested header extension</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="bytes" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">#GBytes</doc>
<type name="GLib.Bytes" c:type="GBytes*"/>
</parameter>
<parameter name="bit_pattern" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The bit-pattern. Anything but 0xBEDE is rejected.</doc>
<type name="guint16" c:type="guint16"/>
</parameter>
<parameter name="id" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">The ID of the header extension to be read (between 1 and 14).</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="nth" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Read the nth extension packet with the requested ID</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="data" direction="out" caller-allocates="0" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">
location for data</doc>
<array length="5" zero-terminated="0" c:type="gpointer*">
<type name="guint8"/>
</array>
</parameter>
<parameter name="size" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the size of the data in bytes</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</function>
<function name="rtp_buffer_map" c:identifier="gst_rtp_buffer_map" moved-to="RTPBuffer.map">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Map the contents of @buffer into @rtp.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">%TRUE if @buffer could be mapped.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">a #GstBuffer</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">#GstMapFlags</doc>
<type name="Gst.MapFlags" c:type="GstMapFlags"/>
</parameter>
<parameter name="rtp" direction="out" caller-allocates="1" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">a #GstRTPBuffer</doc>
<type name="RTPBuffer" c:type="GstRTPBuffer*"/>
</parameter>
</parameters>
</function>
<function name="rtp_buffer_new_allocate" c:identifier="gst_rtp_buffer_new_allocate" moved-to="RTPBuffer.new_allocate">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">A newly allocated buffer that can hold an RTP packet with given
parameters.</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<parameter name="payload_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the length of the payload</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="pad_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the amount of padding</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="csrc_count" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the number of CSRC entries</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
<function name="rtp_buffer_new_allocate_len" c:identifier="gst_rtp_buffer_new_allocate_len" moved-to="RTPBuffer.new_allocate_len">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">A newly allocated buffer that can hold an RTP packet of @packet_len.</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<parameter name="packet_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the total length of the packet</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="pad_len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the amount of padding</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="csrc_count" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the number of CSRC entries</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
<function name="rtp_buffer_new_copy_data" c:identifier="gst_rtp_buffer_new_copy_data" moved-to="RTPBuffer.new_copy_data">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Create a new buffer and set the data to a copy of @len
bytes of @data and the size to @len. The data will be freed when the buffer
is freed.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">A newly allocated buffer with a copy of @data and of size @len.</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">data for the new
buffer</doc>
<array length="1" zero-terminated="0" c:type="gconstpointer">
<type name="guint8"/>
</array>
</parameter>
<parameter name="len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the length of data</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
</parameters>
</function>
<function name="rtp_buffer_new_take_data" c:identifier="gst_rtp_buffer_new_take_data" moved-to="RTPBuffer.new_take_data">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">Create a new buffer and set the data and size of the buffer to @data and @len
respectively. @data will be freed when the buffer is unreffed, so this
function transfers ownership of @data to the new buffer.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">A newly allocated buffer with @data and of size @len.</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">
data for the new buffer</doc>
<array length="1" zero-terminated="0" c:type="gpointer">
<type name="guint8"/>
</array>
</parameter>
<parameter name="len" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c">the length of data</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
</parameters>
</function>
<function name="rtp_get_header_extension_list" c:identifier="gst_rtp_get_header_extension_list" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">Retrieve all the factories of the currently registered RTP header
extensions. Call gst_element_factory_create() with each factory to create
the associated #GstRTPHeaderExtension.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">a #GList of
#GstElementFactory's. Use gst_plugin_feature_list_free() after use</doc>
<type name="GLib.List" c:type="GList*">
<type name="Gst.ElementFactory"/>
</type>
</return-value>
</function>
<function name="rtp_hdrext_get_ntp_56" c:identifier="gst_rtp_hdrext_get_ntp_56">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">Reads the NTP time from the @size NTP-56 extension bytes in @data and store the
result in @ntptime.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">%TRUE on success.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the data to read from</doc>
<array length="1" zero-terminated="0" c:type="gpointer">
<type name="guint8"/>
</array>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the size of @data</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="ntptime" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the result NTP time</doc>
<type name="guint64" c:type="guint64*"/>
</parameter>
</parameters>
</function>
<function name="rtp_hdrext_get_ntp_64" c:identifier="gst_rtp_hdrext_get_ntp_64">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">Reads the NTP time from the @size NTP-64 extension bytes in @data and store the
result in @ntptime.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">%TRUE on success.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the data to read from</doc>
<array length="1" zero-terminated="0" c:type="gpointer">
<type name="guint8"/>
</array>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the size of @data</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="ntptime" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the result NTP time</doc>
<type name="guint64" c:type="guint64*"/>
</parameter>
</parameters>
</function>
<function name="rtp_hdrext_set_ntp_56" c:identifier="gst_rtp_hdrext_set_ntp_56">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">%TRUE on success.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the data to write to</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the size of @data</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="ntptime" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the NTP time</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
</function>
<function name="rtp_hdrext_set_ntp_64" c:identifier="gst_rtp_hdrext_set_ntp_64">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">%TRUE on success.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the data to write to</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the size of @data</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="ntptime" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtphdrext.c">the NTP time</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
</function>
<function name="rtp_payload_info_for_name" c:identifier="gst_rtp_payload_info_for_name" moved-to="RTPPayloadInfo.for_name">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.c">a #GstRTPPayloadInfo or NULL when no info could be found.</doc>
<type name="RTPPayloadInfo" c:type="const GstRTPPayloadInfo*"/>
</return-value>
<parameters>
<parameter name="media" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.c">the media to find</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="encoding_name" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.c">the encoding name to find</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="rtp_payload_info_for_pt" c:identifier="gst_rtp_payload_info_for_pt" moved-to="RTPPayloadInfo.for_pt">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h"/>
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.c">a #GstRTPPayloadInfo or NULL when no info could be found.</doc>
<type name="RTPPayloadInfo" c:type="const GstRTPPayloadInfo*"/>
</return-value>
<parameters>
<parameter name="payload_type" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.c">the payload_type to find</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
<function name="rtp_source_meta_api_get_type" c:identifier="gst_rtp_source_meta_api_get_type">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.h"/>
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
</function>
<function name="rtp_source_meta_get_info" c:identifier="gst_rtp_source_meta_get_info" moved-to="RTPSourceMeta.get_info">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpmeta.h"/>
<return-value transfer-ownership="none">
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
</return-value>
</function>
</namespace>
</repository>