Release 4.0.12 tarball
[rtaudio.git] / doc / html / structRtAudio_1_1StreamOptions.html
index 47a09caf9971259cbb98cd316efcac63c3571d01..43e772ef7ad636361e2ba28234535f9a127c7f35 100644 (file)
 <CENTER>
 <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="annotated.html">Class/Enum List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </CENTER>
 <HR>
-<!-- Generated by Doxygen 1.5.8 -->
-  <div class="navpath"><a class="el" href="classRtAudio.html">RtAudio</a>::<a class="el" href="structRtAudio_1_1StreamOptions.html">StreamOptions</a>
-  </div>
+<!-- Generated by Doxygen 1.8.2 -->
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="classRtAudio.html">RtAudio</a></li><li class="navelem"><a class="el" href="structRtAudio_1_1StreamOptions.html">StreamOptions</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="structRtAudio_1_1StreamOptions-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">RtAudio::StreamOptions Struct Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>RtAudio::RtAudio::StreamOptions Struct Reference</h1><!-- doxytag: class="RtAudio::StreamOptions" -->The structure for specifying stream options.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="RtAudio_8h-source.html">RtAudio.h</a>&gt;</code>
-<p>
-
-<p>
-<a href="structRtAudio_1_1StreamOptions-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="RtAudio_8h.html#2c0f59b200dcec4d4e760f9166b29c41">RtAudioStreamFlags</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRtAudio_1_1StreamOptions.html#6a284d045b8adcfcf178a4f6a22330f8">flags</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRtAudio_1_1StreamOptions.html#5a04d3c3d0c1cfa063872ecff383af1d">numberOfBuffers</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRtAudio_1_1StreamOptions.html#214da35056f18ffb7c8e4dc074a01a9a">streamName</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRtAudio_1_1StreamOptions.html#81b364f137d1ee1073b74dac666af352">priority</a></td></tr>
+<p>The structure for specifying stream options.  
+ <a href="structRtAudio_1_1StreamOptions.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="RtAudio_8h_source.html">RtAudio.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a0ecc98b031aa3af49d09b781643e298b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="RtAudio_8h.html#a2c0f59b200dcec4d4e760f9166b29c41">RtAudioStreamFlags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRtAudio_1_1StreamOptions.html#a0ecc98b031aa3af49d09b781643e298b">flags</a></td></tr>
+<tr class="separator:a0ecc98b031aa3af49d09b781643e298b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a75a14cfab903d0e1c091bc16aec80240"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRtAudio_1_1StreamOptions.html#a75a14cfab903d0e1c091bc16aec80240">numberOfBuffers</a></td></tr>
+<tr class="separator:a75a14cfab903d0e1c091bc16aec80240"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2a4b0b8d690c624d20f4e8f4be6ca9ba"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRtAudio_1_1StreamOptions.html#a2a4b0b8d690c624d20f4e8f4be6ca9ba">streamName</a></td></tr>
+<tr class="separator:a2a4b0b8d690c624d20f4e8f4be6ca9ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adfd267059434edb21573c584e6367def"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRtAudio_1_1StreamOptions.html#adfd267059434edb21573c584e6367def">priority</a></td></tr>
+<tr class="separator:adfd267059434edb21573c584e6367def"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The structure for specifying stream options. 
-<p>
-The following flags can be OR'ed together to allow a client to make changes to the default stream behavior:<p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>The structure for specifying stream options. </p>
+<p>The following flags can be OR'ed together to allow a client to make changes to the default stream behavior:</p>
 <ul>
