Current File : //proc/self/root/kunden/usr/share/doc/alsa-lib-devel/doxygen/html/group___p_c_m___ext_plug.html |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ALSA project - the C library reference: External Filter plugin SDK</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">ALSA project - the C library reference
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> |
<a href="#define-members">Macros</a> |
<a href="#typedef-members">Typedefs</a> |
<a href="#enum-members">Enumerations</a> |
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">External Filter plugin SDK<div class="ingroups"><a class="el" href="group___plugin___s_d_k.html">External PCM plugin SDK</a></div></div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__extplug.html">snd_pcm_extplug_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__extplug__callback.html">snd_pcm_extplug_callback_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga82e7bf8a5b451792195a70cb74e31fc4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___ext_plug.html#ga82e7bf8a5b451792195a70cb74e31fc4">SND_PCM_EXTPLUG_VERSION_MAJOR</a>   1</td></tr>
<tr class="separator:ga82e7bf8a5b451792195a70cb74e31fc4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga40f40d20f8683751fdbb25b1f9ed013c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___ext_plug.html#ga40f40d20f8683751fdbb25b1f9ed013c">SND_PCM_EXTPLUG_VERSION_MINOR</a>   0</td></tr>
<tr class="separator:ga40f40d20f8683751fdbb25b1f9ed013c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga685e379757c606a4d2a7fcc969cc5dc1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___ext_plug.html#ga685e379757c606a4d2a7fcc969cc5dc1">SND_PCM_EXTPLUG_VERSION_TINY</a>   2</td></tr>
<tr class="separator:ga685e379757c606a4d2a7fcc969cc5dc1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga24d0ae71d106f08685d9ba8c6cf5fe78"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___ext_plug.html#ga24d0ae71d106f08685d9ba8c6cf5fe78">SND_PCM_EXTPLUG_VERSION</a></td></tr>
<tr class="separator:ga24d0ae71d106f08685d9ba8c6cf5fe78"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gaeddcbb8005ccafb008a75283d5d9e551"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsnd__pcm__extplug.html">snd_pcm_extplug</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___ext_plug.html#gaeddcbb8005ccafb008a75283d5d9e551">snd_pcm_extplug_t</a></td></tr>
<tr class="separator:gaeddcbb8005ccafb008a75283d5d9e551"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga0c554fce3192586b7a5ff51d45272f44"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsnd__pcm__extplug__callback.html">snd_pcm_extplug_callback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___ext_plug.html#ga0c554fce3192586b7a5ff51d45272f44">snd_pcm_extplug_callback_t</a></td></tr>
<tr class="separator:ga0c554fce3192586b7a5ff51d45272f44"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga7ff5f2dff38e7639981794c43dc9167b"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___p_c_m___ext_plug.html#gga7ff5f2dff38e7639981794c43dc9167ba627234d455a7d4652aacead45cf650ab">SND_PCM_EXTPLUG_HW_FORMAT</a>
, <a class="el" href="group___p_c_m___ext_plug.html#gga7ff5f2dff38e7639981794c43dc9167ba24eab971805f640763f6ffd9f60875dd">SND_PCM_EXTPLUG_HW_CHANNELS</a>
, <a class="el" href="group___p_c_m___ext_plug.html#gga7ff5f2dff38e7639981794c43dc9167bae359079bba1fec51841cd82179961801">SND_PCM_EXTPLUG_HW_PARAMS</a>
}</td></tr>
<tr class="separator:ga7ff5f2dff38e7639981794c43dc9167b"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gab0b27889f74c83cd033062981320fd62"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___ext_plug.html#gab0b27889f74c83cd033062981320fd62">snd_pcm_extplug_create</a> (<a class="el" href="group___p_c_m___ext_plug.html#gaeddcbb8005ccafb008a75283d5d9e551">snd_pcm_extplug_t</a> *ext, const char *name, <a class="el" href="group___configuration.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *root, <a class="el" href="group___configuration.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *slave_conf, <a class="el" href="group___p_c_m.html#gac23b43ff55add78638e503b9cc892c24">snd_pcm_stream_t</a> stream, int mode)</td></tr>
<tr class="memdesc:gab0b27889f74c83cd033062981320fd62"><td class="mdescLeft"> </td><td class="mdescRight">Create an extplug instance. <a href="group___p_c_m___ext_plug.html#gab0b27889f74c83cd033062981320fd62">More...</a><br /></td></tr>
<tr class="separator:gab0b27889f74c83cd033062981320fd62"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga7259292a6f64a2432f4c2a44bb5f8508"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___ext_plug.html#ga7259292a6f64a2432f4c2a44bb5f8508">snd_pcm_extplug_delete</a> (<a class="el" href="group___p_c_m___ext_plug.html#gaeddcbb8005ccafb008a75283d5d9e551">snd_pcm_extplug_t</a> *ext)</td></tr>
<tr class="memdesc:ga7259292a6f64a2432f4c2a44bb5f8508"><td class="mdescLeft"> </td><td class="mdescRight">Delete the extplug instance. <a href="group___p_c_m___ext_plug.html#ga7259292a6f64a2432f4c2a44bb5f8508">More...</a><br /></td></tr>
<tr class="separator:ga7259292a6f64a2432f4c2a44bb5f8508"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gacef181565eb697397ce41c1aab381777"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___ext_plug.html#gacef181565eb697397ce41c1aab381777">snd_pcm_extplug_params_reset</a> (<a class="el" href="group___p_c_m___ext_plug.html#gaeddcbb8005ccafb008a75283d5d9e551">snd_pcm_extplug_t</a> *ext)</td></tr>
<tr class="memdesc:gacef181565eb697397ce41c1aab381777"><td class="mdescLeft"> </td><td class="mdescRight">Reset extplug parameters. <a href="group___p_c_m___ext_plug.html#gacef181565eb697397ce41c1aab381777">More...</a><br /></td></tr>
<tr class="separator:gacef181565eb697397ce41c1aab381777"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gadbf27adba1a7cd0195b6ac750bb11bf7"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___ext_plug.html#gadbf27adba1a7cd0195b6ac750bb11bf7">snd_pcm_extplug_set_param_list</a> (<a class="el" href="group___p_c_m___ext_plug.html#gaeddcbb8005ccafb008a75283d5d9e551">snd_pcm_extplug_t</a> *extplug, int <a class="el" href="ump__msg_8h.html#ad44b615021ed3ccb734fcaf583ef4a03">type</a>, unsigned int num_list, const unsigned int *list)</td></tr>
<tr class="memdesc:gadbf27adba1a7cd0195b6ac750bb11bf7"><td class="mdescLeft"> </td><td class="mdescRight">Set master parameter as the list. <a href="group___p_c_m___ext_plug.html#gadbf27adba1a7cd0195b6ac750bb11bf7">More...</a><br /></td></tr>
<tr class="separator:gadbf27adba1a7cd0195b6ac750bb11bf7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gabef139bbe5db265433fd5310d0faad4d"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___ext_plug.html#gabef139bbe5db265433fd5310d0faad4d">snd_pcm_extplug_set_param_minmax</a> (<a class="el" href="group___p_c_m___ext_plug.html#gaeddcbb8005ccafb008a75283d5d9e551">snd_pcm_extplug_t</a> *extplug, int <a class="el" href="ump__msg_8h.html#ad44b615021ed3ccb734fcaf583ef4a03">type</a>, unsigned int min, unsigned int max)</td></tr>
<tr class="memdesc:gabef139bbe5db265433fd5310d0faad4d"><td class="mdescLeft"> </td><td class="mdescRight">Set master parameter as the min/max values. <a href="group___p_c_m___ext_plug.html#gabef139bbe5db265433fd5310d0faad4d">More...</a><br /></td></tr>
<tr class="separator:gabef139bbe5db265433fd5310d0faad4d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gad14f6746e36d556c7a7937633b965ca7"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___ext_plug.html#gad14f6746e36d556c7a7937633b965ca7">snd_pcm_extplug_set_slave_param_list</a> (<a class="el" href="group___p_c_m___ext_plug.html#gaeddcbb8005ccafb008a75283d5d9e551">snd_pcm_extplug_t</a> *extplug, int <a class="el" href="ump__msg_8h.html#ad44b615021ed3ccb734fcaf583ef4a03">type</a>, unsigned int num_list, const unsigned int *list)</td></tr>
<tr class="memdesc:gad14f6746e36d556c7a7937633b965ca7"><td class="mdescLeft"> </td><td class="mdescRight">Set slave parameter as the list. <a href="group___p_c_m___ext_plug.html#gad14f6746e36d556c7a7937633b965ca7">More...</a><br /></td></tr>
<tr class="separator:gad14f6746e36d556c7a7937633b965ca7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gad3cac0ee15293f349220a75cce69a51e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___ext_plug.html#gad3cac0ee15293f349220a75cce69a51e">snd_pcm_extplug_set_slave_param_minmax</a> (<a class="el" href="group___p_c_m___ext_plug.html#gaeddcbb8005ccafb008a75283d5d9e551">snd_pcm_extplug_t</a> *extplug, int <a class="el" href="ump__msg_8h.html#ad44b615021ed3ccb734fcaf583ef4a03">type</a>, unsigned int min, unsigned int max)</td></tr>
<tr class="memdesc:gad3cac0ee15293f349220a75cce69a51e"><td class="mdescLeft"> </td><td class="mdescRight">Set slave parameter as the min/max values. <a href="group___p_c_m___ext_plug.html#gad3cac0ee15293f349220a75cce69a51e">More...</a><br /></td></tr>
<tr class="separator:gad3cac0ee15293f349220a75cce69a51e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gadfb6033cad31a9d4fb5f76c2a0edd20d"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___ext_plug.html#gadfb6033cad31a9d4fb5f76c2a0edd20d">snd_pcm_extplug_set_param_link</a> (<a class="el" href="group___p_c_m___ext_plug.html#gaeddcbb8005ccafb008a75283d5d9e551">snd_pcm_extplug_t</a> *extplug, int <a class="el" href="ump__msg_8h.html#ad44b615021ed3ccb734fcaf583ef4a03">type</a>, int keep_link)</td></tr>
<tr class="memdesc:gadfb6033cad31a9d4fb5f76c2a0edd20d"><td class="mdescLeft"> </td><td class="mdescRight">Keep the client and slave format/channels the same if requested. This is for example useful if this extplug does not support any channel conversion. <a href="group___p_c_m___ext_plug.html#gadfb6033cad31a9d4fb5f76c2a0edd20d">More...</a><br /></td></tr>
<tr class="separator:gadfb6033cad31a9d4fb5f76c2a0edd20d"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>See the <a class="el" href="pcm.html">PCM (digital audio) interface</a> page for more details. </p>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga24d0ae71d106f08685d9ba8c6cf5fe78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga24d0ae71d106f08685d9ba8c6cf5fe78">◆ </a></span>SND_PCM_EXTPLUG_VERSION</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SND_PCM_EXTPLUG_VERSION</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> ((<a class="code" href="group___p_c_m___ext_plug.html#ga82e7bf8a5b451792195a70cb74e31fc4">SND_PCM_EXTPLUG_VERSION_MAJOR</a><<16) |\</div>
<div class="line"> (<a class="code" href="group___p_c_m___ext_plug.html#ga40f40d20f8683751fdbb25b1f9ed013c">SND_PCM_EXTPLUG_VERSION_MINOR</a><<8) |\</div>
<div class="line"> (<a class="code" href="group___p_c_m___ext_plug.html#ga685e379757c606a4d2a7fcc969cc5dc1">SND_PCM_EXTPLUG_VERSION_TINY</a>))</div>
<div class="ttc" id="agroup___p_c_m___ext_plug_html_ga40f40d20f8683751fdbb25b1f9ed013c"><div class="ttname"><a href="group___p_c_m___ext_plug.html#ga40f40d20f8683751fdbb25b1f9ed013c">SND_PCM_EXTPLUG_VERSION_MINOR</a></div><div class="ttdeci">#define SND_PCM_EXTPLUG_VERSION_MINOR</div><div class="ttdef"><b>Definition:</b> pcm_extplug.h:62</div></div>
<div class="ttc" id="agroup___p_c_m___ext_plug_html_ga685e379757c606a4d2a7fcc969cc5dc1"><div class="ttname"><a href="group___p_c_m___ext_plug.html#ga685e379757c606a4d2a7fcc969cc5dc1">SND_PCM_EXTPLUG_VERSION_TINY</a></div><div class="ttdeci">#define SND_PCM_EXTPLUG_VERSION_TINY</div><div class="ttdef"><b>Definition:</b> pcm_extplug.h:63</div></div>
<div class="ttc" id="agroup___p_c_m___ext_plug_html_ga82e7bf8a5b451792195a70cb74e31fc4"><div class="ttname"><a href="group___p_c_m___ext_plug.html#ga82e7bf8a5b451792195a70cb74e31fc4">SND_PCM_EXTPLUG_VERSION_MAJOR</a></div><div class="ttdeci">#define SND_PCM_EXTPLUG_VERSION_MAJOR</div><div class="ttdef"><b>Definition:</b> pcm_extplug.h:61</div></div>
</div><!-- fragment --><p>Filter-plugin protocol version </p>
</div>
</div>
<a id="ga82e7bf8a5b451792195a70cb74e31fc4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga82e7bf8a5b451792195a70cb74e31fc4">◆ </a></span>SND_PCM_EXTPLUG_VERSION_MAJOR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SND_PCM_EXTPLUG_VERSION_MAJOR   1</td>
</tr>
</table>
</div><div class="memdoc">
<p>Protocol major version </p>
</div>
</div>
<a id="ga40f40d20f8683751fdbb25b1f9ed013c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga40f40d20f8683751fdbb25b1f9ed013c">◆ </a></span>SND_PCM_EXTPLUG_VERSION_MINOR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SND_PCM_EXTPLUG_VERSION_MINOR   0</td>
</tr>
</table>
</div><div class="memdoc">
<p>Protocol minor version </p>
</div>
</div>
<a id="ga685e379757c606a4d2a7fcc969cc5dc1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga685e379757c606a4d2a7fcc969cc5dc1">◆ </a></span>SND_PCM_EXTPLUG_VERSION_TINY</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SND_PCM_EXTPLUG_VERSION_TINY   2</td>
</tr>
</table>
</div><div class="memdoc">
<p>Protocol tiny version </p>
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga0c554fce3192586b7a5ff51d45272f44"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0c554fce3192586b7a5ff51d45272f44">◆ </a></span>snd_pcm_extplug_callback_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structsnd__pcm__extplug__callback.html">snd_pcm_extplug_callback</a> <a class="el" href="group___p_c_m___ext_plug.html#ga0c554fce3192586b7a5ff51d45272f44">snd_pcm_extplug_callback_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Callback table of extplug </p>
</div>
</div>
<a id="gaeddcbb8005ccafb008a75283d5d9e551"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaeddcbb8005ccafb008a75283d5d9e551">◆ </a></span>snd_pcm_extplug_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structsnd__pcm__extplug.html">snd_pcm_extplug</a> <a class="el" href="group___p_c_m___ext_plug.html#gaeddcbb8005ccafb008a75283d5d9e551">snd_pcm_extplug_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Handle of external filter plugin </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ga7ff5f2dff38e7639981794c43dc9167b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7ff5f2dff38e7639981794c43dc9167b">◆ </a></span>anonymous enum</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<p>hw constraints for extplug </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga7ff5f2dff38e7639981794c43dc9167ba627234d455a7d4652aacead45cf650ab"></a>SND_PCM_EXTPLUG_HW_FORMAT </td><td class="fielddoc"><p>format </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7ff5f2dff38e7639981794c43dc9167ba24eab971805f640763f6ffd9f60875dd"></a>SND_PCM_EXTPLUG_HW_CHANNELS </td><td class="fielddoc"><p>channels </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7ff5f2dff38e7639981794c43dc9167bae359079bba1fec51841cd82179961801"></a>SND_PCM_EXTPLUG_HW_PARAMS </td><td class="fielddoc"><p>max number of hw constraints </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="gab0b27889f74c83cd033062981320fd62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab0b27889f74c83cd033062981320fd62">◆ </a></span>snd_pcm_extplug_create()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_pcm_extplug_create </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___p_c_m___ext_plug.html#gaeddcbb8005ccafb008a75283d5d9e551">snd_pcm_extplug_t</a> * </td>
<td class="paramname"><em>extplug</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group___configuration.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </td>
<td class="paramname"><em>root</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group___configuration.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </td>
<td class="paramname"><em>slave_conf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group___p_c_m.html#gac23b43ff55add78638e503b9cc892c24">snd_pcm_stream_t</a> </td>
<td class="paramname"><em>stream</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>mode</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create an extplug instance. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">extplug</td><td>the extplug handle </td></tr>
<tr><td class="paramname">name</td><td>name of the PCM </td></tr>
<tr><td class="paramname">root</td><td>configuration tree root </td></tr>
<tr><td class="paramname">slave_conf</td><td>slave configuration root </td></tr>
<tr><td class="paramname">stream</td><td>stream direction </td></tr>
<tr><td class="paramname">mode</td><td>PCM open mode </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or a negative error code</dd></dl>
<p>Creates the extplug instance based on the given handle. The slave_conf argument is mandatory, and usually taken from the config tree of the PCM plugin as "slave" config value. name, root, stream and mode arguments are the values used for opening the PCM.</p>
<p>The callback is the mandatory field of extplug handle. At least, start, stop and pointer callbacks must be set before calling this function. </p>
</div>
</div>
<a id="ga7259292a6f64a2432f4c2a44bb5f8508"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7259292a6f64a2432f4c2a44bb5f8508">◆ </a></span>snd_pcm_extplug_delete()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_pcm_extplug_delete </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___p_c_m___ext_plug.html#gaeddcbb8005ccafb008a75283d5d9e551">snd_pcm_extplug_t</a> * </td>
<td class="paramname"><em>extplug</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Delete the extplug instance. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">extplug</td><td>the extplug handle to delete </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or a negative error code</dd></dl>
<p>The destructor of extplug instance. Closes the PCM and deletes the associated resources. </p>
</div>
</div>
<a id="gacef181565eb697397ce41c1aab381777"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacef181565eb697397ce41c1aab381777">◆ </a></span>snd_pcm_extplug_params_reset()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void snd_pcm_extplug_params_reset </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___p_c_m___ext_plug.html#gaeddcbb8005ccafb008a75283d5d9e551">snd_pcm_extplug_t</a> * </td>
<td class="paramname"><em>extplug</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Reset extplug parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">extplug</td><td>the extplug handle</td></tr>
</table>
</dd>
</dl>
<p>Resets the all parameters for the given extplug handle. </p>
</div>
</div>
<a id="gadfb6033cad31a9d4fb5f76c2a0edd20d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gadfb6033cad31a9d4fb5f76c2a0edd20d">◆ </a></span>snd_pcm_extplug_set_param_link()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_pcm_extplug_set_param_link </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___p_c_m___ext_plug.html#gaeddcbb8005ccafb008a75283d5d9e551">snd_pcm_extplug_t</a> * </td>
<td class="paramname"><em>extplug</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>keep_link</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Keep the client and slave format/channels the same if requested. This is for example useful if this extplug does not support any channel conversion. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">extplug</td><td>the extplug handle </td></tr>
<tr><td class="paramname">type</td><td>parameter type </td></tr>
<tr><td class="paramname">keep_link</td><td>if 1 the parameter identified by type will be kept the same for the client and slave PCM of this extplug </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or a negative error code </dd></dl>
</div>
</div>
<a id="gadbf27adba1a7cd0195b6ac750bb11bf7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gadbf27adba1a7cd0195b6ac750bb11bf7">◆ </a></span>snd_pcm_extplug_set_param_list()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_pcm_extplug_set_param_list </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___p_c_m___ext_plug.html#gaeddcbb8005ccafb008a75283d5d9e551">snd_pcm_extplug_t</a> * </td>
<td class="paramname"><em>extplug</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int </td>
<td class="paramname"><em>num_list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned int * </td>
<td class="paramname"><em>list</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set master parameter as the list. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">extplug</td><td>the extplug handle </td></tr>
<tr><td class="paramname">type</td><td>parameter type </td></tr>
<tr><td class="paramname">num_list</td><td>number of available values </td></tr>
<tr><td class="paramname">list</td><td>the list of available values </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or a negative error code</dd></dl>
<p>Sets the master parameter as the list. The available values of the given parameter type of this PCM (as input) is restricted to the ones of the given list. </p>
</div>
</div>
<a id="gabef139bbe5db265433fd5310d0faad4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabef139bbe5db265433fd5310d0faad4d">◆ </a></span>snd_pcm_extplug_set_param_minmax()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_pcm_extplug_set_param_minmax </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___p_c_m___ext_plug.html#gaeddcbb8005ccafb008a75283d5d9e551">snd_pcm_extplug_t</a> * </td>
<td class="paramname"><em>extplug</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int </td>
<td class="paramname"><em>min</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int </td>
<td class="paramname"><em>max</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set master parameter as the min/max values. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">extplug</td><td>the extplug handle </td></tr>
<tr><td class="paramname">type</td><td>parameter type </td></tr>
<tr><td class="paramname">min</td><td>the minimum value </td></tr>
<tr><td class="paramname">max</td><td>the maximum value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or a negative error code</dd></dl>
<p>Sets the master parameter as the min/max values. The available values of the given parameter type of this PCM (as input) is restricted between the given minimum and maximum values. </p>
</div>
</div>
<a id="gad14f6746e36d556c7a7937633b965ca7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad14f6746e36d556c7a7937633b965ca7">◆ </a></span>snd_pcm_extplug_set_slave_param_list()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_pcm_extplug_set_slave_param_list </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___p_c_m___ext_plug.html#gaeddcbb8005ccafb008a75283d5d9e551">snd_pcm_extplug_t</a> * </td>
<td class="paramname"><em>extplug</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int </td>
<td class="paramname"><em>num_list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned int * </td>
<td class="paramname"><em>list</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set slave parameter as the list. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">extplug</td><td>the extplug handle </td></tr>
<tr><td class="paramname">type</td><td>parameter type </td></tr>
<tr><td class="paramname">num_list</td><td>number of available values </td></tr>
<tr><td class="paramname">list</td><td>the list of available values </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or a negative error code</dd></dl>
<p>Sets the slave parameter as the list. The available values of the given parameter type of the slave PCM is restricted to the ones of the given list. </p>
</div>
</div>
<a id="gad3cac0ee15293f349220a75cce69a51e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad3cac0ee15293f349220a75cce69a51e">◆ </a></span>snd_pcm_extplug_set_slave_param_minmax()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_pcm_extplug_set_slave_param_minmax </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___p_c_m___ext_plug.html#gaeddcbb8005ccafb008a75283d5d9e551">snd_pcm_extplug_t</a> * </td>
<td class="paramname"><em>extplug</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int </td>
<td class="paramname"><em>min</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int </td>
<td class="paramname"><em>max</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set slave parameter as the min/max values. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">extplug</td><td>the extplug handle </td></tr>
<tr><td class="paramname">type</td><td>parameter type </td></tr>
<tr><td class="paramname">min</td><td>the minimum value </td></tr>
<tr><td class="paramname">max</td><td>the maximum value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or a negative error code</dd></dl>
<p>Sets the slave parameter as the min/max values. The available values of the given parameter type of the slave PCM is restricted between the given minimum and maximum values. </p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>