Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > os > by-pkgid > 9c481c872fb0ae0cbadccdc2f4a18ab6 > files > 196

libasync-devel-0.17.0-5.fc14.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"/>
<title>Async: Async::AudioSource Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.2-20100208 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespaceAsync.html">Async</a>::<a class="el" href="classAsync_1_1AudioSource.html">AudioSource</a>
  </div>
</div>
<div class="contents">
<h1>Async::AudioSource Class Reference</h1><!-- doxytag: class="Async::AudioSource" -->
<p>The base class for an audio source.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="AsyncAudioSource_8h_source.html">AsyncAudioSource.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for Async::AudioSource:</div>
<div class="dynsection">
 <div class="center">
  <img src="classAsync_1_1AudioSource.png" usemap="#Async::AudioSource_map" alt=""/>
  <map id="Async::AudioSource_map" name="Async::AudioSource_map">
<area href="classAsync_1_1AudioDebugger.html" alt="Async::AudioDebugger" shape="rect" coords="167,56,324,80"/>
<area href="classAsync_1_1AudioDecoder.html" alt="Async::AudioDecoder" shape="rect" coords="167,112,324,136"/>
<area href="classAsync_1_1AudioDelayLine.html" alt="Async::AudioDelayLine" shape="rect" coords="167,168,324,192"/>
<area href="classAsync_1_1AudioFifo.html" alt="Async::AudioFifo" shape="rect" coords="167,224,324,248"/>
<area href="classAsync_1_1AudioIO.html" alt="Async::AudioIO" shape="rect" coords="167,280,324,304"/>
<area href="classAsync_1_1AudioMixer.html" alt="Async::AudioMixer" shape="rect" coords="167,336,324,360"/>
<area href="classAsync_1_1AudioPacer.html" alt="Async::AudioPacer" shape="rect" coords="167,392,324,416"/>
<area href="classAsync_1_1AudioPassthrough.html" alt="Async::AudioPassthrough" shape="rect" coords="167,448,324,472"/>
<area href="classAsync_1_1AudioProcessor.html" alt="Async::AudioProcessor" shape="rect" coords="167,504,324,528"/>
<area href="classAsync_1_1AudioSelector.html" alt="Async::AudioSelector" shape="rect" coords="167,560,324,584"/>
<area href="classAsync_1_1AudioValve.html" alt="Async::AudioValve" shape="rect" coords="167,616,324,640"/>
</map>
 </div>
</div>

