Sophie

Sophie

distrib > Mandriva > 2010.1 > i586 > by-pkgid > 34546d63baef3ab2a7675f37737b66ab > files > 92

libalsa2-docs-1.0.23-2.1mdv2010.1.i586.rpm

<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!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"/>
<title>ALSA project - the C library reference: Software Parameters</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;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">
        <img id="MSearchSelect" src="search/search.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)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Software Parameters<br/>
<small>
[<a class="el" href="group___p_c_m.html">PCM Interface</a>]</small>
</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___s_w___params.html#ga8e564553bdc89948c918729e3cc7beb0">snd_pcm_sw_params_alloca</a>(ptr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">allocate an invalid <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> using standard alloca  <a href="#ga8e564553bdc89948c918729e3cc7beb0"></a><br/></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___s_w___params.html#ga7886ee5b3a48fb58ef8f70886472029a">snd_pcm_sw_params_sizeof</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get size of <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a>  <a href="#ga7886ee5b3a48fb58ef8f70886472029a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___s_w___params.html#ga23382b62e7fc0de94b279c9f5dd08e5e">snd_pcm_sw_params_malloc</a> (<a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> **ptr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">allocate an invalid <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> using standard malloc  <a href="#ga23382b62e7fc0de94b279c9f5dd08e5e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___s_w___params.html#ga35af2df23ec46619a82cb52e3733d47a">snd_pcm_sw_params_free</a> (<a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *obj)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">frees a previously allocated <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a>  <a href="#ga35af2df23ec46619a82cb52e3733d47a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___s_w___params.html#gafe9ebe9ea669012af58b728d55fc295b">snd_pcm_sw_params_copy</a> (<a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *dst, const <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *src)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">copy one <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> to another  <a href="#gafe9ebe9ea669012af58b728d55fc295b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___s_w___params.html#ga8bdb67600cf3c0705518b6c0a79c56fe">snd_pcm_sw_params_get_boundary</a> (const <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *params, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> *val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get boundary for ring pointers from a software configuration container.  <a href="#ga8bdb67600cf3c0705518b6c0a79c56fe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___s_w___params.html#gac2fba23ba6ac1636785e27f0f5381a15">snd_pcm_sw_params_set_tstamp_mode</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *params, <a class="el" href="group___p_c_m.html#ga695a9755880cf886c13d07938f92ea77">snd_pcm_tstamp_t</a> val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set timestamp mode inside a software configuration container.  <a href="#gac2fba23ba6ac1636785e27f0f5381a15"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___s_w___params.html#ga4caef7435210cd7f4878d55dadeed0f8">snd_pcm_sw_params_get_tstamp_mode</a> (const <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *params, <a class="el" href="group___p_c_m.html#ga695a9755880cf886c13d07938f92ea77">snd_pcm_tstamp_t</a> *val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get timestamp mode from a software configuration container.  <a href="#ga4caef7435210cd7f4878d55dadeed0f8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___s_w___params.html#ga79b12cbbd309750156261e7f5a39167b">snd_pcm_sw_params_set_avail_min</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *params, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set avail min inside a software configuration container.  <a href="#ga79b12cbbd309750156261e7f5a39167b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___s_w___params.html#ga587ccbb0b025dc97d2af5db9516163d4">snd_pcm_sw_params_get_avail_min</a> (const <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *params, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> *val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get avail min from a software configuration container.  <a href="#ga587ccbb0b025dc97d2af5db9516163d4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___s_w___params.html#gaf62ce50d6242b4f4dc9d6534a97e5c09">snd_pcm_sw_params_set_period_event</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *params, int val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set period event inside a software configuration container.  <a href="#gaf62ce50d6242b4f4dc9d6534a97e5c09"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___s_w___params.html#ga0458a8fe480a7887726748052bd77211">snd_pcm_sw_params_get_period_event</a> (const <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *params, int *val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get period event from a software configuration container.  <a href="#ga0458a8fe480a7887726748052bd77211"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___s_w___params.html#ga1d338f1f7e33b7a6d0f9a8f61f87f057">snd_pcm_sw_params_set_start_threshold</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *params, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set start threshold inside a software configuration container.  <a href="#ga1d338f1f7e33b7a6d0f9a8f61f87f057"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___s_w___params.html#ga1ee7116c68bdea12606aab57db86a1d1">snd_pcm_sw_params_get_start_threshold</a> (const <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *paramsm, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> *val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get start threshold from a software configuration container.  <a href="#ga1ee7116c68bdea12606aab57db86a1d1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___s_w___params.html#ga6a41bf533207d56fdb1ff10aeeac28e4">snd_pcm_sw_params_set_stop_threshold</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *params, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set stop threshold inside a software configuration container.  <a href="#ga6a41bf533207d56fdb1ff10aeeac28e4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___s_w___params.html#ga8a55577d7f3d8e4ce63a710921199c66">snd_pcm_sw_params_get_stop_threshold</a> (const <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *params, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> *val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get stop threshold from a software configuration container.  <a href="#ga8a55577d7f3d8e4ce63a710921199c66"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___s_w___params.html#ga5a0158bf962f20bd9fd5ed2c52dd682b">snd_pcm_sw_params_set_silence_threshold</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *params, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set silence threshold inside a software configuration container.  <a href="#ga5a0158bf962f20bd9fd5ed2c52dd682b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___s_w___params.html#ga896ece8b418f6d6e92d2df5a4b59c3a2">snd_pcm_sw_params_get_silence_threshold</a> (const <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *params, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> *val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get silence threshold from a software configuration container.  <a href="#ga896ece8b418f6d6e92d2df5a4b59c3a2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___s_w___params.html#gaeb4a335a16981b5ea3fa671946fbdca3">snd_pcm_sw_params_set_silence_size</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *params, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set silence size inside a software configuration container.  <a href="#gaeb4a335a16981b5ea3fa671946fbdca3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___s_w___params.html#ga6a197020c09c8a20e697d12e9fac3e11">snd_pcm_sw_params_get_silence_size</a> (const <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *params, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> *val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get silence size from a software configuration container.  <a href="#ga6a197020c09c8a20e697d12e9fac3e11"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>See the <a class="el" href="pcm.html">PCM (digital audio) interface</a> page for more details. </p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ga8e564553bdc89948c918729e3cc7beb0"></a><!-- doxytag: member="pcm.h::snd_pcm_sw_params_alloca" ref="ga8e564553bdc89948c918729e3cc7beb0" args="(ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define snd_pcm_sw_params_alloca</td>
          <td>(</td>
          <td class="paramtype">ptr&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>allocate an invalid <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> using standard alloca </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ptr</em>&nbsp;</td><td>returned pointer </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2latency_8c-example.html#a24">/test/latency.c</a>, and <a class="el" href="_2test_2pcm_8c-example.html#a59">/test/pcm.c</a>.</dd>
</dl>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gafe9ebe9ea669012af58b728d55fc295b"></a><!-- doxytag: member="pcm.h::snd_pcm_sw_params_copy" ref="gafe9ebe9ea669012af58b728d55fc295b" args="(snd_pcm_sw_params_t *dst, const snd_pcm_sw_params_t *src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_pcm_sw_params_copy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>src</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>copy one <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> to another </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>pointer to destination </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>pointer to source </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga35af2df23ec46619a82cb52e3733d47a"></a><!-- doxytag: member="pcm.h::snd_pcm_sw_params_free" ref="ga35af2df23ec46619a82cb52e3733d47a" args="(snd_pcm_sw_params_t *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void snd_pcm_sw_params_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>frees a previously allocated <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>pointer to object to free </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga587ccbb0b025dc97d2af5db9516163d4"></a><!-- doxytag: member="pcm.h::snd_pcm_sw_params_get_avail_min" ref="ga587ccbb0b025dc97d2af5db9516163d4" args="(const snd_pcm_sw_params_t *params, snd_pcm_uframes_t *val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_pcm_sw_params_get_avail_min </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> *&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get avail min from a software configuration container. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>Software configuration container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>returned minimum available frames to consider PCM ready </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="ga8bdb67600cf3c0705518b6c0a79c56fe"></a><!-- doxytag: member="pcm.h::snd_pcm_sw_params_get_boundary" ref="ga8bdb67600cf3c0705518b6c0a79c56fe" args="(const snd_pcm_sw_params_t *params, snd_pcm_uframes_t *val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_pcm_sw_params_get_boundary </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> *&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get boundary for ring pointers from a software configuration container. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>Software configuration container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Returned boundary in frames </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="ga0458a8fe480a7887726748052bd77211"></a><!-- doxytag: member="pcm.h::snd_pcm_sw_params_get_period_event" ref="ga0458a8fe480a7887726748052bd77211" args="(const snd_pcm_sw_params_t *params, int *val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_pcm_sw_params_get_period_event </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get period event from a software configuration container. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>Software configuration container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>returned period event state </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="ga6a197020c09c8a20e697d12e9fac3e11"></a><!-- doxytag: member="pcm.h::snd_pcm_sw_params_get_silence_size" ref="ga6a197020c09c8a20e697d12e9fac3e11" args="(const snd_pcm_sw_params_t *params, snd_pcm_uframes_t *val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_pcm_sw_params_get_silence_size </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> *&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get silence size from a software configuration container. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>Software configuration container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Returned silence size in frames (0 for disabled) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 otherwise a negative error code</dd></dl>
<p>A portion of playback buffer is overwritten with silence when playback underrun is nearer than silence threshold (see <a class="el" href="group___p_c_m___s_w___params.html#ga5a0158bf962f20bd9fd5ed2c52dd682b" title="Set silence threshold inside a software configuration container.">snd_pcm_sw_params_set_silence_threshold</a>) </p>

</div>
</div>
<a class="anchor" id="ga896ece8b418f6d6e92d2df5a4b59c3a2"></a><!-- doxytag: member="pcm.h::snd_pcm_sw_params_get_silence_threshold" ref="ga896ece8b418f6d6e92d2df5a4b59c3a2" args="(const snd_pcm_sw_params_t *params, snd_pcm_uframes_t *val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_pcm_sw_params_get_silence_threshold </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> *&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get silence threshold from a software configuration container. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>Software configuration container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Returned silence threshold in frames </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 otherwise a negative error value</dd></dl>
<p>A portion of playback buffer is overwritten with silence (see <a class="el" href="group___p_c_m___s_w___params.html#gaeb4a335a16981b5ea3fa671946fbdca3" title="Set silence size inside a software configuration container.">snd_pcm_sw_params_set_silence_size</a>) when playback underrun is nearer than silence threshold. </p>

</div>
</div>
<a class="anchor" id="ga1ee7116c68bdea12606aab57db86a1d1"></a><!-- doxytag: member="pcm.h::snd_pcm_sw_params_get_start_threshold" ref="ga1ee7116c68bdea12606aab57db86a1d1" args="(const snd_pcm_sw_params_t *paramsm, snd_pcm_uframes_t *val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_pcm_sw_params_get_start_threshold </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> *&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get start threshold from a software configuration container. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>Software configuration container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Returned start threshold in frames </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 otherwise a negative error code</dd></dl>
<p>PCM is automatically started when playback frames available to PCM are &gt;= threshold or when requested capture frames are &gt;= threshold </p>

</div>
</div>
<a class="anchor" id="ga8a55577d7f3d8e4ce63a710921199c66"></a><!-- doxytag: member="pcm.h::snd_pcm_sw_params_get_stop_threshold" ref="ga8a55577d7f3d8e4ce63a710921199c66" args="(const snd_pcm_sw_params_t *params, snd_pcm_uframes_t *val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_pcm_sw_params_get_stop_threshold </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> *&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get stop threshold from a software configuration container. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>Software configuration container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Returned stop threshold in frames </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 otherwise a negative error code</dd></dl>
<p>PCM is automatically stopped in <a class="el" href="group___p_c_m.html#gga61ac499cb3701ce536d4d83725908860ab63b5b90201110cd586b686355fd5d83">SND_PCM_STATE_XRUN</a> state when available frames is &gt;= threshold. If the stop threshold is equal to boundary (also software parameter - sw_param) then automatic stop will be disabled (thus device will do the endless loop in the ring buffer). </p>

</div>
</div>
<a class="anchor" id="ga4caef7435210cd7f4878d55dadeed0f8"></a><!-- doxytag: member="pcm.h::snd_pcm_sw_params_get_tstamp_mode" ref="ga4caef7435210cd7f4878d55dadeed0f8" args="(const snd_pcm_sw_params_t *params, snd_pcm_tstamp_t *val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_pcm_sw_params_get_tstamp_mode </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#ga695a9755880cf886c13d07938f92ea77">snd_pcm_tstamp_t</a> *&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get timestamp mode from a software configuration container. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>Software configuration container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Returned timestamp </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="ga23382b62e7fc0de94b279c9f5dd08e5e"></a><!-- doxytag: member="pcm.h::snd_pcm_sw_params_malloc" ref="ga23382b62e7fc0de94b279c9f5dd08e5e" args="(snd_pcm_sw_params_t **ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_pcm_sw_params_malloc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> **&nbsp;</td>
          <td class="paramname"> <em>ptr</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>allocate an invalid <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> using standard malloc </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ptr</em>&nbsp;</td><td>returned pointer </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success otherwise negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="ga79b12cbbd309750156261e7f5a39167b"></a><!-- doxytag: member="pcm.h::snd_pcm_sw_params_set_avail_min" ref="ga79b12cbbd309750156261e7f5a39167b" args="(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_pcm_sw_params_set_avail_min </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pcm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a>&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set avail min inside a software configuration container. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pcm</em>&nbsp;</td><td>PCM handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>Software configuration container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Minimum avail frames to consider PCM ready </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 otherwise a negative error code</dd></dl>
<p>Note: This is similar to setting an OSS wakeup point. The valid values for 'val' are determined by the specific hardware. Most PC sound cards can only accept power of 2 frame counts (i.e. 512, 1024, 2048). You cannot use this as a high resolution timer - it is limited to how often the sound card hardware raises an interrupt. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2latency_8c-example.html#a21">/test/latency.c</a>, and <a class="el" href="_2test_2pcm_8c-example.html#a30">/test/pcm.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaf62ce50d6242b4f4dc9d6534a97e5c09"></a><!-- doxytag: member="pcm.h::snd_pcm_sw_params_set_period_event" ref="gaf62ce50d6242b4f4dc9d6534a97e5c09" args="(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, int val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_pcm_sw_params_set_period_event </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pcm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set period event inside a software configuration container. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pcm</em>&nbsp;</td><td>PCM handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>Software configuration container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>0 = disable period event, 1 = enable period event </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 otherwise a negative error code</dd></dl>
<p>An poll (select) wakeup event is raised if enabled. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2pcm_8c-example.html#a31">/test/pcm.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaeb4a335a16981b5ea3fa671946fbdca3"></a><!-- doxytag: member="pcm.h::snd_pcm_sw_params_set_silence_size" ref="gaeb4a335a16981b5ea3fa671946fbdca3" args="(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_pcm_sw_params_set_silence_size </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pcm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a>&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set silence size inside a software configuration container. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pcm</em>&nbsp;</td><td>PCM handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>Software configuration container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Silence size in frames (0 for disabled) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 otherwise a negative error code</dd></dl>
<p>A portion of playback buffer is overwritten with silence when playback underrun is nearer than silence threshold (see <a class="el" href="group___p_c_m___s_w___params.html#ga5a0158bf962f20bd9fd5ed2c52dd682b" title="Set silence threshold inside a software configuration container.">snd_pcm_sw_params_set_silence_threshold</a>)</p>
<p>The special case is when silence size value is equal or greater than boundary. The unused portion of the ring buffer (initial written samples are untouched) is filled with silence at start. Later, only just processed sample area is filled with silence. Note: silence_threshold must be set to zero. </p>

</div>
</div>
<a class="anchor" id="ga5a0158bf962f20bd9fd5ed2c52dd682b"></a><!-- doxytag: member="pcm.h::snd_pcm_sw_params_set_silence_threshold" ref="ga5a0158bf962f20bd9fd5ed2c52dd682b" args="(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_pcm_sw_params_set_silence_threshold </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pcm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a>&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set silence threshold inside a software configuration container. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pcm</em>&nbsp;</td><td>PCM handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>Software configuration container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Silence threshold in frames </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 otherwise a negative error code</dd></dl>
<p>A portion of playback buffer is overwritten with silence (see <a class="el" href="group___p_c_m___s_w___params.html#gaeb4a335a16981b5ea3fa671946fbdca3" title="Set silence size inside a software configuration container.">snd_pcm_sw_params_set_silence_size</a>) when playback underrun is nearer than silence threshold. </p>

</div>
</div>
<a class="anchor" id="ga1d338f1f7e33b7a6d0f9a8f61f87f057"></a><!-- doxytag: member="pcm.h::snd_pcm_sw_params_set_start_threshold" ref="ga1d338f1f7e33b7a6d0f9a8f61f87f057" args="(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_pcm_sw_params_set_start_threshold </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pcm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a>&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set start threshold inside a software configuration container. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pcm</em>&nbsp;</td><td>PCM handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>Software configuration container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Start threshold in frames </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 otherwise a negative error code</dd></dl>
<p>PCM is automatically started when playback frames available to PCM are &gt;= threshold or when requested capture frames are &gt;= threshold </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2latency_8c-example.html#a19">/test/latency.c</a>, and <a class="el" href="_2test_2pcm_8c-example.html#a29">/test/pcm.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga6a41bf533207d56fdb1ff10aeeac28e4"></a><!-- doxytag: member="pcm.h::snd_pcm_sw_params_set_stop_threshold" ref="ga6a41bf533207d56fdb1ff10aeeac28e4" args="(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_pcm_sw_params_set_stop_threshold </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pcm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a>&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set stop threshold inside a software configuration container. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pcm</em>&nbsp;</td><td>PCM handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>Software configuration container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Stop threshold in frames </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 otherwise a negative error code</dd></dl>
<p>PCM is automatically stopped in <a class="el" href="group___p_c_m.html#gga61ac499cb3701ce536d4d83725908860ab63b5b90201110cd586b686355fd5d83">SND_PCM_STATE_XRUN</a> state when available frames is &gt;= threshold. If the stop threshold is equal to boundary (also software parameter - sw_param) then automatic stop will be disabled (thus device will do the endless loop in the ring buffer). </p>

</div>
</div>
<a class="anchor" id="gac2fba23ba6ac1636785e27f0f5381a15"></a><!-- doxytag: member="pcm.h::snd_pcm_sw_params_set_tstamp_mode" ref="gac2fba23ba6ac1636785e27f0f5381a15" args="(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_tstamp_t val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_pcm_sw_params_set_tstamp_mode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *&nbsp;</td>
          <td class="paramname"> <em>pcm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___p_c_m.html#ga695a9755880cf886c13d07938f92ea77">snd_pcm_tstamp_t</a>&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set timestamp mode inside a software configuration container. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pcm</em>&nbsp;</td><td>PCM handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>Software configuration container </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Timestamp mode </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 otherwise a negative error code </dd></dl>

</div>
</div>
<a class="anchor" id="ga7886ee5b3a48fb58ef8f70886472029a"></a><!-- doxytag: member="pcm.h::snd_pcm_sw_params_sizeof" ref="ga7886ee5b3a48fb58ef8f70886472029a" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t snd_pcm_sw_params_sizeof </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get size of <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>size in bytes </dd></dl>

</div>
</div>
</div>
<!--- 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">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Nov 20 07:42:24 2010 for ALSA project - the C library reference by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>