Sophie

Sophie

distrib > Mandriva > 2009.1 > x86_64 > media > main-testing > by-pkgid > 187676b5433787923dfa2cdd6900c6cd > files > 145

lib64pulseaudio-devel-0.9.15-2.0.7mdv2009.1.x86_64.rpm

<!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: sample.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;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 class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>sample.h File Reference</h1>Constants and routines for sample type handling.  
<a href="#_details">More...</a>
<p>

<p>
<a href="sample_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>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpa__sample__spec.html">pa_sample_spec</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A sample format and attribute specification.  <a href="structpa__sample__spec.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#4c6778fd8a093f9984ce0448f81d9dcf">PA_CHANNELS_MAX</a>&nbsp;&nbsp;&nbsp;32U</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum number of allowed channels.  <a href="#4c6778fd8a093f9984ce0448f81d9dcf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#3a7f31e73acc7e833fe0d49290adf839">PA_RATE_MAX</a>&nbsp;&nbsp;&nbsp;(48000U*4U)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum allowed sample rate.  <a href="#3a7f31e73acc7e833fe0d49290adf839"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#292c1d8ebd4ca0de1d5d5379ee7be38a">PA_SAMPLE_S16NE</a>&nbsp;&nbsp;&nbsp;PA_SAMPLE_S16LE</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signed 16 Bit PCM, native endian.  <a href="#292c1d8ebd4ca0de1d5d5379ee7be38a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#25befbdbf9fdc57012ce00dcc1756eac">PA_SAMPLE_FLOAT32NE</a>&nbsp;&nbsp;&nbsp;PA_SAMPLE_FLOAT32LE</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">32 Bit IEEE floating point, native endian  <a href="#25befbdbf9fdc57012ce00dcc1756eac"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#f5b3efe108944c746a07128d9f24c889">PA_SAMPLE_S32NE</a>&nbsp;&nbsp;&nbsp;PA_SAMPLE_S32LE</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signed 32 Bit PCM, native endian.  <a href="#f5b3efe108944c746a07128d9f24c889"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#095cd643a682ad1e55205283c42f9aa9">PA_SAMPLE_S24NE</a>&nbsp;&nbsp;&nbsp;PA_SAMPLE_S24LE</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signed 24 Bit PCM packed, native endian.  <a href="#095cd643a682ad1e55205283c42f9aa9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#faf7880f4fa75428bad1d458316e030e">PA_SAMPLE_S24_32NE</a>&nbsp;&nbsp;&nbsp;PA_SAMPLE_S24_32LE</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signed 24 Bit PCM in LSB of 32 Bit words, native endian.  <a href="#faf7880f4fa75428bad1d458316e030e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#688b20beba239784f7d92b79a626267a">PA_SAMPLE_S16RE</a>&nbsp;&nbsp;&nbsp;PA_SAMPLE_S16BE</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signed 16 Bit PCM, reverse endian.  <a href="#688b20beba239784f7d92b79a626267a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#a07717de5712b215af265b35d9daee78">PA_SAMPLE_FLOAT32RE</a>&nbsp;&nbsp;&nbsp;PA_SAMPLE_FLOAT32BE</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">32 Bit IEEE floating point, reverse endian  <a href="#a07717de5712b215af265b35d9daee78"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#c9bfd0ece22174acad5eb021ff159a61">PA_SAMPLE_S32RE</a>&nbsp;&nbsp;&nbsp;PA_SAMPLE_S32BE</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signed 32 Bit PCM, reverse endian.  <a href="#c9bfd0ece22174acad5eb021ff159a61"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#dcdf168f62fd7a27705de50058c6bd5c">PA_SAMPLE_S24RE</a>&nbsp;&nbsp;&nbsp;PA_SAMPLE_S24BE</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signed 24 Bit PCM, packed reverse endian.  <a href="#dcdf168f62fd7a27705de50058c6bd5c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#ddb0fe697d3b6a8ce8c13fb711253630">PA_SAMPLE_S24_32RE</a>&nbsp;&nbsp;&nbsp;PA_SAMPLE_S24_32BE</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signed 24 Bit PCM, in LSB of 32 Bit words, reverse endian.  <a href="#ddb0fe697d3b6a8ce8c13fb711253630"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#dce65a384a3af05a2481aff5fd2632fb">PA_SAMPLE_FLOAT32</a>&nbsp;&nbsp;&nbsp;PA_SAMPLE_FLOAT32NE</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A Shortcut for PA_SAMPLE_FLOAT32NE.  <a href="#dce65a384a3af05a2481aff5fd2632fb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#61844a6fa4a5a91bbeca1049c4969bb8">PA_SAMPLE_SPEC_SNPRINT_MAX</a>&nbsp;&nbsp;&nbsp;32</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum required string length for <a class="el" href="sample_8h.html#3dd4815bbd51d5467b40e28d05ad948d" title="Pretty print a sample type specification to a string.">pa_sample_spec_snprint()</a>.  <a href="#61844a6fa4a5a91bbeca1049c4969bb8"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef enum <a class="el" href="sample_8h.html#3c622fc51f4fc6ebfdcc7b454ac9c05f">pa_sample_format</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#41051ceaa5cfbe60c9b176deb7bfed0e">pa_sample_format_t</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sample format.  <a href="#41051ceaa5cfbe60c9b176deb7bfed0e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef uint64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#885df3b973773f0dccbbec6bc6777f89">pa_usec_t</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type for usec specifications (unsigned).  <a href="#885df3b973773f0dccbbec6bc6777f89"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#3c622fc51f4fc6ebfdcc7b454ac9c05f">pa_sample_format</a> { <br>
&nbsp;&nbsp;<a class="el" href="sample_8h.html#3c622fc51f4fc6ebfdcc7b454ac9c05f40e5414deb5fbd486c2929e6993a5544">PA_SAMPLE_U8</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="sample_8h.html#3c622fc51f4fc6ebfdcc7b454ac9c05f267f6542eb6f66ca61c4cccf61326522">PA_SAMPLE_ALAW</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="sample_8h.html#3c622fc51f4fc6ebfdcc7b454ac9c05f83116fc70f8577fdcf694474a60c2e1f">PA_SAMPLE_ULAW</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="sample_8h.html#3c622fc51f4fc6ebfdcc7b454ac9c05f50e4a2b43c258e559fa9d252275131ce">PA_SAMPLE_S16LE</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="sample_8h.html#3c622fc51f4fc6ebfdcc7b454ac9c05f783cb88f5021ff01fa7ba6d1c2bee84c">PA_SAMPLE_S16BE</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="sample_8h.html#3c622fc51f4fc6ebfdcc7b454ac9c05fd2f6c96c4f0cd2a841fbe4840488b548">PA_SAMPLE_FLOAT32LE</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="sample_8h.html#3c622fc51f4fc6ebfdcc7b454ac9c05f3550123d5ef697b349edea2ddf61d6b4">PA_SAMPLE_FLOAT32BE</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="sample_8h.html#3c622fc51f4fc6ebfdcc7b454ac9c05f3eb5213ed7a0887b5dcd28cfc97e3457">PA_SAMPLE_S32LE</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="sample_8h.html#3c622fc51f4fc6ebfdcc7b454ac9c05ff81ba0a2b599c490228f619e2a8d3b0e">PA_SAMPLE_S32BE</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="sample_8h.html#3c622fc51f4fc6ebfdcc7b454ac9c05fab50478dbb74cceddcb254928646a0c7">PA_SAMPLE_S24LE</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="sample_8h.html#3c622fc51f4fc6ebfdcc7b454ac9c05fadff0a924aee5c95c7fdd923c56621b6">PA_SAMPLE_S24BE</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="sample_8h.html#3c622fc51f4fc6ebfdcc7b454ac9c05f6d91d680c240fde8ae3cdafa9900c055">PA_SAMPLE_S24_32LE</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="sample_8h.html#3c622fc51f4fc6ebfdcc7b454ac9c05fcd9ce7bf2cc5d2c4f72a59b9ae0bef89">PA_SAMPLE_S24_32BE</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="sample_8h.html#3c622fc51f4fc6ebfdcc7b454ac9c05fa6fe0e0623f9e2204c63c293f13597a1">PA_SAMPLE_MAX</a>, 
<br>
&nbsp;&nbsp;<a class="el" href="sample_8h.html#3c622fc51f4fc6ebfdcc7b454ac9c05ffe8a3cc049d2c9820efd8fea80e01e10">PA_SAMPLE_INVALID</a> =  -1
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sample format.  <a href="sample_8h.html#3c622fc51f4fc6ebfdcc7b454ac9c05f">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#674c3449416e97b71a75feb64ca59ad4">pa_bytes_per_second</a> (const <a class="el" href="structpa__sample__spec.html">pa_sample_spec</a> *spec) PA_GCC_PURE</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the amount of bytes playback of a second of audio with the specified sample type takes.  <a href="#674c3449416e97b71a75feb64ca59ad4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#035d79171e183f6315e6e65436f5e939">pa_frame_size</a> (const <a class="el" href="structpa__sample__spec.html">pa_sample_spec</a> *spec) PA_GCC_PURE</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the size of a frame with the specific sample type.  <a href="#035d79171e183f6315e6e65436f5e939"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#ae286d84c2975248f65f804d4c24ef39">pa_sample_size</a> (const <a class="el" href="structpa__sample__spec.html">pa_sample_spec</a> *spec) PA_GCC_PURE</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the size of a sample with the specific sample type.  <a href="#ae286d84c2975248f65f804d4c24ef39"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#46b2c919b75efbb2b3c3d703ba57fdf6">pa_sample_size_of_format</a> (<a class="el" href="sample_8h.html#41051ceaa5cfbe60c9b176deb7bfed0e">pa_sample_format_t</a> f) PA_GCC_PURE</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Similar to <a class="el" href="sample_8h.html#ae286d84c2975248f65f804d4c24ef39" title="Return the size of a sample with the specific sample type.">pa_sample_size()</a> but take a sample format instead of a full sample spec.  <a href="#46b2c919b75efbb2b3c3d703ba57fdf6"></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>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#b3c5f4af357686fdc7df46c9581154bd">pa_bytes_to_usec</a> (uint64_t length, const <a class="el" href="structpa__sample__spec.html">pa_sample_spec</a> *spec) PA_GCC_PURE</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the time the specified bytes take to play with the specified sample type.  <a href="#b3c5f4af357686fdc7df46c9581154bd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#a941cbdb65f1f0265a1d165bc14db034">pa_usec_to_bytes</a> (<a class="el" href="sample_8h.html#885df3b973773f0dccbbec6bc6777f89">pa_usec_t</a> t, const <a class="el" href="structpa__sample__spec.html">pa_sample_spec</a> *spec) PA_GCC_PURE</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates the number of bytes that are required for the specified time.  <a href="#a941cbdb65f1f0265a1d165bc14db034"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structpa__sample__spec.html">pa_sample_spec</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#5d392d4cc38109670585708f5062c2fe">pa_sample_spec_init</a> (<a class="el" href="structpa__sample__spec.html">pa_sample_spec</a> *spec)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the specified sample spec and return a pointer to it.  <a href="#5d392d4cc38109670585708f5062c2fe"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#0d9ad972ee71ef6bff8aaafd44fdb229">pa_sample_spec_valid</a> (const <a class="el" href="structpa__sample__spec.html">pa_sample_spec</a> *spec) PA_GCC_PURE</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return non-zero when the sample type specification is valid.  <a href="#0d9ad972ee71ef6bff8aaafd44fdb229"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#c4c2262bf88bd90fc68767e69fb6810c">pa_sample_spec_equal</a> (const <a class="el" href="structpa__sample__spec.html">pa_sample_spec</a> *a, const <a class="el" href="structpa__sample__spec.html">pa_sample_spec</a> *b) PA_GCC_PURE</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return non-zero when the two sample type specifications match.  <a href="#c4c2262bf88bd90fc68767e69fb6810c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#70804b50d5507f9a7680d4e809e337ed">pa_sample_format_to_string</a> (<a class="el" href="sample_8h.html#41051ceaa5cfbe60c9b176deb7bfed0e">pa_sample_format_t</a> f) PA_GCC_PURE</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a descriptive string for the specified sample format.  <a href="#70804b50d5507f9a7680d4e809e337ed"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="sample_8h.html#41051ceaa5cfbe60c9b176deb7bfed0e">pa_sample_format_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#2819db448dd45edb5d777b7568dd3236">pa_parse_sample_format</a> (const char *format) PA_GCC_PURE</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse a sample format text.  <a href="#2819db448dd45edb5d777b7568dd3236"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#3dd4815bbd51d5467b40e28d05ad948d">pa_sample_spec_snprint</a> (char *s, size_t l, const <a class="el" href="structpa__sample__spec.html">pa_sample_spec</a> *spec)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pretty print a sample type specification to a string.  <a href="#3dd4815bbd51d5467b40e28d05ad948d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8h.html#4992ec70d79de601c6f8f6cc5cab8e59">pa_bytes_snprint</a> (char *s, size_t l, unsigned v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pretty print a byte size value.  <a href="#4992ec70d79de601c6f8f6cc5cab8e59"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Constants and routines for sample type handling. 
<p>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="4c6778fd8a093f9984ce0448f81d9dcf"></a><!-- doxytag: member="sample.h::PA_CHANNELS_MAX" ref="4c6778fd8a093f9984ce0448f81d9dcf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PA_CHANNELS_MAX&nbsp;&nbsp;&nbsp;32U          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Maximum number of allowed channels. 
<p>

