tizen 2.3 release
[framework/multimedia/gst-plugins-base0.10.git] / docs / libs / html / gst-plugins-base-libs-gstbasertpdepayload.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
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">
13 </head>
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">
16 <tr valign="middle">
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>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#gst-plugins-base-libs-gstbasertpdepayload.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#gst-plugins-base-libs-gstbasertpdepayload.description" class="shortcut">Description</a>
27                    | 
28                   <a href="#gst-plugins-base-libs-gstbasertpdepayload.object-hierarchy" class="shortcut">Object Hierarchy</a>
29                    | 
30                   <a href="#gst-plugins-base-libs-gstbasertpdepayload.properties" class="shortcut">Properties</a>
31 </td></tr>
32 </table>
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>
36 <td valign="top">
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>
39 </td>
40 <td valign="top" align="right"></td>
41 </tr></table></div>
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 &lt;gst/rtp/gstbasertpdepayload.h&gt;
46
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>);
58 </pre>
59 </div>
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
67 </pre>
68 </div>
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
73 </pre>
74 </div>
75 <div class="refsect1">
76 <a name="gst-plugins-base-libs-gstbasertpdepayload.description"></a><h2>Description</h2>
77 <p>
78 Provides a base class for RTP depayloaders
79 </p>
80 </div>
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>
86 </div>
87 <hr>
88 <div class="refsect2">
89 <a name="GstBaseRTPDepayloadClass"></a><h3>struct GstBaseRTPDepayloadClass</h3>
90 <pre class="programlisting">struct GstBaseRTPDepayloadClass {
91   GstElementClass parent_class;
92
93   /* virtuals, inform the subclass of the caps. */
94   gboolean (*set_caps) (GstBaseRTPDepayload *filter, GstCaps *caps);
95
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);
99
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
104    * pushed.  */
105   GstBuffer * (*process) (GstBaseRTPDepayload *base, GstBuffer *in);
106
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);
110
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);
115
116   /* the default implementation does the default actions for events but
117    * implementation can override.
118    * Since: 0.10.32   */
119   gboolean (*handle_event) (GstBaseRTPDepayload * filter, GstEvent * event);
120 };
121 </pre>
122 <p>
123 Base class for audio RTP payloader.
124 </p>
125 <div class="variablelist"><table border="0">
126 <col align="left" valign="top">
127 <tbody>
128 <tr>
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>
131 </tr>
132 <tr>
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>
135 </tr>
136 <tr>
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>
139 </tr>
140 <tr>
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>
143 </tr>
144 <tr>
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>
147 </tr>
148 <tr>
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>
151 </tr>
152 <tr>
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>
155 </tr>
156 </tbody>
157 </table></div>
158 </div>
159 <hr>
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)-&gt;sinkpad)
163 </pre>
164 </div>
165 <hr>
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)-&gt;srcpad)
169 </pre>
170 </div>
171 <hr>
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>
176 <p>
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>.
179 </p>
180 <p>
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.
184 </p>
185 <div class="variablelist"><table border="0">
186 <col align="left" valign="top">
187 <tbody>
188 <tr>
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>
191 </td>
192 </tr>
193 <tr>
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>
196 </td>
197 </tr>
198 <tr>
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>
201 </tr>
202 </tbody>
203 </table></div>
204 </div>
205 <hr>
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>
211 <p>
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>.
214 </p>
215 <p>
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).
220 </p>
221 <div class="variablelist"><table border="0">
222 <col align="left" valign="top">
223 <tbody>
224 <tr>
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>
227 </td>
228 </tr>
229 <tr>
230 <td><p><span class="term"><em class="parameter"><code>timestamp</code></em> :</span></p></td>
231 <td>an RTP timestamp to apply</td>
232 </tr>
233 <tr>
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>
236 </td>
237 </tr>
238 <tr>
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>
241 </tr>
242 </tbody>
243 </table></div>
244 </div>
245 <hr>
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>
250 <p>
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>.
253 </p>
254 <div class="variablelist"><table border="0">
255 <col align="left" valign="top">
256 <tbody>
257 <tr>
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>
260 </td>
261 </tr>
262 <tr>
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>
265 </td>
266 </tr>
267 <tr>
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>
270 </tr>
271 </tbody>
272 </table></div>
273 <p class="since">Since 0.10.32</p>
274 </div>
275 </div>
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>
283 </div>
284 </div>
285 </div>
286 <div class="footer">
287 <hr>
288           Generated by GTK-Doc V1.18</div>
289 </body>
290 </html>