Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > 1b0defc78974c19a3962969382317a14 > files > 59

lib64pulseaudio-devel-5.0-1.mga4.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>PulseAudio: def.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">PulseAudio
   &#160;<span id="projectnumber">5.0.0-1.mga4</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;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 id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('def_8h.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a>  </div>
  <div class="headertitle">
<div class="title">def.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Global definitions.  
<a href="#details">More...</a></p>

<p><a href="def_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpa__buffer__attr.html">pa_buffer_attr</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Playback and record buffer metrics.  <a href="structpa__buffer__attr.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpa__timing__info.html">pa_timing_info</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A structure for all kinds of timing information of a stream.  <a href="structpa__timing__info.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpa__spawn__api.html">pa_spawn_api</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A structure for the spawn api.  <a href="structpa__spawn__api.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a2b61af114c2c7884e4121ad596ded686"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a2b61af114c2c7884e4121ad596ded686">PA_INVALID_INDEX</a>&#160;&#160;&#160;((uint32_t) -1)</td></tr>
<tr class="memdesc:a2b61af114c2c7884e4121ad596ded686"><td class="mdescLeft">&#160;</td><td class="mdescRight">An invalid index.  <a href="#a2b61af114c2c7884e4121ad596ded686">More...</a><br/></td></tr>
<tr class="separator:a2b61af114c2c7884e4121ad596ded686"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f8ff1ac366e70a1ee49ec8236662f49"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a2f8ff1ac366e70a1ee49ec8236662f49">pa_subscription_match_flags</a>(m, t)&#160;&#160;&#160;(!!((m) &amp; (1 &lt;&lt; ((t) &amp; <a class="el" href="def_8h.html#a6bedfa147a9565383f1f44642cfef6a3a55fdfc2a2ca13b0356e1389b522f38f7">PA_SUBSCRIPTION_EVENT_FACILITY_MASK</a>))))</td></tr>
<tr class="memdesc:a2f8ff1ac366e70a1ee49ec8236662f49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return one if an event type t matches an event mask bitfield.  <a href="#a2f8ff1ac366e70a1ee49ec8236662f49">More...</a><br/></td></tr>
<tr class="separator:a2f8ff1ac366e70a1ee49ec8236662f49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3956e517eba54376a3cecda994ba56a9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a3956e517eba54376a3cecda994ba56a9">PA_STREAM_EVENT_REQUEST_CORK</a>&#160;&#160;&#160;&quot;request-cork&quot;</td></tr>
<tr class="memdesc:a3956e517eba54376a3cecda994ba56a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">A stream policy/meta event requesting that an application should cork a specific stream.  <a href="#a3956e517eba54376a3cecda994ba56a9">More...</a><br/></td></tr>
<tr class="separator:a3956e517eba54376a3cecda994ba56a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31db15ca191bf81a24bc00dbbaa8754a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a31db15ca191bf81a24bc00dbbaa8754a">PA_STREAM_EVENT_REQUEST_UNCORK</a>&#160;&#160;&#160;&quot;request-uncork&quot;</td></tr>
<tr class="memdesc:a31db15ca191bf81a24bc00dbbaa8754a"><td class="mdescLeft">&#160;</td><td class="mdescRight">A stream policy/meta event requesting that an application should cork a specific stream.  <a href="#a31db15ca191bf81a24bc00dbbaa8754a">More...</a><br/></td></tr>
<tr class="separator:a31db15ca191bf81a24bc00dbbaa8754a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a086c07b5f71abaed312dcddb40fe8bd8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a086c07b5f71abaed312dcddb40fe8bd8">PA_STREAM_EVENT_FORMAT_LOST</a>&#160;&#160;&#160;&quot;format-lost&quot;</td></tr>
<tr class="memdesc:a086c07b5f71abaed312dcddb40fe8bd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">A stream event notifying that the stream is going to be disconnected because the underlying sink changed and no longer supports the format that was originally negotiated.  <a href="#a086c07b5f71abaed312dcddb40fe8bd8">More...</a><br/></td></tr>
<tr class="separator:a086c07b5f71abaed312dcddb40fe8bd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a696774cc2f758448c5ab10c2dd786c9d"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="def_8h.html#a892684c03cf9edaed1a95e609ec7573c">pa_context_state</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a696774cc2f758448c5ab10c2dd786c9d">pa_context_state_t</a></td></tr>
<tr class="memdesc:a696774cc2f758448c5ab10c2dd786c9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The state of a connection context.  <a href="#a696774cc2f758448c5ab10c2dd786c9d">More...</a><br/></td></tr>
<tr class="separator:a696774cc2f758448c5ab10c2dd786c9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a112cf6dbe9ac5554fddc8da251797477"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="def_8h.html#a71341d6e189549fc0bd25ab669016df9">pa_stream_state</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a112cf6dbe9ac5554fddc8da251797477">pa_stream_state_t</a></td></tr>
<tr class="memdesc:a112cf6dbe9ac5554fddc8da251797477"><td class="mdescLeft">&#160;</td><td class="mdescRight">The state of a stream.  <a href="#a112cf6dbe9ac5554fddc8da251797477">More...</a><br/></td></tr>
<tr class="separator:a112cf6dbe9ac5554fddc8da251797477"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7690ad935f83aee30828308c8e63bda4"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="def_8h.html#ac0a07dd2ef771a72d48e5ba2c56ac3bc">pa_operation_state</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a7690ad935f83aee30828308c8e63bda4">pa_operation_state_t</a></td></tr>
<tr class="memdesc:a7690ad935f83aee30828308c8e63bda4"><td class="mdescLeft">&#160;</td><td class="mdescRight">The state of an operation.  <a href="#a7690ad935f83aee30828308c8e63bda4">More...</a><br/></td></tr>
<tr class="separator:a7690ad935f83aee30828308c8e63bda4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa330581bb9b282e6f6a28a3a2b4b634a"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="def_8h.html#abe3b87f73f6de46609b059e10827863b">pa_context_flags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#aa330581bb9b282e6f6a28a3a2b4b634a">pa_context_flags_t</a></td></tr>
<tr class="memdesc:aa330581bb9b282e6f6a28a3a2b4b634a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Some special flags for contexts.  <a href="#aa330581bb9b282e6f6a28a3a2b4b634a">More...</a><br/></td></tr>
<tr class="separator:aa330581bb9b282e6f6a28a3a2b4b634a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29b103a8a25a2d0d90cf23ab8b244677"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="def_8h.html#a6852d9da8019309fa6e776d33730156d">pa_direction</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a29b103a8a25a2d0d90cf23ab8b244677">pa_direction_t</a></td></tr>
<tr class="memdesc:a29b103a8a25a2d0d90cf23ab8b244677"><td class="mdescLeft">&#160;</td><td class="mdescRight">Direction bitfield - while we currently do not expose anything bidirectional, one should test against the bit instead of the value (e.g. if (d &amp; PA_DIRECTION_OUTPUT)), because we might add bidirectional stuff in the future.  <a href="#a29b103a8a25a2d0d90cf23ab8b244677">More...</a><br/></td></tr>
<tr class="separator:a29b103a8a25a2d0d90cf23ab8b244677"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66f683de1e98548311665aa43c3680d4"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="def_8h.html#ac3a74c95bc3d5898d20401abaa5456cb">pa_device_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a66f683de1e98548311665aa43c3680d4">pa_device_type_t</a></td></tr>
<tr class="memdesc:a66f683de1e98548311665aa43c3680d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of device we are dealing with.  <a href="#a66f683de1e98548311665aa43c3680d4">More...</a><br/></td></tr>
<tr class="separator:a66f683de1e98548311665aa43c3680d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a637b1451881b8c0b0f98bafe115d7254"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="def_8h.html#a7311932553b3f7962a092906576bc347">pa_stream_direction</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a637b1451881b8c0b0f98bafe115d7254">pa_stream_direction_t</a></td></tr>
<tr class="memdesc:a637b1451881b8c0b0f98bafe115d7254"><td class="mdescLeft">&#160;</td><td class="mdescRight">The direction of a pa_stream object.  <a href="#a637b1451881b8c0b0f98bafe115d7254">More...</a><br/></td></tr>
<tr class="separator:a637b1451881b8c0b0f98bafe115d7254"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9328c83d983878efb0627b99d949a3cc"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fc">pa_stream_flags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a9328c83d983878efb0627b99d949a3cc">pa_stream_flags_t</a></td></tr>
<tr class="memdesc:a9328c83d983878efb0627b99d949a3cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Some special flags for stream connections.  <a href="#a9328c83d983878efb0627b99d949a3cc">More...</a><br/></td></tr>
<tr class="separator:a9328c83d983878efb0627b99d949a3cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4afaa08ca815219cc0ae76efb3754cd0"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structpa__buffer__attr.html">pa_buffer_attr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a4afaa08ca815219cc0ae76efb3754cd0">pa_buffer_attr</a></td></tr>
<tr class="memdesc:a4afaa08ca815219cc0ae76efb3754cd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Playback and record buffer metrics.  <a href="#a4afaa08ca815219cc0ae76efb3754cd0">More...</a><br/></td></tr>
<tr class="separator:a4afaa08ca815219cc0ae76efb3754cd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc87b1be76a2597e08eb56a51e876a5b"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2">pa_error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#afc87b1be76a2597e08eb56a51e876a5b">pa_error_code_t</a></td></tr>
<tr class="memdesc:afc87b1be76a2597e08eb56a51e876a5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error values as used by <a class="el" href="context_8h.html#aa8262c715ef8c48bcd2fbc5ae57a6df9" title="Return the error number of the last failed operation. ">pa_context_errno()</a>.  <a href="#afc87b1be76a2597e08eb56a51e876a5b">More...</a><br/></td></tr>
<tr class="separator:afc87b1be76a2597e08eb56a51e876a5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09d0e336675b2cb337d572c03e67eb93"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="def_8h.html#ad4e7f11f879e8c77ae5289145ecf6947">pa_subscription_mask</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a09d0e336675b2cb337d572c03e67eb93">pa_subscription_mask_t</a></td></tr>
<tr class="memdesc:a09d0e336675b2cb337d572c03e67eb93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subscription event mask, as used by <a class="el" href="subscribe_8h.html#abe684246fd5cb640b0199bcfe7f801b0" title="Enable event notification. ">pa_context_subscribe()</a>  <a href="#a09d0e336675b2cb337d572c03e67eb93">More...</a><br/></td></tr>
<tr class="separator:a09d0e336675b2cb337d572c03e67eb93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbc7a15d7a9fe0722b02e2d739200035"><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
<a class="el" href="def_8h.html#a6bedfa147a9565383f1f44642cfef6a3">pa_subscription_event_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#acbc7a15d7a9fe0722b02e2d739200035">pa_subscription_event_type_t</a></td></tr>
<tr class="memdesc:acbc7a15d7a9fe0722b02e2d739200035"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subscription event types, as used by <a class="el" href="subscribe_8h.html#abe684246fd5cb640b0199bcfe7f801b0" title="Enable event notification. ">pa_context_subscribe()</a>  <a href="#acbc7a15d7a9fe0722b02e2d739200035">More...</a><br/></td></tr>
<tr class="separator:acbc7a15d7a9fe0722b02e2d739200035"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa02ed022c6f211ef9165dc3401f913e"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structpa__timing__info.html">pa_timing_info</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#afa02ed022c6f211ef9165dc3401f913e">pa_timing_info</a></td></tr>
<tr class="memdesc:afa02ed022c6f211ef9165dc3401f913e"><td class="mdescLeft">&#160;</td><td class="mdescRight">A structure for all kinds of timing information of a stream.  <a href="#afa02ed022c6f211ef9165dc3401f913e">More...</a><br/></td></tr>
<tr class="separator:afa02ed022c6f211ef9165dc3401f913e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a92c0fc96a1172bbb589734a7b1372a"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structpa__spawn__api.html">pa_spawn_api</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a9a92c0fc96a1172bbb589734a7b1372a">pa_spawn_api</a></td></tr>
<tr class="memdesc:a9a92c0fc96a1172bbb589734a7b1372a"><td class="mdescLeft">&#160;</td><td class="mdescRight">A structure for the spawn api.  <a href="#a9a92c0fc96a1172bbb589734a7b1372a">More...</a><br/></td></tr>
<tr class="separator:a9a92c0fc96a1172bbb589734a7b1372a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bd011cdb61caf568b544715b1b89def"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="def_8h.html#aeb8e6973350d158e982985c1d19eef3b">pa_seek_mode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a3bd011cdb61caf568b544715b1b89def">pa_seek_mode_t</a></td></tr>
<tr class="memdesc:a3bd011cdb61caf568b544715b1b89def"><td class="mdescLeft">&#160;</td><td class="mdescRight">Seek type for <a class="el" href="stream_8h.html#a4fc69dec0cc202fcc174125dc88dada7" title="Write some data to the server (for playback streams). ">pa_stream_write()</a>.  <a href="#a3bd011cdb61caf568b544715b1b89def">More...</a><br/></td></tr>
<tr class="separator:a3bd011cdb61caf568b544715b1b89def"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33360cff8c751ad1b8a557e074463a99"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="def_8h.html#a20e0a15bebf78a29893f3b73ef7dadc0">pa_sink_flags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a33360cff8c751ad1b8a557e074463a99">pa_sink_flags_t</a></td></tr>
<tr class="memdesc:a33360cff8c751ad1b8a557e074463a99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special sink flags.  <a href="#a33360cff8c751ad1b8a557e074463a99">More...</a><br/></td></tr>
<tr class="separator:a33360cff8c751ad1b8a557e074463a99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1ba5b1cd9a58a5a914231862779a88f"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="def_8h.html#ae4618f4ca1ed5b4044390f6421ac233e">pa_sink_state</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#af1ba5b1cd9a58a5a914231862779a88f">pa_sink_state_t</a></td></tr>
<tr class="memdesc:af1ba5b1cd9a58a5a914231862779a88f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sink state.  <a href="#af1ba5b1cd9a58a5a914231862779a88f">More...</a><br/></td></tr>
<tr class="separator:af1ba5b1cd9a58a5a914231862779a88f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1177496dc4c63e0cce094ed849a9ef8d"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="def_8h.html#a6102010fffc6e49f6d378263e7b474b0">pa_source_flags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a1177496dc4c63e0cce094ed849a9ef8d">pa_source_flags_t</a></td></tr>
<tr class="memdesc:a1177496dc4c63e0cce094ed849a9ef8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special source flags.  <a href="#a1177496dc4c63e0cce094ed849a9ef8d">More...</a><br/></td></tr>
<tr class="separator:a1177496dc4c63e0cce094ed849a9ef8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2be5558ab768f960e50c18e252c2f906"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="def_8h.html#ab083f194b7a5ba7623efc31392c4029a">pa_source_state</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a2be5558ab768f960e50c18e252c2f906">pa_source_state_t</a></td></tr>
<tr class="memdesc:a2be5558ab768f960e50c18e252c2f906"><td class="mdescLeft">&#160;</td><td class="mdescRight">Source state.  <a href="#a2be5558ab768f960e50c18e252c2f906">More...</a><br/></td></tr>
<tr class="separator:a2be5558ab768f960e50c18e252c2f906"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85c8c3063d8218304c041cb9f83ec431"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a85c8c3063d8218304c041cb9f83ec431">pa_free_cb_t</a> )(void *p)</td></tr>
<tr class="memdesc:a85c8c3063d8218304c041cb9f83ec431"><td class="mdescLeft">&#160;</td><td class="mdescRight">A generic free() like callback prototype.  <a href="#a85c8c3063d8218304c041cb9f83ec431">More...</a><br/></td></tr>
<tr class="separator:a85c8c3063d8218304c041cb9f83ec431"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab739b4583c306689d5b1a673c500b2e0"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="def_8h.html#a72f790c31bf10c1d244aa078c4cdb345">pa_port_available</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#ab739b4583c306689d5b1a673c500b2e0">pa_port_available_t</a></td></tr>
<tr class="memdesc:ab739b4583c306689d5b1a673c500b2e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Port availability / jack detection status.  <a href="#ab739b4583c306689d5b1a673c500b2e0">More...</a><br/></td></tr>
<tr class="separator:ab739b4583c306689d5b1a673c500b2e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a892684c03cf9edaed1a95e609ec7573c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a892684c03cf9edaed1a95e609ec7573c">pa_context_state</a> { <br/>
&#160;&#160;<a class="el" href="def_8h.html#a892684c03cf9edaed1a95e609ec7573ca23c5b14caa61813434ee8f449328cbe0">PA_CONTEXT_UNCONNECTED</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a892684c03cf9edaed1a95e609ec7573ca9a30a992d40cfcfc19867049e99004c1">PA_CONTEXT_CONNECTING</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a892684c03cf9edaed1a95e609ec7573cabd55965cd2d6cfea52cc982c8837e857">PA_CONTEXT_AUTHORIZING</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a892684c03cf9edaed1a95e609ec7573ca222cd7356d0f906a88598d09b6ed0208">PA_CONTEXT_SETTING_NAME</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a892684c03cf9edaed1a95e609ec7573ca281febf058e211cb87dfdadf146d9670">PA_CONTEXT_READY</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a892684c03cf9edaed1a95e609ec7573ca10d4edadad12e6e49edb591b06c649ae">PA_CONTEXT_FAILED</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a892684c03cf9edaed1a95e609ec7573ca904a83b99b3ccd6bb870b3f86f0f3cfd">PA_CONTEXT_TERMINATED</a>
<br/>
 }</td></tr>