</div>
</div><p>
<a class="anchor" name="3a7f31e73acc7e833fe0d49290adf839"></a><!-- doxytag: member="sample.h::PA_RATE_MAX" ref="3a7f31e73acc7e833fe0d49290adf839" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PA_RATE_MAX&nbsp;&nbsp;&nbsp;(48000U*4U)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Maximum allowed sample rate. 
<p>

</div>
</div><p>
<a class="anchor" name="dce65a384a3af05a2481aff5fd2632fb"></a><!-- doxytag: member="sample.h::PA_SAMPLE_FLOAT32" ref="dce65a384a3af05a2481aff5fd2632fb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PA_SAMPLE_FLOAT32&nbsp;&nbsp;&nbsp;PA_SAMPLE_FLOAT32NE          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A Shortcut for PA_SAMPLE_FLOAT32NE. 
<p>

</div>
</div><p>
<a class="anchor" name="25befbdbf9fdc57012ce00dcc1756eac"></a><!-- doxytag: member="sample.h::PA_SAMPLE_FLOAT32NE" ref="25befbdbf9fdc57012ce00dcc1756eac" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PA_SAMPLE_FLOAT32NE&nbsp;&nbsp;&nbsp;PA_SAMPLE_FLOAT32LE          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
32 Bit IEEE floating point, native endian 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="paplay_8c-example.html#a53">paplay.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="a07717de5712b215af265b35d9daee78"></a><!-- doxytag: member="sample.h::PA_SAMPLE_FLOAT32RE" ref="a07717de5712b215af265b35d9daee78" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PA_SAMPLE_FLOAT32RE&nbsp;&nbsp;&nbsp;PA_SAMPLE_FLOAT32BE          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
32 Bit IEEE floating point, reverse endian 
<p>