<p><a href="classAsync_1_1AudioSource-members.html">List of all members.</a></p>
<h2>Public Member Functions</h2>
<ul>
<li><a class="el" href="classAsync_1_1AudioSource.html#a9058cdeb8aa465ab5dcf49112b40df8b">AudioSource</a> (void)
<dl class="el"><dd class="mdescRight">Default constuctor.  <a href="#a9058cdeb8aa465ab5dcf49112b40df8b"></a><br/></dl><li>virtual <a class="el" href="classAsync_1_1AudioSource.html#a65c6adda8ff99609f3020b34a998afdc">~AudioSource</a> (void)
<dl class="el"><dd class="mdescRight">Destructor.  <a href="#a65c6adda8ff99609f3020b34a998afdc"></a><br/></dl><li>bool <a class="el" href="classAsync_1_1AudioSource.html#a2254f2e73c5033ee28a569bd205ed345">registerSink</a> (<a class="el" href="classAsync_1_1AudioSink.html">AudioSink</a> *sink, bool managed=false)
<dl class="el"><dd class="mdescRight">Register an audio sink to provide samples to.  <a href="#a2254f2e73c5033ee28a569bd205ed345"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioSource.html#a898aada74ec99cad0cb2edb1b7f534e4">unregisterSink</a> (void)
<dl class="el"><dd class="mdescRight">Unregister the previously registered audio sink.  <a href="#a898aada74ec99cad0cb2edb1b7f534e4"></a><br/></dl><li>bool <a class="el" href="classAsync_1_1AudioSource.html#af105f7f34588e197f331d52fd274eb6e">isRegistered</a> (void) const 
<dl class="el"><dd class="mdescRight">Check if an audio sink has been registered.  <a href="#af105f7f34588e197f331d52fd274eb6e"></a><br/></dl><li><a class="el" href="classAsync_1_1AudioSink.html">AudioSink</a> * <a class="el" href="classAsync_1_1AudioSource.html#a3272e7519e762bcb26b33413db082eac">sink</a> (void) const 
<dl class="el"><dd class="mdescRight">Get the registered audio sink.  <a href="#a3272e7519e762bcb26b33413db082eac"></a><br/></dl><li>bool <a class="el" href="classAsync_1_1AudioSource.html#a451d8b376851c54a4e0780dcea9a9739">sinkManaged</a> (void) const 
<dl class="el"><dd class="mdescRight">Check if the sink is managed or not.  <a href="#a451d8b376851c54a4e0780dcea9a9739"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioSource.html#a7b0e8399dad546407614f43dc6fe71c6">handleAllSamplesFlushed</a> (void)
<dl class="el"><dd class="mdescRight">The registered sink has flushed all samples.  <a href="#a7b0e8399dad546407614f43dc6fe71c6"></a><br/></dl><li>virtual void <a class="el" href="classAsync_1_1AudioSource.html#ac187f89a6094ec066dab5b4fd3108754">resumeOutput</a> (void)
<dl class="el"><dd class="mdescRight">Resume audio output to the sink.  <a href="#ac187f89a6094ec066dab5b4fd3108754"></a><br/></dl></ul>
<h2>Protected Member Functions</h2>
<ul>
<li>virtual void <a class="el" href="classAsync_1_1AudioSource.html#a563adf6411eddbd056abf206a12354b6">allSamplesFlushed</a> (void)
<dl class="el"><dd class="mdescRight">The registered sink has flushed all samples.  <a href="#a563adf6411eddbd056abf206a12354b6"></a><br/></dl><li>int <a class="el" href="classAsync_1_1AudioSource.html#ad23a249abf0f8fd39d364301364740a6">sinkWriteSamples</a> (const float *samples, int len)
<li>void <a class="el" href="classAsync_1_1AudioSource.html#a5837ec95fef7d668d1c5241cee54646c">sinkFlushSamples</a> (void)
<li>bool <a class="el" href="classAsync_1_1AudioSource.html#a1afec59d8ed442fd7f292a817a6098dd">setHandler</a> (<a class="el" href="classAsync_1_1AudioSource.html">AudioSource</a> *handler)
<dl class="el"><dd class="mdescRight">Setup another source to handle the outgoing audio.  <a href="#a1afec59d8ed442fd7f292a817a6098dd"></a><br/></dl><li><a class="el" href="classAsync_1_1AudioSource.html">AudioSource</a> * <a class="el" href="classAsync_1_1AudioSource.html#ad674c3ab16ed170e8d9da029c0c019cd">handler</a> (void) const 
<li>void <a class="el" href="classAsync_1_1AudioSource.html#a70bb05d58da6fbb471f893381cdb0107">clearHandler</a> (void)
<dl class="el"><dd class="mdescRight">Clear a handler that was previously setup with setHandler.  <a href="#a70bb05d58da6fbb471f893381cdb0107"></a><br/></dl></ul>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>The base class for an audio source. </p>
<dl class="author"><dt><b>Author:</b></dt><dd>Tobias Blomberg </dd></dl>
<dl class="date"><dt><b>Date:</b></dt><dd>2005-04-17</dd></dl>
<p>This is the base class for an audio source. An audio source is a class that can produce audio. </p>
<dl><dt><b>Examples: </b></dt><dd>
<p><a class="el" href="AsyncAudioIO__demo_8cpp-example.html#_a1">AsyncAudioIO_demo.cpp</a>.</p>
</dd>
</dl>
<p>Definition at line <a class="el" href="AsyncAudioSource_8h_source.html#l00114">114</a> of file <a class="el" href="AsyncAudioSource_8h_source.html">AsyncAudioSource.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a9058cdeb8aa465ab5dcf49112b40df8b"></a><!-- doxytag: member="Async::AudioSource::AudioSource" ref="a9058cdeb8aa465ab5dcf49112b40df8b" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Async::AudioSource::AudioSource </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Default constuctor. </p>

<p>Definition at line <a class="el" href="AsyncAudioSource_8h_source.html#l00120">120</a> of file <a class="el" href="AsyncAudioSource_8h_source.html">AsyncAudioSource.h</a>.</p>

