Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 5323e3ea178dae3362d012fc2350b4d8 > files > 8

ocaml-alsa-devel-0.1.3-2mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<link rel="Start" href="index.html">
<link rel="Up" href="Alsa.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="Alsa" rel="Chapter" href="Alsa.html"><title>Alsa.Pcm</title>
</head>
<body>
<div class="navbar">&nbsp;<a href="Alsa.html">Up</a>
&nbsp;</div>
<center><h1>Module <a href="type_Alsa.Pcm.html">Alsa.Pcm</a></h1></center>
<br>
<pre><span class="keyword">module</span> Pcm: <code class="code">sig</code> <a href="Alsa.Pcm.html">..</a> <code class="code">end</code></pre><hr width="100%">
<pre><span class="keyword">type</span> <a name="TYPEhandle"></a><code class="type"></code>handle </pre>
<div class="info">
Handle to a device.<br>
</div>

<pre><span class="keyword">type</span> <a name="TYPEparams"></a><code class="type"></code>params </pre>
<div class="info">
Parameters of a device.<br>
</div>

<br><code><span class="keyword">type</span> <a name="TYPEstream"></a><code class="type"></code>stream = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">Playback</span></code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >Playback stream.</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">Capture</span></code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >Capture stream.</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr></table>

<div class="info">
Wanted stream.<br>
</div>

<br><code><span class="keyword">type</span> <a name="TYPEmode"></a><code class="type"></code>mode = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">Async</span></code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >Asynchronous notification (not supported yet).</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">Non_blocking</span></code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >Non blocking I/O.</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr></table>

<div class="info">
Modes for opening a stream.<br>
</div>

<pre><span class="keyword">val</span> <a name="VALopen_pcm"></a>open_pcm : <code class="type">string -> <a href="Alsa.Pcm.html#TYPEstream">stream</a> list -> <a href="Alsa.Pcm.html#TYPEmode">mode</a> list -> <a href="Alsa.Pcm.html#TYPEhandle">handle</a></code></pre><pre><span class="keyword">val</span> <a name="VALclose"></a>close : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALprepare"></a>prepare : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALstart"></a>start : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALdrain"></a>drain : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> unit</code></pre><div class="info">
Stop a PCM preserving pending frames.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALdrop"></a>drop : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> unit</code></pre><div class="info">
Stop a PCM dropping pending frames.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALpause"></a>pause : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> bool -> unit</code></pre><div class="info">
<code class="code">pause hnd pause</code> pauses (when <code class="code">pause</code> is <code class="code">true</code>) or resume (when <code class="code">pause</code>
 is <code class="code">false</code>) a PCM.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALreset"></a>reset : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> unit</code></pre><pre><span class="keyword">val</span> <a name="VALwait"></a>wait : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> int -> bool</code></pre><div class="info">
Wait for a PCM to become ready. The second argument is the timeout in
 milliseconds (negative for infinite). Returns <code class="code">false</code> if a timeout
 occured.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALreadi"></a>readi : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> string -> int -> int -> int</code></pre><div class="info">
<code class="code">readi handle buf ofs len</code> reads <code class="code">len</code> interleaved <i>frames</i> in <code class="code">buf</code>
 starting at offset <code class="code">ofs</code> (in bytes). It returns the actual number of
 frames read.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALwritei"></a>writei : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> string -> int -> int -> int</code></pre><div class="info">
<code class="code">writei handle buf ofs len</code> writes <code class="code">len</code> interleaved <i>frames</i> of <code class="code">buf</code>
 starting at offset <code class="code">ofs</code> (in bytes).<br>
</div>
<pre><span class="keyword">val</span> <a name="VALreadn"></a>readn : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> string array -> int -> int -> int</code></pre><pre><span class="keyword">val</span> <a name="VALwriten"></a>writen : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> string array -> int -> int -> int</code></pre><pre><span class="keyword">val</span> <a name="VALreadn_float"></a>readn_float : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> float array array -> int -> int -> int</code></pre><pre><span class="keyword">val</span> <a name="VALwriten_float"></a>writen_float : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> float array array -> int -> int -> int</code></pre><pre><span class="keyword">val</span> <a name="VALreadn_float64"></a>readn_float64 : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> float array array -> int -> int -> int</code></pre><pre><span class="keyword">val</span> <a name="VALwriten_float64"></a>writen_float64 : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> float array array -> int -> int -> int</code></pre><pre><span class="keyword">val</span> <a name="VALget_delay"></a>get_delay : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> int</code></pre><div class="info">
Get the delay (in frames).<br>
</div>
<br><code><span class="keyword">type</span> <a name="TYPEstate"></a><code class="type"></code>state = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">St_open</span></code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >open</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">St_setup</span></code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >setup installed</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">St_prepared</span></code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >ready to start</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">St_running</span></code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >running</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">St_xrun</span></code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >stopped: underrun (playback) or overrun (capture) detected</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">St_draining</span></code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >draining: running (playback) or stopped (capture)</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">St_paused</span></code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >paused</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">St_suspended</span></code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >hardware is suspended</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">St_disconnected</span></code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >hardward is disconnected</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr></table>

