<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>PulseAudio: simple.h File Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.5 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="main.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="classes.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> </ul> </div> </div> <div class="contents"> <h1>simple.h File Reference</h1>A simple but limited synchronous playback and recording API. <a href="#_details">More...</a> <p> <p> <a href="simple_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Typedefs</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="structpa__simple.html">pa_simple</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="simple_8h.html#c1b6da5fca8f55cf77b9db8db275ab86">pa_simple</a></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structpa__simple.html">pa_simple</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="simple_8h.html#dd9a7dce4e15955d4296726c26206689">pa_simple_new</a> (const char *server, const char *name, <a class="el" href="def_8h.html#637b1451881b8c0b0f98bafe115d7254">pa_stream_direction_t</a> dir, const char *dev, const char *stream_name, const <a class="el" href="structpa__sample__spec.html">pa_sample_spec</a> *ss, const <a class="el" href="structpa__channel__map.html">pa_channel_map</a> *map, const <a class="el" href="structpa__buffer__attr.html">pa_buffer_attr</a> *attr, int *error)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new connection to the server. <a href="#dd9a7dce4e15955d4296726c26206689"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="simple_8h.html#d66a88bc23d2a54542df441ff472c389">pa_simple_free</a> (<a class="el" href="structpa__simple.html">pa_simple</a> *s)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Close and free the connection to the server. <a href="#d66a88bc23d2a54542df441ff472c389"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="simple_8h.html#f40711a9181c003b71074678c11372af">pa_simple_write</a> (<a class="el" href="structpa__simple.html">pa_simple</a> *s, const void *data, size_t bytes, int *error)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Write some data to the server. <a href="#f40711a9181c003b71074678c11372af"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="simple_8h.html#28d1c33441b1bd6e7486cf299cf98233">pa_simple_drain</a> (<a class="el" href="structpa__simple.html">pa_simple</a> *s, int *error)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Wait until all data already written is played by the daemon. <a href="#28d1c33441b1bd6e7486cf299cf98233"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="simple_8h.html#7d4d4e332b03f6525969241def7f822f">pa_simple_read</a> (<a class="el" href="structpa__simple.html">pa_simple</a> *s, void *data, size_t bytes, int *error)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Read some data from the server. <a href="#7d4d4e332b03f6525969241def7f822f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="sample_8h.html#885df3b973773f0dccbbec6bc6777f89">pa_usec_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="simple_8h.html#613419d24e0fd8909dd4d01897d2fa49">pa_simple_get_latency</a> (<a class="el" href="structpa__simple.html">pa_simple</a> *s, int *error)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the playback latency. <a href="#613419d24e0fd8909dd4d01897d2fa49"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="simple_8h.html#d236fee060a54fce375dbc444b385f59">pa_simple_flush</a> (<a class="el" href="structpa__simple.html">pa_simple</a> *s, int *error)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Flush the playback buffer. <a href="#d236fee060a54fce375dbc444b385f59"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> A simple but limited synchronous playback and recording API. <p> This is a synchronous, simplified wrapper around the standard asynchronous API. <hr><h2>Typedef Documentation</h2> <a class="anchor" name="c1b6da5fca8f55cf77b9db8db275ab86"></a><!-- doxytag: member="simple.h::pa_simple" ref="c1b6da5fca8f55cf77b9db8db275ab86" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structpa__simple.html">pa_simple</a> <a class="el" href="structpa__simple.html">pa_simple</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Function Documentation</h2> <a class="anchor" name="28d1c33441b1bd6e7486cf299cf98233"></a><!-- doxytag: member="simple.h::pa_simple_drain" ref="28d1c33441b1bd6e7486cf299cf98233" args="(pa_simple *s, int *error)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int pa_simple_drain </td> <td>(</td> <td class="paramtype"><a class="el" href="structpa__simple.html">pa_simple</a> * </td> <td class="paramname"> <em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>error</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Wait until all data already written is played by the daemon. <p> <dl compact><dt><b>Examples: </b></dt><dd> <a class="el" href="pacat-simple_8c-example.html#a9">pacat-simple.c</a>.</dl> </div> </div><p> <a class="anchor" name="d236fee060a54fce375dbc444b385f59"></a><!-- doxytag: member="simple.h::pa_simple_flush" ref="d236fee060a54fce375dbc444b385f59" args="(pa_simple *s, int *error)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int pa_simple_flush </td> <td>(</td> <td class="paramtype"><a class="el" href="structpa__simple.html">pa_simple</a> * </td> <td class="paramname"> <em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>error</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Flush the playback buffer. <p> <dl class="since" compact><dt><b>Since:</b></dt><dd>0.5 </dd></dl> </div> </div><p> <a class="anchor" name="d66a88bc23d2a54542df441ff472c389"></a><!-- doxytag: member="simple.h::pa_simple_free" ref="d66a88bc23d2a54542df441ff472c389" args="(pa_simple *s)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void pa_simple_free </td> <td>(</td> <td class="paramtype"><a class="el" href="structpa__simple.html">pa_simple</a> * </td> <td class="paramname"> <em>s</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Close and free the connection to the server. <p> The connection objects becomes invalid when this is called. <dl compact><dt><b>Examples: </b></dt><dd> <a class="el" href="pacat-simple_8c-example.html#a10">pacat-simple.c</a>, and <a class="el" href="parec-simple_8c-example.html#a7">parec-simple.c</a>.</dl> </div> </div><p> <a class="anchor" name="613419d24e0fd8909dd4d01897d2fa49"></a><!-- doxytag: member="simple.h::pa_simple_get_latency" ref="613419d24e0fd8909dd4d01897d2fa49" args="(pa_simple *s, int *error)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="sample_8h.html#885df3b973773f0dccbbec6bc6777f89">pa_usec_t</a> pa_simple_get_latency </td> <td>(</td> <td class="paramtype"><a class="el" href="structpa__simple.html">pa_simple</a> * </td> <td class="paramname"> <em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>error</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Return the playback latency. <p> <dl class="since" compact><dt><b>Since:</b></dt><dd>0.5 </dd></dl> <dl compact><dt><b>Examples: </b></dt><dd> <a class="el" href="pacat-simple_8c-example.html#a7">pacat-simple.c</a>.</dl> </div> </div><p> <a class="anchor" name="dd9a7dce4e15955d4296726c26206689"></a><!-- doxytag: member="simple.h::pa_simple_new" ref="dd9a7dce4e15955d4296726c26206689" args="(const char *server, const char *name, pa_stream_direction_t dir, const char *dev, const char *stream_name, const pa_sample_spec *ss, const pa_channel_map *map, const pa_buffer_attr *attr, int *error)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structpa__simple.html">pa_simple</a>* pa_simple_new </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>server</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="def_8h.html#637b1451881b8c0b0f98bafe115d7254">pa_stream_direction_t</a> </td> <td class="paramname"> <em>dir</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>dev</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>stream_name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structpa__sample__spec.html">pa_sample_spec</a> * </td> <td class="paramname"> <em>ss</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structpa__channel__map.html">pa_channel_map</a> * </td> <td class="paramname"> <em>map</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structpa__buffer__attr.html">pa_buffer_attr</a> * </td> <td class="paramname"> <em>attr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>error</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Create a new connection to the server. <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em>server</em> </td><td> Server name, or NULL for default </td></tr> <tr><td valign="top"><em>name</em> </td><td> A descriptive name for this client (application name, ...) </td></tr> <tr><td valign="top"><em>dir</em> </td><td> Open this stream for recording or playback? </td></tr> <tr><td valign="top"><em>dev</em> </td><td> Sink (resp. source) name, or NULL for default </td></tr> <tr><td valign="top"><em>stream_name</em> </td><td> A descriptive name for this client (application name, song title, ...) </td></tr> <tr><td valign="top"><em>ss</em> </td><td> The sample type to use </td></tr> <tr><td valign="top"><em>map</em> </td><td> The channel map to use, or NULL for default </td></tr> <tr><td valign="top"><em>attr</em> </td><td> Buffering attributes, or NULL for default </td></tr> <tr><td valign="top"><em>error</em> </td><td> A pointer where the error code is stored when the routine returns NULL. It is OK to pass NULL here. </td></tr> </table> </dl><dl compact><dt><b>Examples: </b></dt><dd> <a class="el" href="pacat-simple_8c-example.html#a3">pacat-simple.c</a>, and <a class="el" href="parec-simple_8c-example.html#a3">parec-simple.c</a>.</dl> </div> </div><p> <a class="anchor" name="7d4d4e332b03f6525969241def7f822f"></a><!-- doxytag: member="simple.h::pa_simple_read" ref="7d4d4e332b03f6525969241def7f822f" args="(pa_simple *s, void *data, size_t bytes, int *error)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int pa_simple_read </td> <td>(</td> <td class="paramtype"><a class="el" href="structpa__simple.html">pa_simple</a> * </td> <td class="paramname"> <em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>bytes</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>error</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Read some data from the server. <p> <dl compact><dt><b>Examples: </b></dt><dd> <a class="el" href="parec-simple_8c-example.html#a6">parec-simple.c</a>.</dl> </div> </div><p> <a class="anchor" name="f40711a9181c003b71074678c11372af"></a><!-- doxytag: member="simple.h::pa_simple_write" ref="f40711a9181c003b71074678c11372af" args="(pa_simple *s, const void *data, size_t bytes, int *error)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int pa_simple_write </td> <td>(</td> <td class="paramtype"><a class="el" href="structpa__simple.html">pa_simple</a> * </td> <td class="paramname"> <em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>bytes</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>error</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Write some data to the server. <p> <dl compact><dt><b>Examples: </b></dt><dd> <a class="el" href="pacat-simple_8c-example.html#a8">pacat-simple.c</a>.</dl> </div> </div><p> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Wed Mar 26 12:02:40 2008 for PulseAudio by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address> </body> </html>