summaryrefslogtreecommitdiff
path: root/girs/GstRtp-1.0.gir
diff options
context:
space:
mode:
Diffstat (limited to 'girs/GstRtp-1.0.gir')
-rw-r--r--girs/GstRtp-1.0.gir4824
1 files changed, 4824 insertions, 0 deletions
diff --git a/girs/GstRtp-1.0.gir b/girs/GstRtp-1.0.gir
new file mode 100644
index 0000000000..d80e51259f
--- /dev/null
+++ b/girs/GstRtp-1.0.gir
@@ -0,0 +1,4824 @@
+<?xml version="1.0"?>
+<!-- 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 version="1.2"
+ 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">
+ <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">
+ <record name="RTCPBuffer" c:type="GstRTCPBuffer">
+ <doc xml:space="preserve">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>
+ <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">Add a new packet of @type to @rtcp. @packet will point to the newly created
+packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">a valid RTCP buffer</doc>
+ <type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve">the #GstRTCPType of the new packet</doc>
+ <type name="RTCPType" c:type="GstRTCPType"/>
+ </parameter>
+ <parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve">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">Initialize a new #GstRTCPPacket pointer that points to the first packet in
+@rtcp.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">a valid RTCP buffer</doc>
+ <type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
+ </instance-parameter>
+ <parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve">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">Get the number of RTCP packets in @rtcp.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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>
+ <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">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">Open @buffer for reading or writing, depending on @flags. The resulting RTCP
+buffer state is stored in @rtcp.</doc>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve">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">flags for the mapping</doc>
+ <type name="Gst.MapFlags" c:type="GstMapFlags"/>
+ </parameter>
+ <parameter name="rtcp" transfer-ownership="none">
+ <doc xml:space="preserve">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">Create a new buffer for constructing RTCP packets. The packet will have a
+maximum size of @mtu.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">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">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">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>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">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">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">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">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>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">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">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">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">Check if the data pointed to by @buffer is a valid RTCP packet using
+gst_rtcp_buffer_validate_data().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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">Check if the data pointed to by @buffer is a valid RTCP packet using
+gst_rtcp_buffer_validate_reduced().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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">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">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">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">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">Request an SR packet for early
+ synchronization</doc>
+ </member>
+ <member name="psfb_type_pli"
+ value="1"
+ c:identifier="GST_RTCP_PSFB_TYPE_PLI"
+ glib:nick="psfb-type-pli">
+ <doc xml:space="preserve">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">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">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">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">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">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">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">Video Back Channel Message</doc>
+ </member>
+ </enumeration>
+ <record name="RTCPPacket" c:type="GstRTCPPacket">
+ <doc xml:space="preserve">Data structure that points to a packet at @offset in @buffer.
+The size of the structure is made public to allow stack allocations.</doc>
+ <field name="rtcp" writable="1">
+ <doc xml:space="preserve">pointer to RTCP buffer</doc>
+ <type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
+ </field>
+ <field name="offset" writable="1">
+ <doc xml:space="preserve">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">
+ <doc xml:space="preserve">Add profile-specific extension @data to @packet. If @packet already
+contains profile-specific extension @data will be appended to the existing
+extension.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">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">profile-specific data</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">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">Add a new report block to @packet with the given values.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">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">data source being reported</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="fractionlost" transfer-ownership="none">
+ <doc xml:space="preserve">fraction lost since last SR/RR</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="packetslost" transfer-ownership="none">
+ <doc xml:space="preserve">the cumululative number of packets lost</doc>
+ <type name="gint32" c:type="gint32"/>
+ </parameter>
+ <parameter name="exthighestseq" transfer-ownership="none">
+ <doc xml:space="preserve">the extended last sequence number received</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="jitter" transfer-ownership="none">
+ <doc xml:space="preserve">the interarrival jitter</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="lsr" transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Get the application-dependent data attached to a RTPFB or PSFB @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Get the length of the application-dependent data attached to an APP
+@packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Get the name field of the APP @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Get the SSRC/CSRC field of the APP @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">The SSRC/CSRC.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve">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">Get the subtype field of the APP @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">The subtype.</doc>
+ <type name="guint8" c:type="guint8"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve">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">Set the length of the application-dependent data attached to an APP
+@packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">a valid APP #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="wordlen" transfer-ownership="none">
+ <doc xml:space="preserve">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">Set the name field of the APP @packet.</doc>
+ <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">a valid APP #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve">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">Set the SSRC/CSRC field of the APP @packet.</doc>
+ <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">a valid APP #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve">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">Set the subtype field of the APP @packet.</doc>
+ <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">a valid APP #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="subtype" transfer-ownership="none">
+ <doc xml:space="preserve">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">Add @ssrc to the BYE @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">a valid BYE #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve">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">Adds @len SSRCs in @ssrc to BYE @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">a valid BYE #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Get the @nth SSRC of the BYE @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">a valid BYE #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:space="preserve">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">Get the reason in @packet.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">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">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">Get the length of the reason string.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Get the number of SSRC fields in @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Set the reason string to @reason in @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">a valid BYE #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="reason" transfer-ownership="none">
+ <doc xml:space="preserve">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">
+ <doc xml:space="preserve">The profile-specific extension data is copied into a new allocated
+memory area @data. This must be freed with g_free() after usage.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">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">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">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">Get the Feedback Control Information attached to a RTPFB or PSFB @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Get the length of the Feedback Control Information attached to a
+RTPFB or PSFB @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Get the media SSRC field of the RTPFB or PSFB @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">the media SSRC.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve">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">Get the sender SSRC field of the RTPFB or PSFB @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">the sender SSRC.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve">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">Get the feedback message type of the FB @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Set the length of the Feedback Control Information attached to a
+RTPFB or PSFB @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">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">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">Set the media SSRC field of the RTPFB or PSFB @packet.</doc>
+ <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">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">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">Set the sender SSRC field of the RTPFB or PSFB @packet.</doc>
+ <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">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">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">Set the feedback message type of the FB @packet.</doc>
+ <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">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">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">Get the count field in @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Get the length field of @packet. This is the length of the packet in
+32-bit words minus one.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Get the packet padding of the packet pointed to by @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">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">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">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">
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Parse the values of the @nth report block in @packet and store the result in
+the values.</doc>
+ <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">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">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">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">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">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">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">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">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">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">Get the number of report blocks in @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Get the packet type of the packet pointed to by @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Move the packet pointer @packet to the next packet in the payload.
+Use gst_rtcp_buffer_get_first_packet() to initialize @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Removes the packet pointed to by @packet and moves pointer to the next one</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Get the ssrc field of the RR @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">the ssrc.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve">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">Set the ssrc field of the RR @packet.</doc>
+ <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">a valid RR #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve">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">Add a new SDES entry to the current item in @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">a valid SDES #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve">the #GstRTCPSDESType of the SDES entry</doc>
+ <type name="RTCPSDESType" c:type="GstRTCPSDESType"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve">the data length</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve">the data</doc>
+ <array length="1" zero-terminated="0" c:type="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">Add a new SDES item for @ssrc to @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">a valid SDES #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">a valid SDES #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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">Move to the first SDES entry in the current item.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">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">Move to the first SDES item in @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">a valid SDES #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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">Get the number of items in the SDES packet @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Get the SSRC of the current SDES item.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Move to the next SDES entry in the current item.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">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">Move to the next SDES item in @packet.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Set the @nth new report block in @packet with the given values.
+
+Note: Not implemented.</doc>
+ <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">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">the nth report block to set</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve">data source being reported</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="fractionlost" transfer-ownership="none">
+ <doc xml:space="preserve">fraction lost since last SR/RR</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="packetslost" transfer-ownership="none">
+ <doc xml:space="preserve">the cumululative number of packets lost</doc>
+ <type name="gint32" c:type="gint32"/>
+ </parameter>
+ <parameter name="exthighestseq" transfer-ownership="none">
+ <doc xml:space="preserve">the extended last sequence number received</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="jitter" transfer-ownership="none">
+ <doc xml:space="preserve">the interarrival jitter</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="lsr" transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Parse the SR sender info and store the values.</doc>
+ <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">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">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">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">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">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">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">Set the given values in the SR packet @packet.</doc>
+ <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">a valid SR #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve">the SSRC</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="ntptime" transfer-ownership="none">
+ <doc xml:space="preserve">the NTP time</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="rtptime" transfer-ownership="none">
+ <doc xml:space="preserve">the RTP time</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="packet_count" transfer-ownership="none">
+ <doc xml:space="preserve">the packet count</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="octet_count" transfer-ownership="none">
+ <doc xml:space="preserve">the octet count</doc>
+ <type name="guint32" c:type="guint32"/>
+ </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">Different types of SDES content.</doc>
+ <member name="invalid"
+ value="-1"
+ c:identifier="GST_RTCP_SDES_INVALID"
+ glib:nick="invalid">
+ <doc xml:space="preserve">Invalid SDES entry</doc>
+ </member>
+ <member name="end"
+ value="0"
+ c:identifier="GST_RTCP_SDES_END"
+ glib:nick="end">
+ <doc xml:space="preserve">End of SDES list</doc>
+ </member>
+ <member name="cname"
+ value="1"
+ c:identifier="GST_RTCP_SDES_CNAME"
+ glib:nick="cname">
+ <doc xml:space="preserve">Canonical name</doc>
+ </member>
+ <member name="name"
+ value="2"
+ c:identifier="GST_RTCP_SDES_NAME"
+ glib:nick="name">
+ <doc xml:space="preserve">User name</doc>
+ </member>
+ <member name="email"
+ value="3"
+ c:identifier="GST_RTCP_SDES_EMAIL"
+ glib:nick="email">
+ <doc xml:space="preserve">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">User's phone number</doc>
+ </member>
+ <member name="loc"
+ value="5"
+ c:identifier="GST_RTCP_SDES_LOC"
+ glib:nick="loc">
+ <doc xml:space="preserve">Geographic user location</doc>
+ </member>
+ <member name="tool"
+ value="6"
+ c:identifier="GST_RTCP_SDES_TOOL"
+ glib:nick="tool">
+ <doc xml:space="preserve">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">Notice about the source</doc>
+ </member>
+ <member name="priv"
+ value="8"
+ c:identifier="GST_RTCP_SDES_PRIV"
+ glib:nick="priv">
+ <doc xml:space="preserve">Private extensions</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">Different RTCP packet types.</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_RTCP_TYPE_INVALID"
+ glib:nick="invalid">
+ <doc xml:space="preserve">Invalid type</doc>
+ </member>
+ <member name="sr"
+ value="200"
+ c:identifier="GST_RTCP_TYPE_SR"
+ glib:nick="sr">
+ <doc xml:space="preserve">Sender report</doc>
+ </member>
+ <member name="rr"
+ value="201"
+ c:identifier="GST_RTCP_TYPE_RR"
+ glib:nick="rr">
+ <doc xml:space="preserve">Receiver report</doc>
+ </member>
+ <member name="sdes"
+ value="202"
+ c:identifier="GST_RTCP_TYPE_SDES"
+ glib:nick="sdes">
+ <doc xml:space="preserve">Source description</doc>
+ </member>
+ <member name="bye"
+ value="203"
+ c:identifier="GST_RTCP_TYPE_BYE"
+ glib:nick="bye">
+ <doc xml:space="preserve">Goodbye</doc>
+ </member>
+ <member name="app"
+ value="204"
+ c:identifier="GST_RTCP_TYPE_APP"
+ glib:nick="app">
+ <doc xml:space="preserve">Application defined</doc>
+ </member>
+ <member name="rtpfb"
+ value="205"
+ c:identifier="GST_RTCP_TYPE_RTPFB"
+ glib:nick="rtpfb">
+ <doc xml:space="preserve">Transport layer feedback.</doc>
+ </member>
+ <member name="psfb"
+ value="206"
+ c:identifier="GST_RTCP_TYPE_PSFB"
+ glib:nick="psfb">
+ <doc xml:space="preserve">Payload-specific feedback.</doc>
+ </member>
+ <member name="xr"
+ value="207"
+ c:identifier="GST_RTCP_TYPE_XR"
+ glib:nick="xr">
+ <doc xml:space="preserve">Extended report.</doc>
+ </member>
+ </enumeration>
+ <constant name="RTCP_MAX_BYE_SSRC_COUNT"
+ value="31"
+ c:type="GST_RTCP_MAX_BYE_SSRC_COUNT">
+ <doc xml:space="preserve">The maximum amount of SSRCs in a BYE packet.</doc>
+ <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">The maximum amount of Receiver report blocks in RR and SR messages.</doc>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTCP_MAX_SDES" value="255" c:type="GST_RTCP_MAX_SDES">
+ <doc xml:space="preserve">The maximum text length for an SDES item.</doc>
+ <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">The maximum amount of SDES items.</doc>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTCP_REDUCED_SIZE_VALID_MASK"
+ value="57592"
+ c:type="GST_RTCP_REDUCED_SIZE_VALID_MASK">
+ <doc xml:space="preserve">Mask for version, padding bit and packet type pair allowing reduced size
+packets, basically it accepts other types than RR and SR</doc>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTCP_VALID_MASK"
+ value="57598"
+ c:type="GST_RTCP_VALID_MASK">
+ <doc xml:space="preserve">Mask for version, padding bit and packet type pair</doc>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTCP_VALID_VALUE"
+ value="200"
+ c:type="GST_RTCP_VALID_VALUE">
+ <doc xml:space="preserve">Valid value for the first two bytes of an RTCP packet after applying
+#GST_RTCP_VALID_MASK to them.</doc>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTCP_VERSION" value="2" c:type="GST_RTCP_VERSION">
+ <doc xml:space="preserve">The supported RTCP version 2.</doc>
+ <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">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>
+ <method name="flush" c:identifier="gst_rtp_base_audio_payload_flush">
+ <doc xml:space="preserve">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">a #GstFlowReturn</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="baseaudiopayload"
+ transfer-ownership="none">
+ <doc xml:space="preserve">a #GstRTPBasePayload</doc>
+ <type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
+ </instance-parameter>
+ <parameter name="payload_len" transfer-ownership="none">
+ <doc xml:space="preserve">length of payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve">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">Gets the internal adapter used by the depayloader.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">a #GstAdapter.</doc>
+ <type name="GstBase.Adapter" c:type="GstAdapter*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtpbaseaudiopayload"
+ transfer-ownership="none">
+ <doc xml:space="preserve">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">a #GstFlowReturn</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="baseaudiopayload"
+ transfer-ownership="none">
+ <doc xml:space="preserve">a #GstRTPBasePayload</doc>
+ <type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve">data to set as payload</doc>
+ <array length="1" zero-terminated="0" c:type="guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="payload_len" transfer-ownership="none">
+ <doc xml:space="preserve">length of payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve">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">Tells #GstRTPBaseAudioPayload that the child element is for a frame based
+audio codec</doc>
+ <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">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">Sets the options for frame based audio codecs.</doc>
+ <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">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">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">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">Tells #GstRTPBaseAudioPayload that the child element is for a sample based
+audio codec</doc>
+ <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">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">Sets the options for sample based audio codecs.</doc>
+ <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">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">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">Sets the options for sample based audio codecs.</doc>
+ <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">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">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" c:type="gpointer" 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">Base class for audio RTP payloader.</doc>
+ <field name="parent_class">
+ <doc xml:space="preserve">the parent class</doc>
+ <type name="RTPBasePayloadClass" c:type="GstRTPBasePayloadClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="RTPBaseAudioPayloadPrivate"
+ c:type="GstRTPBaseAudioPayloadPrivate"
+ disguised="1">
+ </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">Provides a base class for RTP depayloaders</doc>
+ <virtual-method name="handle_event">
+ <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">
+ <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">
+ <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">
+ <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">
+ <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="push" c:identifier="gst_rtp_base_depayload_push">
+ <doc xml:space="preserve">Push @out_buf to the peer of @filter. This function takes ownership of
+@out_buf.
+
+This function will by default apply the last incomming timestamp on
+the outgoing buffer when it didn't have a timestamp already.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">a #GstFlowReturn.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <doc xml:space="preserve">a #GstRTPBaseDepayload</doc>
+ <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
+ </instance-parameter>
+ <parameter name="out_buf" transfer-ownership="none">
+ <doc xml:space="preserve">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">Push @out_list to the peer of @filter. This function takes ownership of
+@out_list.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">a #GstFlowReturn.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <doc xml:space="preserve">a #GstRTPBaseDepayload</doc>
+ <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
+ </instance-parameter>
+ <parameter name="out_list" transfer-ownership="none">
+ <doc xml:space="preserve">a #GstBufferList</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="stats" transfer-ownership="none">
+ <doc xml:space="preserve">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" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="RTPBaseDepayloadClass"
+ c:type="GstRTPBaseDepayloadClass"
+ glib:is-gtype-struct-for="RTPBaseDepayload">
+ <doc xml:space="preserve">Base class for RTP depayloaders.</doc>
+ <field name="parent_class">
+ <doc xml:space="preserve">the parent class</doc>
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="set_caps">
+ <callback name="set_caps">
+ <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">
+ <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">
+ <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">
+ <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">
+ <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" c:type="gpointer" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="RTPBaseDepayloadPrivate"
+ c:type="GstRTPBaseDepayloadPrivate"
+ disguised="1">
+ </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">Provides a base class for RTP payloaders</doc>
+ <virtual-method name="get_caps">
+ <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">
+ <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">
+ <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">
+ <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">
+ <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">
+ <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="is_filled" c:identifier="gst_rtp_base_payload_is_filled">
+ <doc xml:space="preserve">Check if the packet with @size and @duration would exceed the configured
+maximum size.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">a #GstRTPBasePayload</doc>
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </instance-parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve">the size of the packet</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve">the duration of the packet</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="push" c:identifier="gst_rtp_base_payload_push">
+ <doc xml:space="preserve">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">a #GstFlowReturn.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve">a #GstRTPBasePayload</doc>
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">a #GstFlowReturn.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve">a #GstRTPBasePayload</doc>
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </instance-parameter>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve">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">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>
+ <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">a #GstRTPBasePayload</doc>
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </instance-parameter>
+ <parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve">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">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">the encoding name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="clock_rate" transfer-ownership="none">
+ <doc xml:space="preserve">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">a #GstRTPBasePayload</doc>
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve">the first field name or %NULL</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve">field values</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <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">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="perfect-rtptime" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve">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">Force buffers to be multiples of this duration in ns (0 disables)</doc>
+ <type name="gint64" c:type="gint64"/>
+ </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="ssrc" writable="1" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="stats" transfer-ownership="none">
+ <doc xml:space="preserve">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" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="RTPBasePayloadClass"
+ c:type="GstRTPBasePayloadClass"
+ glib:is-gtype-struct-for="RTPBasePayload">
+ <doc xml:space="preserve">Base class for audio RTP payloader.</doc>
+ <field name="parent_class">
+ <doc xml:space="preserve">the parent class</doc>
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="get_caps">
+ <callback name="get_caps">
+ <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">
+ <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">
+ <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">
+ <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">
+ <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">
+ <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" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="RTPBasePayloadPrivate"
+ c:type="GstRTPBasePayloadPrivate"
+ disguised="1">
+ </record>
+ <record name="RTPBuffer" c:type="GstRTPBuffer">
+ <doc xml:space="preserve">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>
+ <field name="buffer" writable="1">
+ <doc xml:space="preserve">pointer to RTP buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="state" writable="1">
+ <doc xml:space="preserve">internal state</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="data" writable="1">
+ <doc xml:space="preserve">array of data</doc>
+ <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="size" writable="1">
+ <doc xml:space="preserve">array of size</doc>
+ <array zero-terminated="0" c:type="gsize" fixed-size="4">
+ <type name="gsize" c:type="gsize"/>
+ </array>
+ </field>
+ <field name="map" writable="1">
+ <doc xml:space="preserve">array of #GstMapInfo</doc>
+ <array zero-terminated="0" c:type="GstMapInfo" 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">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 mecanism 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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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">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 mecanism 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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="appbits" transfer-ownership="none">
+ <doc xml:space="preserve">Application specific bits</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve">The ID of the header extension</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Get the CSRC at index @idx in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve">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">Get the CSRC count of the RTP packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Check if the extension bit is set on the RTP packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">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">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">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">location for result bits</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ <parameter name="data"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve">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">
+ <doc xml:space="preserve">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">Parses RFC 5285 style header extensions with a one byte header. It will
+return the nth extension with the requested id.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve">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">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">
+ 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">
+ <doc xml:space="preserve">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">Parses RFC 5285 style header extensions with a two bytes header. It will
+return the nth extension with the requested id.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="appbits"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">Application specific bits</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve">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">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">
+ 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">
+ <doc xml:space="preserve">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Check if the marker bit is set on the RTP packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Return the total length of the packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Check if the padding bit is set on the RTP packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Get a pointer to the payload data in @buffer. This pointer is valid as long
+as a reference to @buffer is held.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">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">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">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>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">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">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">Get the length of the payload of the RTP packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">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">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve">the offset in the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve">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">Get the payload type of the RTP packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">The payload type.</doc>
+ <type name="guint8" c:type="guint8"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve">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">Get the sequence number of the RTP packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Get the SSRC of the RTP packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Get the timestamp of the RTP packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Get the version number of the RTP packet in @buffer.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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>
+ <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">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve">the new amount of padding</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_csrc" c:identifier="gst_rtp_buffer_set_csrc">
+ <doc xml:space="preserve">Modify the CSRC at index @idx in @buffer to @csrc.</doc>
+ <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">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve">the CSRC index to set</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc" transfer-ownership="none">
+ <doc xml:space="preserve">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">Set the extension bit on the RTP packet in @buffer to @extension.</doc>
+ <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">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="extension" transfer-ownership="none">
+ <doc xml:space="preserve">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">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.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">True if done.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="bits" transfer-ownership="none">
+ <doc xml:space="preserve">the bits specific for the extension</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve">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">Set the marker bit on the RTP packet in @buffer to @marker.</doc>
+ <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">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="marker" transfer-ownership="none">
+ <doc xml:space="preserve">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">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>
+ <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">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve">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">Set the padding bit on the RTP packet in @buffer to @padding.</doc>
+ <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">the buffer</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="padding" transfer-ownership="none">
+ <doc xml:space="preserve">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">Set the payload type of the RTP packet in @buffer to @payload_type.</doc>
+ <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">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="payload_type" transfer-ownership="none">
+ <doc xml:space="preserve">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">Set the sequence number of the RTP packet in @buffer to @seq.</doc>
+ <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">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="seq" transfer-ownership="none">
+ <doc xml:space="preserve">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">Set the SSRC on the RTP packet in @buffer to @ssrc.</doc>
+ <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">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve">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">Set the timestamp of the RTP packet in @buffer to @timestamp.</doc>
+ <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">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve">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">Set the version of the RTP packet in @buffer to @version.</doc>
+ <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">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve">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">Unmap @rtp previously mapped with gst_rtp_buffer_map().</doc>
+ <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">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">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>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="payload_len" transfer-ownership="none">
+ <doc xml:space="preserve">the length of the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:space="preserve">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve">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">Calculate the header length of an RTP packet with @csrc_count CSRC entries.
+An RTP packet can have at most 15 CSRC entries.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">the length of the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:space="preserve">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve">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">Compare two sequence numbers, taking care of wraparounds. This function
+returns the difference between @seqnum1 and @seqnum2.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">a sequence number</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="seqnum2" transfer-ownership="none">
+ <doc xml:space="preserve">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">Get the default clock-rate for the static payload type @payload_type.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">a previous extended timestamp</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve">a new timestamp</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="map" c:identifier="gst_rtp_buffer_map">
+ <doc xml:space="preserve">Map the contents of @buffer into @rtp.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve">#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">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">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>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">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">the length of the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:space="preserve">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve">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">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>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">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">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">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve">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">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>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">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">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">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">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>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">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">
+ 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">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">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">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">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">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">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">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">Offset to define more flags</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">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">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">RFC 3551 says reserved</doc>
+ </member>
+ <member name="g721"
+ value="2"
+ c:identifier="GST_RTP_PAYLOAD_G721"
+ glib:nick="g721">
+ <doc xml:space="preserve">RFC 3551 says reserved</doc>
+ </member>
+ <member name="gsm"
+ value="3"
+ c:identifier="GST_RTP_PAYLOAD_GSM"
+ glib:nick="gsm">
+ <doc xml:space="preserve">GSM audio</doc>
+ </member>
+ <member name="g723"
+ value="4"
+ c:identifier="GST_RTP_PAYLOAD_G723"
+ glib:nick="g723">
+ <doc xml:space="preserve">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">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">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">experimental linear predictive encoding</doc>
+ </member>
+ <member name="pcma"
+ value="8"
+ c:identifier="GST_RTP_PAYLOAD_PCMA"
+ glib:nick="pcma">
+ <doc xml:space="preserve">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">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">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">mono PCM</doc>
+ </member>
+ <member name="qcelp"
+ value="12"
+ c:identifier="GST_RTP_PAYLOAD_QCELP"
+ glib:nick="qcelp">
+ <doc xml:space="preserve">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">Comfort Noise (RFC 3389)</doc>
+ </member>
+ <member name="mpa"
+ value="14"
+ c:identifier="GST_RTP_PAYLOAD_MPA"
+ glib:nick="mpa">
+ <doc xml:space="preserve">Audio MPEG 1-3.</doc>
+ </member>
+ <member name="g728"
+ value="15"
+ c:identifier="GST_RTP_PAYLOAD_G728"
+ glib:nick="g728">
+ <doc xml:space="preserve">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">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">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">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">See RFC 2029</doc>
+ </member>
+ <member name="jpeg"
+ value="26"
+ c:identifier="GST_RTP_PAYLOAD_JPEG"
+ glib:nick="jpeg">
+ <doc xml:space="preserve">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">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">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">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">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">Video H263 (RFC 2190)</doc>
+ </member>
+ </enumeration>
+ <record name="RTPPayloadInfo" c:type="GstRTPPayloadInfo">
+ <doc xml:space="preserve">Structure holding default payload type information.</doc>
+ <field name="payload_type" writable="1">
+ <doc xml:space="preserve">payload type, -1 means dynamic</doc>
+ <type name="guint8" c:type="guint8"/>
+ </field>
+ <field name="media" writable="1">
+ <doc xml:space="preserve">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">the encoding name of @pt</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="clock_rate" writable="1">
+ <doc xml:space="preserve">default clock rate, 0 = unknown/variable</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="encoding_parameters" writable="1">
+ <doc xml:space="preserve">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">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" c:type="gpointer" 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">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 insensitve way.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">the media to find</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="encoding_name" transfer-ownership="none">
+ <doc xml:space="preserve">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">The transfer profile to use.</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_RTP_PROFILE_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve">invalid profile</doc>
+ </member>
+ <member name="avp"
+ value="1"
+ c:identifier="GST_RTP_PROFILE_AVP"
+ glib:nick="avp">
+ <doc xml:space="preserve">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">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">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">the secure Audio/Visual profile with feedback (RFC 5124)</doc>
+ </member>
+ </enumeration>
+ <constant name="RTP_HDREXT_BASE"
+ value="urn:ietf:params:rtp-hdrext:"
+ c:type="GST_RTP_HDREXT_BASE">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_HDREXT_NTP_56"
+ value="ntp-56"
+ c:type="GST_RTP_HDREXT_NTP_56">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_HDREXT_NTP_56_SIZE"
+ value="7"
+ c:type="GST_RTP_HDREXT_NTP_56_SIZE">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTP_HDREXT_NTP_64"
+ value="ntp-64"
+ c:type="GST_RTP_HDREXT_NTP_64">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_HDREXT_NTP_64_SIZE"
+ value="8"
+ c:type="GST_RTP_HDREXT_NTP_64_SIZE">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_1016_STRING"
+ value="1"
+ c:type="GST_RTP_PAYLOAD_1016_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_CELLB_STRING"
+ value="25"
+ c:type="GST_RTP_PAYLOAD_CELLB_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_CN_STRING"
+ value="13"
+ c:type="GST_RTP_PAYLOAD_CN_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_DVI4_11025_STRING"
+ value="16"
+ c:type="GST_RTP_PAYLOAD_DVI4_11025_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_DVI4_16000_STRING"
+ value="6"
+ c:type="GST_RTP_PAYLOAD_DVI4_16000_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_DVI4_22050_STRING"
+ value="17"
+ c:type="GST_RTP_PAYLOAD_DVI4_22050_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_DVI4_8000_STRING"
+ value="5"
+ c:type="GST_RTP_PAYLOAD_DVI4_8000_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_DYNAMIC_STRING"
+ value="[96, 127]"
+ c:type="GST_RTP_PAYLOAD_DYNAMIC_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G721_STRING"
+ value="2"
+ c:type="GST_RTP_PAYLOAD_G721_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G722_STRING"
+ value="9"
+ c:type="GST_RTP_PAYLOAD_G722_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G723_53"
+ value="17"
+ c:type="GST_RTP_PAYLOAD_G723_53">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G723_53_STRING"
+ value="17"
+ c:type="GST_RTP_PAYLOAD_G723_53_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G723_63"
+ value="16"
+ c:type="GST_RTP_PAYLOAD_G723_63">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G723_63_STRING"
+ value="16"
+ c:type="GST_RTP_PAYLOAD_G723_63_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G723_STRING"
+ value="4"
+ c:type="GST_RTP_PAYLOAD_G723_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G728_STRING"
+ value="15"
+ c:type="GST_RTP_PAYLOAD_G728_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G729_STRING"
+ value="18"
+ c:type="GST_RTP_PAYLOAD_G729_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_GSM_STRING"
+ value="3"
+ c:type="GST_RTP_PAYLOAD_GSM_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_H261_STRING"
+ value="31"
+ c:type="GST_RTP_PAYLOAD_H261_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_H263_STRING"
+ value="34"
+ c:type="GST_RTP_PAYLOAD_H263_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_JPEG_STRING"
+ value="26"
+ c:type="GST_RTP_PAYLOAD_JPEG_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_L16_MONO_STRING"
+ value="11"
+ c:type="GST_RTP_PAYLOAD_L16_MONO_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_L16_STEREO_STRING"
+ value="10"
+ c:type="GST_RTP_PAYLOAD_L16_STEREO_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_LPC_STRING"
+ value="7"
+ c:type="GST_RTP_PAYLOAD_LPC_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_MP2T_STRING"
+ value="33"
+ c:type="GST_RTP_PAYLOAD_MP2T_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_MPA_STRING"
+ value="14"
+ c:type="GST_RTP_PAYLOAD_MPA_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_MPV_STRING"
+ value="32"
+ c:type="GST_RTP_PAYLOAD_MPV_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_NV_STRING"
+ value="28"
+ c:type="GST_RTP_PAYLOAD_NV_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_PCMA_STRING"
+ value="8"
+ c:type="GST_RTP_PAYLOAD_PCMA_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_PCMU_STRING"
+ value="0"
+ c:type="GST_RTP_PAYLOAD_PCMU_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_QCELP_STRING"
+ value="12"
+ c:type="GST_RTP_PAYLOAD_QCELP_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_TS41" value="19" c:type="GST_RTP_PAYLOAD_TS41">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_TS41_STRING"
+ value="19"
+ c:type="GST_RTP_PAYLOAD_TS41_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_TS48" value="18" c:type="GST_RTP_PAYLOAD_TS48">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_TS48_STRING"
+ value="18"
+ c:type="GST_RTP_PAYLOAD_TS48_STRING">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_VERSION" value="2" c:type="GST_RTP_VERSION">
+ <doc xml:space="preserve">The supported RTP version 2.</doc>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function name="rtcp_buffer_map"
+ c:identifier="gst_rtcp_buffer_map"
+ moved-to="RTCPBuffer.map">
+ <doc xml:space="preserve">Open @buffer for reading or writing, depending on @flags. The resulting RTCP
+buffer state is stored in @rtcp.</doc>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve">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">flags for the mapping</doc>
+ <type name="Gst.MapFlags" c:type="GstMapFlags"/>
+ </parameter>
+ <parameter name="rtcp" transfer-ownership="none">
+ <doc xml:space="preserve">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">Create a new buffer for constructing RTCP packets. The packet will have a
+maximum size of @mtu.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">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">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">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>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">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">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">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">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>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">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">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">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">Check if the data pointed to by @buffer is a valid RTCP packet using
+gst_rtcp_buffer_validate_data().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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">Check if the data pointed to by @buffer is a valid RTCP packet using
+gst_rtcp_buffer_validate_reduced().</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Convert @name into a @GstRTCPSDESType. @name is typically a key in a
+#GstStructure containing SDES items.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">Converts @type to the string equivalent. The string is typically used as a
+key in a #GstStructure containing SDES items.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="payload_len" transfer-ownership="none">
+ <doc xml:space="preserve">the length of the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:space="preserve">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve">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">Calculate the header length of an RTP packet with @csrc_count CSRC entries.
+An RTP packet can have at most 15 CSRC entries.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">the length of the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:space="preserve">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve">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">Compare two sequence numbers, taking care of wraparounds. This function
+returns the difference between @seqnum1 and @seqnum2.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">a sequence number</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="seqnum2" transfer-ownership="none">
+ <doc xml:space="preserve">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">Get the default clock-rate for the static payload type @payload_type.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">a previous extended timestamp</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve">a new timestamp</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_map"
+ c:identifier="gst_rtp_buffer_map"
+ moved-to="RTPBuffer.map">
+ <doc xml:space="preserve">Map the contents of @buffer into @rtp.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve">#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">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">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>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">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">the length of the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:space="preserve">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve">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">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>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">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">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">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve">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">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>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">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">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">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">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>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">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">
+ 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">the length of data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_hdrext_get_ntp_56"
+ c:identifier="gst_rtp_hdrext_get_ntp_56">
+ <doc xml:space="preserve">Reads the NTP time from the @size NTP-56 extension bytes in @data and store the
+result in @ntptime.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%TRUE on success.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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">Reads the NTP time from the @size NTP-64 extension bytes in @data and store the
+result in @ntptime.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%TRUE on success.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve">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">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">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">the data to write to</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve">the size of @data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="ntptime" transfer-ownership="none">
+ <doc xml:space="preserve">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%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">the data to write to</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve">the size of @data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="ntptime" transfer-ownership="none">
+ <doc xml:space="preserve">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">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 insensitve way.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">the media to find</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="encoding_name" transfer-ownership="none">
+ <doc xml:space="preserve">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">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>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">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">the payload_type to find</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>