-<li><em>RTAUDIO_NONINTERLEAVED:</em> Use non-interleaved buffers (default = interleaved).</li><li><em>RTAUDIO_MINIMIZE_LATENCY:</em> Attempt to set stream parameters for lowest possible latency.</li><li><em>RTAUDIO_HOG_DEVICE:</em> Attempt grab device for exclusive use.</li><li><em>RTAUDIO_SCHEDULE_REALTIME:</em> Attempt to select realtime scheduling for callback thread.</li></ul>
-<p>
-By default, <a class="el" href="classRtAudio.html" title="Realtime audio i/o C++ classes.">RtAudio</a> streams pass and receive audio data from the client in an interleaved format. By passing the RTAUDIO_NONINTERLEAVED flag to the <a class="el" href="classRtAudio.html#facc99740fa4c5606fb35467cdea6da8" title="A public function for opening a stream with the specified parameters.">openStream()</a> function, audio data will instead be presented in non-interleaved buffers. In this case, each buffer argument in the RtAudioCallback function will point to a single array of data, with <code>nFrames</code> samples for each channel concatenated back-to-back. For example, the first sample of data for the second channel would be located at index <code>nFrames</code> (assuming the <code>buffer</code> pointer was recast to the correct data type for the stream).<p>
-Certain audio APIs offer a number of parameters that influence the I/O latency of a stream. By default, <a class="el" href="classRtAudio.html" title="Realtime audio i/o C++ classes.">RtAudio</a> will attempt to set these parameters internally for robust (glitch-free) performance (though some APIs, like Windows Direct Sound, make this difficult). By passing the RTAUDIO_MINIMIZE_LATENCY flag to the <a class="el" href="classRtAudio.html#facc99740fa4c5606fb35467cdea6da8" title="A public function for opening a stream with the specified parameters.">openStream()</a> function, internal stream settings will be influenced in an attempt to minimize stream latency, though possibly at the expense of stream performance.<p>
-If the RTAUDIO_HOG_DEVICE flag is set, <a class="el" href="classRtAudio.html" title="Realtime audio i/o C++ classes.">RtAudio</a> will attempt to open the input and/or output stream device(s) for exclusive use. Note that this is not possible with all supported audio APIs.<p>
-If the RTAUDIO_SCHEDULE_REALTIME flag is set, <a class="el" href="classRtAudio.html" title="Realtime audio i/o C++ classes.">RtAudio</a> will attempt to select realtime scheduling (round-robin) for the callback thread. The <code>priority</code> parameter will only be used if the RTAUDIO_SCHEDULE_REALTIME flag is set. It defines the thread's realtime priority.<p>
-The <code>numberOfBuffers</code> parameter can be used to control stream latency in the Windows DirectSound, Linux OSS, and Linux Alsa APIs only. A value of two is usually the smallest allowed. Larger numbers can potentially result in more robust stream performance, though likely at the cost of stream latency. The value set by the user is replaced during execution of the <a class="el" href="classRtAudio.html#facc99740fa4c5606fb35467cdea6da8" title="A public function for opening a stream with the specified parameters.">RtAudio::openStream()</a> function by the value actually used by the system.<p>
-The <code>streamName</code> parameter can be used to set the client name when using the Jack API. By default, the client name is set to RtApiJack. However, if you wish to create multiple instances of <a class="el" href="classRtAudio.html" title="Realtime audio i/o C++ classes.">RtAudio</a> with Jack, each instance must have a unique client name. <hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="6a284d045b8adcfcf178a4f6a22330f8"></a><!-- doxytag: member="RtAudio::StreamOptions::flags" ref="6a284d045b8adcfcf178a4f6a22330f8" args="" -->
+<li><em>RTAUDIO_NONINTERLEAVED:</em> Use non-interleaved buffers (default = interleaved).</li>
+<li><em>RTAUDIO_MINIMIZE_LATENCY:</em> Attempt to set stream parameters for lowest possible latency.</li>
+<li><em>RTAUDIO_HOG_DEVICE:</em> Attempt grab device for exclusive use.</li>
+<li><em>RTAUDIO_SCHEDULE_REALTIME:</em> Attempt to select realtime scheduling for callback thread.</li>
+<li><em>RTAUDIO_ALSA_USE_DEFAULT:</em> Use the "default" PCM device (ALSA only).</li>
+</ul>
+<p>By default, <a class="el" href="classRtAudio.html" title="Realtime audio i/o C++ classes.">RtAudio</a> streams pass and receive audio data from the client in an interleaved format. By passing the RTAUDIO_NONINTERLEAVED flag to the <a class="el" href="classRtAudio.html#a6907539d2527775df778ebce32ef1e3b" title="A public function for opening a stream with the specified parameters.">openStream()</a> function, audio data will instead be presented in non-interleaved buffers. In this case, each buffer argument in the RtAudioCallback function will point to a single array of data, with <code>nFrames</code> samples for each channel concatenated back-to-back. For example, the first sample of data for the second channel would be located at index <code>nFrames</code> (assuming the <code>buffer</code> pointer was recast to the correct data type for the stream).</p>
+<p>Certain audio APIs offer a number of parameters that influence the I/O latency of a stream. By default, <a class="el" href="classRtAudio.html" title="Realtime audio i/o C++ classes.">RtAudio</a> will attempt to set these parameters internally for robust (glitch-free) performance (though some APIs, like Windows Direct Sound, make this difficult). By passing the RTAUDIO_MINIMIZE_LATENCY flag to the <a class="el" href="classRtAudio.html#a6907539d2527775df778ebce32ef1e3b" title="A public function for opening a stream with the specified parameters.">openStream()</a> function, internal stream settings will be influenced in an attempt to minimize stream latency, though possibly at the expense of stream performance.</p>
+<p>If the RTAUDIO_HOG_DEVICE flag is set, <a class="el" href="classRtAudio.html" title="Realtime audio i/o C++ classes.">RtAudio</a> will attempt to open the input and/or output stream device(s) for exclusive use. Note that this is not possible with all supported audio APIs.</p>
+<p>If the RTAUDIO_SCHEDULE_REALTIME flag is set, <a class="el" href="classRtAudio.html" title="Realtime audio i/o C++ classes.">RtAudio</a> will attempt to select realtime scheduling (round-robin) for the callback thread. The <code>priority</code> parameter will only be used if the RTAUDIO_SCHEDULE_REALTIME flag is set. It defines the thread's realtime priority.</p>
+<p>If the RTAUDIO_ALSA_USE_DEFAULT flag is set, <a class="el" href="classRtAudio.html" title="Realtime audio i/o C++ classes.">RtAudio</a> will attempt to open the "default" PCM device when using the ALSA API. Note that this will override any specified input or output device id.</p>
+<p>The <code>numberOfBuffers</code> parameter can be used to control stream latency in the Windows DirectSound, Linux OSS, and Linux Alsa APIs only. A value of two is usually the smallest allowed. Larger numbers can potentially result in more robust stream performance, though likely at the cost of stream latency. The value set by the user is replaced during execution of the <a class="el" href="classRtAudio.html#a6907539d2527775df778ebce32ef1e3b" title="A public function for opening a stream with the specified parameters.">RtAudio::openStream()</a> function by the value actually used by the system.</p>
+<p>The <code>streamName</code> parameter can be used to set the client name when using the Jack API. By default, the client name is set to RtApiJack. However, if you wish to create multiple instances of <a class="el" href="classRtAudio.html" title="Realtime audio i/o C++ classes.">RtAudio</a> with Jack, each instance must have a unique client name. </p>
+</div><h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="a0ecc98b031aa3af49d09b781643e298b"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="RtAudio_8h.html#2c0f59b200dcec4d4e760f9166b29c41">RtAudioStreamFlags</a> RtAudio::RtAudio::StreamOptions::flags          </td>
+          <td class="memname"><a class="el" href="RtAudio_8h.html#a2c0f59b200dcec4d4e760f9166b29c41">RtAudioStreamFlags</a> RtAudio::StreamOptions::flags</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
+<p>A bit-mask of stream flags (RTAUDIO_NONINTERLEAVED, RTAUDIO_MINIMIZE_LATENCY, RTAUDIO_HOG_DEVICE, RTAUDIO_ALSA_USE_DEFAULT). </p>
 