<tr class="memdesc:a892684c03cf9edaed1a95e609ec7573c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The state of a connection context.  <a href="def_8h.html#a892684c03cf9edaed1a95e609ec7573c">More...</a><br/></td></tr>
<tr class="separator:a892684c03cf9edaed1a95e609ec7573c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71341d6e189549fc0bd25ab669016df9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a71341d6e189549fc0bd25ab669016df9">pa_stream_state</a> { <br/>
&#160;&#160;<a class="el" href="def_8h.html#a71341d6e189549fc0bd25ab669016df9a90b45f16f97aca49d40f8345f9f99643">PA_STREAM_UNCONNECTED</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a71341d6e189549fc0bd25ab669016df9a40f85224ae979275dfa75c6e7632c2d8">PA_STREAM_CREATING</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a71341d6e189549fc0bd25ab669016df9a1e72fb989b308e2317c0b0949afe5446">PA_STREAM_READY</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a71341d6e189549fc0bd25ab669016df9a17035675606742a577107e86dc14495a">PA_STREAM_FAILED</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a71341d6e189549fc0bd25ab669016df9ada6b24e840e5a13408d89b8ce9b3dac4">PA_STREAM_TERMINATED</a>
<br/>
 }</td></tr>
<tr class="memdesc:a71341d6e189549fc0bd25ab669016df9"><td class="mdescLeft">&#160;</td><td class="mdescRight">The state of a stream.  <a href="def_8h.html#a71341d6e189549fc0bd25ab669016df9">More...</a><br/></td></tr>
<tr class="separator:a71341d6e189549fc0bd25ab669016df9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0a07dd2ef771a72d48e5ba2c56ac3bc"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#ac0a07dd2ef771a72d48e5ba2c56ac3bc">pa_operation_state</a> { <br/>
&#160;&#160;<a class="el" href="def_8h.html#ac0a07dd2ef771a72d48e5ba2c56ac3bca9486b0f1b7da21dcc34f5cb3f7091c6f">PA_OPERATION_RUNNING</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#ac0a07dd2ef771a72d48e5ba2c56ac3bca902b2118f324bc25b96ab6d55410f1c3">PA_OPERATION_DONE</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#ac0a07dd2ef771a72d48e5ba2c56ac3bca7475508ea465f35e473d01adf5876656">PA_OPERATION_CANCELLED</a>
<br/>
 }</td></tr>
<tr class="memdesc:ac0a07dd2ef771a72d48e5ba2c56ac3bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">The state of an operation.  <a href="def_8h.html#ac0a07dd2ef771a72d48e5ba2c56ac3bc">More...</a><br/></td></tr>
<tr class="separator:ac0a07dd2ef771a72d48e5ba2c56ac3bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe3b87f73f6de46609b059e10827863b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#abe3b87f73f6de46609b059e10827863b">pa_context_flags</a> { <br/>
&#160;&#160;<a class="el" href="def_8h.html#abe3b87f73f6de46609b059e10827863baa23a83a50fc72215809b731be06aacaa">PA_CONTEXT_NOFLAGS</a> = 0x0000U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#abe3b87f73f6de46609b059e10827863ba33a917479765480e6f45c7a1839a1703">PA_CONTEXT_NOAUTOSPAWN</a> = 0x0001U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#abe3b87f73f6de46609b059e10827863bae2d9e55538c81490efb84e31be6e3101">PA_CONTEXT_NOFAIL</a> = 0x0002U
<br/>
 }</td></tr>
<tr class="memdesc:abe3b87f73f6de46609b059e10827863b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Some special flags for contexts.  <a href="def_8h.html#abe3b87f73f6de46609b059e10827863b">More...</a><br/></td></tr>
<tr class="separator:abe3b87f73f6de46609b059e10827863b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6852d9da8019309fa6e776d33730156d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a6852d9da8019309fa6e776d33730156d">pa_direction</a> { <br/>
&#160;&#160;<a class="el" href="def_8h.html#a6852d9da8019309fa6e776d33730156da0a6d4b4192069702951187b48b49d452">PA_DIRECTION_OUTPUT</a> = 0x0001U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6852d9da8019309fa6e776d33730156da6b24f67c02098254b9fdfef7c50c5579">PA_DIRECTION_INPUT</a> = 0x0002U
<br/>
 }</td></tr>
<tr class="memdesc:a6852d9da8019309fa6e776d33730156d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Direction bitfield - while we currently do not expose anything bidirectional, one should test against the bit instead of the value (e.g. if (d &amp; PA_DIRECTION_OUTPUT)), because we might add bidirectional stuff in the future.  <a href="def_8h.html#a6852d9da8019309fa6e776d33730156d">More...</a><br/></td></tr>
<tr class="separator:a6852d9da8019309fa6e776d33730156d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3a74c95bc3d5898d20401abaa5456cb"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#ac3a74c95bc3d5898d20401abaa5456cb">pa_device_type</a> { <br/>
&#160;&#160;<a class="el" href="def_8h.html#ac3a74c95bc3d5898d20401abaa5456cba859f4109bff514902529376e4beae65b">PA_DEVICE_TYPE_SINK</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#ac3a74c95bc3d5898d20401abaa5456cba1d8454194fcdd57f627e6c154daa1ed7">PA_DEVICE_TYPE_SOURCE</a>
<br/>
 }</td></tr>
<tr class="memdesc:ac3a74c95bc3d5898d20401abaa5456cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of device we are dealing with.  <a href="def_8h.html#ac3a74c95bc3d5898d20401abaa5456cb">More...</a><br/></td></tr>
<tr class="separator:ac3a74c95bc3d5898d20401abaa5456cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7311932553b3f7962a092906576bc347"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a7311932553b3f7962a092906576bc347">pa_stream_direction</a> { <br/>
&#160;&#160;<a class="el" href="def_8h.html#a7311932553b3f7962a092906576bc347a9ae703cf8a9a13659871eb7172715068">PA_STREAM_NODIRECTION</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a7311932553b3f7962a092906576bc347acf403563d8f87f59f73c9674fee5a166">PA_STREAM_PLAYBACK</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a7311932553b3f7962a092906576bc347a68e8f73b865d14e172cc45db4ad3aaf7">PA_STREAM_RECORD</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a7311932553b3f7962a092906576bc347acf2cd03e78f1a2de894cfde627c66990">PA_STREAM_UPLOAD</a>
<br/>
 }</td></tr>
<tr class="memdesc:a7311932553b3f7962a092906576bc347"><td class="mdescLeft">&#160;</td><td class="mdescRight">The direction of a pa_stream object.  <a href="def_8h.html#a7311932553b3f7962a092906576bc347">More...</a><br/></td></tr>
<tr class="separator:a7311932553b3f7962a092906576bc347"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6966d809483170bc6d2e6c16188850fc"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fc">pa_stream_flags</a> { <br/>
&#160;&#160;<a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fca904feb6fc7ff1d78d3159cbdd5abea2e">PA_STREAM_NOFLAGS</a> = 0x0000U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fca180238fa2f446e9694f405104095027e">PA_STREAM_START_CORKED</a> = 0x0001U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fca598904dec6cc11ae06be7a3b16d13193">PA_STREAM_INTERPOLATE_TIMING</a> = 0x0002U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fca7e7d45d9d07ef525748b0e962598bda5">PA_STREAM_NOT_MONOTONIC</a> = 0x0004U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fcaa2b29ab0108115d9a3e0fee307b2934d">PA_STREAM_AUTO_TIMING_UPDATE</a> = 0x0008U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fcaaf217b8d4ed327de0acaeceff49341c2">PA_STREAM_NO_REMAP_CHANNELS</a> = 0x0010U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fca58d440b2e196c639cb7c578324b3a5fd">PA_STREAM_NO_REMIX_CHANNELS</a> = 0x0020U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fca8b06af81681e54d33ea334684ab4e37e">PA_STREAM_FIX_FORMAT</a> = 0x0040U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fcab81c3687c121ad24c8c6673eca01c4d3">PA_STREAM_FIX_RATE</a> = 0x0080U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fca13b9fec678fd47a1907413476f7044b7">PA_STREAM_FIX_CHANNELS</a> = 0x0100, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fca517fdce5eb1b4bcd3a776d05252f4595">PA_STREAM_DONT_MOVE</a> = 0x0200U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fcac92fcb50b94927301043213ddd779558">PA_STREAM_VARIABLE_RATE</a> = 0x0400U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fcaf36eb4756476fe23e9686febd60b6add">PA_STREAM_PEAK_DETECT</a> = 0x0800U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fcaf6205141b9404f8c10e2e3689592c46f">PA_STREAM_START_MUTED</a> = 0x1000U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fcab24aa4c681a4b62af2efc7d53dfd40f0">PA_STREAM_ADJUST_LATENCY</a> = 0x2000U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fca98e436f686fc385697e565eb1ecb2609">PA_STREAM_EARLY_REQUESTS</a> = 0x4000U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fca28baa26205e127701bd653702d48c116">PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND</a> = 0x8000U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fca6c819300a18562d45c9876865b3f615c">PA_STREAM_START_UNMUTED</a> = 0x10000U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fcab413405a5d47fe7c3b3babb1621d5506">PA_STREAM_FAIL_ON_SUSPEND</a> = 0x20000U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fca9f6df83d22dee5f5f97f5f4ffeaf3385">PA_STREAM_RELATIVE_VOLUME</a> = 0x40000U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fcae6a8dec3085583af08d2c832aafe0f02">PA_STREAM_PASSTHROUGH</a> = 0x80000U
<br/>
 }</td></tr>
