Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-release > by-pkgid > 406d9b580cc28afca9442eab7324087d > files > 125

libalsa2-docs-1.0.28-1.mga5.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.8.7"/>
<title>ALSA project - the C library reference: External PCM 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/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</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 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.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></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="#groups">Modules</a> &#124;
<a href="#files">Files</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">External PCM plugin SDK</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
Modules</h2></td></tr>
<tr class="memitem:group___p_c_m___ext_plug"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___ext_plug.html">External Filter plugin SDK</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group___p_c_m___i_o_plug"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___i_o_plug.html">External I/O plugin SDK</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:pcm__extplug_8c"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pcm__extplug_8c.html">pcm_extplug.c</a></td></tr>
<tr class="memdesc:pcm__extplug_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">External Filter Plugin SDK. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:pcm__ioplug_8c"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pcm__ioplug_8c.html">pcm_ioplug.c</a></td></tr>
<tr class="memdesc:pcm__ioplug_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">I/O Plugin SDK. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</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:gaf1fae79f689774a0bdb72a5e15f5978c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___plugin___s_d_k.html#gaf1fae79f689774a0bdb72a5e15f5978c">SND_PCM_PLUGIN_ENTRY</a>(name)&#160;&#160;&#160;_snd_pcm_##name##_open</td></tr>
<tr class="separator:gaf1fae79f689774a0bdb72a5e15f5978c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga73a613cc5b7b3642f53bbd5a1d78004b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___plugin___s_d_k.html#ga73a613cc5b7b3642f53bbd5a1d78004b">SND_PCM_PLUGIN_SYMBOL</a>(name)&#160;&#160;&#160;<a class="el" href="group___global.html#ga355c462c8c5dee0aeadae17d096ba531">SND_DLSYM_BUILD_VERSION</a>(<a class="el" href="group___plugin___s_d_k.html#gaf1fae79f689774a0bdb72a5e15f5978c">SND_PCM_PLUGIN_ENTRY</a>(name), <a class="el" href="group___p_c_m.html#ga32ccf47736036e86b0d787dc43e64d4a">SND_PCM_DLSYM_VERSION</a>);</td></tr>
<tr class="separator:ga73a613cc5b7b3642f53bbd5a1d78004b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3fd72ea47a7a921943b26c580b9d6c41"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___plugin___s_d_k.html#ga3fd72ea47a7a921943b26c580b9d6c41">SND_PCM_PLUGIN_DEFINE_FUNC</a>(plugin)</td></tr>
<tr class="separator:ga3fd72ea47a7a921943b26c580b9d6c41"><td class="memSeparator" colspan="2">&#160;</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:ga6cc0e84dc2822458b4ed163071a51ecd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___plugin___s_d_k.html#ga6cc0e84dc2822458b4ed163071a51ecd">snd_pcm_parse_control_id</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *conf, <a class="el" href="group___control.html#gad6c3746f1925bfec6a4fd0e913430e55">snd_ctl_elem_id_t</a> *ctl_id, int *cardp, int *cchannelsp, int *hwctlp)</td></tr>
<tr class="memdesc:ga6cc0e84dc2822458b4ed163071a51ecd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse control element id from the config.  <a href="#ga6cc0e84dc2822458b4ed163071a51ecd">More...</a><br /></td></tr>
<tr class="separator:ga6cc0e84dc2822458b4ed163071a51ecd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga3fd72ea47a7a921943b26c580b9d6c41"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_PCM_PLUGIN_DEFINE_FUNC</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">plugin</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordtype">int</span> <a class="code" href="group___plugin___s_d_k.html#gaf1fae79f689774a0bdb72a5e15f5978c">SND_PCM_PLUGIN_ENTRY</a>(plugin) (<a class="code" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> **pcmp, <span class="keyword">const</span> <span class="keywordtype">char</span> *name,<a class="code" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">\</a></div>
<div class="line"><a class="code" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">				  snd_config_t</a> *root, <a class="code" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *conf, <a class="code" href="group___p_c_m.html#gac23b43ff55add78638e503b9cc892c24">\</a></div>
<div class="line"><a class="code" href="group___p_c_m.html#gac23b43ff55add78638e503b9cc892c24">				  snd_pcm_stream_t</a> stream, <span class="keywordtype">int</span> mode)</div>
<div class="ttc" id="group___config_html_ga1c20905af775ae77d04d1a5696f67985"><div class="ttname"><a href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a></div><div class="ttdeci">struct _snd_config snd_config_t</div><div class="ttdoc">Internal structure for a configuration node object. </div><div class="ttdef"><b>Definition:</b> conf.h:69</div></div>
<div class="ttc" id="group___p_c_m_html_gac23b43ff55add78638e503b9cc892c24"><div class="ttname"><a href="group___p_c_m.html#gac23b43ff55add78638e503b9cc892c24">snd_pcm_stream_t</a></div><div class="ttdeci">snd_pcm_stream_t</div><div class="ttdef"><b>Definition:</b> pcm.h:99</div></div>
<div class="ttc" id="group___plugin___s_d_k_html_gaf1fae79f689774a0bdb72a5e15f5978c"><div class="ttname"><a href="group___plugin___s_d_k.html#gaf1fae79f689774a0bdb72a5e15f5978c">SND_PCM_PLUGIN_ENTRY</a></div><div class="ttdeci">#define SND_PCM_PLUGIN_ENTRY(name)</div><div class="ttdef"><b>Definition:</b> pcm_external.h:43</div></div>
<div class="ttc" id="group___p_c_m_html_ga919e634deecd855b6e2e15174e70d3ea"><div class="ttname"><a href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a></div><div class="ttdeci">struct _snd_pcm snd_pcm_t</div><div class="ttdef"><b>Definition:</b> pcm.h:341</div></div>
</div><!-- fragment --><p>Define the plugin </p>

