diff options
Diffstat (limited to 'girs/GstRtp-1.0.gir')
-rw-r--r-- | girs/GstRtp-1.0.gir | 4824 |
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 >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 & 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 & 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 >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> |