</div>
</div>
<a class="anchor" id="a65c6adda8ff99609f3020b34a998afdc"></a><!-- doxytag: member="Async::AudioSource::~AudioSource" ref="a65c6adda8ff99609f3020b34a998afdc" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual Async::AudioSource::~AudioSource </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destructor. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a563adf6411eddbd056abf206a12354b6"></a><!-- doxytag: member="Async::AudioSource::allSamplesFlushed" ref="a563adf6411eddbd056abf206a12354b6" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Async::AudioSource::allSamplesFlushed </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The registered sink has flushed all samples. </p>
<p>This function should be implemented by the inheriting class. It will be called when all samples have been flushed in the registered sink. If it is not reimplemented, a handler must be set that handle the function call. This function is normally only called from a connected sink object. </p>

<p>Reimplemented in <a class="el" href="classAsync_1_1AudioDebugger.html#aa8efeb9d75957a35673454cac5e25d68">Async::AudioDebugger</a>, <a class="el" href="classAsync_1_1AudioDecoder.html#a9dc81d6d23e356e401daba589f214472">Async::AudioDecoder</a>, <a class="el" href="classAsync_1_1AudioDelayLine.html#a960b0b88890fb9b920deafc4960a9838">Async::AudioDelayLine</a>, <a class="el" href="classAsync_1_1AudioFifo.html#ac7128e91c69306da64979268b61adbba">Async::AudioFifo</a>, <a class="el" href="classAsync_1_1AudioIO.html#ae461bbea57b5108e0eb91961d8312c8e">Async::AudioIO</a>, <a class="el" href="classAsync_1_1AudioMixer.html#a73881e68d3344fdb4beeef5e1cb565b5">Async::AudioMixer</a>, <a class="el" href="classAsync_1_1AudioPacer.html#a7abb7e35757c80527a145a483a025c4c">Async::AudioPacer</a>, <a class="el" href="classAsync_1_1AudioPassthrough.html#a73ee065737064e255476bbd9a8b61fc9">Async::AudioPassthrough</a>, <a class="el" href="classAsync_1_1AudioProcessor.html#a5e70bbb209ed56260108cb5c7174dd91">Async::AudioProcessor</a>, <a class="el" href="classAsync_1_1AudioStreamStateDetector.html#ac3c78e78d19c8bfb228b94b1b3e15f75">Async::AudioStreamStateDetector</a>, and <a class="el" href="classAsync_1_1AudioValve.html#a3066a711624eec1c9838fb0e2b5bb365">Async::AudioValve</a>.</p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="AsyncAudioIO__demo_8cpp-example.html#a10">AsyncAudioIO_demo.cpp</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="AsyncAudioSource_8h_source.html#l00205">205</a> of file <a class="el" href="AsyncAudioSource_8h_source.html">AsyncAudioSource.h</a>.</p>

<p>References <a class="el" href="AsyncAudioSource_8h_source.html#l00174">handleAllSamplesFlushed()</a>.</p>

<p>Referenced by <a class="el" href="AsyncAudioSource_8h_source.html#l00174">handleAllSamplesFlushed()</a>.</p>

</div>
</div>
<a class="anchor" id="a70bb05d58da6fbb471f893381cdb0107"></a><!-- doxytag: member="Async::AudioSource::clearHandler" ref="a70bb05d58da6fbb471f893381cdb0107" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioSource::clearHandler </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clear a handler that was previously setup with setHandler. </p>

</div>
</div>
<a class="anchor" id="a7b0e8399dad546407614f43dc6fe71c6"></a><!-- doxytag: member="Async::AudioSource::handleAllSamplesFlushed" ref="a7b0e8399dad546407614f43dc6fe71c6" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioSource::handleAllSamplesFlushed </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The registered sink has flushed all samples. </p>
<p>This function will be called when all samples have been flushed in the registered sink. This function is normally only called from a connected sink object. </p>

<p>Definition at line <a class="el" href="AsyncAudioSource_8h_source.html#l00174">174</a> of file <a class="el" href="AsyncAudioSource_8h_source.html">AsyncAudioSource.h</a>.</p>

<p>References <a class="el" href="AsyncAudioSource_8h_source.html#l00205">allSamplesFlushed()</a>.</p>

<p>Referenced by <a class="el" href="AsyncAudioSource_8h_source.html#l00205">allSamplesFlushed()</a>.</p>

</div>
</div>
<a class="anchor" id="ad674c3ab16ed170e8d9da029c0c019cd"></a><!-- doxytag: member="Async::AudioSource::handler" ref="ad674c3ab16ed170e8d9da029c0c019cd" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classAsync_1_1AudioSource.html">AudioSource</a>* Async::AudioSource::handler </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="AsyncAudioSource_8h_source.html#l00252">252</a> of file <a class="el" href="AsyncAudioSource_8h_source.html">AsyncAudioSource.h</a>.</p>

