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">|</span> 18 <a href="#gst-plugins-base-plugins-encodebin.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> 19 <a href="#gst-plugins-base-plugins-encodebin.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces"> <span class="dim">|</span> 20 <a href="#gst-plugins-base-plugins-encodebin.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties"> <span class="dim">|</span> 21 <a href="#gst-plugins-base-plugins-encodebin.properties" class="shortcut">Properties</a></span><span id="nav_signals"> <span class="dim">|</span> 22 <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 <edward.hervey@collabora.co.uk></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>