</div>
</div><p>
<a class="anchor" name="292c1d8ebd4ca0de1d5d5379ee7be38a"></a><!-- doxytag: member="sample.h::PA_SAMPLE_S16NE" ref="292c1d8ebd4ca0de1d5d5379ee7be38a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PA_SAMPLE_S16NE&nbsp;&nbsp;&nbsp;PA_SAMPLE_S16LE          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Signed 16 Bit PCM, native endian. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="paplay_8c-example.html#a50">paplay.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="688b20beba239784f7d92b79a626267a"></a><!-- doxytag: member="sample.h::PA_SAMPLE_S16RE" ref="688b20beba239784f7d92b79a626267a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PA_SAMPLE_S16RE&nbsp;&nbsp;&nbsp;PA_SAMPLE_S16BE          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Signed 16 Bit PCM, reverse endian. 
<p>

</div>
</div><p>
<a class="anchor" name="faf7880f4fa75428bad1d458316e030e"></a><!-- doxytag: member="sample.h::PA_SAMPLE_S24_32NE" ref="faf7880f4fa75428bad1d458316e030e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PA_SAMPLE_S24_32NE&nbsp;&nbsp;&nbsp;PA_SAMPLE_S24_32LE          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Signed 24 Bit PCM in LSB of 32 Bit words, native endian. 
<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>0.9.15 </dd></dl>

