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>decodebin2</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 Plugins Reference Manual">
8 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
9 <link rel="prev" href="gst-plugins-base-plugins-decodebin.html" title="decodebin">
10 <link rel="next" href="gst-plugins-base-plugins-encodebin.html" title="encodebin">
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-plugins-decodebin.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="ch01.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 Plugins Reference Manual</th>
21 <td><a accesskey="n" href="gst-plugins-base-plugins-encodebin.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-plugins-decodebin2.synopsis" class="shortcut">Top</a>
26 <a href="#gst-plugins-base-plugins-decodebin2.description" class="shortcut">Description</a>
28 <a href="#gst-plugins-base-plugins-decodebin2.object-hierarchy" class="shortcut">Object Hierarchy</a>
30 <a href="#gst-plugins-base-plugins-decodebin2.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
32 <a href="#gst-plugins-base-plugins-decodebin2.properties" class="shortcut">Properties</a>
34 <a href="#gst-plugins-base-plugins-decodebin2.signals" class="shortcut">Signals</a>
37 <div class="refentry">
38 <a name="gst-plugins-base-plugins-decodebin2"></a><div class="titlepage"></div>
39 <div class="refnamediv"><table width="100%"><tr>
41 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-decodebin2.top_of_page"></a>decodebin2</span></h2>
42 <p>decodebin2 — Autoplug and decode to raw media</p>
44 <td valign="top" align="right"></td>
46 <div class="refsynopsisdiv">
47 <a name="gst-plugins-base-plugins-decodebin2.synopsis"></a><h2>Synopsis</h2>
48 <a name="GstDecodeBin2"></a><pre class="synopsis">struct <a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2-struct" title="struct GstDecodeBin2">GstDecodeBin2</a>;
51 <div class="refsect1">
52 <a name="gst-plugins-base-plugins-decodebin2.object-hierarchy"></a><h2>Object Hierarchy</h2>
53 <pre class="synopsis">
54 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
55 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
56 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
57 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html">GstBin</a>
61 <div class="refsect1">
62 <a name="gst-plugins-base-plugins-decodebin2.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
64 GstDecodeBin2 implements
65 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstChildProxy.html">GstChildProxy</a>.</p>
67 <div class="refsect1">
68 <a name="gst-plugins-base-plugins-decodebin2.properties"></a><h2>Properties</h2>
69 <pre class="synopsis">
70 "<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2--caps" title='The "caps" property'>caps</a>" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>* : Read / Write
71 "<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2--subtitle-encoding" title='The "subtitle-encoding" property'>subtitle-encoding</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write
72 "<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2--sink-caps" title='The "sink-caps" property'>sink-caps</a>" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>* : Read / Write
73 "<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2--high-percent" title='The "high-percent" property'>high-percent</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write
74 "<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2--low-percent" title='The "low-percent" property'>low-percent</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write
75 "<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2--max-size-buffers" title='The "max-size-buffers" property'>max-size-buffers</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
76 "<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2--max-size-bytes" title='The "max-size-bytes" property'>max-size-bytes</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
77 "<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2--max-size-time" title='The "max-size-time" property'>max-size-time</a>" <span class="type">guint64</span> : Read / Write
78 "<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2--use-buffering" title='The "use-buffering" property'>use-buffering</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
79 "<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2--post-stream-topology" title='The "post-stream-topology" property'>post-stream-topology</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
80 "<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2--expose-all-streams" title='The "expose-all-streams" property'>expose-all-streams</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
83 <div class="refsect1">
84 <a name="gst-plugins-base-plugins-decodebin2.signals"></a><h2>Signals</h2>
85 <pre class="synopsis">
86 "<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2-autoplug-continue" title='The "autoplug-continue" signal'>autoplug-continue</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
87 "<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2-autoplug-sort" title='The "autoplug-sort" signal'>autoplug-sort</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
88 "<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2-new-decoded-pad" title='The "new-decoded-pad" signal'>new-decoded-pad</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
89 "<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2-removed-decoded-pad" title='The "removed-decoded-pad" signal'>removed-decoded-pad</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
90 "<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2-unknown-type" title='The "unknown-type" signal'>unknown-type</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
91 "<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2-autoplug-factories" title='The "autoplug-factories" signal'>autoplug-factories</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
92 "<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2-autoplug-select" title='The "autoplug-select" signal'>autoplug-select</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
93 "<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2-drained" title='The "drained" signal'>drained</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
96 <div class="refsect1">
97 <a name="gst-plugins-base-plugins-decodebin2.description"></a><h2>Description</h2>
99 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html"><span class="type">GstBin</span></a> that auto-magically constructs a decoding pipeline using available
100 decoders and demuxers via auto-plugging.
103 decodebin2 is considered stable now and replaces the old <span class="type">decodebin</span> element.
104 <span class="type">uridecodebin</span> uses decodebin2 internally and is often more convenient to
105 use, as it creates a suitable source element as well.
107 <div class="refsynopsisdiv">
109 <div class="refsect2">
110 <a name="idp10756320"></a><h3>Element Information</h3>
111 <div class="variablelist"><table border="0">
112 <col align="left" valign="top">
115 <td><p><span class="term">plugin</span></p></td>
117 <a class="link" href="gst-plugins-base-plugins-plugin-uridecodebin.html#plugin-uridecodebin">uridecodebin</a>
121 <td><p><span class="term">author</span></p></td>
122 <td>Edward Hervey <edward.hervey@collabora.co.uk>, Sebastian Dröge <sebastian.droege@collabora.co.uk></td>
125 <td><p><span class="term">class</span></p></td>
126 <td>Generic/Bin/Decoder</td>
132 <div class="refsect2">
133 <a name="idp10763840"></a><h3>Element Pads</h3>
134 <div class="variablelist"><table border="0">
135 <col align="left" valign="top">
138 <td><p><span class="term">name</span></p></td>
142 <td><p><span class="term">direction</span></p></td>
146 <td><p><span class="term">presence</span></p></td>
150 <td><p><span class="term">details</span></p></td>
155 <div class="variablelist"><table border="0">
156 <col align="left" valign="top">
159 <td><p><span class="term">name</span></p></td>
163 <td><p><span class="term">direction</span></p></td>
167 <td><p><span class="term">presence</span></p></td>
171 <td><p><span class="term">details</span></p></td>
181 <div class="refsect1">
182 <a name="gst-plugins-base-plugins-decodebin2.details"></a><h2>Details</h2>
183 <div class="refsect2">
184 <a name="GstDecodeBin2-struct"></a><h3>struct GstDecodeBin2</h3>
185 <pre class="programlisting">struct GstDecodeBin2;</pre>
187 The opaque <span class="type">DecodeBin2</span> data structure
191 <div class="refsect1">
192 <a name="gst-plugins-base-plugins-decodebin2.property-details"></a><h2>Property Details</h2>
193 <div class="refsect2">
194 <a name="GstDecodeBin2--caps"></a><h3>The <code class="literal">"caps"</code> property</h3>
195 <pre class="programlisting"> "caps" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>* : Read / Write</pre>
196 <p>The caps on which to stop decoding.</p>
199 <div class="refsect2">
200 <a name="GstDecodeBin2--subtitle-encoding"></a><h3>The <code class="literal">"subtitle-encoding"</code> property</h3>
201 <pre class="programlisting"> "subtitle-encoding" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write</pre>
202 <p>Encoding to assume if input subtitles are not in UTF-8 encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.</p>
203 <p>Default value: NULL</p>
206 <div class="refsect2">
207 <a name="GstDecodeBin2--sink-caps"></a><h3>The <code class="literal">"sink-caps"</code> property</h3>
208 <pre class="programlisting"> "sink-caps" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>* : Read / Write</pre>
209 <p>The caps of the input data. (NULL = use typefind element).</p>
212 <div class="refsect2">
213 <a name="GstDecodeBin2--high-percent"></a><h3>The <code class="literal">"high-percent"</code> property</h3>
214 <pre class="programlisting"> "high-percent" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write</pre>
215 <p>High threshold for buffering to finish.</p>
216 <p>Allowed values: [0,100]</p>
217 <p>Default value: 99</p>
220 <div class="refsect2">
221 <a name="GstDecodeBin2--low-percent"></a><h3>The <code class="literal">"low-percent"</code> property</h3>
222 <pre class="programlisting"> "low-percent" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write</pre>
223 <p>Low threshold for buffering to start.</p>
224 <p>Allowed values: [0,100]</p>
225 <p>Default value: 10</p>
228 <div class="refsect2">
229 <a name="GstDecodeBin2--max-size-buffers"></a><h3>The <code class="literal">"max-size-buffers"</code> property</h3>
230 <pre class="programlisting"> "max-size-buffers" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write</pre>
231 <p>Max. number of buffers in the queue (0=automatic).</p>
232 <p>Default value: 0</p>
235 <div class="refsect2">
236 <a name="GstDecodeBin2--max-size-bytes"></a><h3>The <code class="literal">"max-size-bytes"</code> property</h3>
237 <pre class="programlisting"> "max-size-bytes" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write</pre>
238 <p>Max. amount of bytes in the queue (0=automatic).</p>
239 <p>Default value: 0</p>
242 <div class="refsect2">
243 <a name="GstDecodeBin2--max-size-time"></a><h3>The <code class="literal">"max-size-time"</code> property</h3>
244 <pre class="programlisting"> "max-size-time" <span class="type">guint64</span> : Read / Write</pre>
245 <p>Max. amount of data in the queue (in ns, 0=automatic).</p>
246 <p>Default value: 0</p>
249 <div class="refsect2">
250 <a name="GstDecodeBin2--use-buffering"></a><h3>The <code class="literal">"use-buffering"</code> property</h3>
251 <pre class="programlisting"> "use-buffering" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
252 <p>Emit GST_MESSAGE_BUFFERING based on low-/high-percent thresholds.</p>
253 <p>Default value: FALSE</p>
256 <div class="refsect2">
257 <a name="GstDecodeBin2--post-stream-topology"></a><h3>The <code class="literal">"post-stream-topology"</code> property</h3>
258 <pre class="programlisting"> "post-stream-topology" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
259 <p>Post stream-topology messages.</p>
260 <p>Default value: FALSE</p>
263 <div class="refsect2">
264 <a name="GstDecodeBin2--expose-all-streams"></a><h3>The <code class="literal">"expose-all-streams"</code> property</h3>
265 <pre class="programlisting"> "expose-all-streams" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
266 <p>Expose all streams, including those of unknown type or that don't match the 'caps' property.</p>
267 <p>Default value: TRUE</p>
270 <div class="refsect1">
271 <a name="gst-plugins-base-plugins-decodebin2.signal-details"></a><h2>Signal Details</h2>
272 <div class="refsect2">
273 <a name="GstDecodeBin2-autoplug-continue"></a><h3>The <code class="literal">"autoplug-continue"</code> signal</h3>
274 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2"><span class="type">GstDecodeBin2</span></a> *bin,
275 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad,
276 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps,
277 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
279 This signal is emitted whenever decodebin2 finds a new stream. It is
280 emitted before looking for any elements that can handle that stream.
284 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
285 <h3 class="title">Note</h3>
286 Invocation of signal handlers stops after the first signal handler
287 returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>. Signal handlers are invoked in the order they were
292 <div class="variablelist"><table border="0">
293 <col align="left" valign="top">
296 <td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
297 <td>The decodebin.</td>
300 <td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
301 <td>The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>.</td>
304 <td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
305 <td>The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> found.</td>
308 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
309 <td>user data set when the signal handler was connected.</td>
312 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
314 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if you wish decodebin2 to look for elements that can
315 handle the given <em class="parameter"><code>caps</code></em>. If <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>, those caps will be considered as
316 final and the pad will be exposed as such (see 'new-decoded-pad'
323 <div class="refsect2">
324 <a name="GstDecodeBin2-autoplug-sort"></a><h3>The <code class="literal">"autoplug-sort"</code> signal</h3>
325 <pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a>* user_function (<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2"><span class="type">GstDecodeBin2</span></a> *bin,
326 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad,
327 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps,
328 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="type">GValueArray</span></a> *factories,
329 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
331 Once decodebin2 has found the possible <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElementFactory.html"><span class="type">GstElementFactory</span></a> objects to try
332 for <em class="parameter"><code>caps</code></em> on <em class="parameter"><code>pad</code></em>, this signal is emitted. The purpose of the signal is for
333 the application to perform additional sorting or filtering on the element
337 The callee should copy and modify <em class="parameter"><code>factories</code></em> or return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if the
338 order should not change.
342 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
343 <h3 class="title">Note</h3>
344 Invocation of signal handlers stops after one signal handler has
345 returned something else than <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>. Signal handlers are invoked in
346 the order they were connected in.
347 Don't connect signal handlers with the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-CONNECT-AFTER:CAPS"><span class="type">G_CONNECT_AFTER</span></a> flag to this
348 signal, they will never be invoked!
352 <div class="variablelist"><table border="0">
353 <col align="left" valign="top">
356 <td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
357 <td>The decodebin.</td>
360 <td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
361 <td>The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>.</td>
364 <td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
365 <td>The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>.</td>
368 <td><p><span class="term"><em class="parameter"><code>factories</code></em> :</span></p></td>
369 <td>A <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="type">GValueArray</span></a> of possible <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElementFactory.html"><span class="type">GstElementFactory</span></a> to use.</td>
372 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
373 <td>user data set when the signal handler was connected.</td>
376 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
377 <td>A new sorted array of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElementFactory.html"><span class="type">GstElementFactory</span></a> objects.</td>
383 <div class="refsect2">
384 <a name="GstDecodeBin2-new-decoded-pad"></a><h3>The <code class="literal">"new-decoded-pad"</code> signal</h3>
385 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2"><span class="type">GstDecodeBin2</span></a> *bin,
386 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad,
387 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> islast,
388 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
389 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
390 <h3 class="title">Warning</h3>
391 <p><code class="literal">GstDecodeBin2::new-decoded-pad</code> is deprecated and should not be used in newly-written code. Use GstElement::pad-added instead of this signal.</p>
394 This signal gets emitted as soon as a new pad of the same type as one of
395 the valid 'raw' types is added.
397 <div class="variablelist"><table border="0">
398 <col align="left" valign="top">
401 <td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
402 <td>The decodebin.</td>
405 <td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
406 <td>The newly created pad.</td>
409 <td><p><span class="term"><em class="parameter"><code>islast</code></em> :</span></p></td>
411 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if this is the last pad to be added. Deprecated.</td>
414 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
415 <td>user data set when the signal handler was connected.</td>
421 <div class="refsect2">
422 <a name="GstDecodeBin2-removed-decoded-pad"></a><h3>The <code class="literal">"removed-decoded-pad"</code> signal</h3>
423 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2"><span class="type">GstDecodeBin2</span></a> *bin,
424 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad,
425 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
426 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
427 <h3 class="title">Warning</h3>
428 <p><code class="literal">GstDecodeBin2::removed-decoded-pad</code> is deprecated and should not be used in newly-written code. Use GstElement::pad-removed instead of this signal.</p>
431 This signal is emitted when a 'final' caps pad has been removed.
433 <div class="variablelist"><table border="0">
434 <col align="left" valign="top">
437 <td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
438 <td>The decodebin.</td>
441 <td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
442 <td>The pad that was removed.</td>
445 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
446 <td>user data set when the signal handler was connected.</td>
452 <div class="refsect2">
453 <a name="GstDecodeBin2-unknown-type"></a><h3>The <code class="literal">"unknown-type"</code> signal</h3>
454 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2"><span class="type">GstDecodeBin2</span></a> *bin,
455 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad,
456 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps,
457 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
459 This signal is emitted when a pad for which there is no further possible
460 decoding is added to the decodebin.
462 <div class="variablelist"><table border="0">
463 <col align="left" valign="top">
466 <td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
467 <td>The decodebin.</td>
470 <td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
471 <td>The new pad containing caps that cannot be resolved to a 'final'
475 <td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
476 <td>The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> of the pad that cannot be resolved.</td>
479 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
480 <td>user data set when the signal handler was connected.</td>
486 <div class="refsect2">
487 <a name="GstDecodeBin2-autoplug-factories"></a><h3>The <code class="literal">"autoplug-factories"</code> signal</h3>
488 <pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a>* user_function (<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2"><span class="type">GstDecodeBin2</span></a> *bin,
489 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad,
490 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps,
491 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
493 This function is emitted when an array of possible factories for <em class="parameter"><code>caps</code></em> on
494 <em class="parameter"><code>pad</code></em> is needed. Decodebin2 will by default return an array with all
495 compatible factories, sorted by rank.
498 If this function returns NULL, <em class="parameter"><code>pad</code></em> will be exposed as a final caps.
501 If this function returns an empty array, the pad will be considered as
502 having an unhandled type media type.
506 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
507 <h3 class="title">Note</h3>
508 Only the signal handler that is connected first will ever by invoked.
509 Don't connect signal handlers with the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-CONNECT-AFTER:CAPS"><span class="type">G_CONNECT_AFTER</span></a> flag to this
510 signal, they will never be invoked!
514 <div class="variablelist"><table border="0">
515 <col align="left" valign="top">
518 <td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
519 <td>The decodebin.</td>
522 <td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
523 <td>The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>.</td>
526 <td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
527 <td>The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> found.</td>
530 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
531 <td>user data set when the signal handler was connected.</td>
534 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
535 <td>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="type">GValueArray</span></a>* with a list of factories to try. The factories are
536 by default tried in the returned order or based on the index returned by
537 "autoplug-select".</td>
543 <div class="refsect2">
544 <a name="GstDecodeBin2-autoplug-select"></a><h3>The <code class="literal">"autoplug-select"</code> signal</h3>
545 <pre class="programlisting"><a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GstAutoplugSelectResult" title="enum GstAutoplugSelectResult"><span class="returnvalue">GstAutoplugSelectResult</span></a>user_function (<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2"><span class="type">GstDecodeBin2</span></a> *bin,
546 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad,
547 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps,
548 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElementFactory.html"><span class="type">GstElementFactory</span></a> *factory,
549 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
551 This signal is emitted once decodebin2 has found all the possible
552 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElementFactory.html"><span class="type">GstElementFactory</span></a> that can be used to handle the given <em class="parameter"><code>caps</code></em>. For each of
553 those factories, this signal is emitted.
556 The signal handler should return a <span class="type">GST_TYPE_AUTOPLUG_SELECT_RESULT</span> enum
557 value indicating what decodebin2 should do next.
560 A value of <a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-TRY:CAPS"><span class="type">GST_AUTOPLUG_SELECT_TRY</span></a> will try to autoplug an element from
561 <em class="parameter"><code>factory</code></em>.
564 A value of <a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-EXPOSE:CAPS"><span class="type">GST_AUTOPLUG_SELECT_EXPOSE</span></a> will expose <em class="parameter"><code>pad</code></em> without plugging
568 A value of <a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-SKIP:CAPS"><span class="type">GST_AUTOPLUG_SELECT_SKIP</span></a> will skip <em class="parameter"><code>factory</code></em> and move to the
573 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
574 <h3 class="title">Note</h3>
575 Only the signal handler that is connected first will ever by invoked.
576 Don't connect signal handlers with the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-CONNECT-AFTER:CAPS"><span class="type">G_CONNECT_AFTER</span></a> flag to this
577 signal, they will never be invoked!
581 <div class="variablelist"><table border="0">
582 <col align="left" valign="top">
585 <td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
586 <td>The decodebin.</td>
589 <td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
590 <td>The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>.</td>
593 <td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
594 <td>The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>.</td>
597 <td><p><span class="term"><em class="parameter"><code>factory</code></em> :</span></p></td>
598 <td>A <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElementFactory.html"><span class="type">GstElementFactory</span></a> to use.</td>
601 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
602 <td>user data set when the signal handler was connected.</td>
605 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
606 <td>a <span class="type">GST_TYPE_AUTOPLUG_SELECT_RESULT</span> that indicates the required
607 operation. the default handler will always return
608 <a class="link" href="gst-plugins-base-plugins-uridecodebin.html#GST-AUTOPLUG-SELECT-TRY:CAPS"><span class="type">GST_AUTOPLUG_SELECT_TRY</span></a>.</td>
614 <div class="refsect2">
615 <a name="GstDecodeBin2-drained"></a><h3>The <code class="literal">"drained"</code> signal</h3>
616 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="gst-plugins-base-plugins-decodebin2.html#GstDecodeBin2"><span class="type">GstDecodeBin2</span></a> *bin,
617 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
619 This signal is emitted once decodebin2 has finished decoding all the data.
621 <div class="variablelist"><table border="0">
622 <col align="left" valign="top">
625 <td><p><span class="term"><em class="parameter"><code>bin</code></em> :</span></p></td>
626 <td>The decodebin</td>
629 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
630 <td>user data set when the signal handler was connected.</td>
634 <p class="since">Since 0.10.16</p>
640 Generated by GTK-Doc V1.18</div>