<tr class="memdesc:a6966d809483170bc6d2e6c16188850fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Some special flags for stream connections.  <a href="def_8h.html#a6966d809483170bc6d2e6c16188850fc">More...</a><br/></td></tr>
<tr class="separator:a6966d809483170bc6d2e6c16188850fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73eb0e01743b361a0b21e767655f23b2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2">pa_error_code</a> { <br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2af5fc0472cdaf8915456b99b766e11221">PA_OK</a> = 0, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2ac923fcaba3b251ea5adc1faf08a99bba">PA_ERR_ACCESS</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2afb1b764dc73ac510f1dec289cb6cbe13">PA_ERR_COMMAND</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2a2be35f69f0fc35514769899dfbafb682">PA_ERR_INVALID</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2abc4a83acee545e2f38dcca046e23f9f8">PA_ERR_EXIST</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2ad08c0214e4e238a621e2e1199ab29458">PA_ERR_NOENTITY</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2a2d68d564cb83d923b4a274c793879912">PA_ERR_CONNECTIONREFUSED</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2a3fbd0cf4b6f78efb191b26535212f85b">PA_ERR_PROTOCOL</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2a48290af3d503d647b7aaf8e9e5525b43">PA_ERR_TIMEOUT</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2ae85f28b7280955a2da5cf87555d5e077">PA_ERR_AUTHKEY</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2afc596233f84a42ffc098cfb8c36db3b0">PA_ERR_INTERNAL</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2abbdc7ae20a46df00128ed63c84b238b3">PA_ERR_CONNECTIONTERMINATED</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2a2e85779d75b88b0a7ed354ddb44a1632">PA_ERR_KILLED</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2ab82e0c8dac752b88bd3a1b5b0d26205a">PA_ERR_INVALIDSERVER</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2aab527c20cdfaccdde9739d59f61e8376">PA_ERR_MODINITFAILED</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2a0fe7c99c57b59b842d4830c4fe3864c6">PA_ERR_BADSTATE</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2a824dee509e78829143aa275e9e5b2ac8">PA_ERR_NODATA</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2a190d1a7d049d9f9120cba44bcbcb5424">PA_ERR_VERSION</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2a5e686a57253cd40aa6bcc95e4315b6fd">PA_ERR_TOOLARGE</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2a188ffa56ff6b3e472a6f28f9a5f933c1">PA_ERR_NOTSUPPORTED</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2a7c51c44d1d2fd0eccf79f1d697bebbba">PA_ERR_UNKNOWN</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2aed5d4dc5cd6646cdb4573f3a5d27c061">PA_ERR_NOEXTENSION</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2ace52b7489a663ffe115b43f7f5b5a158">PA_ERR_OBSOLETE</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2a973a6c75d49985d4d5bc067e64626a92">PA_ERR_NOTIMPLEMENTED</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2a7d04c9f451f02134ad31fc7a935da71c">PA_ERR_FORKED</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2af3ad7ef07dcc9a89bb209bf0d5b4c468">PA_ERR_IO</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2ab20491400a4b5b59b68e570b18393339">PA_ERR_BUSY</a>, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2a640110d5722955d83d3ad362517e46b7">PA_ERR_MAX</a>
<br/>
 }</td></tr>
<tr class="memdesc:a73eb0e01743b361a0b21e767655f23b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error values as used by <a class="el" href="context_8h.html#aa8262c715ef8c48bcd2fbc5ae57a6df9" title="Return the error number of the last failed operation. ">pa_context_errno()</a>.  <a href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2">More...</a><br/></td></tr>
<tr class="separator:a73eb0e01743b361a0b21e767655f23b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4e7f11f879e8c77ae5289145ecf6947"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#ad4e7f11f879e8c77ae5289145ecf6947">pa_subscription_mask</a> { <br/>
&#160;&#160;<a class="el" href="def_8h.html#ad4e7f11f879e8c77ae5289145ecf6947a0f804402d1a21172806c4653f877ad9e">PA_SUBSCRIPTION_MASK_NULL</a> = 0x0000U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#ad4e7f11f879e8c77ae5289145ecf6947aec8dc8c2d352034d632a309e8b17695c">PA_SUBSCRIPTION_MASK_SINK</a> = 0x0001U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#ad4e7f11f879e8c77ae5289145ecf6947ae57ee247ad3094be9dd29ec0862c741a">PA_SUBSCRIPTION_MASK_SOURCE</a> = 0x0002U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#ad4e7f11f879e8c77ae5289145ecf6947a96265e726423993195ab2fbea7cf0439">PA_SUBSCRIPTION_MASK_SINK_INPUT</a> = 0x0004U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#ad4e7f11f879e8c77ae5289145ecf6947a58d000429ee138ae6a328ba95c36da19">PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT</a> = 0x0008U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#ad4e7f11f879e8c77ae5289145ecf6947a3d8796f69287b74efd0471977eb4b30c">PA_SUBSCRIPTION_MASK_MODULE</a> = 0x0010U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#ad4e7f11f879e8c77ae5289145ecf6947abc7e288e30c60e5493c90ba106cf8f11">PA_SUBSCRIPTION_MASK_CLIENT</a> = 0x0020U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#ad4e7f11f879e8c77ae5289145ecf6947ad5c6d1c2b25a2c3396710b110478f4f5">PA_SUBSCRIPTION_MASK_SAMPLE_CACHE</a> = 0x0040U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#ad4e7f11f879e8c77ae5289145ecf6947a6c452fe520e73f7362fb28f2304f3510">PA_SUBSCRIPTION_MASK_SERVER</a> = 0x0080U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#ad4e7f11f879e8c77ae5289145ecf6947a680e199f96d503bf25f456dfe5d95de3">PA_SUBSCRIPTION_MASK_CARD</a> = 0x0200U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#ad4e7f11f879e8c77ae5289145ecf6947abfce82a17f575eb040955e5738db4249">PA_SUBSCRIPTION_MASK_ALL</a> = 0x02ffU
<br/>
 }</td></tr>
<tr class="memdesc:ad4e7f11f879e8c77ae5289145ecf6947"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subscription event mask, as used by <a class="el" href="subscribe_8h.html#abe684246fd5cb640b0199bcfe7f801b0" title="Enable event notification. ">pa_context_subscribe()</a>  <a href="def_8h.html#ad4e7f11f879e8c77ae5289145ecf6947">More...</a><br/></td></tr>
<tr class="separator:ad4e7f11f879e8c77ae5289145ecf6947"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bedfa147a9565383f1f44642cfef6a3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a6bedfa147a9565383f1f44642cfef6a3">pa_subscription_event_type</a> { <br/>
&#160;&#160;<a class="el" href="def_8h.html#a6bedfa147a9565383f1f44642cfef6a3aa74f20e6f65d0693b7d94d52c5339e97">PA_SUBSCRIPTION_EVENT_SINK</a> = 0x0000U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6bedfa147a9565383f1f44642cfef6a3ac54e2e96492af96822b0a942c8524314">PA_SUBSCRIPTION_EVENT_SOURCE</a> = 0x0001U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6bedfa147a9565383f1f44642cfef6a3aaba3797501fa4f1386fe9e738c35b494">PA_SUBSCRIPTION_EVENT_SINK_INPUT</a> = 0x0002U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6bedfa147a9565383f1f44642cfef6a3a00f548642676a6e4d259f3063c6b5f91">PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT</a> = 0x0003U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6bedfa147a9565383f1f44642cfef6a3adee5194b7811b8bf3c07cb0164c67c8e">PA_SUBSCRIPTION_EVENT_MODULE</a> = 0x0004U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6bedfa147a9565383f1f44642cfef6a3a0f8e8478bac34e0bac5f43fc843d0fa1">PA_SUBSCRIPTION_EVENT_CLIENT</a> = 0x0005U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6bedfa147a9565383f1f44642cfef6a3ad55b6fa70a7b8e88508ceaff83bdc977">PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE</a> = 0x0006U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6bedfa147a9565383f1f44642cfef6a3ae839309e3256f5fa1ce3a1cfbf020037">PA_SUBSCRIPTION_EVENT_SERVER</a> = 0x0007U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6bedfa147a9565383f1f44642cfef6a3a37713e10b0c7f74be5762d30c78a36b0">PA_SUBSCRIPTION_EVENT_CARD</a> = 0x0009U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6bedfa147a9565383f1f44642cfef6a3a55fdfc2a2ca13b0356e1389b522f38f7">PA_SUBSCRIPTION_EVENT_FACILITY_MASK</a> = 0x000FU, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6bedfa147a9565383f1f44642cfef6a3af565d19a814abf3182b93a32537da82f">PA_SUBSCRIPTION_EVENT_NEW</a> = 0x0000U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6bedfa147a9565383f1f44642cfef6a3a3ec0f4379bb9b162ccccb21b3295c930">PA_SUBSCRIPTION_EVENT_CHANGE</a> = 0x0010U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6bedfa147a9565383f1f44642cfef6a3ae99a4fb17ac376f2319b55cd89fd425f">PA_SUBSCRIPTION_EVENT_REMOVE</a> = 0x0020U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6bedfa147a9565383f1f44642cfef6a3aa79dc3715e76129204822efba5d49219">PA_SUBSCRIPTION_EVENT_TYPE_MASK</a> = 0x0030U
<br/>
 }</td></tr>
<tr class="memdesc:a6bedfa147a9565383f1f44642cfef6a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subscription event types, as used by <a class="el" href="subscribe_8h.html#abe684246fd5cb640b0199bcfe7f801b0" title="Enable event notification. ">pa_context_subscribe()</a>  <a href="def_8h.html#a6bedfa147a9565383f1f44642cfef6a3">More...</a><br/></td></tr>
<tr class="separator:a6bedfa147a9565383f1f44642cfef6a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb8e6973350d158e982985c1d19eef3b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#aeb8e6973350d158e982985c1d19eef3b">pa_seek_mode</a> { <br/>
&#160;&#160;<a class="el" href="def_8h.html#aeb8e6973350d158e982985c1d19eef3baa2e4cfb8fb37554e73855242729edf13">PA_SEEK_RELATIVE</a> = 0, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#aeb8e6973350d158e982985c1d19eef3ba1cef43711d6cef4c21fab3f781ea5eb1">PA_SEEK_ABSOLUTE</a> = 1, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#aeb8e6973350d158e982985c1d19eef3ba97a4afa37b9941198483a6f38073ec8d">PA_SEEK_RELATIVE_ON_READ</a> = 2, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#aeb8e6973350d158e982985c1d19eef3bad58827bce33341f758e9ebfdb363b8dc">PA_SEEK_RELATIVE_END</a> = 3
<br/>
 }</td></tr>
<tr class="memdesc:aeb8e6973350d158e982985c1d19eef3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Seek type for <a class="el" href="stream_8h.html#a4fc69dec0cc202fcc174125dc88dada7" title="Write some data to the server (for playback streams). ">pa_stream_write()</a>.  <a href="def_8h.html#aeb8e6973350d158e982985c1d19eef3b">More...</a><br/></td></tr>
<tr class="separator:aeb8e6973350d158e982985c1d19eef3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20e0a15bebf78a29893f3b73ef7dadc0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a20e0a15bebf78a29893f3b73ef7dadc0">pa_sink_flags</a> { <br/>
&#160;&#160;<a class="el" href="def_8h.html#a20e0a15bebf78a29893f3b73ef7dadc0ac5fc178674832d903fee65059ea39671">PA_SINK_NOFLAGS</a> = 0x0000U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a20e0a15bebf78a29893f3b73ef7dadc0af27ef5d58899732fa239122e4ade5045">PA_SINK_HW_VOLUME_CTRL</a> = 0x0001U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a20e0a15bebf78a29893f3b73ef7dadc0a5d6e085651e952cf50e54e8d354ed4b5">PA_SINK_LATENCY</a> = 0x0002U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a20e0a15bebf78a29893f3b73ef7dadc0aea97dec9642cecd0bf9c1b8b51b1f8ae">PA_SINK_HARDWARE</a> = 0x0004U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a20e0a15bebf78a29893f3b73ef7dadc0ad65e400cb77e26c98fc04d0868cb4926">PA_SINK_NETWORK</a> = 0x0008U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a20e0a15bebf78a29893f3b73ef7dadc0a582cad073b19422cc1c6698a43207e33">PA_SINK_HW_MUTE_CTRL</a> = 0x0010U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a20e0a15bebf78a29893f3b73ef7dadc0a817bd8d4690f17364b9259642642bbc3">PA_SINK_DECIBEL_VOLUME</a> = 0x0020U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a20e0a15bebf78a29893f3b73ef7dadc0a9a021b408c52fa69a1038521e903a7cc">PA_SINK_FLAT_VOLUME</a> = 0x0040U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a20e0a15bebf78a29893f3b73ef7dadc0a96bc927c307edf8ca7a9858ece3c7241">PA_SINK_DYNAMIC_LATENCY</a> = 0x0080U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a20e0a15bebf78a29893f3b73ef7dadc0ad3f643f079f57e16e3b272c948956ba4">PA_SINK_SET_FORMATS</a> = 0x0100U
<br/>
 }</td></tr>