</div>
</div><p>
<a class="anchor" name="ddb0fe697d3b6a8ce8c13fb711253630"></a><!-- doxytag: member="sample.h::PA_SAMPLE_S24_32RE" ref="ddb0fe697d3b6a8ce8c13fb711253630" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PA_SAMPLE_S24_32RE&nbsp;&nbsp;&nbsp;PA_SAMPLE_S24_32BE          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Signed 24 Bit PCM, in LSB of 32 Bit words, reverse endian. 
<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>0.9.15 </dd></dl>

</div>
</div><p>
<a class="anchor" name="095cd643a682ad1e55205283c42f9aa9"></a><!-- doxytag: member="sample.h::PA_SAMPLE_S24NE" ref="095cd643a682ad1e55205283c42f9aa9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PA_SAMPLE_S24NE&nbsp;&nbsp;&nbsp;PA_SAMPLE_S24LE          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Signed 24 Bit PCM packed, native endian. 
<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>0.9.15 </dd></dl>

</div>
</div><p>
<a class="anchor" name="dcdf168f62fd7a27705de50058c6bd5c"></a><!-- doxytag: member="sample.h::PA_SAMPLE_S24RE" ref="dcdf168f62fd7a27705de50058c6bd5c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PA_SAMPLE_S24RE&nbsp;&nbsp;&nbsp;PA_SAMPLE_S24BE          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Signed 24 Bit PCM, packed reverse endian. 
<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>0.9.15 </dd></dl>