</div>
</div>
<a class="anchor" id="gaf1fae79f689774a0bdb72a5e15f5978c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_PCM_PLUGIN_ENTRY</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name</td><td>)</td>
          <td>&#160;&#160;&#160;_snd_pcm_##name##_open</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Define the object entry for external PCM plugins </p>

</div>
</div>
<a class="anchor" id="ga73a613cc5b7b3642f53bbd5a1d78004b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_PCM_PLUGIN_SYMBOL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="group___global.html#ga355c462c8c5dee0aeadae17d096ba531">SND_DLSYM_BUILD_VERSION</a>(<a class="el" href="group___plugin___s_d_k.html#gaf1fae79f689774a0bdb72a5e15f5978c">SND_PCM_PLUGIN_ENTRY</a>(name), <a class="el" href="group___p_c_m.html#ga32ccf47736036e86b0d787dc43e64d4a">SND_PCM_DLSYM_VERSION</a>);</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Define the symbols of the given plugin with versions </p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga6cc0e84dc2822458b4ed163071a51ecd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_pcm_parse_control_id </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___control.html#gad6c3746f1925bfec6a4fd0e913430e55">snd_ctl_elem_id_t</a> *&#160;</td>
          <td class="paramname"><em>ctl_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>cardp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>cchannelsp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>hwctlp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Parse control element id from the config. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>the config tree to parse </td></tr>
    <tr><td class="paramname">ctl_id</td><td>the pointer to store the resultant control element id </td></tr>
    <tr><td class="paramname">cardp</td><td>the pointer to store the card index </td></tr>
    <tr><td class="paramname">cchannelsp</td><td>the pointer to store the number of channels (optional) </td></tr>
    <tr><td class="paramname">hwctlp</td><td>the pointer to store the h/w control flag (optional) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or a negative error code</dd></dl>
<p>This function parses the given config tree to retrieve the control element id and the card index. It's used by softvol. External PCM plugins can use this function for creating or assigining their controls.</p>
<p>cchannelsp and hwctlp arguments are optional. Set NULL if not necessary. </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Jun 18 2014 05:47:50 for ALSA project - the C library reference by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.7
</small></address>
</body>
</html>