1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>gstbasertpdepayload</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="GStreamer Base Plugins 0.10 Library Reference Manual">
8 <link rel="up" href="gstreamer-rtp.html" title="RTP Library">
9 <link rel="prev" href="gst-plugins-base-libs-gstbasertpaudiopayload.html" title="gstbasertpaudiopayload">
10 <link rel="next" href="gst-plugins-base-libs-gstbasertppayload.html" title="gstbasertppayload">
11 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
17 <td><a accesskey="p" href="gst-plugins-base-libs-gstbasertpaudiopayload.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="gstreamer-rtp.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">GStreamer Base Plugins 0.10 Library Reference Manual</th>
21 <td><a accesskey="n" href="gst-plugins-base-libs-gstbasertppayload.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#gst-plugins-base-libs-gstbasertpdepayload.synopsis" class="shortcut">Top</a>
26 <a href="#gst-plugins-base-libs-gstbasertpdepayload.description" class="shortcut">Description</a>
28 <a href="#gst-plugins-base-libs-gstbasertpdepayload.object-hierarchy" class="shortcut">Object Hierarchy</a>
30 <a href="#gst-plugins-base-libs-gstbasertpdepayload.properties" class="shortcut">Properties</a>
33 <div class="refentry">
34 <a name="gst-plugins-base-libs-gstbasertpdepayload"></a><div class="titlepage"></div>
35 <div class="refnamediv"><table width="100%"><tr>
37 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstbasertpdepayload.top_of_page"></a>gstbasertpdepayload</span></h2>
38 <p>gstbasertpdepayload — Base class for RTP depayloader</p>
40 <td valign="top" align="right"></td>
42 <div class="refsynopsisdiv">
43 <a name="gst-plugins-base-libs-gstbasertpdepayload.synopsis"></a><h2>Synopsis</h2>
44 <a name="GstBaseRTPDepayload"></a><pre class="synopsis">
45 #include <gst/rtp/gstbasertpdepayload.h>
47 struct <a class="link" href="gst-plugins-base-libs-gstbasertpdepayload.html#GstBaseRTPDepayload-struct" title="struct GstBaseRTPDepayload">GstBaseRTPDepayload</a>;
48 struct <a class="link" href="gst-plugins-base-libs-gstbasertpdepayload.html#GstBaseRTPDepayloadClass" title="struct GstBaseRTPDepayloadClass">GstBaseRTPDepayloadClass</a>;
49 #define <a class="link" href="gst-plugins-base-libs-gstbasertpdepayload.html#GST-BASE-RTP-DEPAYLOAD-SINKPAD:CAPS" title="GST_BASE_RTP_DEPAYLOAD_SINKPAD()">GST_BASE_RTP_DEPAYLOAD_SINKPAD</a> (depayload)
50 #define <a class="link" href="gst-plugins-base-libs-gstbasertpdepayload.html#GST-BASE-RTP-DEPAYLOAD-SRCPAD:CAPS" title="GST_BASE_RTP_DEPAYLOAD_SRCPAD()">GST_BASE_RTP_DEPAYLOAD_SRCPAD</a> (depayload)
51 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a> <a class="link" href="gst-plugins-base-libs-gstbasertpdepayload.html#gst-base-rtp-depayload-push" title="gst_base_rtp_depayload_push ()">gst_base_rtp_depayload_push</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstbasertpdepayload.html#GstBaseRTPDepayload"><span class="type">GstBaseRTPDepayload</span></a> *filter</code></em>,
52 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *out_buf</code></em>);
53 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a> <a class="link" href="gst-plugins-base-libs-gstbasertpdepayload.html#gst-base-rtp-depayload-push-ts" title="gst_base_rtp_depayload_push_ts ()">gst_base_rtp_depayload_push_ts</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstbasertpdepayload.html#GstBaseRTPDepayload"><span class="type">GstBaseRTPDepayload</span></a> *filter</code></em>,
54 <em class="parameter"><code><span class="type">guint32</span> timestamp</code></em>,
55 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *out_buf</code></em>);
56 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a> <a class="link" href="gst-plugins-base-libs-gstbasertpdepayload.html#gst-base-rtp-depayload-push-list" title="gst_base_rtp_depayload_push_list ()">gst_base_rtp_depayload_push_list</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstbasertpdepayload.html#GstBaseRTPDepayload"><span class="type">GstBaseRTPDepayload</span></a> *filter</code></em>,
57 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBufferList.html#GstBufferList"><span class="type">GstBufferList</span></a> *out_list</code></em>);
60 <div class="refsect1">
61 <a name="gst-plugins-base-libs-gstbasertpdepayload.object-hierarchy"></a><h2>Object Hierarchy</h2>
62 <pre class="synopsis">
63 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
64 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
65 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
66 +----GstBaseRTPDepayload
69 <div class="refsect1">
70 <a name="gst-plugins-base-libs-gstbasertpdepayload.properties"></a><h2>Properties</h2>
71 <pre class="synopsis">
72 "<a class="link" href="gst-plugins-base-libs-gstbasertpdepayload.html#GstBaseRTPDepayload--queue-delay" title='The "queue-delay" property'>queue-delay</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
75 <div class="refsect1">
76 <a name="gst-plugins-base-libs-gstbasertpdepayload.description"></a><h2>Description</h2>
78 Provides a base class for RTP depayloaders
81 <div class="refsect1">
82 <a name="gst-plugins-base-libs-gstbasertpdepayload.details"></a><h2>Details</h2>
83 <div class="refsect2">
84 <a name="GstBaseRTPDepayload-struct"></a><h3>struct GstBaseRTPDepayload</h3>
85 <pre class="programlisting">struct GstBaseRTPDepayload;</pre>
88 <div class="refsect2">
89 <a name="GstBaseRTPDepayloadClass"></a><h3>struct GstBaseRTPDepayloadClass</h3>
90 <pre class="programlisting">struct GstBaseRTPDepayloadClass {
91 GstElementClass parent_class;
93 /* virtuals, inform the subclass of the caps. */
94 gboolean (*set_caps) (GstBaseRTPDepayload *filter, GstCaps *caps);
96 /* non-pure function, default implementation in base class
97 * this does buffering, reordering and dropping, deprecated */
98 GstFlowReturn (*add_to_queue) (GstBaseRTPDepayload *filter, GstBuffer *in);
100 /* pure virtual function, child must use this to process incoming
101 * rtp packets. If the child returns a buffer without a valid timestamp,
102 * the timestamp of @in will be applied to the result buffer and the
103 * buffer will be pushed. If this function returns %NULL, nothing is
105 GstBuffer * (*process) (GstBaseRTPDepayload *base, GstBuffer *in);
107 /* non-pure function used to convert from RTP timestamp to GST timestamp
108 * this function is used by the child class before gst_pad_pushing */
109 void (*set_gst_timestamp) (GstBaseRTPDepayload *filter, guint32 timestamp, GstBuffer *buf);
111 /* non-pure function used to to signal the depayloader about packet loss. the
112 * timestamp and duration are the estimated values of the lost packet.
113 * The default implementation of this message pushes a segment update. */
114 gboolean (*packet_lost) (GstBaseRTPDepayload *filter, GstEvent *event);
116 /* the default implementation does the default actions for events but
117 * implementation can override.
119 gboolean (*handle_event) (GstBaseRTPDepayload * filter, GstEvent * event);
123 Base class for audio RTP payloader.
125 <div class="variablelist"><table border="0">
126 <col align="left" valign="top">
129 <td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstBaseRTPDepayloadClass.parent-class"></a>parent_class</code></em>;</span></p></td>
130 <td>the parent class</td>
133 <td><p><span class="term"><em class="structfield"><code><a name="GstBaseRTPDepayloadClass.set-caps"></a>set_caps</code></em> ()</span></p></td>
134 <td>configure the depayloader</td>
137 <td><p><span class="term"><em class="structfield"><code><a name="GstBaseRTPDepayloadClass.add-to-queue"></a>add_to_queue</code></em> ()</span></p></td>
138 <td>(deprecated)</td>
141 <td><p><span class="term"><em class="structfield"><code><a name="GstBaseRTPDepayloadClass.process"></a>process</code></em> ()</span></p></td>
142 <td>process incoming rtp packets</td>
145 <td><p><span class="term"><em class="structfield"><code><a name="GstBaseRTPDepayloadClass.set-gst-timestamp"></a>set_gst_timestamp</code></em> ()</span></p></td>
146 <td>convert from RTP timestamp to GST timestamp</td>
149 <td><p><span class="term"><em class="structfield"><code><a name="GstBaseRTPDepayloadClass.packet-lost"></a>packet_lost</code></em> ()</span></p></td>
150 <td>signal the depayloader about packet loss</td>
153 <td><p><span class="term"><em class="structfield"><code><a name="GstBaseRTPDepayloadClass.handle-event"></a>handle_event</code></em> ()</span></p></td>
154 <td>custom event handling</td>
160 <div class="refsect2">
161 <a name="GST-BASE-RTP-DEPAYLOAD-SINKPAD:CAPS"></a><h3>GST_BASE_RTP_DEPAYLOAD_SINKPAD()</h3>
162 <pre class="programlisting">#define GST_BASE_RTP_DEPAYLOAD_SINKPAD(depayload) (GST_BASE_RTP_DEPAYLOAD (depayload)->sinkpad)
166 <div class="refsect2">
167 <a name="GST-BASE-RTP-DEPAYLOAD-SRCPAD:CAPS"></a><h3>GST_BASE_RTP_DEPAYLOAD_SRCPAD()</h3>
168 <pre class="programlisting">#define GST_BASE_RTP_DEPAYLOAD_SRCPAD(depayload) (GST_BASE_RTP_DEPAYLOAD (depayload)->srcpad)
172 <div class="refsect2">
173 <a name="gst-base-rtp-depayload-push"></a><h3>gst_base_rtp_depayload_push ()</h3>
174 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a> gst_base_rtp_depayload_push (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstbasertpdepayload.html#GstBaseRTPDepayload"><span class="type">GstBaseRTPDepayload</span></a> *filter</code></em>,
175 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *out_buf</code></em>);</pre>
177 Push <em class="parameter"><code>out_buf</code></em> to the peer of <em class="parameter"><code>filter</code></em>. This function takes ownership of
178 <em class="parameter"><code>out_buf</code></em>.
181 Unlike <a class="link" href="gst-plugins-base-libs-gstbasertpdepayload.html#gst-base-rtp-depayload-push-ts" title="gst_base_rtp_depayload_push_ts ()"><code class="function">gst_base_rtp_depayload_push_ts()</code></a>, this function will not apply
182 any timestamp on the outgoing buffer. Subclasses should therefore timestamp
183 outgoing buffers themselves.
185 <div class="variablelist"><table border="0">
186 <col align="left" valign="top">
189 <td><p><span class="term"><em class="parameter"><code>filter</code></em> :</span></p></td>
190 <td>a <a class="link" href="gst-plugins-base-libs-gstbasertpdepayload.html#GstBaseRTPDepayload"><span class="type">GstBaseRTPDepayload</span></a>
194 <td><p><span class="term"><em class="parameter"><code>out_buf</code></em> :</span></p></td>
195 <td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>
199 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
200 <td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a>.</td>
206 <div class="refsect2">
207 <a name="gst-base-rtp-depayload-push-ts"></a><h3>gst_base_rtp_depayload_push_ts ()</h3>
208 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a> gst_base_rtp_depayload_push_ts (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstbasertpdepayload.html#GstBaseRTPDepayload"><span class="type">GstBaseRTPDepayload</span></a> *filter</code></em>,
209 <em class="parameter"><code><span class="type">guint32</span> timestamp</code></em>,
210 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *out_buf</code></em>);</pre>
212 Push <em class="parameter"><code>out_buf</code></em> to the peer of <em class="parameter"><code>filter</code></em>. This function takes ownership of
213 <em class="parameter"><code>out_buf</code></em>.
216 Unlike <a class="link" href="gst-plugins-base-libs-gstbasertpdepayload.html#gst-base-rtp-depayload-push" title="gst_base_rtp_depayload_push ()"><code class="function">gst_base_rtp_depayload_push()</code></a>, this function will by default apply
217 the last incomming timestamp on the outgoing buffer when it didn't have a
218 timestamp already. The set_get_timestamp vmethod can be overwritten to change
219 this behaviour (and take, for example, <em class="parameter"><code>timestamp</code></em> into account).
221 <div class="variablelist"><table border="0">
222 <col align="left" valign="top">
225 <td><p><span class="term"><em class="parameter"><code>filter</code></em> :</span></p></td>
226 <td>a <a class="link" href="gst-plugins-base-libs-gstbasertpdepayload.html#GstBaseRTPDepayload"><span class="type">GstBaseRTPDepayload</span></a>
230 <td><p><span class="term"><em class="parameter"><code>timestamp</code></em> :</span></p></td>
231 <td>an RTP timestamp to apply</td>
234 <td><p><span class="term"><em class="parameter"><code>out_buf</code></em> :</span></p></td>
235 <td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>
239 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
240 <td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a>.</td>
246 <div class="refsect2">
247 <a name="gst-base-rtp-depayload-push-list"></a><h3>gst_base_rtp_depayload_push_list ()</h3>
248 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a> gst_base_rtp_depayload_push_list (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstbasertpdepayload.html#GstBaseRTPDepayload"><span class="type">GstBaseRTPDepayload</span></a> *filter</code></em>,
249 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBufferList.html#GstBufferList"><span class="type">GstBufferList</span></a> *out_list</code></em>);</pre>
251 Push <em class="parameter"><code>out_list</code></em> to the peer of <em class="parameter"><code>filter</code></em>. This function takes ownership of
252 <em class="parameter"><code>out_list</code></em>.
254 <div class="variablelist"><table border="0">
255 <col align="left" valign="top">
258 <td><p><span class="term"><em class="parameter"><code>filter</code></em> :</span></p></td>
259 <td>a <a class="link" href="gst-plugins-base-libs-gstbasertpdepayload.html#GstBaseRTPDepayload"><span class="type">GstBaseRTPDepayload</span></a>
263 <td><p><span class="term"><em class="parameter"><code>out_list</code></em> :</span></p></td>
264 <td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBufferList.html#GstBufferList"><span class="type">GstBufferList</span></a>
268 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
269 <td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a>.</td>
273 <p class="since">Since 0.10.32</p>
276 <div class="refsect1">
277 <a name="gst-plugins-base-libs-gstbasertpdepayload.property-details"></a><h2>Property Details</h2>
278 <div class="refsect2">
279 <a name="GstBaseRTPDepayload--queue-delay"></a><h3>The <code class="literal">"queue-delay"</code> property</h3>
280 <pre class="programlisting"> "queue-delay" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write</pre>
281 <p>Amount of ms to queue/buffer, deprecated.</p>
282 <p>Default value: 0</p>
288 Generated by GTK-Doc V1.18</div>