</div>
</div><p>
<a class="anchor" name="f5b3efe108944c746a07128d9f24c889"></a><!-- doxytag: member="sample.h::PA_SAMPLE_S32NE" ref="f5b3efe108944c746a07128d9f24c889" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PA_SAMPLE_S32NE&nbsp;&nbsp;&nbsp;PA_SAMPLE_S32LE          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Signed 32 Bit PCM, native endian. 
<p>

</div>
</div><p>
<a class="anchor" name="c9bfd0ece22174acad5eb021ff159a61"></a><!-- doxytag: member="sample.h::PA_SAMPLE_S32RE" ref="c9bfd0ece22174acad5eb021ff159a61" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PA_SAMPLE_S32RE&nbsp;&nbsp;&nbsp;PA_SAMPLE_S32BE          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Signed 32 Bit PCM, reverse endian. 
<p>

</div>
</div><p>
<a class="anchor" name="61844a6fa4a5a91bbeca1049c4969bb8"></a><!-- doxytag: member="sample.h::PA_SAMPLE_SPEC_SNPRINT_MAX" ref="61844a6fa4a5a91bbeca1049c4969bb8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PA_SAMPLE_SPEC_SNPRINT_MAX&nbsp;&nbsp;&nbsp;32          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Maximum required string length for <a class="el" href="sample_8h.html#3dd4815bbd51d5467b40e28d05ad948d" title="Pretty print a sample type specification to a string.">pa_sample_spec_snprint()</a>. 
<p>
Please note that this value can change with any release without warning and without being considered API or ABI breakage. You should not use this definition anywhere where it might become part of an ABI. <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a29">pacat.c</a>, and <a class="el" href="paplay_8c-example.html#a58">paplay.c</a>.</dl>
</div>
</div><p>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="41051ceaa5cfbe60c9b176deb7bfed0e"></a><!-- doxytag: member="sample.h::pa_sample_format_t" ref="41051ceaa5cfbe60c9b176deb7bfed0e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="sample_8h.html#3c622fc51f4fc6ebfdcc7b454ac9c05f">pa_sample_format</a>  <a class="el" href="sample_8h.html#41051ceaa5cfbe60c9b176deb7bfed0e">pa_sample_format_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sample format. 
<p>