<tr class="memdesc:a20e0a15bebf78a29893f3b73ef7dadc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special sink flags.  <a href="def_8h.html#a20e0a15bebf78a29893f3b73ef7dadc0">More...</a><br/></td></tr>
<tr class="separator:a20e0a15bebf78a29893f3b73ef7dadc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4618f4ca1ed5b4044390f6421ac233e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#ae4618f4ca1ed5b4044390f6421ac233e">pa_sink_state</a> { <br/>
&#160;&#160;<a class="el" href="def_8h.html#ae4618f4ca1ed5b4044390f6421ac233eacae6e0b8df40102b1410b7fcb20293d4">PA_SINK_INVALID_STATE</a> = -1, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#ae4618f4ca1ed5b4044390f6421ac233ea9e6c374f0d151d25cedd32cce27f03f0">PA_SINK_RUNNING</a> = 0, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#ae4618f4ca1ed5b4044390f6421ac233eabf23df200b850bfc9d7258fc84dcdcc7">PA_SINK_IDLE</a> = 1, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#ae4618f4ca1ed5b4044390f6421ac233ea22b1491a325fd78821983b5f65448809">PA_SINK_SUSPENDED</a> = 2
<br/>
 }</td></tr>
<tr class="memdesc:ae4618f4ca1ed5b4044390f6421ac233e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sink state.  <a href="def_8h.html#ae4618f4ca1ed5b4044390f6421ac233e">More...</a><br/></td></tr>
<tr class="separator:ae4618f4ca1ed5b4044390f6421ac233e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6102010fffc6e49f6d378263e7b474b0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a6102010fffc6e49f6d378263e7b474b0">pa_source_flags</a> { <br/>
&#160;&#160;<a class="el" href="def_8h.html#a6102010fffc6e49f6d378263e7b474b0aa9655b982c2e3c8c1f3a62c2e6e21634">PA_SOURCE_NOFLAGS</a> = 0x0000U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6102010fffc6e49f6d378263e7b474b0ac5016503186fa7d8434347317626ddba">PA_SOURCE_HW_VOLUME_CTRL</a> = 0x0001U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6102010fffc6e49f6d378263e7b474b0a77a557d0903d9f459392489946417ca8">PA_SOURCE_LATENCY</a> = 0x0002U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6102010fffc6e49f6d378263e7b474b0a570ae99fab9a1f2bf04be59712adb55b">PA_SOURCE_HARDWARE</a> = 0x0004U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6102010fffc6e49f6d378263e7b474b0a4849430905aa8983971092e4d169990a">PA_SOURCE_NETWORK</a> = 0x0008U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6102010fffc6e49f6d378263e7b474b0a2c8d91c2006f59e5ca3a2abfcff10a58">PA_SOURCE_HW_MUTE_CTRL</a> = 0x0010U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6102010fffc6e49f6d378263e7b474b0af94bebefa281436eabf2cfe2b273bb23">PA_SOURCE_DECIBEL_VOLUME</a> = 0x0020U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6102010fffc6e49f6d378263e7b474b0a04d7afd6b1077c4032107ba26d233ca1">PA_SOURCE_DYNAMIC_LATENCY</a> = 0x0040U, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a6102010fffc6e49f6d378263e7b474b0ae08cf31d5a678a549b01f61dc10861af">PA_SOURCE_FLAT_VOLUME</a> = 0x0080U
<br/>
 }</td></tr>
<tr class="memdesc:a6102010fffc6e49f6d378263e7b474b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special source flags.  <a href="def_8h.html#a6102010fffc6e49f6d378263e7b474b0">More...</a><br/></td></tr>
<tr class="separator:a6102010fffc6e49f6d378263e7b474b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab083f194b7a5ba7623efc31392c4029a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#ab083f194b7a5ba7623efc31392c4029a">pa_source_state</a> { <br/>
&#160;&#160;<a class="el" href="def_8h.html#ab083f194b7a5ba7623efc31392c4029aa089937a1c8303e9179061749d2a54f14">PA_SOURCE_INVALID_STATE</a> = -1, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#ab083f194b7a5ba7623efc31392c4029aa3826ae6685582017fb4a77116ca4022f">PA_SOURCE_RUNNING</a> = 0, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#ab083f194b7a5ba7623efc31392c4029aa6e0c0c64b885ae48318a515465273589">PA_SOURCE_IDLE</a> = 1, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#ab083f194b7a5ba7623efc31392c4029aa8071cae2e1b838299d716dd68b4093c7">PA_SOURCE_SUSPENDED</a> = 2
<br/>
 }</td></tr>
<tr class="memdesc:ab083f194b7a5ba7623efc31392c4029a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Source state.  <a href="def_8h.html#ab083f194b7a5ba7623efc31392c4029a">More...</a><br/></td></tr>
<tr class="separator:ab083f194b7a5ba7623efc31392c4029a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72f790c31bf10c1d244aa078c4cdb345"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8h.html#a72f790c31bf10c1d244aa078c4cdb345">pa_port_available</a> { <br/>
&#160;&#160;<a class="el" href="def_8h.html#a72f790c31bf10c1d244aa078c4cdb345a12f1678268803a91f3cc08388e4fe595">PA_PORT_AVAILABLE_UNKNOWN</a> = 0, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a72f790c31bf10c1d244aa078c4cdb345a7bda38023b55343ee416a3c3578b76d2">PA_PORT_AVAILABLE_NO</a> = 1, 
<br/>
&#160;&#160;<a class="el" href="def_8h.html#a72f790c31bf10c1d244aa078c4cdb345ac413824a23a7cb7f747431ed8bb9362d">PA_PORT_AVAILABLE_YES</a> = 2
<br/>
 }</td></tr>
<tr class="memdesc:a72f790c31bf10c1d244aa078c4cdb345"><td class="mdescLeft">&#160;</td><td class="mdescRight">Port availability / jack detection status.  <a href="def_8h.html#a72f790c31bf10c1d244aa078c4cdb345">More...</a><br/></td></tr>
<tr class="separator:a72f790c31bf10c1d244aa078c4cdb345"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Global definitions. </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a2b61af114c2c7884e4121ad596ded686"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PA_INVALID_INDEX&#160;&#160;&#160;((uint32_t) -1)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>An invalid index. </p>

</div>
</div>
<a class="anchor" id="a086c07b5f71abaed312dcddb40fe8bd8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PA_STREAM_EVENT_FORMAT_LOST&#160;&#160;&#160;&quot;format-lost&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A stream event notifying that the stream is going to be disconnected because the underlying sink changed and no longer supports the format that was originally negotiated. </p>
<p>Clients need to connect a new stream to renegotiate a format and continue playback. </p>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a3956e517eba54376a3cecda994ba56a9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PA_STREAM_EVENT_REQUEST_CORK&#160;&#160;&#160;&quot;request-cork&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A stream policy/meta event requesting that an application should cork a specific stream. </p>
<p>See pa_stream_event_cb_t for more information. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>

</div>
</div>
<a class="anchor" id="a31db15ca191bf81a24bc00dbbaa8754a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PA_STREAM_EVENT_REQUEST_UNCORK&#160;&#160;&#160;&quot;request-uncork&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A stream policy/meta event requesting that an application should cork a specific stream. </p>
<p>See pa_stream_event_cb_t for more information, </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>

</div>
</div>
<a class="anchor" id="a2f8ff1ac366e70a1ee49ec8236662f49"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define pa_subscription_match_flags</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">m, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">t&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(!!((m) &amp; (1 &lt;&lt; ((t) &amp; <a class="el" href="def_8h.html#a6bedfa147a9565383f1f44642cfef6a3a55fdfc2a2ca13b0356e1389b522f38f7">PA_SUBSCRIPTION_EVENT_FACILITY_MASK</a>))))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return one if an event type t matches an event mask bitfield. </p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a4afaa08ca815219cc0ae76efb3754cd0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structpa__buffer__attr.html">pa_buffer_attr</a>  <a class="el" href="structpa__buffer__attr.html">pa_buffer_attr</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Playback and record buffer metrics. </p>

</div>
</div>
<a class="anchor" id="aa330581bb9b282e6f6a28a3a2b4b634a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="def_8h.html#abe3b87f73f6de46609b059e10827863b">pa_context_flags</a>  <a class="el" href="def_8h.html#aa330581bb9b282e6f6a28a3a2b4b634a">pa_context_flags_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Some special flags for contexts. </p>

</div>
</div>
<a class="anchor" id="a696774cc2f758448c5ab10c2dd786c9d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="def_8h.html#a892684c03cf9edaed1a95e609ec7573c">pa_context_state</a>  <a class="el" href="def_8h.html#a696774cc2f758448c5ab10c2dd786c9d">pa_context_state_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The state of a connection context. </p>

</div>
</div>
<a class="anchor" id="a66f683de1e98548311665aa43c3680d4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="def_8h.html#ac3a74c95bc3d5898d20401abaa5456cb">pa_device_type</a>  <a class="el" href="def_8h.html#a66f683de1e98548311665aa43c3680d4">pa_device_type_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The type of device we are dealing with. </p>

</div>
</div>
<a class="anchor" id="a29b103a8a25a2d0d90cf23ab8b244677"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="def_8h.html#a6852d9da8019309fa6e776d33730156d">pa_direction</a>  <a class="el" href="def_8h.html#a29b103a8a25a2d0d90cf23ab8b244677">pa_direction_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Direction bitfield - while we currently do not expose anything bidirectional, one should test against the bit instead of the value (e.g. if (d &amp; PA_DIRECTION_OUTPUT)), because we might add bidirectional stuff in the future. </p>
<dl class="section since"><dt>Since</dt><dd>2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="afc87b1be76a2597e08eb56a51e876a5b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2">pa_error_code</a>  <a class="el" href="def_8h.html#afc87b1be76a2597e08eb56a51e876a5b">pa_error_code_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Error values as used by <a class="el" href="context_8h.html#aa8262c715ef8c48bcd2fbc5ae57a6df9" title="Return the error number of the last failed operation. ">pa_context_errno()</a>. </p>
<p>Use <a class="el" href="error_8h.html#a593deb681fba75fad4b3a2d65d0ac2b2" title="Return a human readable error message for the specified numeric error code. ">pa_strerror()</a> to convert these values to human readable strings </p>

</div>
</div>
<a class="anchor" id="a85c8c3063d8218304c041cb9f83ec431"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* pa_free_cb_t)(void *p)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A generic free() like callback prototype. </p>

</div>
</div>
<a class="anchor" id="a7690ad935f83aee30828308c8e63bda4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="def_8h.html#ac0a07dd2ef771a72d48e5ba2c56ac3bc">pa_operation_state</a>  <a class="el" href="def_8h.html#a7690ad935f83aee30828308c8e63bda4">pa_operation_state_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The state of an operation. </p>

</div>
</div>
<a class="anchor" id="ab739b4583c306689d5b1a673c500b2e0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="def_8h.html#a72f790c31bf10c1d244aa078c4cdb345">pa_port_available</a>  <a class="el" href="def_8h.html#ab739b4583c306689d5b1a673c500b2e0">pa_port_available_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Port availability / jack detection status. </p>
<dl class="section since"><dt>Since</dt><dd>2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a3bd011cdb61caf568b544715b1b89def"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="def_8h.html#aeb8e6973350d158e982985c1d19eef3b">pa_seek_mode</a>  <a class="el" href="def_8h.html#a3bd011cdb61caf568b544715b1b89def">pa_seek_mode_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Seek type for <a class="el" href="stream_8h.html#a4fc69dec0cc202fcc174125dc88dada7" title="Write some data to the server (for playback streams). ">pa_stream_write()</a>. </p>

</div>
</div>
<a class="anchor" id="a33360cff8c751ad1b8a557e074463a99"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="def_8h.html#a20e0a15bebf78a29893f3b73ef7dadc0">pa_sink_flags</a>  <a class="el" href="def_8h.html#a33360cff8c751ad1b8a557e074463a99">pa_sink_flags_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Special sink flags. </p>

</div>
</div>
<a class="anchor" id="af1ba5b1cd9a58a5a914231862779a88f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="def_8h.html#ae4618f4ca1ed5b4044390f6421ac233e">pa_sink_state</a>  <a class="el" href="def_8h.html#af1ba5b1cd9a58a5a914231862779a88f">pa_sink_state_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sink state. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>

</div>
</div>
<a class="anchor" id="a1177496dc4c63e0cce094ed849a9ef8d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="def_8h.html#a6102010fffc6e49f6d378263e7b474b0">pa_source_flags</a>  <a class="el" href="def_8h.html#a1177496dc4c63e0cce094ed849a9ef8d">pa_source_flags_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Special source flags. </p>