-<p>
-A bit-mask of stream flags (RTAUDIO_NONINTERLEAVED, RTAUDIO_MINIMIZE_LATENCY, RTAUDIO_HOG_DEVICE). 
 </div>
-</div><p>
-<a class="anchor" name="5a04d3c3d0c1cfa063872ecff383af1d"></a><!-- doxytag: member="RtAudio::StreamOptions::numberOfBuffers" ref="5a04d3c3d0c1cfa063872ecff383af1d" args="" -->
+</div>
+<a class="anchor" id="a75a14cfab903d0e1c091bc16aec80240"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">unsigned int RtAudio::RtAudio::StreamOptions::numberOfBuffers          </td>
+          <td class="memname">unsigned int RtAudio::StreamOptions::numberOfBuffers</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
+<p>Number of stream buffers. </p>
 
-<p>
-Number of stream buffers. 
 </div>
-</div><p>
-<a class="anchor" name="214da35056f18ffb7c8e4dc074a01a9a"></a><!-- doxytag: member="RtAudio::StreamOptions::streamName" ref="214da35056f18ffb7c8e4dc074a01a9a" args="" -->
+</div>
+<a class="anchor" id="a2a4b0b8d690c624d20f4e8f4be6ca9ba"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">std::string RtAudio::RtAudio::StreamOptions::streamName          </td>
+          <td class="memname">std::string RtAudio::StreamOptions::streamName</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
+<p>A stream name (currently used only in Jack). </p>
 
-<p>
-A stream name (currently used only in Jack). 
 </div>
-</div><p>
-<a class="anchor" name="81b364f137d1ee1073b74dac666af352"></a><!-- doxytag: member="RtAudio::StreamOptions::priority" ref="81b364f137d1ee1073b74dac666af352" args="" -->
+</div>
+<a class="anchor" id="adfd267059434edb21573c584e6367def"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">int RtAudio::RtAudio::StreamOptions::priority          </td>
+          <td class="memname">int RtAudio::StreamOptions::priority</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
+<p>Scheduling priority of callback thread (only used with flag RTAUDIO_SCHEDULE_REALTIME). </p>
 
-<p>
-Scheduling priority of callback thread (only used with flag RTAUDIO_SCHEDULE_REALTIME). 
 </div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="RtAudio_8h-source.html">RtAudio.h</a></ul>
 </div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="RtAudio_8h_source.html">RtAudio.h</a></li>
+</ul>
+</div><!-- contents -->
 <HR>
-
 <table><tr><td><img src="../images/mcgill.gif" width=165></td>
-  <td>&copy;2001-2009 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
+  <td>&copy;2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.<br>Maintained by <a href="http://www.music.mcgill.ca/~gary/">Gary P. Scavone</a>.</td></tr>
 </table>
-
 </BODY>
 </HTML>