</div>
</div><p>
<a class="anchor" name="885df3b973773f0dccbbec6bc6777f89"></a><!-- doxytag: member="sample.h::pa_usec_t" ref="885df3b973773f0dccbbec6bc6777f89" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint64_t <a class="el" href="sample_8h.html#885df3b973773f0dccbbec6bc6777f89">pa_usec_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Type for usec specifications (unsigned). 
<p>
Always 64 bit. <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat-simple_8c-example.html#a6">pacat-simple.c</a>, and <a class="el" href="pacat_8c-example.html#a83">pacat.c</a>.</dl>
</div>
</div><p>
<hr><h2>Enumeration Type Documentation</h2>
<a class="anchor" name="3c622fc51f4fc6ebfdcc7b454ac9c05f"></a><!-- doxytag: member="sample.h::pa_sample_format" ref="3c622fc51f4fc6ebfdcc7b454ac9c05f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="sample_8h.html#3c622fc51f4fc6ebfdcc7b454ac9c05f">pa_sample_format</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sample format. 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="3c622fc51f4fc6ebfdcc7b454ac9c05f40e5414deb5fbd486c2929e6993a5544"></a><!-- doxytag: member="PA_SAMPLE_U8" ref="3c622fc51f4fc6ebfdcc7b454ac9c05f40e5414deb5fbd486c2929e6993a5544" args="" -->PA_SAMPLE_U8</em>&nbsp;</td><td>
Unsigned 8 Bit PCM. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="3c622fc51f4fc6ebfdcc7b454ac9c05f267f6542eb6f66ca61c4cccf61326522"></a><!-- doxytag: member="PA_SAMPLE_ALAW" ref="3c622fc51f4fc6ebfdcc7b454ac9c05f267f6542eb6f66ca61c4cccf61326522" args="" -->PA_SAMPLE_ALAW</em>&nbsp;</td><td>
8 Bit a-Law </td></tr>
<tr><td valign="top"><em><a class="anchor" name="3c622fc51f4fc6ebfdcc7b454ac9c05f83116fc70f8577fdcf694474a60c2e1f"></a><!-- doxytag: member="PA_SAMPLE_ULAW" ref="3c622fc51f4fc6ebfdcc7b454ac9c05f83116fc70f8577fdcf694474a60c2e1f" args="" -->PA_SAMPLE_ULAW</em>&nbsp;</td><td>
8 Bit mu-Law </td></tr>
<tr><td valign="top"><em><a class="anchor" name="3c622fc51f4fc6ebfdcc7b454ac9c05f50e4a2b43c258e559fa9d252275131ce"></a><!-- doxytag: member="PA_SAMPLE_S16LE" ref="3c622fc51f4fc6ebfdcc7b454ac9c05f50e4a2b43c258e559fa9d252275131ce" args="" -->PA_SAMPLE_S16LE</em>&nbsp;</td><td>
Signed 16 Bit PCM, little endian (PC). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="3c622fc51f4fc6ebfdcc7b454ac9c05f783cb88f5021ff01fa7ba6d1c2bee84c"></a><!-- doxytag: member="PA_SAMPLE_S16BE" ref="3c622fc51f4fc6ebfdcc7b454ac9c05f783cb88f5021ff01fa7ba6d1c2bee84c" args="" -->PA_SAMPLE_S16BE</em>&nbsp;</td><td>
Signed 16 Bit PCM, big endian. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="3c622fc51f4fc6ebfdcc7b454ac9c05fd2f6c96c4f0cd2a841fbe4840488b548"></a><!-- doxytag: member="PA_SAMPLE_FLOAT32LE" ref="3c622fc51f4fc6ebfdcc7b454ac9c05fd2f6c96c4f0cd2a841fbe4840488b548" args="" -->PA_SAMPLE_FLOAT32LE</em>&nbsp;</td><td>
32 Bit IEEE floating point, little endian (PC), range -1.0 to 1.0 </td></tr>
<tr><td valign="top"><em><a class="anchor" name="3c622fc51f4fc6ebfdcc7b454ac9c05f3550123d5ef697b349edea2ddf61d6b4"></a><!-- doxytag: member="PA_SAMPLE_FLOAT32BE" ref="3c622fc51f4fc6ebfdcc7b454ac9c05f3550123d5ef697b349edea2ddf61d6b4" args="" -->PA_SAMPLE_FLOAT32BE</em>&nbsp;</td><td>
32 Bit IEEE floating point, big endian, range -1.0 to 1.0 </td></tr>
<tr><td valign="top"><em><a class="anchor" name="3c622fc51f4fc6ebfdcc7b454ac9c05f3eb5213ed7a0887b5dcd28cfc97e3457"></a><!-- doxytag: member="PA_SAMPLE_S32LE" ref="3c622fc51f4fc6ebfdcc7b454ac9c05f3eb5213ed7a0887b5dcd28cfc97e3457" args="" -->PA_SAMPLE_S32LE</em>&nbsp;</td><td>
Signed 32 Bit PCM, little endian (PC). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="3c622fc51f4fc6ebfdcc7b454ac9c05ff81ba0a2b599c490228f619e2a8d3b0e"></a><!-- doxytag: member="PA_SAMPLE_S32BE" ref="3c622fc51f4fc6ebfdcc7b454ac9c05ff81ba0a2b599c490228f619e2a8d3b0e" args="" -->PA_SAMPLE_S32BE</em>&nbsp;</td><td>
Signed 32 Bit PCM, big endian. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="3c622fc51f4fc6ebfdcc7b454ac9c05fab50478dbb74cceddcb254928646a0c7"></a><!-- doxytag: member="PA_SAMPLE_S24LE" ref="3c622fc51f4fc6ebfdcc7b454ac9c05fab50478dbb74cceddcb254928646a0c7" args="" -->PA_SAMPLE_S24LE</em>&nbsp;</td><td>
Signed 24 Bit PCM packed, little endian (PC). 
<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>0.9.15 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="3c622fc51f4fc6ebfdcc7b454ac9c05fadff0a924aee5c95c7fdd923c56621b6"></a><!-- doxytag: member="PA_SAMPLE_S24BE" ref="3c622fc51f4fc6ebfdcc7b454ac9c05fadff0a924aee5c95c7fdd923c56621b6" args="" -->PA_SAMPLE_S24BE</em>&nbsp;</td><td>
Signed 24 Bit PCM packed, big endian. 
<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>0.9.15 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="3c622fc51f4fc6ebfdcc7b454ac9c05f6d91d680c240fde8ae3cdafa9900c055"></a><!-- doxytag: member="PA_SAMPLE_S24_32LE" ref="3c622fc51f4fc6ebfdcc7b454ac9c05f6d91d680c240fde8ae3cdafa9900c055" args="" -->PA_SAMPLE_S24_32LE</em>&nbsp;</td><td>
Signed 24 Bit PCM in LSB of 32 Bit words, little endian (PC). 
<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>0.9.15 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="3c622fc51f4fc6ebfdcc7b454ac9c05fcd9ce7bf2cc5d2c4f72a59b9ae0bef89"></a><!-- doxytag: member="PA_SAMPLE_S24_32BE" ref="3c622fc51f4fc6ebfdcc7b454ac9c05fcd9ce7bf2cc5d2c4f72a59b9ae0bef89" args="" -->PA_SAMPLE_S24_32BE</em>&nbsp;</td><td>
Signed 24 Bit PCM in LSB of 32 Bit words, big endian. 
<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>0.9.15 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="3c622fc51f4fc6ebfdcc7b454ac9c05fa6fe0e0623f9e2204c63c293f13597a1"></a><!-- doxytag: member="PA_SAMPLE_MAX" ref="3c622fc51f4fc6ebfdcc7b454ac9c05fa6fe0e0623f9e2204c63c293f13597a1" args="" -->PA_SAMPLE_MAX</em>&nbsp;</td><td>
Upper limit of valid sample types. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="3c622fc51f4fc6ebfdcc7b454ac9c05ffe8a3cc049d2c9820efd8fea80e01e10"></a><!-- doxytag: member="PA_SAMPLE_INVALID" ref="3c622fc51f4fc6ebfdcc7b454ac9c05ffe8a3cc049d2c9820efd8fea80e01e10" args="" -->PA_SAMPLE_INVALID</em>&nbsp;</td><td>
An invalid value. </td></tr>
</table>
</dl>

