• 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>audiomixer: 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-audiointerleave.html" title="audiointerleave">
10<link rel="next" href="gst-plugins-base-plugins-audiorate.html" title="audiorate">
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-audiomixer.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span19                  <a href="#gst-plugins-base-plugins-audiomixer.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span20                  <a href="#gst-plugins-base-plugins-audiomixer.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
21</td>
22<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
23<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
24<td><a accesskey="p" href="gst-plugins-base-plugins-audiointerleave.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
25<td><a accesskey="n" href="gst-plugins-base-plugins-audiorate.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
26</tr></table>
27<div class="refentry">
28<a name="gst-plugins-base-plugins-audiomixer"></a><div class="titlepage"></div>
29<div class="refnamediv"><table width="100%"><tr>
30<td valign="top">
31<h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-audiomixer.top_of_page"></a>audiomixer</span></h2>
32<p>audiomixer</p>
33</td>
34<td class="gallery_image" valign="top" align="right"></td>
35</tr></table></div>
36<a name="GstAudioMixer"></a><div class="refsect1">
37<a name="gst-plugins-base-plugins-audiomixer.other"></a><h2>Types and Values</h2>
38<div class="informaltable"><table class="informaltable" width="100%" border="0">
39<colgroup>
40<col width="150px" class="name">
41<col class="description">
42</colgroup>
43<tbody><tr>
44<td class="datatype_keyword">struct</td>
45<td class="function_name"><a class="link" href="gst-plugins-base-plugins-audiomixer.html#GstAudioMixer-struct" title="struct GstAudioMixer">GstAudioMixer</a></td>
46</tr></tbody>
47</table></div>
48</div>
49<div class="refsect1">
50<a name="gst-plugins-base-plugins-audiomixer.object-hierarchy"></a><h2>Object Hierarchy</h2>
51<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
52    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
53        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstObject.html#GstObject-struct">GstObject</a>
54            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstElement.html#GstElement-struct">GstElement</a>
55                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0/GstAggregator.html#GstAggregator-struct">GstAggregator</a>
56                    <span class="lineart">╰──</span> <a href="../html/GstAudioAggregator.html#GstAudioAggregator-struct">GstAudioAggregator</a>
57                        <span class="lineart">╰──</span> GstAudioMixer
58</pre>
59</div>
60<div class="refsect1">
61<a name="gst-plugins-base-plugins-audiomixer.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
62<p>
63GstAudioMixer implements
64 <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstChildProxy.html#GstChildProxy-struct">GstChildProxy</a>.</p>
65</div>
66<div class="refsect1">
67<a name="gst-plugins-base-plugins-audiomixer.description"></a><h2>Description</h2>
68<p>The audiomixer allows to mix several streams into one by adding the data.
69Mixed data is clamped to the min/max values of the data format.</p>
70<p>Unlike the adder element audiomixer properly synchronises all input streams
71and also handles live inputs such as capture sources or RTP properly.</p>
72<p>The audiomixer element can accept any sort of raw audio data, it will
73be converted to the target format if necessary, with the exception
74of the sample rate, which has to be identical to either what downstream
75expects, or the sample rate of the first configured pad. Use a capsfilter
76after the audiomixer element if you want to precisely control the format
77that comes out of the audiomixer, which supports changing the format of
78its output while playing.</p>
79<p>If you want to control the manner in which incoming data gets converted,
80see the <span class="type">“converter-config”</span> property, which will let
81you for example change the way in which channels may get remapped.</p>
82<p>The input pads are from a GstPad subclass and have additional
83properties to mute each pad individually and set the volume:</p>
84<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
85<li class="listitem"><p>"mute": Whether to mute the pad or not (<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>)</p></li>
86<li class="listitem"><p>"volume": The volume of the pad, between 0.0 and 10.0 (<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a>)</p></li>
87</ul></div>
88<div class="refsect3">
89<a name="id-1.2.10.7.8"></a><h4>Example launch line</h4>
90<div class="informalexample">
91  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
92    <tbody>
93      <tr>
94        <td class="listing_lines" align="right"><pre>1</pre></td>
95        <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> audiomixer name<span class="gtkdoc opt">=</span>mix <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> alsasink 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>
96      </tr>
97    </tbody>
98  </table>
99</div>
100
101<p> This pipeline produces two sine waves mixed together.</p>
102</div>
103<div class="refsynopsisdiv">
104<h2>Synopsis</h2>
105<div class="refsect2">
106<a name="id-1.2.10.7.9.1"></a><h3>Element Information</h3>
107<div class="variablelist"><table border="0" class="variablelist">
108<colgroup>
109<col align="left" valign="top">
110<col>
111</colgroup>
112<tbody>
113<tr>
114<td><p><span class="term">plugin</span></p></td>
115<td>
116            <a class="link" href="gst-plugins-base-plugins-plugin-audiomixer.html#plugin-audiomixer">audiomixer</a>
117          </td>
118</tr>
119<tr>
120<td><p><span class="term">author</span></p></td>
121<td>Sebastian Dröge &lt;sebastian@centricular.com&gt;</td>
122</tr>
123<tr>
124<td><p><span class="term">class</span></p></td>
125<td>Generic/Audio</td>
126</tr>
127</tbody>
128</table></div>
129</div>
130<hr>
131<div class="refsect2">
132<a name="id-1.2.10.7.9.2"></a><h3>Element Pads</h3>
133<div class="variablelist"><table border="0" class="variablelist">
134<colgroup>
135<col align="left" valign="top">
136<col>
137</colgroup>
138<tbody>
139<tr>
140<td><p><span class="term">name</span></p></td>
141<td>sink_%u</td>
142</tr>
143<tr>
144<td><p><span class="term">direction</span></p></td>
145<td>sink</td>
146</tr>
147<tr>
148<td><p><span class="term">presence</span></p></td>
149<td>request</td>
150</tr>
151<tr>
152<td><p><span class="term">details</span></p></td>
153<td>audio/x-raw, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved</td>
154</tr>
155</tbody>
156</table></div>
157<div class="variablelist"><table border="0" class="variablelist">
158<colgroup>
159<col align="left" valign="top">
160<col>
161</colgroup>
162<tbody>
163<tr>
164<td><p><span class="term">name</span></p></td>
165<td>src</td>
166</tr>
167<tr>
168<td><p><span class="term">direction</span></p></td>
169<td>source</td>
170</tr>
171<tr>
172<td><p><span class="term">presence</span></p></td>
173<td>always</td>
174</tr>
175<tr>
176<td><p><span class="term">details</span></p></td>
177<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>
178</tr>
179</tbody>
180</table></div>
181</div>
182</div>
183</div>
184<div class="refsect1">
185<a name="gst-plugins-base-plugins-audiomixer.functions_details"></a><h2>Functions</h2>
186<p></p>
187</div>
188<div class="refsect1">
189<a name="gst-plugins-base-plugins-audiomixer.other_details"></a><h2>Types and Values</h2>
190<div class="refsect2">
191<a name="GstAudioMixer-struct"></a><h3>struct GstAudioMixer</h3>
192<pre class="programlisting">struct GstAudioMixer;</pre>
193<p>The audiomixer object structure.</p>
194</div>
195</div>
196</div>
197<div class="footer">
198<hr>Generated by GTK-Doc V1.28</div>
199</body>
200</html>