</div>
</div>
<a class="anchor" id="a2be5558ab768f960e50c18e252c2f906"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="def_8h.html#ab083f194b7a5ba7623efc31392c4029a">pa_source_state</a>  <a class="el" href="def_8h.html#a2be5558ab768f960e50c18e252c2f906">pa_source_state_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Source state. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>

</div>
</div>
<a class="anchor" id="a9a92c0fc96a1172bbb589734a7b1372a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structpa__spawn__api.html">pa_spawn_api</a>  <a class="el" href="structpa__spawn__api.html">pa_spawn_api</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A structure for the spawn api. </p>
<p>This may be used to integrate auto spawned daemons into your application. For more information see <a class="el" href="context_8h.html#a983ce13d45c5f4b0db8e1a34e21f9fce" title="Connect the context to the specified server. ">pa_context_connect()</a>. When spawning a new child process the waitpid() is used on the child's PID. The spawn routine will not block or ignore SIGCHLD signals, since this cannot be done in a thread compatible way. You might have to do this in prefork/postfork. </p>

</div>
</div>
<a class="anchor" id="a637b1451881b8c0b0f98bafe115d7254"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="def_8h.html#a7311932553b3f7962a092906576bc347">pa_stream_direction</a>  <a class="el" href="def_8h.html#a637b1451881b8c0b0f98bafe115d7254">pa_stream_direction_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The direction of a pa_stream object. </p>

</div>
</div>
<a class="anchor" id="a9328c83d983878efb0627b99d949a3cc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fc">pa_stream_flags</a>  <a class="el" href="def_8h.html#a9328c83d983878efb0627b99d949a3cc">pa_stream_flags_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Some special flags for stream connections. </p>

</div>
</div>
<a class="anchor" id="a112cf6dbe9ac5554fddc8da251797477"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="def_8h.html#a71341d6e189549fc0bd25ab669016df9">pa_stream_state</a>  <a class="el" href="def_8h.html#a112cf6dbe9ac5554fddc8da251797477">pa_stream_state_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The state of a stream. </p>

</div>
</div>
<a class="anchor" id="acbc7a15d7a9fe0722b02e2d739200035"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="def_8h.html#a6bedfa147a9565383f1f44642cfef6a3">pa_subscription_event_type</a>  <a class="el" href="def_8h.html#acbc7a15d7a9fe0722b02e2d739200035">pa_subscription_event_type_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Subscription event types, as used by <a class="el" href="subscribe_8h.html#abe684246fd5cb640b0199bcfe7f801b0" title="Enable event notification. ">pa_context_subscribe()</a> </p>

</div>
</div>
<a class="anchor" id="a09d0e336675b2cb337d572c03e67eb93"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="def_8h.html#ad4e7f11f879e8c77ae5289145ecf6947">pa_subscription_mask</a>  <a class="el" href="def_8h.html#a09d0e336675b2cb337d572c03e67eb93">pa_subscription_mask_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Subscription event mask, as used by <a class="el" href="subscribe_8h.html#abe684246fd5cb640b0199bcfe7f801b0" title="Enable event notification. ">pa_context_subscribe()</a> </p>

