blob: b07b626c5bef63cb8dac29afe0c1edcf30c1c6a3 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gstrtpbasepayload: GStreamer Base Plugins 1.0 Library Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-rtp.html" title="RTP Library">
<link rel="prev" href="gst-plugins-base-libs-gstrtpbasedepayload.html" title="gstrtpbasedepayload">
<link rel="next" href="gst-plugins-base-libs-gstrtpbuffer.html" title="gstrtpbuffer">
<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
<a href="#gst-plugins-base-libs-gstrtpbasepayload.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
<a href="#gst-plugins-base-libs-gstrtpbasepayload.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
<a href="#gst-plugins-base-libs-gstrtpbasepayload.properties" class="shortcut">Properties</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="gstreamer-rtp.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="gst-plugins-base-libs-gstrtpbasedepayload.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="gst-plugins-base-libs-gstrtpbuffer.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gst-plugins-base-libs-gstrtpbasepayload"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstrtpbasepayload.top_of_page"></a>gstrtpbasepayload</span></h2>
<p>gstrtpbasepayload — Base class for RTP payloader</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-base-libs-gstrtpbasepayload.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GST-RTP-BASE-PAYLOAD-MTU:CAPS" title="GST_RTP_BASE_PAYLOAD_MTU()">GST_RTP_BASE_PAYLOAD_MTU</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GST-RTP-BASE-PAYLOAD-PT:CAPS" title="GST_RTP_BASE_PAYLOAD_PT()">GST_RTP_BASE_PAYLOAD_PT</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GST-RTP-BASE-PAYLOAD-SINKPAD:CAPS" title="GST_RTP_BASE_PAYLOAD_SINKPAD()">GST_RTP_BASE_PAYLOAD_SINKPAD</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GST-RTP-BASE-PAYLOAD-SRCPAD:CAPS" title="GST_RTP_BASE_PAYLOAD_SRCPAD()">GST_RTP_BASE_PAYLOAD_SRCPAD</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#gst-rtp-base-payload-is-filled" title="gst_rtp_base_payload_is_filled ()">gst_rtp_base_payload_is_filled</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
</td>
<td class="function_name">
<a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#gst-rtp-base-payload-push" title="gst_rtp_base_payload_push ()">gst_rtp_base_payload_push</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
</td>
<td class="function_name">
<a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#gst-rtp-base-payload-push-list" title="gst_rtp_base_payload_push_list ()">gst_rtp_base_payload_push_list</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#gst-rtp-base-payload-set-options" title="gst_rtp_base_payload_set_options ()">gst_rtp_base_payload_set_options</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#gst-rtp-base-payload-set-outcaps" title="gst_rtp_base_payload_set_outcaps ()">gst_rtp_base_payload_set_outcaps</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-gstrtpbasepayload.properties"></a><h2>Properties</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
<col width="200px" class="properties_flags">
</colgroup>
<tbody>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload--max-ptime" title="The “max-ptime” property">max-ptime</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload--min-ptime" title="The “min-ptime” property">min-ptime</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload--mtu" title="The “mtu” property">mtu</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload--perfect-rtptime" title="The “perfect-rtptime” property">perfect-rtptime</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload--pt" title="The “pt” property">pt</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload--ptime-multiple" title="The “ptime-multiple” property">ptime-multiple</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload--seqnum" title="The “seqnum” property">seqnum</a></td>
<td class="property_flags">Read</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload--seqnum-offset" title="The “seqnum-offset” property">seqnum-offset</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload--ssrc" title="The “ssrc” property">ssrc</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type">
<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> *</td>
<td class="property_name"><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload--stats" title="The “stats” property">stats</a></td>
<td class="property_flags">Read</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload--timestamp" title="The “timestamp” property">timestamp</a></td>
<td class="property_flags">Read</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload--timestamp-offset" title="The “timestamp-offset” property">timestamp-offset</a></td>
<td class="property_flags">Read / Write</td>
</tr>
</tbody>
</table></div>
</div>
<a name="GstRTPBasePayload"></a><div class="refsect1">
<a name="gst-plugins-base-libs-gstrtpbasepayload.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload-struct" title="struct GstRTPBasePayload">GstRTPBasePayload</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayloadClass" title="struct GstRTPBasePayloadClass">GstRTPBasePayloadClass</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-gstrtpbasepayload.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
<span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
<span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
<span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
<span class="lineart">╰──</span> GstRTPBasePayload
<span class="lineart">╰──</span> <a class="link" href="gst-plugins-base-libs-gstrtpbaseaudiopayload.html#GstRTPBaseAudioPayload">GstRTPBaseAudioPayload</a>
</pre>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-gstrtpbasepayload.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gst/rtp/gstrtpbasepayload.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-gstrtpbasepayload.description"></a><h2>Description</h2>
<p>Provides a base class for RTP payloaders</p>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-gstrtpbasepayload.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="GST-RTP-BASE-PAYLOAD-MTU:CAPS"></a><h3>GST_RTP_BASE_PAYLOAD_MTU()</h3>
<pre class="programlisting">#define GST_RTP_BASE_PAYLOAD_MTU(payload) (GST_RTP_BASE_PAYLOAD (payload)-&gt;mtu)
</pre>
<p>Get access to the configured MTU of <em class="parameter"><code>payload</code></em>
.</p>
<div class="refsect3">
<a name="GST-RTP-BASE-PAYLOAD-MTU.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>payload</p></td>
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-RTP-BASE-PAYLOAD-PT:CAPS"></a><h3>GST_RTP_BASE_PAYLOAD_PT()</h3>
<pre class="programlisting">#define GST_RTP_BASE_PAYLOAD_PT(payload) (GST_RTP_BASE_PAYLOAD (payload)-&gt;pt)
</pre>
<p>Get access to the configured payload type of <em class="parameter"><code>payload</code></em>
.</p>
<div class="refsect3">
<a name="GST-RTP-BASE-PAYLOAD-PT.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>payload</p></td>
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-RTP-BASE-PAYLOAD-SINKPAD:CAPS"></a><h3>GST_RTP_BASE_PAYLOAD_SINKPAD()</h3>
<pre class="programlisting">#define GST_RTP_BASE_PAYLOAD_SINKPAD(payload) (GST_RTP_BASE_PAYLOAD (payload)-&gt;sinkpad)
</pre>
<p>Get access to the sinkpad of <em class="parameter"><code>payload</code></em>
.</p>
<div class="refsect3">
<a name="GST-RTP-BASE-PAYLOAD-SINKPAD.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>payload</p></td>
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-RTP-BASE-PAYLOAD-SRCPAD:CAPS"></a><h3>GST_RTP_BASE_PAYLOAD_SRCPAD()</h3>
<pre class="programlisting">#define GST_RTP_BASE_PAYLOAD_SRCPAD(payload) (GST_RTP_BASE_PAYLOAD (payload)-&gt;srcpad)
</pre>
<p>Get access to the srcpad of <em class="parameter"><code>payload</code></em>
.</p>
<div class="refsect3">
<a name="GST-RTP-BASE-PAYLOAD-SRCPAD.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>payload</p></td>
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-rtp-base-payload-is-filled"></a><h3>gst_rtp_base_payload_is_filled ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_rtp_base_payload_is_filled (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a> *payload</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> duration</code></em>);</pre>
<p>Check if the packet with <em class="parameter"><code>size</code></em>
and <em class="parameter"><code>duration</code></em>
would exceed the configured
maximum size.</p>
<div class="refsect3">
<a name="gst-rtp-base-payload-is-filled.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>payload</p></td>
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>size</p></td>
<td class="parameter_description"><p>the size of the packet</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>duration</p></td>
<td class="parameter_description"><p>the duration of the packet</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gst-rtp-base-payload-is-filled.returns"></a><h4>Returns</h4>
<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the packet of <em class="parameter"><code>size</code></em>
and <em class="parameter"><code>duration</code></em>
would exceed the
configured MTU or max_ptime.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-rtp-base-payload-push"></a><h3>gst_rtp_base_payload_push ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
gst_rtp_base_payload_push (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a> *payload</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>);</pre>
<p>Push <em class="parameter"><code>buffer</code></em>
to the peer element of the payloader. The SSRC, payload type,
seqnum and timestamp of the RTP buffer will be updated first.</p>
<p>This function takes ownership of <em class="parameter"><code>buffer</code></em>
.</p>
<div class="refsect3">
<a name="gst-rtp-base-payload-push.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>payload</p></td>
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>buffer</p></td>
<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gst-rtp-base-payload-push.returns"></a><h4>Returns</h4>
<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a>.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-rtp-base-payload-push-list"></a><h3>gst_rtp_base_payload_push_list ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
gst_rtp_base_payload_push_list (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a> *payload</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBufferList.html#GstBufferList-struct"><span class="type">GstBufferList</span></a> *list</code></em>);</pre>
<p>Push <em class="parameter"><code>list</code></em>
to the peer element of the payloader. The SSRC, payload type,
seqnum and timestamp of the RTP buffer will be updated first.</p>
<p>This function takes ownership of <em class="parameter"><code>list</code></em>
.</p>
<div class="refsect3">
<a name="gst-rtp-base-payload-push-list.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>payload</p></td>
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>list</p></td>
<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBufferList.html#GstBufferList-struct"><span class="type">GstBufferList</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gst-rtp-base-payload-push-list.returns"></a><h4>Returns</h4>
<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a>.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-rtp-base-payload-set-options"></a><h3>gst_rtp_base_payload_set_options ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gst_rtp_base_payload_set_options (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a> *payload</code></em>,
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *media</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> dynamic</code></em>,
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *encoding_name</code></em>,
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> clock_rate</code></em>);</pre>
<p>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
<a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#gst-rtp-base-payload-push" title="gst_rtp_base_payload_push ()"><code class="function">gst_rtp_base_payload_push()</code></a> or <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#gst-rtp-base-payload-set-outcaps" title="gst_rtp_base_payload_set_outcaps ()"><code class="function">gst_rtp_base_payload_set_outcaps()</code></a>.</p>
<div class="refsect3">
<a name="gst-rtp-base-payload-set-options.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>payload</p></td>
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>media</p></td>
<td class="parameter_description"><p>the media type (typically "audio" or "video")</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dynamic</p></td>
<td class="parameter_description"><p>if the payload type is dynamic</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>encoding_name</p></td>
<td class="parameter_description"><p>the encoding name</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>clock_rate</p></td>
<td class="parameter_description"><p>the clock rate of the media</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-rtp-base-payload-set-outcaps"></a><h3>gst_rtp_base_payload_set_outcaps ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_rtp_base_payload_set_outcaps (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a> *payload</code></em>,
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *fieldname</code></em>,
<em class="parameter"><code>...</code></em>);</pre>
<p>Configure the output caps with the optional parameters.</p>
<p>Variable arguments should be in the form field name, field type
(as a GType), value(s). The last variable argument should be NULL.</p>
<div class="refsect3">
<a name="gst-rtp-base-payload-set-outcaps.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>payload</p></td>
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload"><span class="type">GstRTPBasePayload</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>fieldname</p></td>
<td class="parameter_description"><p>the first field name or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>...</p></td>
<td class="parameter_description"><p>field values</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gst-rtp-base-payload-set-outcaps.returns"></a><h4>Returns</h4>
<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the caps could be set.</p>
</div>
</div>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-gstrtpbasepayload.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GstRTPBasePayload-struct"></a><h3>struct GstRTPBasePayload</h3>
<pre class="programlisting">struct GstRTPBasePayload;</pre>
</div>
<hr>
<div class="refsect2">
<a name="GstRTPBasePayloadClass"></a><h3>struct GstRTPBasePayloadClass</h3>
<pre class="programlisting">struct GstRTPBasePayloadClass {
GstElementClass parent_class;
/* query accepted caps */
GstCaps * (*get_caps) (GstRTPBasePayload *payload, GstPad * pad, GstCaps * filter);
/* receive caps on the sink pad, configure the payloader. */
gboolean (*set_caps) (GstRTPBasePayload *payload, GstCaps *caps);
/* handle a buffer, perform 0 or more gst_rtp_base_payload_push() on
* the RTP buffers. This function takes ownership of the buffer. */
GstFlowReturn (*handle_buffer) (GstRTPBasePayload *payload,
GstBuffer *buffer);
/* handle events and queries */
gboolean (*sink_event) (GstRTPBasePayload *payload, GstEvent * event);
gboolean (*src_event) (GstRTPBasePayload *payload, GstEvent * event);
gboolean (*query) (GstRTPBasePayload *payload, GstPad *pad, GstQuery * query);
};
</pre>
<p>Base class for audio RTP payloader.</p>
<div class="refsect3">
<a name="GstRTPBasePayloadClass.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTPBasePayloadClass.get-caps"></a>get_caps</code></em> ()</p></td>
<td class="struct_member_description"><p>get desired caps</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTPBasePayloadClass.set-caps"></a>set_caps</code></em> ()</p></td>
<td class="struct_member_description"><p>configure the payloader</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTPBasePayloadClass.handle-buffer"></a>handle_buffer</code></em> ()</p></td>
<td class="struct_member_description"><p>process data</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTPBasePayloadClass.sink-event"></a>sink_event</code></em> ()</p></td>
<td class="struct_member_description"><p>custom event handling on the sinkpad</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTPBasePayloadClass.src-event"></a>src_event</code></em> ()</p></td>
<td class="struct_member_description"><p>custom event handling on the srcpad</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstRTPBasePayloadClass.query"></a>query</code></em> ()</p></td>
<td class="struct_member_description"><p>custom query handling</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-gstrtpbasepayload.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GstRTPBasePayload--max-ptime"></a><h3>The <code class="literal">“max-ptime”</code> property</h3>
<pre class="programlisting"> “max-ptime” <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a></pre>
<p>Maximum duration of the packet data in ns (-1 = unlimited up to MTU).</p>
<p>Flags: Read / Write</p>
<p>Allowed values: &gt;= -1</p>
<p>Default value: -1</p>
</div>
<hr>
<div class="refsect2">
<a name="GstRTPBasePayload--min-ptime"></a><h3>The <code class="literal">“min-ptime”</code> property</h3>
<pre class="programlisting"> “min-ptime” <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a></pre>
<p>Minimum duration of the packet data in ns (can't go above MTU)</p>
<p>Flags: Read / Write</p>
<p>Allowed values: &gt;= 0</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2">
<a name="GstRTPBasePayload--mtu"></a><h3>The <code class="literal">“mtu”</code> property</h3>
<pre class="programlisting"> “mtu” <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>Maximum size of one packet.</p>
<p>Flags: Read / Write</p>
<p>Allowed values: &gt;= 28</p>
<p>Default value: 1400</p>
</div>
<hr>
<div class="refsect2">
<a name="GstRTPBasePayload--perfect-rtptime"></a><h3>The <code class="literal">“perfect-rtptime”</code> property</h3>
<pre class="programlisting"> “perfect-rtptime” <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>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.</p>
<p>Flags: Read / Write</p>
<p>Default value: TRUE</p>
</div>
<hr>
<div class="refsect2">
<a name="GstRTPBasePayload--pt"></a><h3>The <code class="literal">“pt”</code> property</h3>
<pre class="programlisting"> “pt” <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>The payload type of the packets.</p>
<p>Flags: Read / Write</p>
<p>Allowed values: &lt;= 127</p>
<p>Default value: 96</p>
</div>
<hr>
<div class="refsect2">
<a name="GstRTPBasePayload--ptime-multiple"></a><h3>The <code class="literal">“ptime-multiple”</code> property</h3>
<pre class="programlisting"> “ptime-multiple” <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a></pre>
<p>Force buffers to be multiples of this duration in ns (0 disables)</p>
<p>Flags: Read / Write</p>
<p>Allowed values: &gt;= 0</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2">
<a name="GstRTPBasePayload--seqnum"></a><h3>The <code class="literal">“seqnum”</code> property</h3>
<pre class="programlisting"> “seqnum” <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>The RTP sequence number of the last processed packet.</p>
<p>Flags: Read</p>
<p>Allowed values: &lt;= 65535</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2">
<a name="GstRTPBasePayload--seqnum-offset"></a><h3>The <code class="literal">“seqnum-offset”</code> property</h3>
<pre class="programlisting"> “seqnum-offset” <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
<p>Offset to add to all outgoing seqnum (-1 = random).</p>
<p>Flags: Read / Write</p>
<p>Allowed values: [-1,65535]</p>
<p>Default value: -1</p>
</div>
<hr>
<div class="refsect2">
<a name="GstRTPBasePayload--ssrc"></a><h3>The <code class="literal">“ssrc”</code> property</h3>
<pre class="programlisting"> “ssrc” <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>The SSRC of the packets (default == random).</p>
<p>Flags: Read / Write</p>
<p>Default value: 4294967295</p>
</div>
<hr>
<div class="refsect2">
<a name="GstRTPBasePayload--stats"></a><h3>The <code class="literal">“stats”</code> property</h3>
<pre class="programlisting"> “stats” <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> *</pre>
<p>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:</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term">clock-rate</span></p></td>
<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT:CAPS"><span class="type">G_TYPE_UINT</span></a>, clock-rate of the
stream</p></td>
</tr>
<tr>
<td><p><span class="term">running-time</span></p></td>
<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT64:CAPS"><span class="type">G_TYPE_UINT64</span></a>, running time
</p></td>
</tr>
<tr>
<td><p><span class="term">seqnum</span></p></td>
<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT:CAPS"><span class="type">G_TYPE_UINT</span></a>, sequence number, same as
<a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload--seqnum" title="The “seqnum” property"><span class="type">“seqnum”</span></a></p></td>
</tr>
<tr>
<td><p><span class="term">timestamp</span></p></td>
<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT:CAPS"><span class="type">G_TYPE_UINT</span></a>, RTP timestamp, same as
<a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload--timestamp" title="The “timestamp” property"><span class="type">“timestamp”</span></a></p></td>
</tr>
<tr>
<td><p><span class="term">ssrc</span></p></td>
<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT:CAPS"><span class="type">G_TYPE_UINT</span></a>, The SSRC in use
</p></td>
</tr>
<tr>
<td><p><span class="term">pt</span></p></td>
<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT:CAPS"><span class="type">G_TYPE_UINT</span></a>, The Payload type in use, same as
<a class="link" href="gst-plugins-base-libs-gstrtpbasepayload.html#GstRTPBasePayload--pt" title="The “pt” property"><span class="type">“pt”</span></a></p></td>
</tr>
<tr>
<td><p><span class="term">seqnum-offset</span></p></td>
<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT:CAPS"><span class="type">G_TYPE_UINT</span></a>, The current offset added to the
seqnum</p></td>
</tr>
<tr>
<td><p><span class="term">timestamp-offset</span></p></td>
<td><p><a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-UINT:CAPS"><span class="type">G_TYPE_UINT</span></a>, The current offset added to the
timestamp</p></td>
</tr>
</tbody>
</table></div>
<p>Flags: Read</p>
</div>
<hr>
<div class="refsect2">
<a name="GstRTPBasePayload--timestamp"></a><h3>The <code class="literal">“timestamp”</code> property</h3>
<pre class="programlisting"> “timestamp” <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>The RTP timestamp of the last processed packet.</p>
<p>Flags: Read</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2">
<a name="GstRTPBasePayload--timestamp-offset"></a><h3>The <code class="literal">“timestamp-offset”</code> property</h3>
<pre class="programlisting"> “timestamp-offset” <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>Offset to add to all outgoing timestamps (default = random).</p>
<p>Flags: Read / Write</p>
<p>Default value: 4294967295</p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.25</div>
</body>
</html>