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>adder: 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="ch01.html" title="gst-plugins-base Elements"> 10<link rel="next" href="gst-plugins-base-plugins-alsamidisrc.html" title="alsamidisrc"> 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-adder.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> 19 <a href="#gst-plugins-base-plugins-adder.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces"> <span class="dim">|</span> 20 <a href="#gst-plugins-base-plugins-adder.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties"> <span class="dim">|</span> 21 <a href="#gst-plugins-base-plugins-adder.properties" class="shortcut">Properties</a></span> 22</td> 23<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> 24<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> 25<td><a accesskey="p" href="ch01.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> 26<td><a accesskey="n" href="gst-plugins-base-plugins-alsamidisrc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> 27</tr></table> 28<div class="refentry"> 29<a name="gst-plugins-base-plugins-adder"></a><div class="titlepage"></div> 30<div class="refnamediv"><table width="100%"><tr> 31<td valign="top"> 32<h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-adder.top_of_page"></a>adder</span></h2> 33<p>adder</p> 34</td> 35<td class="gallery_image" valign="top" align="right"></td> 36</tr></table></div> 37<div class="refsect1"> 38<a name="gst-plugins-base-plugins-adder.properties"></a><h2>Properties</h2> 39<div class="informaltable"><table class="informaltable" border="0"> 40<colgroup> 41<col width="150px" class="properties_type"> 42<col width="300px" class="properties_name"> 43<col width="200px" class="properties_flags"> 44</colgroup> 45<tbody><tr> 46<td class="property_type"> 47<a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *</td> 48<td class="property_name"><a class="link" href="gst-plugins-base-plugins-adder.html#GstAdder--caps" title="The “caps” property">caps</a></td> 49<td class="property_flags">Read / Write</td> 50</tr></tbody> 51</table></div> 52</div> 53<a name="GstAdder"></a><div class="refsect1"> 54<a name="gst-plugins-base-plugins-adder.other"></a><h2>Types and Values</h2> 55<div class="informaltable"><table class="informaltable" width="100%" border="0"> 56<colgroup> 57<col width="150px" class="name"> 58<col class="description"> 59</colgroup> 60<tbody><tr> 61<td class="datatype_keyword">struct</td> 62<td class="function_name"><a class="link" href="gst-plugins-base-plugins-adder.html#GstAdder-struct" title="struct GstAdder">GstAdder</a></td> 63</tr></tbody> 64</table></div> 65</div> 66<div class="refsect1"> 67<a name="gst-plugins-base-plugins-adder.object-hierarchy"></a><h2>Object Hierarchy</h2> 68<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a> 69 <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a> 70 <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstObject.html#GstObject-struct">GstObject</a> 71 <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstElement.html#GstElement-struct">GstElement</a> 72 <span class="lineart">╰──</span> GstAdder 73</pre> 74</div> 75<div class="refsect1"> 76<a name="gst-plugins-base-plugins-adder.implemented-interfaces"></a><h2>Implemented Interfaces</h2> 77<p> 78GstAdder implements 79 <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstChildProxy.html#GstChildProxy-struct">GstChildProxy</a>.</p> 80</div> 81<div class="refsect1"> 82<a name="gst-plugins-base-plugins-adder.description"></a><h2>Description</h2> 83<p>The adder allows to mix several streams into one by adding the data. 84Mixed data is clamped to the min/max values of the data format.</p> 85<p>The adder currently mixes all data received on the sinkpads as soon as 86possible without trying to synchronize the streams.</p> 87<p>Check out the audiomixer element in gst-plugins-bad for a better-behaving 88audio mixing element: It will sync input streams correctly and also handle 89live inputs properly.</p> 90<p>Caps negotiation is inherently racy with the adder element. You can set 91the "caps" property to force adder to operate in a specific audio 92format, sample rate and channel count. In this case you may also need 93audioconvert and/or audioresample elements for each input stream before the 94adder element to make sure the input branch can produce the forced format.</p> 95<div class="refsect3"> 96<a name="id-1.2.2.8.6"></a><h4>Example launch line</h4> 97<div class="informalexample"> 98 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> 99 <tbody> 100 <tr> 101 <td class="listing_lines" align="right"><pre>1</pre></td> 102 <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> audiotestsrc freq<span class="gtkdoc opt">=</span><span class="number">100</span> <span class="gtkdoc opt">!</span> adder name<span class="gtkdoc opt">=</span>mix <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> autoaudiosink audiotestsrc freq<span class="gtkdoc opt">=</span><span class="number">500</span> <span class="gtkdoc opt">!</span> mix<span class="gtkdoc opt">.</span></pre></td> 103 </tr> 104 </tbody> 105 </table> 106</div> 107 108<p> 109 This pipeline produces two sine waves mixed together.</p> 110</div> 111<div class="refsynopsisdiv"> 112<h2>Synopsis</h2> 113<div class="refsect2"> 114<a name="id-1.2.2.8.7.1"></a><h3>Element Information</h3> 115<div class="variablelist"><table border="0" class="variablelist"> 116<colgroup> 117<col align="left" valign="top"> 118<col> 119</colgroup> 120<tbody> 121<tr> 122<td><p><span class="term">plugin</span></p></td> 123<td> 124 <a class="link" href="gst-plugins-base-plugins-plugin-adder.html#plugin-adder">adder</a> 125 </td> 126</tr> 127<tr> 128<td><p><span class="term">author</span></p></td> 129<td>Thomas Vander Stichele <thomas at apestaart dot org></td> 130</tr> 131<tr> 132<td><p><span class="term">class</span></p></td> 133<td>Generic/Audio</td> 134</tr> 135</tbody> 136</table></div> 137</div> 138<hr> 139<div class="refsect2"> 140<a name="id-1.2.2.8.7.2"></a><h3>Element Pads</h3> 141<div class="variablelist"><table border="0" class="variablelist"> 142<colgroup> 143<col align="left" valign="top"> 144<col> 145</colgroup> 146<tbody> 147<tr> 148<td><p><span class="term">name</span></p></td> 149<td>sink_%u</td> 150</tr> 151<tr> 152<td><p><span class="term">direction</span></p></td> 153<td>sink</td> 154</tr> 155<tr> 156<td><p><span class="term">presence</span></p></td> 157<td>request</td> 158</tr> 159<tr> 160<td><p><span class="term">details</span></p></td> 161<td>audio/x-raw, format=(string){ S32LE, U32LE, S16LE, U16LE, S8, U8, F32LE, F64LE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string){ interleaved }</td> 162</tr> 163</tbody> 164</table></div> 165<div class="variablelist"><table border="0" class="variablelist"> 166<colgroup> 167<col align="left" valign="top"> 168<col> 169</colgroup> 170<tbody> 171<tr> 172<td><p><span class="term">name</span></p></td> 173<td>src</td> 174</tr> 175<tr> 176<td><p><span class="term">direction</span></p></td> 177<td>source</td> 178</tr> 179<tr> 180<td><p><span class="term">presence</span></p></td> 181<td>always</td> 182</tr> 183<tr> 184<td><p><span class="term">details</span></p></td> 185<td>audio/x-raw, format=(string){ S32LE, U32LE, S16LE, U16LE, S8, U8, F32LE, F64LE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string){ interleaved }</td> 186</tr> 187</tbody> 188</table></div> 189</div> 190</div> 191</div> 192<div class="refsect1"> 193<a name="gst-plugins-base-plugins-adder.functions_details"></a><h2>Functions</h2> 194<p></p> 195</div> 196<div class="refsect1"> 197<a name="gst-plugins-base-plugins-adder.other_details"></a><h2>Types and Values</h2> 198<div class="refsect2"> 199<a name="GstAdder-struct"></a><h3>struct GstAdder</h3> 200<pre class="programlisting">struct GstAdder;</pre> 201<p>The adder object structure.</p> 202</div> 203</div> 204<div class="refsect1"> 205<a name="gst-plugins-base-plugins-adder.property-details"></a><h2>Property Details</h2> 206<div class="refsect2"> 207<a name="GstAdder--caps"></a><h3>The <code class="literal">“caps”</code> property</h3> 208<pre class="programlisting"> “caps” <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *</pre> 209<p>Set target format for mixing (NULL means ANY). Setting this property takes a reference to the supplied GstCaps object.</p> 210<p>Flags: Read / Write</p> 211</div> 212</div> 213</div> 214<div class="footer"> 215<hr>Generated by GTK-Doc V1.28</div> 216</body> 217</html>