</div>
</div>
<a class="anchor" id="afa02ed022c6f211ef9165dc3401f913e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structpa__timing__info.html">pa_timing_info</a>  <a class="el" href="structpa__timing__info.html">pa_timing_info</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A structure for all kinds of timing information of a stream. </p>
<p>See <a class="el" href="stream_8h.html#ac8300aa5136a223b14a5384f44564284" title="Request a timing info structure update for a stream. ">pa_stream_update_timing_info()</a> and <a class="el" href="stream_8h.html#a090147751441a97e04a4acef1d6514cb" title="Return the latest raw timing data structure. ">pa_stream_get_timing_info()</a>. The total output latency a sample that is written with <a class="el" href="stream_8h.html#a4fc69dec0cc202fcc174125dc88dada7" title="Write some data to the server (for playback streams). ">pa_stream_write()</a> takes to be played may be estimated by sink_usec+buffer_usec+transport_usec. (where buffer_usec is defined as pa_bytes_to_usec(write_index-read_index)) The output buffer which buffer_usec relates to may be manipulated freely (with <a class="el" href="stream_8h.html#a4fc69dec0cc202fcc174125dc88dada7" title="Write some data to the server (for playback streams). ">pa_stream_write()</a>'s seek argument, <a class="el" href="stream_8h.html#ac9c524eb275d258b00c553409682409c" title="Flush the playback or record buffer of this stream. ">pa_stream_flush()</a> and friends), the buffers sink_usec and source_usec relate to are first-in first-out (FIFO) buffers which cannot be flushed or manipulated in any way. The total input latency a sample that is recorded takes to be delivered to the application is: source_usec+buffer_usec+transport_usec-sink_usec. (Take care of sign issues!) When connected to a monitor source sink_usec contains the latency of the owning sink. The two latency estimations described here are implemented in <a class="el" href="stream_8h.html#aa521efcc16fe2abf0f8461462432ac16" title="Determine the total stream latency. ">pa_stream_get_latency()</a>. Please note that this structure can be extended as part of evolutionary API updates at any time in any new release. </p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="abe3b87f73f6de46609b059e10827863b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="def_8h.html#abe3b87f73f6de46609b059e10827863b">pa_context_flags</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Some special flags for contexts. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="abe3b87f73f6de46609b059e10827863baa23a83a50fc72215809b731be06aacaa"></a>PA_CONTEXT_NOFLAGS</em>&nbsp;</td><td class="fielddoc">
<p>Flag to pass when no specific options are needed (used to avoid casting) </p>
<dl class="section since"><dt>Since</dt><dd>0.9.19 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="abe3b87f73f6de46609b059e10827863ba33a917479765480e6f45c7a1839a1703"></a>PA_CONTEXT_NOAUTOSPAWN</em>&nbsp;</td><td class="fielddoc">
<p>Disabled autospawning of the PulseAudio daemon if required. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="abe3b87f73f6de46609b059e10827863bae2d9e55538c81490efb84e31be6e3101"></a>PA_CONTEXT_NOFAIL</em>&nbsp;</td><td class="fielddoc">
<p>Don't fail if the daemon is not available when <a class="el" href="context_8h.html#a983ce13d45c5f4b0db8e1a34e21f9fce" title="Connect the context to the specified server. ">pa_context_connect()</a> is called, instead enter PA_CONTEXT_CONNECTING state and wait for the daemon to appear. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a892684c03cf9edaed1a95e609ec7573c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="def_8h.html#a892684c03cf9edaed1a95e609ec7573c">pa_context_state</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The state of a connection context. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a892684c03cf9edaed1a95e609ec7573ca23c5b14caa61813434ee8f449328cbe0"></a>PA_CONTEXT_UNCONNECTED</em>&nbsp;</td><td class="fielddoc">
<p>The context hasn't been connected yet. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a892684c03cf9edaed1a95e609ec7573ca9a30a992d40cfcfc19867049e99004c1"></a>PA_CONTEXT_CONNECTING</em>&nbsp;</td><td class="fielddoc">
<p>A connection is being established. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a892684c03cf9edaed1a95e609ec7573cabd55965cd2d6cfea52cc982c8837e857"></a>PA_CONTEXT_AUTHORIZING</em>&nbsp;</td><td class="fielddoc">
<p>The client is authorizing itself to the daemon. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a892684c03cf9edaed1a95e609ec7573ca222cd7356d0f906a88598d09b6ed0208"></a>PA_CONTEXT_SETTING_NAME</em>&nbsp;</td><td class="fielddoc">
<p>The client is passing its application name to the daemon. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a892684c03cf9edaed1a95e609ec7573ca281febf058e211cb87dfdadf146d9670"></a>PA_CONTEXT_READY</em>&nbsp;</td><td class="fielddoc">
<p>The connection is established, the context is ready to execute operations. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a892684c03cf9edaed1a95e609ec7573ca10d4edadad12e6e49edb591b06c649ae"></a>PA_CONTEXT_FAILED</em>&nbsp;</td><td class="fielddoc">
<p>The connection failed or was disconnected. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a892684c03cf9edaed1a95e609ec7573ca904a83b99b3ccd6bb870b3f86f0f3cfd"></a>PA_CONTEXT_TERMINATED</em>&nbsp;</td><td class="fielddoc">
<p>The connection was terminated cleanly. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ac3a74c95bc3d5898d20401abaa5456cb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="def_8h.html#ac3a74c95bc3d5898d20401abaa5456cb">pa_device_type</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The type of device we are dealing with. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ac3a74c95bc3d5898d20401abaa5456cba859f4109bff514902529376e4beae65b"></a>PA_DEVICE_TYPE_SINK</em>&nbsp;</td><td class="fielddoc">
<p>Playback device. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ac3a74c95bc3d5898d20401abaa5456cba1d8454194fcdd57f627e6c154daa1ed7"></a>PA_DEVICE_TYPE_SOURCE</em>&nbsp;</td><td class="fielddoc">
<p>Recording device. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a6852d9da8019309fa6e776d33730156d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="def_8h.html#a6852d9da8019309fa6e776d33730156d">pa_direction</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Direction bitfield - while we currently do not expose anything bidirectional, one should test against the bit instead of the value (e.g. if (d &amp; PA_DIRECTION_OUTPUT)), because we might add bidirectional stuff in the future. </p>
<dl class="section since"><dt>Since</dt><dd>2.0 </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a6852d9da8019309fa6e776d33730156da0a6d4b4192069702951187b48b49d452"></a>PA_DIRECTION_OUTPUT</em>&nbsp;</td><td class="fielddoc">
<p>Output direction. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6852d9da8019309fa6e776d33730156da6b24f67c02098254b9fdfef7c50c5579"></a>PA_DIRECTION_INPUT</em>&nbsp;</td><td class="fielddoc">
<p>Input direction. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="def_8h.html#a73eb0e01743b361a0b21e767655f23b2">pa_error_code</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Error values as used by <a class="el" href="context_8h.html#aa8262c715ef8c48bcd2fbc5ae57a6df9" title="Return the error number of the last failed operation. ">pa_context_errno()</a>. </p>
<p>Use <a class="el" href="error_8h.html#a593deb681fba75fad4b3a2d65d0ac2b2" title="Return a human readable error message for the specified numeric error code. ">pa_strerror()</a> to convert these values to human readable strings </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2af5fc0472cdaf8915456b99b766e11221"></a>PA_OK</em>&nbsp;</td><td class="fielddoc">
<p>No error. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2ac923fcaba3b251ea5adc1faf08a99bba"></a>PA_ERR_ACCESS</em>&nbsp;</td><td class="fielddoc">
<p>Access failure. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2afb1b764dc73ac510f1dec289cb6cbe13"></a>PA_ERR_COMMAND</em>&nbsp;</td><td class="fielddoc">
<p>Unknown command. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2a2be35f69f0fc35514769899dfbafb682"></a>PA_ERR_INVALID</em>&nbsp;</td><td class="fielddoc">
<p>Invalid argument. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2abc4a83acee545e2f38dcca046e23f9f8"></a>PA_ERR_EXIST</em>&nbsp;</td><td class="fielddoc">
<p>Entity exists. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2ad08c0214e4e238a621e2e1199ab29458"></a>PA_ERR_NOENTITY</em>&nbsp;</td><td class="fielddoc">
<p>No such entity. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2a2d68d564cb83d923b4a274c793879912"></a>PA_ERR_CONNECTIONREFUSED</em>&nbsp;</td><td class="fielddoc">
<p>Connection refused. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2a3fbd0cf4b6f78efb191b26535212f85b"></a>PA_ERR_PROTOCOL</em>&nbsp;</td><td class="fielddoc">
<p>Protocol error. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2a48290af3d503d647b7aaf8e9e5525b43"></a>PA_ERR_TIMEOUT</em>&nbsp;</td><td class="fielddoc">
<p>Timeout. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2ae85f28b7280955a2da5cf87555d5e077"></a>PA_ERR_AUTHKEY</em>&nbsp;</td><td class="fielddoc">
<p>No authorization key. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2afc596233f84a42ffc098cfb8c36db3b0"></a>PA_ERR_INTERNAL</em>&nbsp;</td><td class="fielddoc">
<p>Internal error. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2abbdc7ae20a46df00128ed63c84b238b3"></a>PA_ERR_CONNECTIONTERMINATED</em>&nbsp;</td><td class="fielddoc">
<p>Connection terminated. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2a2e85779d75b88b0a7ed354ddb44a1632"></a>PA_ERR_KILLED</em>&nbsp;</td><td class="fielddoc">
<p>Entity killed. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2ab82e0c8dac752b88bd3a1b5b0d26205a"></a>PA_ERR_INVALIDSERVER</em>&nbsp;</td><td class="fielddoc">
<p>Invalid server. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2aab527c20cdfaccdde9739d59f61e8376"></a>PA_ERR_MODINITFAILED</em>&nbsp;</td><td class="fielddoc">
<p>Module initialization failed. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2a0fe7c99c57b59b842d4830c4fe3864c6"></a>PA_ERR_BADSTATE</em>&nbsp;</td><td class="fielddoc">
<p>Bad state. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2a824dee509e78829143aa275e9e5b2ac8"></a>PA_ERR_NODATA</em>&nbsp;</td><td class="fielddoc">
<p>No data. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2a190d1a7d049d9f9120cba44bcbcb5424"></a>PA_ERR_VERSION</em>&nbsp;</td><td class="fielddoc">
<p>Incompatible protocol version. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2a5e686a57253cd40aa6bcc95e4315b6fd"></a>PA_ERR_TOOLARGE</em>&nbsp;</td><td class="fielddoc">
<p>Data too large. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2a188ffa56ff6b3e472a6f28f9a5f933c1"></a>PA_ERR_NOTSUPPORTED</em>&nbsp;</td><td class="fielddoc">
<p>Operation not supported. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.5 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2a7c51c44d1d2fd0eccf79f1d697bebbba"></a>PA_ERR_UNKNOWN</em>&nbsp;</td><td class="fielddoc">
<p>The error code was unknown to the client. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2aed5d4dc5cd6646cdb4573f3a5d27c061"></a>PA_ERR_NOEXTENSION</em>&nbsp;</td><td class="fielddoc">
<p>Extension does not exist. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.12 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2ace52b7489a663ffe115b43f7f5b5a158"></a>PA_ERR_OBSOLETE</em>&nbsp;</td><td class="fielddoc">
<p>Obsolete functionality. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2a973a6c75d49985d4d5bc067e64626a92"></a>PA_ERR_NOTIMPLEMENTED</em>&nbsp;</td><td class="fielddoc">
<p>Missing implementation. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2a7d04c9f451f02134ad31fc7a935da71c"></a>PA_ERR_FORKED</em>&nbsp;</td><td class="fielddoc">
<p>The caller forked without calling execve() and tried to reuse the context. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2af3ad7ef07dcc9a89bb209bf0d5b4c468"></a>PA_ERR_IO</em>&nbsp;</td><td class="fielddoc">
<p>An IO error happened. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.16 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2ab20491400a4b5b59b68e570b18393339"></a>PA_ERR_BUSY</em>&nbsp;</td><td class="fielddoc">
<p>Device or resource busy. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.17 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a73eb0e01743b361a0b21e767655f23b2a640110d5722955d83d3ad362517e46b7"></a>PA_ERR_MAX</em>&nbsp;</td><td class="fielddoc">
<p>Not really an error but the first invalid error code. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ac0a07dd2ef771a72d48e5ba2c56ac3bc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="def_8h.html#ac0a07dd2ef771a72d48e5ba2c56ac3bc">pa_operation_state</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The state of an operation. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ac0a07dd2ef771a72d48e5ba2c56ac3bca9486b0f1b7da21dcc34f5cb3f7091c6f"></a>PA_OPERATION_RUNNING</em>&nbsp;</td><td class="fielddoc">
<p>The operation is still running. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ac0a07dd2ef771a72d48e5ba2c56ac3bca902b2118f324bc25b96ab6d55410f1c3"></a>PA_OPERATION_DONE</em>&nbsp;</td><td class="fielddoc">
<p>The operation has completed. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ac0a07dd2ef771a72d48e5ba2c56ac3bca7475508ea465f35e473d01adf5876656"></a>PA_OPERATION_CANCELLED</em>&nbsp;</td><td class="fielddoc">
<p>The operation has been cancelled. </p>
<p>Operations may get cancelled by the application, or as a result of the context getting disconneted while the operation is pending. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a72f790c31bf10c1d244aa078c4cdb345"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="def_8h.html#a72f790c31bf10c1d244aa078c4cdb345">pa_port_available</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Port availability / jack detection status. </p>
<dl class="section since"><dt>Since</dt><dd>2.0 </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a72f790c31bf10c1d244aa078c4cdb345a12f1678268803a91f3cc08388e4fe595"></a>PA_PORT_AVAILABLE_UNKNOWN</em>&nbsp;</td><td class="fielddoc">
<p>This port does not support jack detection. </p>
<dl class="section since"><dt>Since</dt><dd>2.0 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a72f790c31bf10c1d244aa078c4cdb345a7bda38023b55343ee416a3c3578b76d2"></a>PA_PORT_AVAILABLE_NO</em>&nbsp;</td><td class="fielddoc">
<p>This port is not available, likely because the jack is not plugged in. </p>
<dl class="section since"><dt>Since</dt><dd>2.0 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a72f790c31bf10c1d244aa078c4cdb345ac413824a23a7cb7f747431ed8bb9362d"></a>PA_PORT_AVAILABLE_YES</em>&nbsp;</td><td class="fielddoc">
<p>This port is available, likely because the jack is plugged in. </p>
<dl class="section since"><dt>Since</dt><dd>2.0 </dd></dl>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="aeb8e6973350d158e982985c1d19eef3b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="def_8h.html#aeb8e6973350d158e982985c1d19eef3b">pa_seek_mode</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Seek type for <a class="el" href="stream_8h.html#a4fc69dec0cc202fcc174125dc88dada7" title="Write some data to the server (for playback streams). ">pa_stream_write()</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="aeb8e6973350d158e982985c1d19eef3baa2e4cfb8fb37554e73855242729edf13"></a>PA_SEEK_RELATIVE</em>&nbsp;</td><td class="fielddoc">
<p>Seek relatively to the write index. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="aeb8e6973350d158e982985c1d19eef3ba1cef43711d6cef4c21fab3f781ea5eb1"></a>PA_SEEK_ABSOLUTE</em>&nbsp;</td><td class="fielddoc">
<p>Seek relatively to the start of the buffer queue. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="aeb8e6973350d158e982985c1d19eef3ba97a4afa37b9941198483a6f38073ec8d"></a>PA_SEEK_RELATIVE_ON_READ</em>&nbsp;</td><td class="fielddoc">
<p>Seek relatively to the read index. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="aeb8e6973350d158e982985c1d19eef3bad58827bce33341f758e9ebfdb363b8dc"></a>PA_SEEK_RELATIVE_END</em>&nbsp;</td><td class="fielddoc">
<p>Seek relatively to the current end of the buffer queue. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a20e0a15bebf78a29893f3b73ef7dadc0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="def_8h.html#a20e0a15bebf78a29893f3b73ef7dadc0">pa_sink_flags</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Special sink flags. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a20e0a15bebf78a29893f3b73ef7dadc0ac5fc178674832d903fee65059ea39671"></a>PA_SINK_NOFLAGS</em>&nbsp;</td><td class="fielddoc">
<p>Flag to pass when no specific options are needed (used to avoid casting) </p>
<dl class="section since"><dt>Since</dt><dd>0.9.19 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a20e0a15bebf78a29893f3b73ef7dadc0af27ef5d58899732fa239122e4ade5045"></a>PA_SINK_HW_VOLUME_CTRL</em>&nbsp;</td><td class="fielddoc">
<p>Supports hardware volume control. </p>
<p>This is a dynamic flag and may change at runtime after the sink has initialized </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a20e0a15bebf78a29893f3b73ef7dadc0a5d6e085651e952cf50e54e8d354ed4b5"></a>PA_SINK_LATENCY</em>&nbsp;</td><td class="fielddoc">
<p>Supports latency querying. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a20e0a15bebf78a29893f3b73ef7dadc0aea97dec9642cecd0bf9c1b8b51b1f8ae"></a>PA_SINK_HARDWARE</em>&nbsp;</td><td class="fielddoc">
<p>Is a hardware sink of some kind, in contrast to "virtual"/software sinks. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.3 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a20e0a15bebf78a29893f3b73ef7dadc0ad65e400cb77e26c98fc04d0868cb4926"></a>PA_SINK_NETWORK</em>&nbsp;</td><td class="fielddoc">
<p>Is a networked sink of some kind. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.7 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a20e0a15bebf78a29893f3b73ef7dadc0a582cad073b19422cc1c6698a43207e33"></a>PA_SINK_HW_MUTE_CTRL</em>&nbsp;</td><td class="fielddoc">
<p>Supports hardware mute control. </p>
<p>This is a dynamic flag and may change at runtime after the sink has initialized </p>
<dl class="section since"><dt>Since</dt><dd>0.9.11 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a20e0a15bebf78a29893f3b73ef7dadc0a817bd8d4690f17364b9259642642bbc3"></a>PA_SINK_DECIBEL_VOLUME</em>&nbsp;</td><td class="fielddoc">
<p>Volume can be translated to dB with <a class="el" href="volume_8h.html#a297851419c1e994d9fd2cfbb49aa480a" title="Convert a volume to a decibel value (amplitude, not power). ">pa_sw_volume_to_dB()</a>. </p>
<p>This is a dynamic flag and may change at runtime after the sink has initialized </p>
<dl class="section since"><dt>Since</dt><dd>0.9.11 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a20e0a15bebf78a29893f3b73ef7dadc0a9a021b408c52fa69a1038521e903a7cc"></a>PA_SINK_FLAT_VOLUME</em>&nbsp;</td><td class="fielddoc">
<p>This sink is in flat volume mode, i.e. always the maximum of the volume of all connected inputs. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a20e0a15bebf78a29893f3b73ef7dadc0a96bc927c307edf8ca7a9858ece3c7241"></a>PA_SINK_DYNAMIC_LATENCY</em>&nbsp;</td><td class="fielddoc">
<p>The latency can be adjusted dynamically depending on the needs of the connected streams. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a20e0a15bebf78a29893f3b73ef7dadc0ad3f643f079f57e16e3b272c948956ba4"></a>PA_SINK_SET_FORMATS</em>&nbsp;</td><td class="fielddoc">
<p>The sink allows setting what formats are supported by the connected hardware. </p>
<p>The actual functionality to do this might be provided by an extension. </p>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ae4618f4ca1ed5b4044390f6421ac233e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="def_8h.html#ae4618f4ca1ed5b4044390f6421ac233e">pa_sink_state</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sink state. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ae4618f4ca1ed5b4044390f6421ac233eacae6e0b8df40102b1410b7fcb20293d4"></a>PA_SINK_INVALID_STATE</em>&nbsp;</td><td class="fielddoc">
<p>This state is used when the server does not support sink state introspection. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ae4618f4ca1ed5b4044390f6421ac233ea9e6c374f0d151d25cedd32cce27f03f0"></a>PA_SINK_RUNNING</em>&nbsp;</td><td class="fielddoc">
<p>Running, sink is playing and used by at least one non-corked sink-input. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ae4618f4ca1ed5b4044390f6421ac233eabf23df200b850bfc9d7258fc84dcdcc7"></a>PA_SINK_IDLE</em>&nbsp;</td><td class="fielddoc">
<p>When idle, the sink is playing but there is no non-corked sink-input attached to it. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ae4618f4ca1ed5b4044390f6421ac233ea22b1491a325fd78821983b5f65448809"></a>PA_SINK_SUSPENDED</em>&nbsp;</td><td class="fielddoc">
<p>When suspended, actual sink access can be closed, for instance. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a6102010fffc6e49f6d378263e7b474b0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="def_8h.html#a6102010fffc6e49f6d378263e7b474b0">pa_source_flags</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Special source flags. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a6102010fffc6e49f6d378263e7b474b0aa9655b982c2e3c8c1f3a62c2e6e21634"></a>PA_SOURCE_NOFLAGS</em>&nbsp;</td><td class="fielddoc">
<p>Flag to pass when no specific options are needed (used to avoid casting) </p>
<dl class="section since"><dt>Since</dt><dd>0.9.19 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6102010fffc6e49f6d378263e7b474b0ac5016503186fa7d8434347317626ddba"></a>PA_SOURCE_HW_VOLUME_CTRL</em>&nbsp;</td><td class="fielddoc">
<p>Supports hardware volume control. </p>
<p>This is a dynamic flag and may change at runtime after the source has initialized </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6102010fffc6e49f6d378263e7b474b0a77a557d0903d9f459392489946417ca8"></a>PA_SOURCE_LATENCY</em>&nbsp;</td><td class="fielddoc">
<p>Supports latency querying. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6102010fffc6e49f6d378263e7b474b0a570ae99fab9a1f2bf04be59712adb55b"></a>PA_SOURCE_HARDWARE</em>&nbsp;</td><td class="fielddoc">
<p>Is a hardware source of some kind, in contrast to "virtual"/software source. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.3 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6102010fffc6e49f6d378263e7b474b0a4849430905aa8983971092e4d169990a"></a>PA_SOURCE_NETWORK</em>&nbsp;</td><td class="fielddoc">
<p>Is a networked source of some kind. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.7 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6102010fffc6e49f6d378263e7b474b0a2c8d91c2006f59e5ca3a2abfcff10a58"></a>PA_SOURCE_HW_MUTE_CTRL</em>&nbsp;</td><td class="fielddoc">
<p>Supports hardware mute control. </p>
<p>This is a dynamic flag and may change at runtime after the source has initialized </p>
<dl class="section since"><dt>Since</dt><dd>0.9.11 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6102010fffc6e49f6d378263e7b474b0af94bebefa281436eabf2cfe2b273bb23"></a>PA_SOURCE_DECIBEL_VOLUME</em>&nbsp;</td><td class="fielddoc">
<p>Volume can be translated to dB with <a class="el" href="volume_8h.html#a297851419c1e994d9fd2cfbb49aa480a" title="Convert a volume to a decibel value (amplitude, not power). ">pa_sw_volume_to_dB()</a>. </p>
<p>This is a dynamic flag and may change at runtime after the source has initialized </p>
<dl class="section since"><dt>Since</dt><dd>0.9.11 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6102010fffc6e49f6d378263e7b474b0a04d7afd6b1077c4032107ba26d233ca1"></a>PA_SOURCE_DYNAMIC_LATENCY</em>&nbsp;</td><td class="fielddoc">
<p>The latency can be adjusted dynamically depending on the needs of the connected streams. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6102010fffc6e49f6d378263e7b474b0ae08cf31d5a678a549b01f61dc10861af"></a>PA_SOURCE_FLAT_VOLUME</em>&nbsp;</td><td class="fielddoc">
<p>This source is in flat volume mode, i.e. always the maximum of the volume of all connected outputs. </p>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ab083f194b7a5ba7623efc31392c4029a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="def_8h.html#ab083f194b7a5ba7623efc31392c4029a">pa_source_state</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Source state. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ab083f194b7a5ba7623efc31392c4029aa089937a1c8303e9179061749d2a54f14"></a>PA_SOURCE_INVALID_STATE</em>&nbsp;</td><td class="fielddoc">
<p>This state is used when the server does not support source state introspection. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ab083f194b7a5ba7623efc31392c4029aa3826ae6685582017fb4a77116ca4022f"></a>PA_SOURCE_RUNNING</em>&nbsp;</td><td class="fielddoc">
<p>Running, source is recording and used by at least one non-corked source-output. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ab083f194b7a5ba7623efc31392c4029aa6e0c0c64b885ae48318a515465273589"></a>PA_SOURCE_IDLE</em>&nbsp;</td><td class="fielddoc">
<p>When idle, the source is still recording but there is no non-corked source-output. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ab083f194b7a5ba7623efc31392c4029aa8071cae2e1b838299d716dd68b4093c7"></a>PA_SOURCE_SUSPENDED</em>&nbsp;</td><td class="fielddoc">
<p>When suspended, actual source access can be closed, for instance. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a7311932553b3f7962a092906576bc347"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="def_8h.html#a7311932553b3f7962a092906576bc347">pa_stream_direction</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The direction of a pa_stream object. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a7311932553b3f7962a092906576bc347a9ae703cf8a9a13659871eb7172715068"></a>PA_STREAM_NODIRECTION</em>&nbsp;</td><td class="fielddoc">
<p>Invalid direction. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a7311932553b3f7962a092906576bc347acf403563d8f87f59f73c9674fee5a166"></a>PA_STREAM_PLAYBACK</em>&nbsp;</td><td class="fielddoc">
<p>Playback stream. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a7311932553b3f7962a092906576bc347a68e8f73b865d14e172cc45db4ad3aaf7"></a>PA_STREAM_RECORD</em>&nbsp;</td><td class="fielddoc">
<p>Record stream. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a7311932553b3f7962a092906576bc347acf2cd03e78f1a2de894cfde627c66990"></a>PA_STREAM_UPLOAD</em>&nbsp;</td><td class="fielddoc">
<p>Sample upload stream. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a6966d809483170bc6d2e6c16188850fc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="def_8h.html#a6966d809483170bc6d2e6c16188850fc">pa_stream_flags</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Some special flags for stream connections. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a6966d809483170bc6d2e6c16188850fca904feb6fc7ff1d78d3159cbdd5abea2e"></a>PA_STREAM_NOFLAGS</em>&nbsp;</td><td class="fielddoc">
<p>Flag to pass when no specific options are needed (used to avoid casting) </p>
<dl class="section since"><dt>Since</dt><dd>0.9.19 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6966d809483170bc6d2e6c16188850fca180238fa2f446e9694f405104095027e"></a>PA_STREAM_START_CORKED</em>&nbsp;</td><td class="fielddoc">
<p>Create the stream corked, requiring an explicit <a class="el" href="stream_8h.html#a14e698233ac2d246646651955ab0ec7b" title="Pause (or resume) playback of this stream temporarily. ">pa_stream_cork()</a> call to uncork it. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6966d809483170bc6d2e6c16188850fca598904dec6cc11ae06be7a3b16d13193"></a>PA_STREAM_INTERPOLATE_TIMING</em>&nbsp;</td><td class="fielddoc">
<p>Interpolate the latency for this stream. </p>
<p>When enabled, <a class="el" href="stream_8h.html#aa521efcc16fe2abf0f8461462432ac16" title="Determine the total stream latency. ">pa_stream_get_latency()</a> and <a class="el" href="stream_8h.html#a9b1caba84c7a5c90efdbcaed31e9dfca" title="Return the current playback/recording time. ">pa_stream_get_time()</a> will try to estimate the current record/playback time based on the local time that passed since the last timing info update. Using this option has the advantage of not requiring a whole roundtrip when the current playback/recording time is needed. Consider using this option when requesting latency information frequently. This is especially useful on long latency network connections. It makes a lot of sense to combine this option with PA_STREAM_AUTO_TIMING_UPDATE. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6966d809483170bc6d2e6c16188850fca7e7d45d9d07ef525748b0e962598bda5"></a>PA_STREAM_NOT_MONOTONIC</em>&nbsp;</td><td class="fielddoc">
<p>Don't force the time to increase monotonically. </p>
<p>If this option is enabled, <a class="el" href="stream_8h.html#a9b1caba84c7a5c90efdbcaed31e9dfca" title="Return the current playback/recording time. ">pa_stream_get_time()</a> will not necessarily return always monotonically increasing time values on each call. This may confuse applications which cannot deal with time going 'backwards', but has the advantage that bad transport latency estimations that caused the time to to jump ahead can be corrected quickly, without the need to wait. (Please note that this flag was named PA_STREAM_NOT_MONOTONOUS in releases prior to 0.9.11. The old name is still defined too, for compatibility reasons. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6966d809483170bc6d2e6c16188850fcaa2b29ab0108115d9a3e0fee307b2934d"></a>PA_STREAM_AUTO_TIMING_UPDATE</em>&nbsp;</td><td class="fielddoc">
<p>If set timing update requests are issued periodically automatically. </p>
<p>Combined with PA_STREAM_INTERPOLATE_TIMING you will be able to query the current time and latency with <a class="el" href="stream_8h.html#a9b1caba84c7a5c90efdbcaed31e9dfca" title="Return the current playback/recording time. ">pa_stream_get_time()</a> and <a class="el" href="stream_8h.html#aa521efcc16fe2abf0f8461462432ac16" title="Determine the total stream latency. ">pa_stream_get_latency()</a> at all times without a packet round trip. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6966d809483170bc6d2e6c16188850fcaaf217b8d4ed327de0acaeceff49341c2"></a>PA_STREAM_NO_REMAP_CHANNELS</em>&nbsp;</td><td class="fielddoc">
<p>Don't remap channels by their name, instead map them simply by their index. </p>
<p>Implies PA_STREAM_NO_REMIX_CHANNELS. Only supported when the server is at least PA 0.9.8. It is ignored on older servers.</p>
<dl class="section since"><dt>Since</dt><dd>0.9.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6966d809483170bc6d2e6c16188850fca58d440b2e196c639cb7c578324b3a5fd"></a>PA_STREAM_NO_REMIX_CHANNELS</em>&nbsp;</td><td class="fielddoc">
<p>When remapping channels by name, don't upmix or downmix them to related channels. </p>
<p>Copy them into matching channels of the device 1:1. Only supported when the server is at least PA 0.9.8. It is ignored on older servers. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6966d809483170bc6d2e6c16188850fca8b06af81681e54d33ea334684ab4e37e"></a>PA_STREAM_FIX_FORMAT</em>&nbsp;</td><td class="fielddoc">
<p>Use the sample format of the sink/device this stream is being connected to, and possibly ignore the format the sample spec contains &ndash; but you still have to pass a valid value in it as a hint to PulseAudio what would suit your stream best. </p>
<p>If this is used you should query the used sample format after creating the stream by using <a class="el" href="stream_8h.html#a274d745a41dc54cc6f946bed7bcd8a58" title="Return a pointer to the stream&#39;s sample specification. ">pa_stream_get_sample_spec()</a>. Also, if you specified manual buffer metrics it is recommended to update them with <a class="el" href="stream_8h.html#af662224125a43b3e8ae25b3d3684c111" title="Change the buffer metrics of the stream during playback. ">pa_stream_set_buffer_attr()</a> to compensate for the changed frame sizes. Only supported when the server is at least PA 0.9.8. It is ignored on older servers.</p>
<p>When creating streams with <a class="el" href="stream_8h.html#acf41f201c5e6ac94b7fcbc8626b6c933" title="Create a new, unconnected stream with the specified name, the set of formats this client can provide...">pa_stream_new_extended()</a>, this flag has no effect. If you specify a format with PCM encoding, and you want the server to choose the sample format, then you should leave the sample format unspecified in the <a class="el" href="structpa__format__info.html" title="Represents the format of data provided in a stream or processed by a sink. ">pa_format_info</a> object. This also means that you can't use <a class="el" href="format_8h.html#a1cfd380549e94849b9bd29d43d62b593" title="Utility function to take a pa_sample_spec and generate the corresponding pa_format_info. ">pa_format_info_from_sample_spec()</a>, because that function always sets the sample format.</p>
<dl class="section since"><dt>Since</dt><dd>0.9.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6966d809483170bc6d2e6c16188850fcab81c3687c121ad24c8c6673eca01c4d3"></a>PA_STREAM_FIX_RATE</em>&nbsp;</td><td class="fielddoc">
<p>Use the sample rate of the sink, and possibly ignore the rate the sample spec contains. </p>
<p>Usage similar to PA_STREAM_FIX_FORMAT. Only supported when the server is at least PA 0.9.8. It is ignored on older servers.</p>
<p>When creating streams with <a class="el" href="stream_8h.html#acf41f201c5e6ac94b7fcbc8626b6c933" title="Create a new, unconnected stream with the specified name, the set of formats this client can provide...">pa_stream_new_extended()</a>, this flag has no effect. If you specify a format with PCM encoding, and you want the server to choose the sample rate, then you should leave the rate unspecified in the <a class="el" href="structpa__format__info.html" title="Represents the format of data provided in a stream or processed by a sink. ">pa_format_info</a> object. This also means that you can't use <a class="el" href="format_8h.html#a1cfd380549e94849b9bd29d43d62b593" title="Utility function to take a pa_sample_spec and generate the corresponding pa_format_info. ">pa_format_info_from_sample_spec()</a>, because that function always sets the sample rate.</p>
<dl class="section since"><dt>Since</dt><dd>0.9.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6966d809483170bc6d2e6c16188850fca13b9fec678fd47a1907413476f7044b7"></a>PA_STREAM_FIX_CHANNELS</em>&nbsp;</td><td class="fielddoc">
<p>Use the number of channels and the channel map of the sink, and possibly ignore the number of channels and the map the sample spec and the passed channel map contains. </p>
<p>Usage similar to PA_STREAM_FIX_FORMAT. Only supported when the server is at least PA 0.9.8. It is ignored on older servers.</p>
<p>When creating streams with <a class="el" href="stream_8h.html#acf41f201c5e6ac94b7fcbc8626b6c933" title="Create a new, unconnected stream with the specified name, the set of formats this client can provide...">pa_stream_new_extended()</a>, this flag has no effect. If you specify a format with PCM encoding, and you want the server to choose the channel count and/or channel map, then you should leave the channels and/or the channel map unspecified in the <a class="el" href="structpa__format__info.html" title="Represents the format of data provided in a stream or processed by a sink. ">pa_format_info</a> object. This also means that you can't use <a class="el" href="format_8h.html#a1cfd380549e94849b9bd29d43d62b593" title="Utility function to take a pa_sample_spec and generate the corresponding pa_format_info. ">pa_format_info_from_sample_spec()</a>, because that function always sets the channel count (but if you only want to leave the channel map unspecified, then <a class="el" href="format_8h.html#a1cfd380549e94849b9bd29d43d62b593" title="Utility function to take a pa_sample_spec and generate the corresponding pa_format_info. ">pa_format_info_from_sample_spec()</a> works, because it accepts a NULL channel map).</p>
<dl class="section since"><dt>Since</dt><dd>0.9.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6966d809483170bc6d2e6c16188850fca517fdce5eb1b4bcd3a776d05252f4595"></a>PA_STREAM_DONT_MOVE</em>&nbsp;</td><td class="fielddoc">
<p>Don't allow moving of this stream to another sink/device. </p>
<p>Useful if you use any of the PA_STREAM_FIX_ flags and want to make sure that resampling never takes place &ndash; which might happen if the stream is moved to another sink/source with a different sample spec/channel map. Only supported when the server is at least PA 0.9.8. It is ignored on older servers. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6966d809483170bc6d2e6c16188850fcac92fcb50b94927301043213ddd779558"></a>PA_STREAM_VARIABLE_RATE</em>&nbsp;</td><td class="fielddoc">
<p>Allow dynamic changing of the sampling rate during playback with <a class="el" href="stream_8h.html#a753f1475073632fd76c0e86699deea6b" title="Change the stream sampling rate during playback. ">pa_stream_update_sample_rate()</a>. </p>
<p>Only supported when the server is at least PA 0.9.8. It is ignored on older servers. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6966d809483170bc6d2e6c16188850fcaf36eb4756476fe23e9686febd60b6add"></a>PA_STREAM_PEAK_DETECT</em>&nbsp;</td><td class="fielddoc">
<p>Find peaks instead of resampling. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.11 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6966d809483170bc6d2e6c16188850fcaf6205141b9404f8c10e2e3689592c46f"></a>PA_STREAM_START_MUTED</em>&nbsp;</td><td class="fielddoc">
<p>Create in muted state. </p>
<p>If neither PA_STREAM_START_UNMUTED nor PA_STREAM_START_MUTED it is left to the server to decide whether to create the stream in muted or in unmuted state. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.11 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6966d809483170bc6d2e6c16188850fcab24aa4c681a4b62af2efc7d53dfd40f0"></a>PA_STREAM_ADJUST_LATENCY</em>&nbsp;</td><td class="fielddoc">
<p>Try to adjust the latency of the sink/source based on the requested buffer metrics and adjust buffer metrics accordingly. </p>
<p>Also see <a class="el" href="structpa__buffer__attr.html" title="Playback and record buffer metrics. ">pa_buffer_attr</a>. This option may not be specified at the same time as PA_STREAM_EARLY_REQUESTS. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.11 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6966d809483170bc6d2e6c16188850fca98e436f686fc385697e565eb1ecb2609"></a>PA_STREAM_EARLY_REQUESTS</em>&nbsp;</td><td class="fielddoc">
<p>Enable compatibility mode for legacy clients that rely on a "classic" hardware device fragment-style playback model. </p>
<p>If this option is set, the minreq value of the buffer metrics gets a new meaning: instead of just specifying that no requests asking for less new data than this value will be made to the client it will also guarantee that requests are generated as early as this limit is reached. This flag should only be set in very few situations where compatibility with a fragment-based playback model needs to be kept and the client applications cannot deal with data requests that are delayed to the latest moment possible. (Usually these are programs that use usleep() or a similar call in their playback loops instead of sleeping on the device itself.) Also see <a class="el" href="structpa__buffer__attr.html" title="Playback and record buffer metrics. ">pa_buffer_attr</a>. This option may not be specified at the same time as PA_STREAM_ADJUST_LATENCY. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.12 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6966d809483170bc6d2e6c16188850fca28baa26205e127701bd653702d48c116"></a>PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND</em>&nbsp;</td><td class="fielddoc">
<p>If set this stream won't be taken into account when it is checked whether the device this stream is connected to should auto-suspend. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6966d809483170bc6d2e6c16188850fca6c819300a18562d45c9876865b3f615c"></a>PA_STREAM_START_UNMUTED</em>&nbsp;</td><td class="fielddoc">
<p>Create in unmuted state. </p>
<p>If neither PA_STREAM_START_UNMUTED nor PA_STREAM_START_MUTED it is left to the server to decide whether to create the stream in muted or in unmuted state. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6966d809483170bc6d2e6c16188850fcab413405a5d47fe7c3b3babb1621d5506"></a>PA_STREAM_FAIL_ON_SUSPEND</em>&nbsp;</td><td class="fielddoc">
<p>If the sink/source this stream is connected to is suspended during the creation of this stream, cause it to fail. </p>
<p>If the sink/source is being suspended during creation of this stream, make sure this stream is terminated. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6966d809483170bc6d2e6c16188850fca9f6df83d22dee5f5f97f5f4ffeaf3385"></a>PA_STREAM_RELATIVE_VOLUME</em>&nbsp;</td><td class="fielddoc">
<p>If a volume is passed when this stream is created, consider it relative to the sink's current volume, never as absolute device volume. </p>
<p>If this is not specified the volume will be consider absolute when the sink is in flat volume mode, relative otherwise. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.20 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6966d809483170bc6d2e6c16188850fcae6a8dec3085583af08d2c832aafe0f02"></a>PA_STREAM_PASSTHROUGH</em>&nbsp;</td><td class="fielddoc">
<p>Used to tag content that will be rendered by passthrough sinks. </p>
<p>The data will be left as is and not reformatted, resampled. </p>
<dl class="section since"><dt>Since</dt><dd>1.0 </dd></dl>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a71341d6e189549fc0bd25ab669016df9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="def_8h.html#a71341d6e189549fc0bd25ab669016df9">pa_stream_state</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The state of a stream. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a71341d6e189549fc0bd25ab669016df9a90b45f16f97aca49d40f8345f9f99643"></a>PA_STREAM_UNCONNECTED</em>&nbsp;</td><td class="fielddoc">
<p>The stream is not yet connected to any sink or source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a71341d6e189549fc0bd25ab669016df9a40f85224ae979275dfa75c6e7632c2d8"></a>PA_STREAM_CREATING</em>&nbsp;</td><td class="fielddoc">
<p>The stream is being created. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a71341d6e189549fc0bd25ab669016df9a1e72fb989b308e2317c0b0949afe5446"></a>PA_STREAM_READY</em>&nbsp;</td><td class="fielddoc">
<p>The stream is established, you may pass audio data to it now. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a71341d6e189549fc0bd25ab669016df9a17035675606742a577107e86dc14495a"></a>PA_STREAM_FAILED</em>&nbsp;</td><td class="fielddoc">
<p>An error occurred that made the stream invalid. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a71341d6e189549fc0bd25ab669016df9ada6b24e840e5a13408d89b8ce9b3dac4"></a>PA_STREAM_TERMINATED</em>&nbsp;</td><td class="fielddoc">
<p>The stream has been terminated cleanly. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a6bedfa147a9565383f1f44642cfef6a3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="def_8h.html#a6bedfa147a9565383f1f44642cfef6a3">pa_subscription_event_type</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Subscription event types, as used by <a class="el" href="subscribe_8h.html#abe684246fd5cb640b0199bcfe7f801b0" title="Enable event notification. ">pa_context_subscribe()</a> </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a6bedfa147a9565383f1f44642cfef6a3aa74f20e6f65d0693b7d94d52c5339e97"></a>PA_SUBSCRIPTION_EVENT_SINK</em>&nbsp;</td><td class="fielddoc">
<p>Event type: Sink. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6bedfa147a9565383f1f44642cfef6a3ac54e2e96492af96822b0a942c8524314"></a>PA_SUBSCRIPTION_EVENT_SOURCE</em>&nbsp;</td><td class="fielddoc">
<p>Event type: Source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6bedfa147a9565383f1f44642cfef6a3aaba3797501fa4f1386fe9e738c35b494"></a>PA_SUBSCRIPTION_EVENT_SINK_INPUT</em>&nbsp;</td><td class="fielddoc">
<p>Event type: Sink input. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6bedfa147a9565383f1f44642cfef6a3a00f548642676a6e4d259f3063c6b5f91"></a>PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT</em>&nbsp;</td><td class="fielddoc">
<p>Event type: Source output. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6bedfa147a9565383f1f44642cfef6a3adee5194b7811b8bf3c07cb0164c67c8e"></a>PA_SUBSCRIPTION_EVENT_MODULE</em>&nbsp;</td><td class="fielddoc">
<p>Event type: Module. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6bedfa147a9565383f1f44642cfef6a3a0f8e8478bac34e0bac5f43fc843d0fa1"></a>PA_SUBSCRIPTION_EVENT_CLIENT</em>&nbsp;</td><td class="fielddoc">
<p>Event type: Client. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6bedfa147a9565383f1f44642cfef6a3ad55b6fa70a7b8e88508ceaff83bdc977"></a>PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE</em>&nbsp;</td><td class="fielddoc">
<p>Event type: Sample cache item. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6bedfa147a9565383f1f44642cfef6a3ae839309e3256f5fa1ce3a1cfbf020037"></a>PA_SUBSCRIPTION_EVENT_SERVER</em>&nbsp;</td><td class="fielddoc">
<p>Event type: Global server change, only occurring with PA_SUBSCRIPTION_EVENT_CHANGE. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6bedfa147a9565383f1f44642cfef6a3a37713e10b0c7f74be5762d30c78a36b0"></a>PA_SUBSCRIPTION_EVENT_CARD</em>&nbsp;</td><td class="fielddoc">
<p>Event type: Card. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6bedfa147a9565383f1f44642cfef6a3a55fdfc2a2ca13b0356e1389b522f38f7"></a>PA_SUBSCRIPTION_EVENT_FACILITY_MASK</em>&nbsp;</td><td class="fielddoc">
<p>A mask to extract the event type from an event value. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6bedfa147a9565383f1f44642cfef6a3af565d19a814abf3182b93a32537da82f"></a>PA_SUBSCRIPTION_EVENT_NEW</em>&nbsp;</td><td class="fielddoc">
<p>A new object was created. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6bedfa147a9565383f1f44642cfef6a3a3ec0f4379bb9b162ccccb21b3295c930"></a>PA_SUBSCRIPTION_EVENT_CHANGE</em>&nbsp;</td><td class="fielddoc">
<p>A property of the object was modified. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6bedfa147a9565383f1f44642cfef6a3ae99a4fb17ac376f2319b55cd89fd425f"></a>PA_SUBSCRIPTION_EVENT_REMOVE</em>&nbsp;</td><td class="fielddoc">
<p>An object was removed. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6bedfa147a9565383f1f44642cfef6a3aa79dc3715e76129204822efba5d49219"></a>PA_SUBSCRIPTION_EVENT_TYPE_MASK</em>&nbsp;</td><td class="fielddoc">
<p>A mask to extract the event operation from an event value. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ad4e7f11f879e8c77ae5289145ecf6947"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="def_8h.html#ad4e7f11f879e8c77ae5289145ecf6947">pa_subscription_mask</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Subscription event mask, as used by <a class="el" href="subscribe_8h.html#abe684246fd5cb640b0199bcfe7f801b0" title="Enable event notification. ">pa_context_subscribe()</a> </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ad4e7f11f879e8c77ae5289145ecf6947a0f804402d1a21172806c4653f877ad9e"></a>PA_SUBSCRIPTION_MASK_NULL</em>&nbsp;</td><td class="fielddoc">
<p>No events. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ad4e7f11f879e8c77ae5289145ecf6947aec8dc8c2d352034d632a309e8b17695c"></a>PA_SUBSCRIPTION_MASK_SINK</em>&nbsp;</td><td class="fielddoc">
<p>Sink events. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ad4e7f11f879e8c77ae5289145ecf6947ae57ee247ad3094be9dd29ec0862c741a"></a>PA_SUBSCRIPTION_MASK_SOURCE</em>&nbsp;</td><td class="fielddoc">
<p>Source events. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ad4e7f11f879e8c77ae5289145ecf6947a96265e726423993195ab2fbea7cf0439"></a>PA_SUBSCRIPTION_MASK_SINK_INPUT</em>&nbsp;</td><td class="fielddoc">
<p>Sink input events. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ad4e7f11f879e8c77ae5289145ecf6947a58d000429ee138ae6a328ba95c36da19"></a>PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT</em>&nbsp;</td><td class="fielddoc">
<p>Source output events. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ad4e7f11f879e8c77ae5289145ecf6947a3d8796f69287b74efd0471977eb4b30c"></a>PA_SUBSCRIPTION_MASK_MODULE</em>&nbsp;</td><td class="fielddoc">
<p>Module events. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ad4e7f11f879e8c77ae5289145ecf6947abc7e288e30c60e5493c90ba106cf8f11"></a>PA_SUBSCRIPTION_MASK_CLIENT</em>&nbsp;</td><td class="fielddoc">
<p>Client events. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ad4e7f11f879e8c77ae5289145ecf6947ad5c6d1c2b25a2c3396710b110478f4f5"></a>PA_SUBSCRIPTION_MASK_SAMPLE_CACHE</em>&nbsp;</td><td class="fielddoc">
<p>Sample cache events. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ad4e7f11f879e8c77ae5289145ecf6947a6c452fe520e73f7362fb28f2304f3510"></a>PA_SUBSCRIPTION_MASK_SERVER</em>&nbsp;</td><td class="fielddoc">
<p>Other global server changes. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ad4e7f11f879e8c77ae5289145ecf6947a680e199f96d503bf25f456dfe5d95de3"></a>PA_SUBSCRIPTION_MASK_CARD</em>&nbsp;</td><td class="fielddoc">
<p>Card events. </p>
<dl class="section since"><dt>Since</dt><dd>0.9.15 </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ad4e7f11f879e8c77ae5289145ecf6947abfce82a17f575eb040955e5738db4249"></a>PA_SUBSCRIPTION_MASK_ALL</em>&nbsp;</td><td class="fielddoc">
<p>Catch all events. </p>
</td></tr>
</table>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_ec5b0a79aff2db41fe5d1b9326f09c28.html">pulse</a></li><li class="navelem"><a class="el" href="def_8h.html">def.h</a></li>
    <li class="footer">Generated on Sat Nov 1 2014 11:15:46 for PulseAudio by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.5 </li>
  </ul>
</div>
</body>
</html>