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>GstAudioConverter: GStreamer Base Plugins 1.0 Library 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 Library Reference Manual"> 8<link rel="up" href="gstreamer-audio.html" title="Audio Library"> 9<link rel="prev" href="gst-plugins-base-libs-Audio-channels.html" title="Audio-channels"> 10<link rel="next" href="gst-plugins-base-libs-GstAudioQuantize.html" title="GstAudioQuantize"> 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-libs-GstAudioConverter.description" class="shortcut">Description</a></span> 19</td> 20<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> 21<td><a accesskey="u" href="gstreamer-audio.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> 22<td><a accesskey="p" href="gst-plugins-base-libs-Audio-channels.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> 23<td><a accesskey="n" href="gst-plugins-base-libs-GstAudioQuantize.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> 24</tr></table> 25<div class="refentry"> 26<a name="gst-plugins-base-libs-GstAudioConverter"></a><div class="titlepage"></div> 27<div class="refnamediv"><table width="100%"><tr> 28<td valign="top"> 29<h2><span class="refentrytitle"><a name="gst-plugins-base-libs-GstAudioConverter.top_of_page"></a>GstAudioConverter</span></h2> 30<p>GstAudioConverter — Generic audio conversion</p> 31</td> 32<td class="gallery_image" valign="top" align="right"></td> 33</tr></table></div> 34<div class="refsect1"> 35<a name="gst-plugins-base-libs-GstAudioConverter.functions"></a><h2>Functions</h2> 36<div class="informaltable"><table class="informaltable" width="100%" border="0"> 37<colgroup> 38<col width="150px" class="functions_return"> 39<col class="functions_name"> 40</colgroup> 41<tbody> 42<tr> 43<td class="function_type"> 44<a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="returnvalue">GstAudioConverter</span></a> * 45</td> 46<td class="function_name"> 47<a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-new" title="gst_audio_converter_new ()">gst_audio_converter_new</a> <span class="c_punctuation">()</span> 48</td> 49</tr> 50<tr> 51<td class="function_type"> 52<span class="returnvalue">void</span> 53</td> 54<td class="function_name"> 55<a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-free" title="gst_audio_converter_free ()">gst_audio_converter_free</a> <span class="c_punctuation">()</span> 56</td> 57</tr> 58<tr> 59<td class="function_type"> 60<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 61</td> 62<td class="function_name"> 63<a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-samples" title="gst_audio_converter_samples ()">gst_audio_converter_samples</a> <span class="c_punctuation">()</span> 64</td> 65</tr> 66<tr> 67<td class="function_type"> 68<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 69</td> 70<td class="function_name"> 71<a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-convert" title="gst_audio_converter_convert ()">gst_audio_converter_convert</a> <span class="c_punctuation">()</span> 72</td> 73</tr> 74<tr> 75<td class="function_type"> 76<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a> 77</td> 78<td class="function_name"> 79<a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-get-in-frames" title="gst_audio_converter_get_in_frames ()">gst_audio_converter_get_in_frames</a> <span class="c_punctuation">()</span> 80</td> 81</tr> 82<tr> 83<td class="function_type"> 84<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a> 85</td> 86<td class="function_name"> 87<a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-get-max-latency" title="gst_audio_converter_get_max_latency ()">gst_audio_converter_get_max_latency</a> <span class="c_punctuation">()</span> 88</td> 89</tr> 90<tr> 91<td class="function_type"> 92<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a> 93</td> 94<td class="function_name"> 95<a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-get-out-frames" title="gst_audio_converter_get_out_frames ()">gst_audio_converter_get_out_frames</a> <span class="c_punctuation">()</span> 96</td> 97</tr> 98<tr> 99<td class="function_type"> 100<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 101</td> 102<td class="function_name"> 103<a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-update-config" title="gst_audio_converter_update_config ()">gst_audio_converter_update_config</a> <span class="c_punctuation">()</span> 104</td> 105</tr> 106<tr> 107<td class="function_type">const <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstStructure.html#GstStructure-struct"><span class="returnvalue">GstStructure</span></a> * 108</td> 109<td class="function_name"> 110<a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-get-config" title="gst_audio_converter_get_config ()">gst_audio_converter_get_config</a> <span class="c_punctuation">()</span> 111</td> 112</tr> 113<tr> 114<td class="function_type"> 115<span class="returnvalue">void</span> 116</td> 117<td class="function_name"> 118<a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-reset" title="gst_audio_converter_reset ()">gst_audio_converter_reset</a> <span class="c_punctuation">()</span> 119</td> 120</tr> 121<tr> 122<td class="function_type"> 123<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 124</td> 125<td class="function_name"> 126<a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-supports-inplace" title="gst_audio_converter_supports_inplace ()">gst_audio_converter_supports_inplace</a> <span class="c_punctuation">()</span> 127</td> 128</tr> 129<tr> 130<td class="function_type"> 131<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 132</td> 133<td class="function_name"> 134<a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-is-passthrough" title="gst_audio_converter_is_passthrough ()">gst_audio_converter_is_passthrough</a> <span class="c_punctuation">()</span> 135</td> 136</tr> 137</tbody> 138</table></div> 139</div> 140<div class="refsect1"> 141<a name="gst-plugins-base-libs-GstAudioConverter.other"></a><h2>Types and Values</h2> 142<div class="informaltable"><table class="informaltable" width="100%" border="0"> 143<colgroup> 144<col width="150px" class="name"> 145<col class="description"> 146</colgroup> 147<tbody> 148<tr> 149<td class="datatype_keyword"> </td> 150<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter">GstAudioConverter</a></td> 151</tr> 152<tr> 153<td class="datatype_keyword">enum</td> 154<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverterFlags" title="enum GstAudioConverterFlags">GstAudioConverterFlags</a></td> 155</tr> 156<tr> 157<td class="define_keyword">#define</td> 158<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GST-AUDIO-CONVERTER-OPT-DITHER-METHOD:CAPS" title="GST_AUDIO_CONVERTER_OPT_DITHER_METHOD">GST_AUDIO_CONVERTER_OPT_DITHER_METHOD</a></td> 159</tr> 160<tr> 161<td class="define_keyword">#define</td> 162<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GST-AUDIO-CONVERTER-OPT-NOISE-SHAPING-METHOD:CAPS" title="GST_AUDIO_CONVERTER_OPT_NOISE_SHAPING_METHOD">GST_AUDIO_CONVERTER_OPT_NOISE_SHAPING_METHOD</a></td> 163</tr> 164<tr> 165<td class="define_keyword">#define</td> 166<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GST-AUDIO-CONVERTER-OPT-QUANTIZATION:CAPS" title="GST_AUDIO_CONVERTER_OPT_QUANTIZATION">GST_AUDIO_CONVERTER_OPT_QUANTIZATION</a></td> 167</tr> 168<tr> 169<td class="define_keyword">#define</td> 170<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GST-AUDIO-CONVERTER-OPT-MIX-MATRIX:CAPS" title="GST_AUDIO_CONVERTER_OPT_MIX_MATRIX">GST_AUDIO_CONVERTER_OPT_MIX_MATRIX</a></td> 171</tr> 172<tr> 173<td class="define_keyword">#define</td> 174<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GST-AUDIO-CONVERTER-OPT-RESAMPLER-METHOD:CAPS" title="GST_AUDIO_CONVERTER_OPT_RESAMPLER_METHOD">GST_AUDIO_CONVERTER_OPT_RESAMPLER_METHOD</a></td> 175</tr> 176</tbody> 177</table></div> 178</div> 179<div class="refsect1"> 180<a name="gst-plugins-base-libs-GstAudioConverter.includes"></a><h2>Includes</h2> 181<pre class="synopsis">#include <gst/audio/audio.h> 182</pre> 183</div> 184<div class="refsect1"> 185<a name="gst-plugins-base-libs-GstAudioConverter.description"></a><h2>Description</h2> 186<p>This object is used to convert audio samples from one format to another. 187The object can perform conversion of:</p> 188<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 189<li class="listitem"><p>audio format with optional dithering and noise shaping</p></li> 190<li class="listitem"><p>audio samplerate</p></li> 191<li class="listitem"><p>audio channels and channel layout</p></li> 192</ul></div> 193</div> 194<div class="refsect1"> 195<a name="gst-plugins-base-libs-GstAudioConverter.functions_details"></a><h2>Functions</h2> 196<div class="refsect2"> 197<a name="gst-audio-converter-new"></a><h3>gst_audio_converter_new ()</h3> 198<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="returnvalue">GstAudioConverter</span></a> * 199gst_audio_converter_new (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverterFlags" title="enum GstAudioConverterFlags"><span class="type">GstAudioConverterFlags</span></a> flags</code></em>, 200 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudio.html#GstAudioInfo"><span class="type">GstAudioInfo</span></a> *in_info</code></em>, 201 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudio.html#GstAudioInfo"><span class="type">GstAudioInfo</span></a> *out_info</code></em>, 202 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> *config</code></em>);</pre> 203<p>Create a new <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a> that is able to convert between <em class="parameter"><code>in</code></em> 204 and <em class="parameter"><code>out</code></em> 205 206audio formats.</p> 207<p><em class="parameter"><code>config</code></em> 208 contains extra configuration options, see <span class="type">GST_AUDIO_CONVERTER_OPT_</span>* 209parameters for details about the options and values.</p> 210<div class="refsect3"> 211<a name="gst-audio-converter-new.parameters"></a><h4>Parameters</h4> 212<div class="informaltable"><table class="informaltable" width="100%" border="0"> 213<colgroup> 214<col width="150px" class="parameters_name"> 215<col class="parameters_description"> 216<col width="200px" class="parameters_annotations"> 217</colgroup> 218<tbody> 219<tr> 220<td class="parameter_name"><p>flags</p></td> 221<td class="parameter_description"><p>extra <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverterFlags" title="enum GstAudioConverterFlags"><span class="type">GstAudioConverterFlags</span></a></p></td> 222<td class="parameter_annotations"> </td> 223</tr> 224<tr> 225<td class="parameter_name"><p>in_info</p></td> 226<td class="parameter_description"><p>a source <a class="link" href="gst-plugins-base-libs-GstAudio.html#GstAudioInfo"><span class="type">GstAudioInfo</span></a></p></td> 227<td class="parameter_annotations"> </td> 228</tr> 229<tr> 230<td class="parameter_name"><p>out_info</p></td> 231<td class="parameter_description"><p>a destination <a class="link" href="gst-plugins-base-libs-GstAudio.html#GstAudioInfo"><span class="type">GstAudioInfo</span></a></p></td> 232<td class="parameter_annotations"> </td> 233</tr> 234<tr> 235<td class="parameter_name"><p>config</p></td> 236<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> with configuration options. </p></td> 237<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> 238</tr> 239</tbody> 240</table></div> 241</div> 242<div class="refsect3"> 243<a name="gst-audio-converter-new.returns"></a><h4>Returns</h4> 244<p> a <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a> or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if conversion is not possible.</p> 245</div> 246</div> 247<hr> 248<div class="refsect2"> 249<a name="gst-audio-converter-free"></a><h3>gst_audio_converter_free ()</h3> 250<pre class="programlisting"><span class="returnvalue">void</span> 251gst_audio_converter_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a> *convert</code></em>);</pre> 252<p>Free a previously allocated <em class="parameter"><code>convert</code></em> 253 instance.</p> 254<div class="refsect3"> 255<a name="gst-audio-converter-free.parameters"></a><h4>Parameters</h4> 256<div class="informaltable"><table class="informaltable" width="100%" border="0"> 257<colgroup> 258<col width="150px" class="parameters_name"> 259<col class="parameters_description"> 260<col width="200px" class="parameters_annotations"> 261</colgroup> 262<tbody><tr> 263<td class="parameter_name"><p>convert</p></td> 264<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a></p></td> 265<td class="parameter_annotations"> </td> 266</tr></tbody> 267</table></div> 268</div> 269</div> 270<hr> 271<div class="refsect2"> 272<a name="gst-audio-converter-samples"></a><h3>gst_audio_converter_samples ()</h3> 273<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 274gst_audio_converter_samples (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a> *convert</code></em>, 275 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverterFlags" title="enum GstAudioConverterFlags"><span class="type">GstAudioConverterFlags</span></a> flags</code></em>, 276 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> in[]</code></em>, 277 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> in_frames</code></em>, 278 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> out[]</code></em>, 279 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> out_frames</code></em>);</pre> 280<p>Perform the conversion with <em class="parameter"><code>in_frames</code></em> 281 in <em class="parameter"><code>in</code></em> 282 to <em class="parameter"><code>out_frames</code></em> 283 in <em class="parameter"><code>out</code></em> 284 285using <em class="parameter"><code>convert</code></em> 286.</p> 287<p>In case the samples are interleaved, <em class="parameter"><code>in</code></em> 288 and <em class="parameter"><code>out</code></em> 289 must point to an 290array with a single element pointing to a block of interleaved samples.</p> 291<p>If non-interleaved samples are used, <em class="parameter"><code>in</code></em> 292 and <em class="parameter"><code>out</code></em> 293 must point to an 294array with pointers to memory blocks, one for each channel.</p> 295<p><em class="parameter"><code>in</code></em> 296 may be <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, in which case <em class="parameter"><code>in_frames</code></em> 297 of silence samples are processed 298by the converter.</p> 299<p>This function always produces <em class="parameter"><code>out_frames</code></em> 300 of output and consumes <em class="parameter"><code>in_frames</code></em> 301 of 302input. Use <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-get-out-frames" title="gst_audio_converter_get_out_frames ()"><code class="function">gst_audio_converter_get_out_frames()</code></a> and 303<a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-get-in-frames" title="gst_audio_converter_get_in_frames ()"><code class="function">gst_audio_converter_get_in_frames()</code></a> to make sure <em class="parameter"><code>in_frames</code></em> 304 and <em class="parameter"><code>out_frames</code></em> 305 306are matching and <em class="parameter"><code>in</code></em> 307 and <em class="parameter"><code>out</code></em> 308 point to enough memory.</p> 309<div class="refsect3"> 310<a name="gst-audio-converter-samples.parameters"></a><h4>Parameters</h4> 311<div class="informaltable"><table class="informaltable" width="100%" border="0"> 312<colgroup> 313<col width="150px" class="parameters_name"> 314<col class="parameters_description"> 315<col width="200px" class="parameters_annotations"> 316</colgroup> 317<tbody> 318<tr> 319<td class="parameter_name"><p>convert</p></td> 320<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a></p></td> 321<td class="parameter_annotations"> </td> 322</tr> 323<tr> 324<td class="parameter_name"><p>flags</p></td> 325<td class="parameter_description"><p>extra <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverterFlags" title="enum GstAudioConverterFlags"><span class="type">GstAudioConverterFlags</span></a></p></td> 326<td class="parameter_annotations"> </td> 327</tr> 328<tr> 329<td class="parameter_name"><p>in</p></td> 330<td class="parameter_description"><p>input frames</p></td> 331<td class="parameter_annotations"> </td> 332</tr> 333<tr> 334<td class="parameter_name"><p>in_frames</p></td> 335<td class="parameter_description"><p>number of input frames</p></td> 336<td class="parameter_annotations"> </td> 337</tr> 338<tr> 339<td class="parameter_name"><p>out</p></td> 340<td class="parameter_description"><p>output frames</p></td> 341<td class="parameter_annotations"> </td> 342</tr> 343<tr> 344<td class="parameter_name"><p>out_frames</p></td> 345<td class="parameter_description"><p>number of output frames</p></td> 346<td class="parameter_annotations"> </td> 347</tr> 348</tbody> 349</table></div> 350</div> 351<div class="refsect3"> 352<a name="gst-audio-converter-samples.returns"></a><h4>Returns</h4> 353<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is the conversion could be performed.</p> 354</div> 355</div> 356<hr> 357<div class="refsect2"> 358<a name="gst-audio-converter-convert"></a><h3>gst_audio_converter_convert ()</h3> 359<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 360gst_audio_converter_convert (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a> *convert</code></em>, 361 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverterFlags" title="enum GstAudioConverterFlags"><span class="type">GstAudioConverterFlags</span></a> flags</code></em>, 362 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> in</code></em>, 363 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> in_size</code></em>, 364 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *out</code></em>, 365 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *out_size</code></em>);</pre> 366<p>Convenience wrapper around <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-samples" title="gst_audio_converter_samples ()"><code class="function">gst_audio_converter_samples()</code></a>, which will 367perform allocation of the output buffer based on the result from 368<a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-get-out-frames" title="gst_audio_converter_get_out_frames ()"><code class="function">gst_audio_converter_get_out_frames()</code></a>.</p> 369<div class="refsect3"> 370<a name="gst-audio-converter-convert.parameters"></a><h4>Parameters</h4> 371<div class="informaltable"><table class="informaltable" width="100%" border="0"> 372<colgroup> 373<col width="150px" class="parameters_name"> 374<col class="parameters_description"> 375<col width="200px" class="parameters_annotations"> 376</colgroup> 377<tbody> 378<tr> 379<td class="parameter_name"><p>convert</p></td> 380<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a></p></td> 381<td class="parameter_annotations"> </td> 382</tr> 383<tr> 384<td class="parameter_name"><p>flags</p></td> 385<td class="parameter_description"><p>extra <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverterFlags" title="enum GstAudioConverterFlags"><span class="type">GstAudioConverterFlags</span></a></p></td> 386<td class="parameter_annotations"> </td> 387</tr> 388<tr> 389<td class="parameter_name"><p>in</p></td> 390<td class="parameter_description"><p>input data. </p></td> 391<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=in_size][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></td> 392</tr> 393<tr> 394<td class="parameter_name"><p>in_size</p></td> 395<td class="parameter_description"><p>size of <em class="parameter"><code>in</code></em> 396</p></td> 397<td class="parameter_annotations"> </td> 398</tr> 399<tr> 400<td class="parameter_name"><p>out</p></td> 401<td class="parameter_description"><p>a pointer where 402the output data will be written. </p></td> 403<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=out_size][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></td> 404</tr> 405<tr> 406<td class="parameter_name"><p>out_size</p></td> 407<td class="parameter_description"><p>a pointer where the size of <em class="parameter"><code>out</code></em> 408will be written. </p></td> 409<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> 410</tr> 411</tbody> 412</table></div> 413</div> 414<div class="refsect3"> 415<a name="gst-audio-converter-convert.returns"></a><h4>Returns</h4> 416<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is the conversion could be performed.</p> 417</div> 418<p class="since">Since: <a class="link" href="ix04.html#api-index-1.14">1.14</a></p> 419</div> 420<hr> 421<div class="refsect2"> 422<a name="gst-audio-converter-get-in-frames"></a><h3>gst_audio_converter_get_in_frames ()</h3> 423<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a> 424gst_audio_converter_get_in_frames (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a> *convert</code></em>, 425 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> out_frames</code></em>);</pre> 426<p>Calculate how many input frames are currently needed by <em class="parameter"><code>convert</code></em> 427 to produce 428<em class="parameter"><code>out_frames</code></em> 429 of output frames.</p> 430<div class="refsect3"> 431<a name="gst-audio-converter-get-in-frames.parameters"></a><h4>Parameters</h4> 432<div class="informaltable"><table class="informaltable" width="100%" border="0"> 433<colgroup> 434<col width="150px" class="parameters_name"> 435<col class="parameters_description"> 436<col width="200px" class="parameters_annotations"> 437</colgroup> 438<tbody> 439<tr> 440<td class="parameter_name"><p>convert</p></td> 441<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a></p></td> 442<td class="parameter_annotations"> </td> 443</tr> 444<tr> 445<td class="parameter_name"><p>out_frames</p></td> 446<td class="parameter_description"><p>number of output frames</p></td> 447<td class="parameter_annotations"> </td> 448</tr> 449</tbody> 450</table></div> 451</div> 452<div class="refsect3"> 453<a name="gst-audio-converter-get-in-frames.returns"></a><h4>Returns</h4> 454<p> the number of input frames</p> 455</div> 456</div> 457<hr> 458<div class="refsect2"> 459<a name="gst-audio-converter-get-max-latency"></a><h3>gst_audio_converter_get_max_latency ()</h3> 460<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a> 461gst_audio_converter_get_max_latency (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a> *convert</code></em>);</pre> 462<p>Get the maximum number of input frames that the converter would 463need before producing output.</p> 464<div class="refsect3"> 465<a name="gst-audio-converter-get-max-latency.parameters"></a><h4>Parameters</h4> 466<div class="informaltable"><table class="informaltable" width="100%" border="0"> 467<colgroup> 468<col width="150px" class="parameters_name"> 469<col class="parameters_description"> 470<col width="200px" class="parameters_annotations"> 471</colgroup> 472<tbody><tr> 473<td class="parameter_name"><p>convert</p></td> 474<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a></p></td> 475<td class="parameter_annotations"> </td> 476</tr></tbody> 477</table></div> 478</div> 479<div class="refsect3"> 480<a name="gst-audio-converter-get-max-latency.returns"></a><h4>Returns</h4> 481<p> the latency of <em class="parameter"><code>convert</code></em> 482as expressed in the number of 483frames.</p> 484</div> 485</div> 486<hr> 487<div class="refsect2"> 488<a name="gst-audio-converter-get-out-frames"></a><h3>gst_audio_converter_get_out_frames ()</h3> 489<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a> 490gst_audio_converter_get_out_frames (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a> *convert</code></em>, 491 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> in_frames</code></em>);</pre> 492<p>Calculate how many output frames can be produced when <em class="parameter"><code>in_frames</code></em> 493 input 494frames are given to <em class="parameter"><code>convert</code></em> 495.</p> 496<div class="refsect3"> 497<a name="gst-audio-converter-get-out-frames.parameters"></a><h4>Parameters</h4> 498<div class="informaltable"><table class="informaltable" width="100%" border="0"> 499<colgroup> 500<col width="150px" class="parameters_name"> 501<col class="parameters_description"> 502<col width="200px" class="parameters_annotations"> 503</colgroup> 504<tbody> 505<tr> 506<td class="parameter_name"><p>convert</p></td> 507<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a></p></td> 508<td class="parameter_annotations"> </td> 509</tr> 510<tr> 511<td class="parameter_name"><p>in_frames</p></td> 512<td class="parameter_description"><p>number of input frames</p></td> 513<td class="parameter_annotations"> </td> 514</tr> 515</tbody> 516</table></div> 517</div> 518<div class="refsect3"> 519<a name="gst-audio-converter-get-out-frames.returns"></a><h4>Returns</h4> 520<p> the number of output frames</p> 521</div> 522</div> 523<hr> 524<div class="refsect2"> 525<a name="gst-audio-converter-update-config"></a><h3>gst_audio_converter_update_config ()</h3> 526<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 527gst_audio_converter_update_config (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a> *convert</code></em>, 528 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> in_rate</code></em>, 529 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> out_rate</code></em>, 530 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> *config</code></em>);</pre> 531<p>Set <em class="parameter"><code>in_rate</code></em> 532, <em class="parameter"><code>out_rate</code></em> 533 and <em class="parameter"><code>config</code></em> 534 as extra configuration for <em class="parameter"><code>convert</code></em> 535.</p> 536<p><em class="parameter"><code>in_rate</code></em> 537 and <em class="parameter"><code>out_rate</code></em> 538 specify the new sample rates of input and output 539formats. A value of 0 leaves the sample rate unchanged.</p> 540<p><em class="parameter"><code>config</code></em> 541 can be <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, in which case, the current configuration is not 542changed.</p> 543<p>If the parameters in <em class="parameter"><code>config</code></em> 544 can not be set exactly, this function returns 545<a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> and will try to update as much state as possible. The new state can 546then be retrieved and refined with <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-get-config" title="gst_audio_converter_get_config ()"><code class="function">gst_audio_converter_get_config()</code></a>.</p> 547<p>Look at the <span class="type">GST_AUDIO_CONVERTER_OPT_</span>* fields to check valid configuration 548option and values.</p> 549<div class="refsect3"> 550<a name="gst-audio-converter-update-config.parameters"></a><h4>Parameters</h4> 551<div class="informaltable"><table class="informaltable" width="100%" border="0"> 552<colgroup> 553<col width="150px" class="parameters_name"> 554<col class="parameters_description"> 555<col width="200px" class="parameters_annotations"> 556</colgroup> 557<tbody> 558<tr> 559<td class="parameter_name"><p>convert</p></td> 560<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a></p></td> 561<td class="parameter_annotations"> </td> 562</tr> 563<tr> 564<td class="parameter_name"><p>in_rate</p></td> 565<td class="parameter_description"><p>input rate</p></td> 566<td class="parameter_annotations"> </td> 567</tr> 568<tr> 569<td class="parameter_name"><p>out_rate</p></td> 570<td class="parameter_description"><p>output rate</p></td> 571<td class="parameter_annotations"> </td> 572</tr> 573<tr> 574<td class="parameter_name"><p>config</p></td> 575<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> 576<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> 577</tr> 578</tbody> 579</table></div> 580</div> 581<div class="refsect3"> 582<a name="gst-audio-converter-update-config.returns"></a><h4>Returns</h4> 583<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> when the new parameters could be set</p> 584</div> 585</div> 586<hr> 587<div class="refsect2"> 588<a name="gst-audio-converter-get-config"></a><h3>gst_audio_converter_get_config ()</h3> 589<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstStructure.html#GstStructure-struct"><span class="returnvalue">GstStructure</span></a> * 590gst_audio_converter_get_config (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a> *convert</code></em>, 591 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *in_rate</code></em>, 592 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *out_rate</code></em>);</pre> 593<p>Get the current configuration of <em class="parameter"><code>convert</code></em> 594.</p> 595<div class="refsect3"> 596<a name="gst-audio-converter-get-config.parameters"></a><h4>Parameters</h4> 597<div class="informaltable"><table class="informaltable" width="100%" border="0"> 598<colgroup> 599<col width="150px" class="parameters_name"> 600<col class="parameters_description"> 601<col width="200px" class="parameters_annotations"> 602</colgroup> 603<tbody> 604<tr> 605<td class="parameter_name"><p>convert</p></td> 606<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a></p></td> 607<td class="parameter_annotations"> </td> 608</tr> 609<tr> 610<td class="parameter_name"><p>in_rate</p></td> 611<td class="parameter_description"><p>result input rate. </p></td> 612<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td> 613</tr> 614<tr> 615<td class="parameter_name"><p>out_rate</p></td> 616<td class="parameter_description"><p>result output rate. </p></td> 617<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td> 618</tr> 619</tbody> 620</table></div> 621</div> 622<div class="refsect3"> 623<a name="gst-audio-converter-get-config.returns"></a><h4>Returns</h4> 624<p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> that remains valid for as long as <em class="parameter"><code>convert</code></em> 625is valid 626or until <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-update-config" title="gst_audio_converter_update_config ()"><code class="function">gst_audio_converter_update_config()</code></a> is called. </p> 627<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> 628</div> 629</div> 630<hr> 631<div class="refsect2"> 632<a name="gst-audio-converter-reset"></a><h3>gst_audio_converter_reset ()</h3> 633<pre class="programlisting"><span class="returnvalue">void</span> 634gst_audio_converter_reset (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a> *convert</code></em>);</pre> 635<p>Reset <em class="parameter"><code>convert</code></em> 636 to the state it was when it was first created, clearing 637any history it might currently have.</p> 638<div class="refsect3"> 639<a name="gst-audio-converter-reset.parameters"></a><h4>Parameters</h4> 640<div class="informaltable"><table class="informaltable" width="100%" border="0"> 641<colgroup> 642<col width="150px" class="parameters_name"> 643<col class="parameters_description"> 644<col width="200px" class="parameters_annotations"> 645</colgroup> 646<tbody><tr> 647<td class="parameter_name"><p>convert</p></td> 648<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a></p></td> 649<td class="parameter_annotations"> </td> 650</tr></tbody> 651</table></div> 652</div> 653</div> 654<hr> 655<div class="refsect2"> 656<a name="gst-audio-converter-supports-inplace"></a><h3>gst_audio_converter_supports_inplace ()</h3> 657<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 658gst_audio_converter_supports_inplace (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a> *convert</code></em>);</pre> 659<p>Returns whether the audio converter can perform the conversion in-place. 660The return value would be typically input to <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0/GstBaseTransform.html#gst-base-transform-set-in-place"><code class="function">gst_base_transform_set_in_place()</code></a></p> 661<div class="refsect3"> 662<a name="gst-audio-converter-supports-inplace.parameters"></a><h4>Parameters</h4> 663<div class="informaltable"><table class="informaltable" width="100%" border="0"> 664<colgroup> 665<col width="150px" class="parameters_name"> 666<col class="parameters_description"> 667<col width="200px" class="parameters_annotations"> 668</colgroup> 669<tbody><tr> 670<td class="parameter_name"><p>convert</p></td> 671<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a></p></td> 672<td class="parameter_annotations"> </td> 673</tr></tbody> 674</table></div> 675</div> 676<div class="refsect3"> 677<a name="gst-audio-converter-supports-inplace.returns"></a><h4>Returns</h4> 678<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> when the conversion can be done in place.</p> 679</div> 680</div> 681<hr> 682<div class="refsect2"> 683<a name="gst-audio-converter-is-passthrough"></a><h3>gst_audio_converter_is_passthrough ()</h3> 684<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 685gst_audio_converter_is_passthrough (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#GstAudioConverter" title="GstAudioConverter"><span class="type">GstAudioConverter</span></a> *convert</code></em>);</pre> 686<p>Returns whether the audio converter will operate in passthrough mode. 687The return value would be typically input to <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0/GstBaseTransform.html#gst-base-transform-set-passthrough"><code class="function">gst_base_transform_set_passthrough()</code></a></p> 688<div class="refsect3"> 689<a name="gst-audio-converter-is-passthrough.returns"></a><h4>Returns</h4> 690<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> when no conversion will actually occur.</p> 691</div> 692<p class="since">Since: <a class="link" href="ix03.html#api-index-1.16">1.16</a></p> 693</div> 694</div> 695<div class="refsect1"> 696<a name="gst-plugins-base-libs-GstAudioConverter.other_details"></a><h2>Types and Values</h2> 697<div class="refsect2"> 698<a name="GstAudioConverter"></a><h3>GstAudioConverter</h3> 699<pre class="programlisting">typedef struct _GstAudioConverter GstAudioConverter;</pre> 700</div> 701<hr> 702<div class="refsect2"> 703<a name="GstAudioConverterFlags"></a><h3>enum GstAudioConverterFlags</h3> 704<p>Extra flags passed to <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-new" title="gst_audio_converter_new ()"><code class="function">gst_audio_converter_new()</code></a> and <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-samples" title="gst_audio_converter_samples ()"><code class="function">gst_audio_converter_samples()</code></a>.</p> 705<div class="refsect3"> 706<a name="GstAudioConverterFlags.members"></a><h4>Members</h4> 707<div class="informaltable"><table class="informaltable" width="100%" border="0"> 708<colgroup> 709<col width="300px" class="enum_members_name"> 710<col class="enum_members_description"> 711<col width="200px" class="enum_members_annotations"> 712</colgroup> 713<tbody> 714<tr> 715<td class="enum_member_name"><p><a name="GST-AUDIO-CONVERTER-FLAG-NONE:CAPS"></a>GST_AUDIO_CONVERTER_FLAG_NONE</p></td> 716<td class="enum_member_description"> 717<p>no flag</p> 718</td> 719<td class="enum_member_annotations"> </td> 720</tr> 721<tr> 722<td class="enum_member_name"><p><a name="GST-AUDIO-CONVERTER-FLAG-IN-WRITABLE:CAPS"></a>GST_AUDIO_CONVERTER_FLAG_IN_WRITABLE</p></td> 723<td class="enum_member_description"> 724<p>the input sample arrays are writable and can be 725 used as temporary storage during conversion.</p> 726</td> 727<td class="enum_member_annotations"> </td> 728</tr> 729<tr> 730<td class="enum_member_name"><p><a name="GST-AUDIO-CONVERTER-FLAG-VARIABLE-RATE:CAPS"></a>GST_AUDIO_CONVERTER_FLAG_VARIABLE_RATE</p></td> 731<td class="enum_member_description"> 732<p>allow arbitrary rate updates with 733 <a class="link" href="gst-plugins-base-libs-GstAudioConverter.html#gst-audio-converter-update-config" title="gst_audio_converter_update_config ()"><code class="function">gst_audio_converter_update_config()</code></a>.</p> 734</td> 735<td class="enum_member_annotations"> </td> 736</tr> 737</tbody> 738</table></div> 739</div> 740</div> 741<hr> 742<div class="refsect2"> 743<a name="GST-AUDIO-CONVERTER-OPT-DITHER-METHOD:CAPS"></a><h3>GST_AUDIO_CONVERTER_OPT_DITHER_METHOD</h3> 744<pre class="programlisting">#define GST_AUDIO_CONVERTER_OPT_DITHER_METHOD "GstAudioConverter.dither-method" 745</pre> 746<p><span class="type">GST_TYPE_AUDIO_DITHER_METHOD</span>, The dither method to use when 747changing bit depth. 748Default is <a class="link" href="gst-plugins-base-libs-GstAudioQuantize.html#GST-AUDIO-DITHER-NONE:CAPS"><span class="type">GST_AUDIO_DITHER_NONE</span></a>.</p> 749</div> 750<hr> 751<div class="refsect2"> 752<a name="GST-AUDIO-CONVERTER-OPT-NOISE-SHAPING-METHOD:CAPS"></a><h3>GST_AUDIO_CONVERTER_OPT_NOISE_SHAPING_METHOD</h3> 753<pre class="programlisting">#define GST_AUDIO_CONVERTER_OPT_NOISE_SHAPING_METHOD "GstAudioConverter.noise-shaping-method" 754</pre> 755<p><span class="type">GST_TYPE_AUDIO_NOISE_SHAPING_METHOD</span>, The noise shaping method to use 756to mask noise from quantization errors. 757Default is <a class="link" href="gst-plugins-base-libs-GstAudioQuantize.html#GST-AUDIO-NOISE-SHAPING-NONE:CAPS"><span class="type">GST_AUDIO_NOISE_SHAPING_NONE</span></a>.</p> 758</div> 759<hr> 760<div class="refsect2"> 761<a name="GST-AUDIO-CONVERTER-OPT-QUANTIZATION:CAPS"></a><h3>GST_AUDIO_CONVERTER_OPT_QUANTIZATION</h3> 762<pre class="programlisting">#define GST_AUDIO_CONVERTER_OPT_QUANTIZATION "GstAudioConverter.quantization" 763</pre> 764<p><a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#G-TYPE-UINT:CAPS"><span class="type">G_TYPE_UINT</span></a>, The quantization amount. Components will be 765quantized to multiples of this value. 766Default is 1</p> 767</div> 768<hr> 769<div class="refsect2"> 770<a name="GST-AUDIO-CONVERTER-OPT-MIX-MATRIX:CAPS"></a><h3>GST_AUDIO_CONVERTER_OPT_MIX_MATRIX</h3> 771<pre class="programlisting">#define GST_AUDIO_CONVERTER_OPT_MIX_MATRIX "GstAudioConverter.mix-matrix" 772</pre> 773<p><span class="type">GST_TYPE_VALUE_LIST</span>, The channel mapping matrix.</p> 774<p>The matrix coefficients must be between -1 and 1: the number of rows is equal 775to the number of output channels and the number of columns is equal to the 776number of input channels.</p> 777<div class="refsect3"> 778<a name="id-1.2.6.16.8.7.6"></a><h4>Example matrix generation code</h4> 779<p>To generate the matrix using code:</p> 780<div class="informalexample"> 781 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> 782 <tbody> 783 <tr> 784 <td class="listing_lines" align="right"><pre>1 7852 7863 7874 7885 7896 7907 7918 7929 79310 79411 79512 79613 79714 79815 79916</pre></td> 800 <td class="listing_code"><pre class="programlisting">GValue v <span class="gtkdoc opt">=</span> G_VALUE_INIT<span class="gtkdoc opt">;</span> 801GValue v2 <span class="gtkdoc opt">=</span> G_VALUE_INIT<span class="gtkdoc opt">;</span> 802GValue v3 <span class="gtkdoc opt">=</span> G_VALUE_INIT<span class="gtkdoc opt">;</span> 803 804<span class="function"><a href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#g-value-init">g_value_init</a></span> <span class="gtkdoc opt">(&</span>v2<span class="gtkdoc opt">,</span> GST_TYPE_ARRAY<span class="gtkdoc opt">);</span> 805<span class="function"><a href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#g-value-init">g_value_init</a></span> <span class="gtkdoc opt">(&</span>v3<span class="gtkdoc opt">,</span> G_TYPE_DOUBLE<span class="gtkdoc opt">);</span> 806<span class="function"><a href="/usr/share/gtk-doc/html/gobject/gobject-Standard-Parameter-and-Value-Types.html#g-value-set-double">g_value_set_double</a></span> <span class="gtkdoc opt">(&</span>v3<span class="gtkdoc opt">,</span> <span class="number">1</span><span class="gtkdoc opt">);</span> 807<span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0/gstreamer-GstValue.html#gst-value-array-append-value">gst_value_array_append_value</a></span> <span class="gtkdoc opt">(&</span>v2<span class="gtkdoc opt">, &</span>v3<span class="gtkdoc opt">);</span> 808<span class="function"><a href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#g-value-unset">g_value_unset</a></span> <span class="gtkdoc opt">(&</span>v3<span class="gtkdoc opt">);</span> 809<span class="gtkdoc opt">[</span> Repeat <span class="keyword">for</span> as many <span class="gtkdoc kwb">double</span> as your input channels <span class="gtkdoc opt">-</span> unset <span class="keyword">and</span> reinit v3 <span class="gtkdoc opt">]</span> 810<span class="function"><a href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#g-value-init">g_value_init</a></span> <span class="gtkdoc opt">(&</span>v<span class="gtkdoc opt">,</span> GST_TYPE_ARRAY<span class="gtkdoc opt">);</span> 811<span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0/gstreamer-GstValue.html#gst-value-array-append-value">gst_value_array_append_value</a></span> <span class="gtkdoc opt">(&</span>v<span class="gtkdoc opt">, &</span>v2<span class="gtkdoc opt">);</span> 812<span class="function"><a href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#g-value-unset">g_value_unset</a></span> <span class="gtkdoc opt">(&</span>v2<span class="gtkdoc opt">);</span> 813<span class="gtkdoc opt">[</span> Repeat <span class="keyword">for</span> as many v2<span class="string">'s as your output channels - unset and reinit v2]</span> 814<span class="string">g_object_set_property (G_OBJECT (audiomixmatrix), "matrix", &v);</span> 815<span class="string">g_value_unset (&v);</span></pre></td> 816 </tr> 817 </tbody> 818 </table> 819</div> 820 821<p></p> 822</div> 823</div> 824<hr> 825<div class="refsect2"> 826<a name="GST-AUDIO-CONVERTER-OPT-RESAMPLER-METHOD:CAPS"></a><h3>GST_AUDIO_CONVERTER_OPT_RESAMPLER_METHOD</h3> 827<pre class="programlisting">#define GST_AUDIO_CONVERTER_OPT_RESAMPLER_METHOD "GstAudioConverter.resampler-method" 828</pre> 829<p><span class="type">GST_TYPE_AUDIO_RESAMPLER_METHOD</span>, The resampler method to use when 830changing sample rates. 831Default is <a class="link" href="gst-plugins-base-libs-GstAudio.html#GST-AUDIO-RESAMPLER-METHOD-BLACKMAN-NUTTALL:CAPS"><span class="type">GST_AUDIO_RESAMPLER_METHOD_BLACKMAN_NUTTALL</span></a>.</p> 832</div> 833</div> 834</div> 835<div class="footer"> 836<hr>Generated by GTK-Doc V1.28</div> 837</body> 838</html>