• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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>encodebin: GStreamer Base Plugins 1.0 Plugins Reference Manual</title>
6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
8<link rel="up" href="ch01.html" title="gst-plugins-base Elements">
9<link rel="prev" href="gst-plugins-base-plugins-decodebin3.html" title="decodebin3">
10<link rel="next" href="gst-plugins-base-plugins-giosink.html" title="giosink">
11<meta name="generator" content="GTK-Doc V1.28 (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="5"><tr valign="middle">
16<td width="100%" align="left" class="shortcuts">
17<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span18                  <a href="#gst-plugins-base-plugins-encodebin.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span19                  <a href="#gst-plugins-base-plugins-encodebin.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span20                  <a href="#gst-plugins-base-plugins-encodebin.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span21                  <a href="#gst-plugins-base-plugins-encodebin.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span22                  <a href="#gst-plugins-base-plugins-encodebin.signals" class="shortcut">Signals</a></span>
23</td>
24<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
25<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
26<td><a accesskey="p" href="gst-plugins-base-plugins-decodebin3.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
27<td><a accesskey="n" href="gst-plugins-base-plugins-giosink.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
28</tr></table>
29<div class="refentry">
30<a name="gst-plugins-base-plugins-encodebin"></a><div class="titlepage"></div>
31<div class="refnamediv"><table width="100%"><tr>
32<td valign="top">
33<h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-encodebin.top_of_page"></a>encodebin</span></h2>
34<p>encodebin</p>
35</td>
36<td class="gallery_image" valign="top" align="right"></td>
37</tr></table></div>
38<div class="refsect1">
39<a name="gst-plugins-base-plugins-encodebin.properties"></a><h2>Properties</h2>
40<div class="informaltable"><table class="informaltable" border="0">
41<colgroup>
42<col width="150px" class="properties_type">
43<col width="300px" class="properties_name">
44<col width="200px" class="properties_flags">
45</colgroup>
46<tbody>
47<tr>
48<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint64"><span class="type">guint64</span></a></td>
49<td class="property_name"><a class="link" href="gst-plugins-base-plugins-encodebin.html#GstEncodeBin--audio-jitter-tolerance" title="The “audio-jitter-tolerance” property">audio-jitter-tolerance</a></td>
50<td class="property_flags">Read / Write</td>
51</tr>
52<tr>
53<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
54<td class="property_name"><a class="link" href="gst-plugins-base-plugins-encodebin.html#GstEncodeBin--avoid-reencoding" title="The “avoid-reencoding” property">avoid-reencoding</a></td>
55<td class="property_flags">Read / Write</td>
56</tr>
57<tr>
58<td class="property_type"><span class="type">GstEncodeBinFlags</span></td>
59<td class="property_name"><a class="link" href="gst-plugins-base-plugins-encodebin.html#GstEncodeBin--flags" title="The “flags” property">flags</a></td>
60<td class="property_flags">Read / Write</td>
61</tr>
62<tr>
63<td class="property_type">
64<a href="../html/GstEncodingProfile.html#GstEncodingProfile-struct"><span class="type">GstEncodingProfile</span></a> *</td>
65<td class="property_name"><a class="link" href="gst-plugins-base-plugins-encodebin.html#GstEncodeBin--profile" title="The “profile” property">profile</a></td>
66<td class="property_flags">Read / Write</td>
67</tr>
68<tr>
69<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
70<td class="property_name"><a class="link" href="gst-plugins-base-plugins-encodebin.html#GstEncodeBin--queue-buffers-max" title="The “queue-buffers-max” property">queue-buffers-max</a></td>
71<td class="property_flags">Read / Write</td>
72</tr>
73<tr>
74<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
75<td class="property_name"><a class="link" href="gst-plugins-base-plugins-encodebin.html#GstEncodeBin--queue-bytes-max" title="The “queue-bytes-max” property">queue-bytes-max</a></td>
76<td class="property_flags">Read / Write</td>
77</tr>
78<tr>
79<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint64"><span class="type">guint64</span></a></td>
80<td class="property_name"><a class="link" href="gst-plugins-base-plugins-encodebin.html#GstEncodeBin--queue-time-max" title="The “queue-time-max” property">queue-time-max</a></td>
81<td class="property_flags">Read / Write</td>
82</tr>
83</tbody>
84</table></div>
85</div>
86<div class="refsect1">
87<a name="gst-plugins-base-plugins-encodebin.signals"></a><h2>Signals</h2>
88<div class="informaltable"><table class="informaltable" border="0">
89<colgroup>
90<col width="150px" class="signals_return">
91<col width="300px" class="signals_name">
92<col width="200px" class="signals_flags">
93</colgroup>
94<tbody>
95<tr>
96<td class="signal_type">
97<a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstPad.html#GstPad-struct"><span class="returnvalue">GstPad</span></a>*</td>
98<td class="signal_name"><a class="link" href="gst-plugins-base-plugins-encodebin.html#GstEncodeBin-request-pad" title="The “request-pad” signal">request-pad</a></td>
99<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
100</tr>
101<tr>
102<td class="signal_type">
103<a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstPad.html#GstPad-struct"><span class="returnvalue">GstPad</span></a>*</td>
104<td class="signal_name"><a class="link" href="gst-plugins-base-plugins-encodebin.html#GstEncodeBin-request-profile-pad" title="The “request-profile-pad” signal">request-profile-pad</a></td>
105<td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></td>
106</tr>
107</tbody>
108</table></div>
109</div>
110<a name="GstEncodeBin"></a><div class="refsect1">
111<a name="gst-plugins-base-plugins-encodebin.other"></a><h2>Types and Values</h2>
112<div class="informaltable"><table class="informaltable" width="100%" border="0">
113<colgroup>
114<col width="150px" class="name">
115<col class="description">
116</colgroup>
117<tbody><tr>
118<td class="datatype_keyword"> </td>
119<td class="function_name"><a class="link" href="gst-plugins-base-plugins-encodebin.html#GstEncodeBin-struct" title="GstEncodeBin">GstEncodeBin</a></td>
120</tr></tbody>
121</table></div>
122</div>
123<div class="refsect1">
124<a name="gst-plugins-base-plugins-encodebin.object-hierarchy"></a><h2>Object Hierarchy</h2>
125<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
126    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
127        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstObject.html#GstObject-struct">GstObject</a>
128            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstElement.html#GstElement-struct">GstElement</a>
129                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstBin.html#GstBin-struct">GstBin</a>
130                    <span class="lineart">╰──</span> GstEncodeBin
131</pre>
132</div>
133<div class="refsect1">
134<a name="gst-plugins-base-plugins-encodebin.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
135<p>
136GstEncodeBin implements
137 <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstChildProxy.html#GstChildProxy-struct">GstChildProxy</a>.</p>
138</div>
139<div class="refsect1">
140<a name="gst-plugins-base-plugins-encodebin.description"></a><h2>Description</h2>
141<p>EncodeBin provides a bin for encoding/muxing various streams according to
142a specified <a href="../html/GstEncodingProfile.html#GstEncodingProfile-struct"><span class="type">GstEncodingProfile</span></a>.</p>
143<p>Based on the profile that was set (via the <a class="link" href="gst-plugins-base-plugins-encodebin.html#GstEncodeBin--profile" title="The “profile” property"><span class="type">“profile”</span></a> property),
144EncodeBin will internally select and configure the required elements
145(encoders, muxers, but also audio and video converters) so that you can
146provide it raw or pre-encoded streams of data in input and have your
147encoded/muxed/converted stream in output.</p>
148<div class="refsect3">
149<a name="id-1.2.19.9.4"></a><h4>Features</h4>
150<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
151<li class="listitem"><p>Automatic encoder and muxer selection based on elements available on the
152system.</p></li>
153<li class="listitem"><p>Conversion of raw audio/video streams (scaling, framerate conversion,
154colorspace conversion, samplerate conversion) to conform to the profile
155output format.</p></li>
156<li class="listitem"><p>Variable number of streams. If the presence property for a stream encoding
157profile is 0, you can request any number of sink pads for it via the
158standard request pad gstreamer API or the <a class="link" href="gst-plugins-base-plugins-encodebin.html#GstEncodeBin-request-pad" title="The “request-pad” signal"><span class="type">“request-pad”</span></a> action
159signal.</p></li>
160<li class="listitem"><p>Avoid reencoding (passthrough). If the input stream is already encoded and is
161compatible with what the <a href="../html/GstEncodingProfile.html#GstEncodingProfile-struct"><span class="type">GstEncodingProfile</span></a> expects, then the stream won't
162be re-encoded but just passed through downstream to the muxer or the output.</p></li>
163<li class="listitem"><p>Mix pre-encoded and raw streams as input. In addition to the passthrough
164feature above, you can feed both raw audio/video *AND* already-encoded data
165to a pad. <a class="link" href="gst-plugins-base-plugins-encodebin.html#GstEncodeBin"><span class="type">GstEncodeBin</span></a> will take care of passing through the compatible
166segments and re-encoding the segments of media that need encoding.</p></li>
167<li class="listitem"><p>Standard behaviour is to use a <a href="../html/GstEncodingProfile.html#GstEncodingContainerProfile-struct"><span class="type">GstEncodingContainerProfile</span></a> to have both
168encoding and muxing performed. But you can also provide a single stream
169profile (like <a href="../html/GstEncodingProfile.html#GstEncodingAudioProfile-struct"><span class="type">GstEncodingAudioProfile</span></a>) to only have the encoding done and
170handle the encoded output yourself.</p></li>
171<li class="listitem"><p>Audio imperfection corrections. Incoming audio streams can have non perfect
172timestamps (jitter), like the streams coming from ASF files. <a class="link" href="gst-plugins-base-plugins-encodebin.html#GstEncodeBin"><span class="type">GstEncodeBin</span></a>
173will automatically fix those imperfections for you. See
174<a class="link" href="gst-plugins-base-plugins-encodebin.html#GstEncodeBin--audio-jitter-tolerance" title="The “audio-jitter-tolerance” property"><span class="type">“audio-jitter-tolerance”</span></a> for more details.</p></li>
175<li class="listitem"><p>Variable or Constant video framerate. If your <a href="../html/GstEncodingProfile.html#GstEncodingVideoProfile-struct"><span class="type">GstEncodingVideoProfile</span></a> has
176the variableframerate property deactivated (default), then the incoming
177raw video stream will be retimestampped in order to produce a constant
178framerate.</p></li>
179<li class="listitem"><p>Cross-boundary re-encoding. When feeding compatible pre-encoded streams that
180fall on segment boundaries, and for supported formats (right now only H263),
181the GOP will be decoded/reencoded when needed to produce an encoded output
182that fits exactly within the request GstSegment.</p></li>
183<li class="listitem"><p>Missing plugin support. If a <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> is missing to encode/mux to the
184request profile formats, a missing-plugin <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a> will be posted on the
185<a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstBus.html#GstBus-struct"><span class="type">GstBus</span></a>, allowing systems that support the missing-plugin system to offer the
186user a way to install the missing element.</p></li>
187</ul></div>
188</div>
189<div class="refsynopsisdiv">
190<h2>Synopsis</h2>
191<div class="refsect2">
192<a name="id-1.2.19.9.5.1"></a><h3>Element Information</h3>
193<div class="variablelist"><table border="0" class="variablelist">
194<colgroup>
195<col align="left" valign="top">
196<col>
197</colgroup>
198<tbody>
199<tr>
200<td><p><span class="term">plugin</span></p></td>
201<td>
202            <a class="link" href="gst-plugins-base-plugins-plugin-encoding.html#plugin-encoding">encoding</a>
203          </td>
204</tr>
205<tr>
206<td><p><span class="term">author</span></p></td>
207<td>Edward Hervey &lt;edward.hervey@collabora.co.uk&gt;</td>
208</tr>
209<tr>
210<td><p><span class="term">class</span></p></td>
211<td>Generic/Bin/Encoder</td>
212</tr>
213</tbody>
214</table></div>
215</div>
216<hr>
217<div class="refsect2">
218<a name="id-1.2.19.9.5.2"></a><h3>Element Pads</h3>
219<div class="variablelist"><table border="0" class="variablelist">
220<colgroup>
221<col align="left" valign="top">
222<col>
223</colgroup>
224<tbody>
225<tr>
226<td><p><span class="term">name</span></p></td>
227<td>audio_%u</td>
228</tr>
229<tr>
230<td><p><span class="term">direction</span></p></td>
231<td>sink</td>
232</tr>
233<tr>
234<td><p><span class="term">presence</span></p></td>
235<td>request</td>
236</tr>
237<tr>
238<td><p><span class="term">details</span></p></td>
239<td>ANY</td>
240</tr>
241</tbody>
242</table></div>
243<div class="variablelist"><table border="0" class="variablelist">
244<colgroup>
245<col align="left" valign="top">
246<col>
247</colgroup>
248<tbody>
249<tr>
250<td><p><span class="term">name</span></p></td>
251<td>private_%u</td>
252</tr>
253<tr>
254<td><p><span class="term">direction</span></p></td>
255<td>sink</td>
256</tr>
257<tr>
258<td><p><span class="term">presence</span></p></td>
259<td>request</td>
260</tr>
261<tr>
262<td><p><span class="term">details</span></p></td>
263<td>ANY</td>
264</tr>
265</tbody>
266</table></div>
267<div class="variablelist"><table border="0" class="variablelist">
268<colgroup>
269<col align="left" valign="top">
270<col>
271</colgroup>
272<tbody>
273<tr>
274<td><p><span class="term">name</span></p></td>
275<td>video_%u</td>
276</tr>
277<tr>
278<td><p><span class="term">direction</span></p></td>
279<td>sink</td>
280</tr>
281<tr>
282<td><p><span class="term">presence</span></p></td>
283<td>request</td>
284</tr>
285<tr>
286<td><p><span class="term">details</span></p></td>
287<td>ANY</td>
288</tr>
289</tbody>
290</table></div>
291<div class="variablelist"><table border="0" class="variablelist">
292<colgroup>
293<col align="left" valign="top">
294<col>
295</colgroup>
296<tbody>
297<tr>
298<td><p><span class="term">name</span></p></td>
299<td>src</td>
300</tr>
301<tr>
302<td><p><span class="term">direction</span></p></td>
303<td>source</td>
304</tr>
305<tr>
306<td><p><span class="term">presence</span></p></td>
307<td>always</td>
308</tr>
309<tr>
310<td><p><span class="term">details</span></p></td>
311<td>ANY</td>
312</tr>
313</tbody>
314</table></div>
315</div>
316</div>
317</div>
318<div class="refsect1">
319<a name="gst-plugins-base-plugins-encodebin.functions_details"></a><h2>Functions</h2>
320<p></p>
321</div>
322<div class="refsect1">
323<a name="gst-plugins-base-plugins-encodebin.other_details"></a><h2>Types and Values</h2>
324<div class="refsect2">
325<a name="GstEncodeBin-struct"></a><h3>GstEncodeBin</h3>
326<pre class="programlisting">typedef struct _GstEncodeBin GstEncodeBin;</pre>
327</div>
328</div>
329<div class="refsect1">
330<a name="gst-plugins-base-plugins-encodebin.property-details"></a><h2>Property Details</h2>
331<div class="refsect2">
332<a name="GstEncodeBin--audio-jitter-tolerance"></a><h3>The <code class="literal">“audio-jitter-tolerance”</code> property</h3>
333<pre class="programlisting">  “audio-jitter-tolerance”   <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint64"><span class="type">guint64</span></a></pre>
334<p>Amount of timestamp jitter/imperfection to allow on audio streams before inserting/dropping samples (ns).</p>
335<p>Flags: Read / Write</p>
336<p>Default value: 20000000</p>
337</div>
338<hr>
339<div class="refsect2">
340<a name="GstEncodeBin--avoid-reencoding"></a><h3>The <code class="literal">“avoid-reencoding”</code> property</h3>
341<pre class="programlisting">  “avoid-reencoding”         <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
342<p>Whether to re-encode portions of compatible video streams that lay on segment boundaries.</p>
343<p>Flags: Read / Write</p>
344<p>Default value: FALSE</p>
345</div>
346<hr>
347<div class="refsect2">
348<a name="GstEncodeBin--flags"></a><h3>The <code class="literal">“flags”</code> property</h3>
349<pre class="programlisting">  “flags”                    <span class="type">GstEncodeBinFlags</span></pre>
350<p>Control the behaviour of encodebin.</p>
351<p>Flags: Read / Write</p>
352</div>
353<hr>
354<div class="refsect2">
355<a name="GstEncodeBin--profile"></a><h3>The <code class="literal">“profile”</code> property</h3>
356<pre class="programlisting">  “profile”                  <a href="../html/GstEncodingProfile.html#GstEncodingProfile-struct"><span class="type">GstEncodingProfile</span></a> *</pre>
357<p>The <a href="../html/GstEncodingProfile.html#GstEncodingProfile-struct"><span class="type">GstEncodingProfile</span></a> to use. This property must be set before going
358to <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstElement.html#GST-STATE-PAUSED:CAPS"><code class="literal">GST_STATE_PAUSED</code></a> or higher.</p>
359<p>Flags: Read / Write</p>
360</div>
361<hr>
362<div class="refsect2">
363<a name="GstEncodeBin--queue-buffers-max"></a><h3>The <code class="literal">“queue-buffers-max”</code> property</h3>
364<pre class="programlisting">  “queue-buffers-max”        <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
365<p>Max. number of buffers in the queue (0=disable).</p>
366<p>Flags: Read / Write</p>
367<p>Default value: 200</p>
368</div>
369<hr>
370<div class="refsect2">
371<a name="GstEncodeBin--queue-bytes-max"></a><h3>The <code class="literal">“queue-bytes-max”</code> property</h3>
372<pre class="programlisting">  “queue-bytes-max”          <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
373<p>Max. amount of data in the queue (bytes, 0=disable).</p>
374<p>Flags: Read / Write</p>
375<p>Default value: 10485760</p>
376</div>
377<hr>
378<div class="refsect2">
379<a name="GstEncodeBin--queue-time-max"></a><h3>The <code class="literal">“queue-time-max”</code> property</h3>
380<pre class="programlisting">  “queue-time-max”           <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint64"><span class="type">guint64</span></a></pre>
381<p>Max. amount of data in the queue (in ns, 0=disable).</p>
382<p>Flags: Read / Write</p>
383<p>Default value: 1000000000</p>
384</div>
385</div>
386<div class="refsect1">
387<a name="gst-plugins-base-plugins-encodebin.signal-details"></a><h2>Signal Details</h2>
388<div class="refsect2">
389<a name="GstEncodeBin-request-pad"></a><h3>The <code class="literal">“request-pad”</code> signal</h3>
390<pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstPad.html#GstPad-struct"><span class="returnvalue">GstPad</span></a>*
391user_function (<a class="link" href="gst-plugins-base-plugins-encodebin.html#GstEncodeBin"><span class="type">GstEncodeBin</span></a> *encodebin,
392               <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a>      *caps,
393               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data)</pre>
394<p>Use this method to request an unused sink request <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstPad.html#GstPad-struct"><span class="type">GstPad</span></a> that can take the
395provided <em class="parameter"><code>caps</code></em>
396 as input. You must release the pad with
397<a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstElement.html#gst-element-release-request-pad"><code class="function">gst_element_release_request_pad()</code></a> when you are done with it.</p>
398<div class="refsect3">
399<a name="GstEncodeBin-request-pad.parameters"></a><h4>Parameters</h4>
400<div class="informaltable"><table class="informaltable" width="100%" border="0">
401<colgroup>
402<col width="150px" class="parameters_name">
403<col class="parameters_description">
404<col width="200px" class="parameters_annotations">
405</colgroup>
406<tbody>
407<tr>
408<td class="parameter_name"><p>encodebin</p></td>
409<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-plugins-encodebin.html#GstEncodeBin"><span class="type">GstEncodeBin</span></a> instance</p></td>
410<td class="parameter_annotations"> </td>
411</tr>
412<tr>
413<td class="parameter_name"><p>caps</p></td>
414<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a></p></td>
415<td class="parameter_annotations"> </td>
416</tr>
417<tr>
418<td class="parameter_name"><p>user_data</p></td>
419<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
420<td class="parameter_annotations"> </td>
421</tr>
422</tbody>
423</table></div>
424</div>
425<div class="refsect3">
426<a name="GstEncodeBin-request-pad.returns"></a><h4>Returns</h4>
427<p> A compatible <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstPad.html#GstPad-struct"><span class="type">GstPad</span></a>, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no compatible <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstPad.html#GstPad-struct"><span class="type">GstPad</span></a> could be
428created or is available.</p>
429</div>
430<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
431</div>
432<hr>
433<div class="refsect2">
434<a name="GstEncodeBin-request-profile-pad"></a><h3>The <code class="literal">“request-profile-pad”</code> signal</h3>
435<pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstPad.html#GstPad-struct"><span class="returnvalue">GstPad</span></a>*
436user_function (<a class="link" href="gst-plugins-base-plugins-encodebin.html#GstEncodeBin"><span class="type">GstEncodeBin</span></a> *encodebin,
437               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>        *profilename,
438               <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data)</pre>
439<p>Use this method to request an unused sink request <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstPad.html#GstPad-struct"><span class="type">GstPad</span></a> from the profile
440<em class="parameter"><code>profilename</code></em>
441. You must release the pad with
442<a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstElement.html#gst-element-release-request-pad"><code class="function">gst_element_release_request_pad()</code></a> when you are done with it.</p>
443<div class="refsect3">
444<a name="GstEncodeBin-request-profile-pad.parameters"></a><h4>Parameters</h4>
445<div class="informaltable"><table class="informaltable" width="100%" border="0">
446<colgroup>
447<col width="150px" class="parameters_name">
448<col class="parameters_description">
449<col width="200px" class="parameters_annotations">
450</colgroup>
451<tbody>
452<tr>
453<td class="parameter_name"><p>encodebin</p></td>
454<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-plugins-encodebin.html#GstEncodeBin"><span class="type">GstEncodeBin</span></a> instance</p></td>
455<td class="parameter_annotations"> </td>
456</tr>
457<tr>
458<td class="parameter_name"><p>profilename</p></td>
459<td class="parameter_description"><p>the name of a <a href="../html/GstEncodingProfile.html#GstEncodingProfile-struct"><span class="type">GstEncodingProfile</span></a></p></td>
460<td class="parameter_annotations"> </td>
461</tr>
462<tr>
463<td class="parameter_name"><p>user_data</p></td>
464<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
465<td class="parameter_annotations"> </td>
466</tr>
467</tbody>
468</table></div>
469</div>
470<div class="refsect3">
471<a name="GstEncodeBin-request-profile-pad.returns"></a><h4>Returns</h4>
472<p> A compatible <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstPad.html#GstPad-struct"><span class="type">GstPad</span></a>, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no compatible <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstPad.html#GstPad-struct"><span class="type">GstPad</span></a> could be
473created or is available.</p>
474</div>
475<p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-ACTION:CAPS">Action</a></p>
476</div>
477</div>
478</div>
479<div class="footer">
480<hr>Generated by GTK-Doc V1.28</div>
481</body>
482</html>