</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="674c3449416e97b71a75feb64ca59ad4"></a><!-- doxytag: member="sample.h::pa_bytes_per_second" ref="674c3449416e97b71a75feb64ca59ad4" args="(const pa_sample_spec *spec) PA_GCC_PURE" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t pa_bytes_per_second           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structpa__sample__spec.html">pa_sample_spec</a> *&nbsp;</td>
          <td class="paramname"> <em>spec</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the amount of bytes playback of a second of audio with the specified sample type takes. 
<p>

</div>
</div><p>
<a class="anchor" name="4992ec70d79de601c6f8f6cc5cab8e59"></a><!-- doxytag: member="sample.h::pa_bytes_snprint" ref="4992ec70d79de601c6f8f6cc5cab8e59" args="(char *s, size_t l, unsigned v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* pa_bytes_snprint           </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>l</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&nbsp;</td>
          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Pretty print a byte size value. 
<p>
(i.e. "2.5 MiB") 
</div>
</div><p>
<a class="anchor" name="b3c5f4af357686fdc7df46c9581154bd"></a><!-- doxytag: member="sample.h::pa_bytes_to_usec" ref="b3c5f4af357686fdc7df46c9581154bd" args="(uint64_t length, const pa_sample_spec *spec) PA_GCC_PURE" -->
<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_bytes_to_usec           </td>
          <td>(</td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>length</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> *&nbsp;</td>
          <td class="paramname"> <em>spec</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Calculate the time the specified bytes take to play with the specified sample type. 
<p>
The return value will always be rounded down for non-integral return values. 
</div>
</div><p>
<a class="anchor" name="035d79171e183f6315e6e65436f5e939"></a><!-- doxytag: member="sample.h::pa_frame_size" ref="035d79171e183f6315e6e65436f5e939" args="(const pa_sample_spec *spec) PA_GCC_PURE" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t pa_frame_size           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structpa__sample__spec.html">pa_sample_spec</a> *&nbsp;</td>
          <td class="paramname"> <em>spec</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the size of a frame with the specific sample type. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="paplay_8c-example.html#a17">paplay.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="2819db448dd45edb5d777b7568dd3236"></a><!-- doxytag: member="sample.h::pa_parse_sample_format" ref="2819db448dd45edb5d777b7568dd3236" args="(const char *format) PA_GCC_PURE" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="sample_8h.html#41051ceaa5cfbe60c9b176deb7bfed0e">pa_sample_format_t</a> pa_parse_sample_format           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>format</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Parse a sample format text. 
<p>
Inverse of <a class="el" href="sample_8h.html#70804b50d5507f9a7680d4e809e337ed" title="Return a descriptive string for the specified sample format.">pa_sample_format_to_string()</a> <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a96">pacat.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="70804b50d5507f9a7680d4e809e337ed"></a><!-- doxytag: member="sample.h::pa_sample_format_to_string" ref="70804b50d5507f9a7680d4e809e337ed" args="(pa_sample_format_t f) PA_GCC_PURE" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* pa_sample_format_to_string           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="sample_8h.html#41051ceaa5cfbe60c9b176deb7bfed0e">pa_sample_format_t</a>&nbsp;</td>
          <td class="paramname"> <em>f</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return a descriptive string for the specified sample format. 
<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>0.8 </dd></dl>

</div>
</div><p>
<a class="anchor" name="ae286d84c2975248f65f804d4c24ef39"></a><!-- doxytag: member="sample.h::pa_sample_size" ref="ae286d84c2975248f65f804d4c24ef39" args="(const pa_sample_spec *spec) PA_GCC_PURE" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t pa_sample_size           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structpa__sample__spec.html">pa_sample_spec</a> *&nbsp;</td>
          <td class="paramname"> <em>spec</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the size of a sample with the specific sample type. 
<p>

</div>
</div><p>
<a class="anchor" name="46b2c919b75efbb2b3c3d703ba57fdf6"></a><!-- doxytag: member="sample.h::pa_sample_size_of_format" ref="46b2c919b75efbb2b3c3d703ba57fdf6" args="(pa_sample_format_t f) PA_GCC_PURE" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t pa_sample_size_of_format           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="sample_8h.html#41051ceaa5cfbe60c9b176deb7bfed0e">pa_sample_format_t</a>&nbsp;</td>
          <td class="paramname"> <em>f</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Similar to <a class="el" href="sample_8h.html#ae286d84c2975248f65f804d4c24ef39" title="Return the size of a sample with the specific sample type.">pa_sample_size()</a> but take a sample format instead of a full sample spec. 
<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>0.9.15 </dd></dl>

</div>
</div><p>
<a class="anchor" name="c4c2262bf88bd90fc68767e69fb6810c"></a><!-- doxytag: member="sample.h::pa_sample_spec_equal" ref="c4c2262bf88bd90fc68767e69fb6810c" args="(const pa_sample_spec *a, const pa_sample_spec *b) PA_GCC_PURE" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int pa_sample_spec_equal           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structpa__sample__spec.html">pa_sample_spec</a> *&nbsp;</td>
          <td class="paramname"> <em>a</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> *&nbsp;</td>
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return non-zero when the two sample type specifications match. 
<p>

</div>
</div><p>
<a class="anchor" name="5d392d4cc38109670585708f5062c2fe"></a><!-- doxytag: member="sample.h::pa_sample_spec_init" ref="5d392d4cc38109670585708f5062c2fe" args="(pa_sample_spec *spec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structpa__sample__spec.html">pa_sample_spec</a>* pa_sample_spec_init           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structpa__sample__spec.html">pa_sample_spec</a> *&nbsp;</td>
          <td class="paramname"> <em>spec</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize the specified sample spec and return a pointer to it. 
<p>
The sample spec will have a defined state but <a class="el" href="sample_8h.html#0d9ad972ee71ef6bff8aaafd44fdb229" title="Return non-zero when the sample type specification is valid.">pa_sample_spec_valid()</a> will fail for it. <dl class="since" compact><dt><b>Since:</b></dt><dd>0.9.13 </dd></dl>

</div>
</div><p>
<a class="anchor" name="3dd4815bbd51d5467b40e28d05ad948d"></a><!-- doxytag: member="sample.h::pa_sample_spec_snprint" ref="3dd4815bbd51d5467b40e28d05ad948d" args="(char *s, size_t l, const pa_sample_spec *spec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* pa_sample_spec_snprint           </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>l</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> *&nbsp;</td>
          <td class="paramname"> <em>spec</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Pretty print a sample type specification to a string. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a37">pacat.c</a>, and <a class="el" href="paplay_8c-example.html#a59">paplay.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="0d9ad972ee71ef6bff8aaafd44fdb229"></a><!-- doxytag: member="sample.h::pa_sample_spec_valid" ref="0d9ad972ee71ef6bff8aaafd44fdb229" args="(const pa_sample_spec *spec) PA_GCC_PURE" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int pa_sample_spec_valid           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structpa__sample__spec.html">pa_sample_spec</a> *&nbsp;</td>
          <td class="paramname"> <em>spec</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return non-zero when the sample type specification is valid. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a104">pacat.c</a>, and <a class="el" href="paplay_8c-example.html#a54">paplay.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="a941cbdb65f1f0265a1d165bc14db034"></a><!-- doxytag: member="sample.h::pa_usec_to_bytes" ref="a941cbdb65f1f0265a1d165bc14db034" args="(pa_usec_t t, const pa_sample_spec *spec) PA_GCC_PURE" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t pa_usec_to_bytes           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="sample_8h.html#885df3b973773f0dccbbec6bc6777f89">pa_usec_t</a>&nbsp;</td>
          <td class="paramname"> <em>t</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> *&nbsp;</td>
          <td class="paramname"> <em>spec</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Calculates the number of bytes that are required for the specified time. 
<p>
The return value will always be rounded down for non-integral return values. <dl class="since" compact><dt><b>Since:</b></dt><dd>0.9 </dd></dl>

</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 04:18:20 2009 for PulseAudio by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>