</div>
</div>
<a class="anchor" id="af105f7f34588e197f331d52fd274eb6e"></a><!-- doxytag: member="Async::AudioSource::isRegistered" ref="af105f7f34588e197f331d52fd274eb6e" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Async::AudioSource::isRegistered </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if an audio sink has been registered. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <em>true</em> if there is an audio sink registerd </dd></dl>

<p>Definition at line <a class="el" href="AsyncAudioSource_8h_source.html#l00148">148</a> of file <a class="el" href="AsyncAudioSource_8h_source.html">AsyncAudioSource.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2254f2e73c5033ee28a569bd205ed345"></a><!-- doxytag: member="Async::AudioSource::registerSink" ref="a2254f2e73c5033ee28a569bd205ed345" args="(AudioSink *sink, bool managed=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Async::AudioSource::registerSink </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classAsync_1_1AudioSink.html">AudioSink</a> *&nbsp;</td>
          <td class="paramname"> <em>sink</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>managed</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Register an audio sink to provide samples to. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sink</em>&nbsp;</td><td>The audio sink to register </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>managed</em>&nbsp;</td><td>If <em>true</em>, the registered sink will be destroyed when this object is destroyed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <em>true</em> on success or else <em>false</em> </dd></dl>

<p>Referenced by <a class="el" href="AsyncAudioDebugger_8h_source.html#l00123">Async::AudioDebugger::AudioDebugger()</a>.</p>

</div>
</div>
<a class="anchor" id="ac187f89a6094ec066dab5b4fd3108754"></a><!-- doxytag: member="Async::AudioSource::resumeOutput" ref="ac187f89a6094ec066dab5b4fd3108754" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Async::AudioSource::resumeOutput </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Resume audio output to the sink. </p>
<p>This function must be reimplemented by the inheriting class. It will be called when the registered audio sink is ready to accept more samples. This function is normally only called from a connected sink object. </p>

<p>Reimplemented in <a class="el" href="classAsync_1_1AudioDebugger.html#a4a62029f82467d6038b7f54022b189eb">Async::AudioDebugger</a>, <a class="el" href="classAsync_1_1AudioDecoder.html#a3ed27974c629701e6285ab2c7bd438bb">Async::AudioDecoder</a>, <a class="el" href="classAsync_1_1AudioDelayLine.html#a795984fbe4c7720502aa3ab35845a606">Async::AudioDelayLine</a>, <a class="el" href="classAsync_1_1AudioFifo.html#a9d0e1c7aa52ace7ce4499087230c4292">Async::AudioFifo</a>, <a class="el" href="classAsync_1_1AudioIO.html#a7c48d73409ebd957a0c04a85b37e73bd">Async::AudioIO</a>, <a class="el" href="classAsync_1_1AudioMixer.html#a0cd34398d7e92746b5c0bd02ac4779a8">Async::AudioMixer</a>, <a class="el" href="classAsync_1_1AudioPacer.html#a1ef0821e8a2e5b42772d7873ecb027af">Async::AudioPacer</a>, <a class="el" href="classAsync_1_1AudioPassthrough.html#a4591e75610b4b6f84699cc3f790695a4">Async::AudioPassthrough</a>, <a class="el" href="classAsync_1_1AudioProcessor.html#a11182749ba069c967ddfe4d61fa5aa6c">Async::AudioProcessor</a>, and <a class="el" href="classAsync_1_1AudioValve.html#a3557e4f4c65077ebc7471e6c72027166">Async::AudioValve</a>.</p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="AsyncAudioIO__demo_8cpp-example.html#a8">AsyncAudioIO_demo.cpp</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="AsyncAudioSource_8h_source.html#l00188">188</a> of file <a class="el" href="AsyncAudioSource_8h_source.html">AsyncAudioSource.h</a>.</p>

<p>References <a class="el" href="AsyncAudioSource_8h_source.html#l00188">resumeOutput()</a>.</p>

<p>Referenced by <a class="el" href="AsyncAudioSource_8h_source.html#l00188">resumeOutput()</a>.</p>

</div>
</div>
<a class="anchor" id="a1afec59d8ed442fd7f292a817a6098dd"></a><!-- doxytag: member="Async::AudioSource::setHandler" ref="a1afec59d8ed442fd7f292a817a6098dd" args="(AudioSource *handler)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Async::AudioSource::setHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classAsync_1_1AudioSource.html">AudioSource</a> *&nbsp;</td>
          <td class="paramname"> <em>handler</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Setup another source to handle the outgoing audio. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handler</em>&nbsp;</td><td>The source to handle the audio </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <em>true</em> on success or else <em>false</em> </dd></dl>
<p>This function will setup another source to handle outgoing audio. This can be used when an internal object should handle the audio for this object. </p>

</div>
</div>
<a class="anchor" id="a3272e7519e762bcb26b33413db082eac"></a><!-- doxytag: member="Async::AudioSource::sink" ref="a3272e7519e762bcb26b33413db082eac" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classAsync_1_1AudioSink.html">AudioSink</a>* Async::AudioSource::sink </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the registered audio sink. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the registered audio sink if any registered or else returns 0. </dd></dl>

<p>Definition at line <a class="el" href="AsyncAudioSource_8h_source.html#l00155">155</a> of file <a class="el" href="AsyncAudioSource_8h_source.html">AsyncAudioSource.h</a>.</p>

<p>Referenced by <a class="el" href="AsyncAudioDebugger_8h_source.html#l00123">Async::AudioDebugger::AudioDebugger()</a>.</p>

</div>
</div>
<a class="anchor" id="a5837ec95fef7d668d1c5241cee54646c"></a><!-- doxytag: member="Async::AudioSource::sinkFlushSamples" ref="a5837ec95fef7d668d1c5241cee54646c" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioSource::sinkFlushSamples </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="AsyncAudioIO__demo_8cpp-example.html#a7">AsyncAudioIO_demo.cpp</a>.</dd>
</dl>
<p>Referenced by <a class="el" href="AsyncAudioDecoder_8h_source.html#l00156">Async::AudioDecoder::flushEncodedSamples()</a>, <a class="el" href="AsyncAudioValve_8h_source.html#l00263">Async::AudioValve::flushSamples()</a>, <a class="el" href="AsyncAudioPassthrough_8h_source.html#l00154">Async::AudioPassthrough::flushSamples()</a>, <a class="el" href="AsyncAudioDebugger_8h_source.html#l00176">Async::AudioDebugger::flushSamples()</a>, and <a class="el" href="AsyncAudioValve_8h_source.html#l00142">Async::AudioValve::setOpen()</a>.</p>

</div>
</div>
<a class="anchor" id="a451d8b376851c54a4e0780dcea9a9739"></a><!-- doxytag: member="Async::AudioSource::sinkManaged" ref="a451d8b376851c54a4e0780dcea9a9739" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Async::AudioSource::sinkManaged </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if the sink is managed or not. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <em>true</em> if the sink is managed or <em>false</em> if not</dd></dl>
<p>This function is used to find out if the connected sink is managed or not. A managed sink will automatically be deleted when this source object is deleted. </p>

<p>Definition at line <a class="el" href="AsyncAudioSource_8h_source.html#l00165">165</a> of file <a class="el" href="AsyncAudioSource_8h_source.html">AsyncAudioSource.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad23a249abf0f8fd39d364301364740a6"></a><!-- doxytag: member="Async::AudioSource::sinkWriteSamples" ref="ad23a249abf0f8fd39d364301364740a6" args="(const float *samples, int len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Async::AudioSource::sinkWriteSamples </td>
          <td>(</td>
          <td class="paramtype">const float *&nbsp;</td>
          <td class="paramname"> <em>samples</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="AsyncAudioIO__demo_8cpp-example.html#a5">AsyncAudioIO_demo.cpp</a>.</dd>
</dl>
<p>Referenced by <a class="el" href="AsyncAudioValve_8h_source.html#l00233">Async::AudioValve::writeSamples()</a>, <a class="el" href="AsyncAudioPassthrough_8h_source.html#l00141">Async::AudioPassthrough::writeSamples()</a>, and <a class="el" href="AsyncAudioDebugger_8h_source.html#l00160">Async::AudioDebugger::writeSamples()</a>.</p>

</div>
</div>
<a class="anchor" id="a898aada74ec99cad0cb2edb1b7f534e4"></a><!-- doxytag: member="Async::AudioSource::unregisterSink" ref="a898aada74ec99cad0cb2edb1b7f534e4" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioSource::unregisterSink </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Unregister the previously registered audio sink. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="AsyncAudioSource_8h_source.html">AsyncAudioSource.h</a></li>
</ul>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2-20100208 </small></address>
</body>
</html>