<div class="info">
State.<br>
</div>

<pre><span class="keyword">val</span> <a name="VALget_state"></a>get_state : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> <a href="Alsa.Pcm.html#TYPEstate">state</a></code></pre><div class="info">
Get the current state.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALget_params"></a>get_params : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> <a href="Alsa.Pcm.html#TYPEparams">params</a></code></pre><pre><span class="keyword">val</span> <a name="VALset_params"></a>set_params : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> <a href="Alsa.Pcm.html#TYPEparams">params</a> -> unit</code></pre><br><code><span class="keyword">type</span> <a name="TYPEaccess"></a><code class="type"></code>access = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">Access_rw_interleaved</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">Access_rw_noninterleaved</span></code></td>

</tr></table>

<div class="info">
Access mode.<br>
</div>

<pre><span class="keyword">val</span> <a name="VALset_access"></a>set_access : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> <a href="Alsa.Pcm.html#TYPEparams">params</a> -> <a href="Alsa.Pcm.html#TYPEaccess">access</a> -> unit</code></pre><div class="info">
Set the access mode.<br>
</div>
<br><code><span class="keyword">type</span> <a name="TYPEfmt"></a><code class="type"></code>fmt = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">Format_s16_le</span></code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >16 bits, little endian</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">Format_s24_3le</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">Format_float</span></code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >float 32 bit CPU endian</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">Format_float64</span></code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >float 64 bit CPU endian</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr></table>

<div class="info">
Format of audio data.<br>
</div>

<pre><span class="keyword">val</span> <a name="VALset_format"></a>set_format : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> <a href="Alsa.Pcm.html#TYPEparams">params</a> -> <a href="Alsa.Pcm.html#TYPEfmt">fmt</a> -> unit</code></pre><div class="info">
Set the format of audio data.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALset_rate_near"></a>set_rate_near : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> <a href="Alsa.Pcm.html#TYPEparams">params</a> -> int -> <a href="Alsa.html#TYPEdirection">Alsa.direction</a> -> int</code></pre><div class="info">
<code class="code">set_rate_near handle params rate dir</code> sets the sampling rate (in Hz).
 If the rate is not avalaible, <code class="code">dir</code> is used to determine the direction of
 the nearest available sampling rate to use . The actual sampling rate used
 is returned.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALset_channels"></a>set_channels : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> <a href="Alsa.Pcm.html#TYPEparams">params</a> -> int -> unit</code></pre><div class="info">
Set the number of channels.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALset_periods"></a>set_periods : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> <a href="Alsa.Pcm.html#TYPEparams">params</a> -> int -> <a href="Alsa.html#TYPEdirection">Alsa.direction</a> -> unit</code></pre><div class="info">
Set the number of periods.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALset_buffer_size"></a>set_buffer_size : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> <a href="Alsa.Pcm.html#TYPEparams">params</a> -> int -> unit</code></pre><div class="info">
Set the buffer size in <i>frames</i>.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALset_buffer_size_near"></a>set_buffer_size_near : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> <a href="Alsa.Pcm.html#TYPEparams">params</a> -> int -> int</code></pre><div class="info">
Set the buffer size near a value in <i>frames</i>.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALget_buffer_size_min"></a>get_buffer_size_min : <code class="type"><a href="Alsa.Pcm.html#TYPEparams">params</a> -> int</code></pre><pre><span class="keyword">val</span> <a name="VALset_nonblock"></a>set_nonblock : <code class="type"><a href="Alsa.Pcm.html#TYPEhandle">handle</a> -> bool -> unit</code></pre><div class="info">
Set blocking mode (<code class="code">true</code> means non-blocking).<br>
</div>
<pre><span class="keyword">val</span> <a name="VALget_frame_size"></a>get_frame_size : <code class="type"><a href="Alsa.Pcm.html#TYPEparams">params</a> -> int</code></pre><div class="info">
Get the size of a frame in bytes.<br>
</div>
</body></html>