Sophie

Sophie

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

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::AudioSink 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_1AudioSink.html">AudioSink</a>
  </div>
</div>
<div class="contents">
<h1>Async::AudioSink Class Reference</h1><!-- doxytag: class="Async::AudioSink" -->
<p>The base class for an audio sink.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="AsyncAudioSink_8h_source.html">AsyncAudioSink.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for Async::AudioSink:</div>
<div class="dynsection">
 <div class="center">
  <img src="classAsync_1_1AudioSink.png" usemap="#Async::AudioSink_map" alt=""/>
  <map id="Async::AudioSink_map" name="Async::AudioSink_map">
<area href="classAsync_1_1AudioDebugger.html" alt="Async::AudioDebugger" shape="rect" coords="167,56,324,80"/>
<area href="classAsync_1_1AudioDelayLine.html" alt="Async::AudioDelayLine" shape="rect" coords="167,112,324,136"/>
<area href="classAsync_1_1AudioEncoder.html" alt="Async::AudioEncoder" 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_1AudioPacer.html" alt="Async::AudioPacer" shape="rect" coords="167,336,324,360"/>
<area href="classAsync_1_1AudioPassthrough.html" alt="Async::AudioPassthrough" shape="rect" coords="167,392,324,416"/>
<area href="classAsync_1_1AudioProcessor.html" alt="Async::AudioProcessor" shape="rect" coords="167,448,324,472"/>
<area href="classAsync_1_1AudioReader.html" alt="Async::AudioReader" shape="rect" coords="167,504,324,528"/>
<area href="classAsync_1_1AudioRecorder.html" alt="Async::AudioRecorder" shape="rect" coords="167,560,324,584"/>
<area href="classAsync_1_1AudioSplitter.html" alt="Async::AudioSplitter" shape="rect" coords="167,616,324,640"/>
<area href="classAsync_1_1AudioValve.html" alt="Async::AudioValve" shape="rect" coords="167,672,324,696"/>
</map>
 </div>
</div>

<p><a href="classAsync_1_1AudioSink-members.html">List of all members.</a></p>
<h2>Public Member Functions</h2>
<ul>
<li><a class="el" href="classAsync_1_1AudioSink.html#ae0223d429bd789498549ccc7017f914c">AudioSink</a> (void)
<dl class="el"><dd class="mdescRight">Default constuctor.  <a href="#ae0223d429bd789498549ccc7017f914c"></a><br/></dl><li>virtual <a class="el" href="classAsync_1_1AudioSink.html#af4e2da6c82a4a811722115513ab36d94">~AudioSink</a> (void)
<dl class="el"><dd class="mdescRight">Destructor.  <a href="#af4e2da6c82a4a811722115513ab36d94"></a><br/></dl><li>bool <a class="el" href="classAsync_1_1AudioSink.html#a355c87f3f763af97de92f5b9ac4b6327">registerSource</a> (<a class="el" href="classAsync_1_1AudioSource.html">AudioSource</a> *source)
<dl class="el"><dd class="mdescRight">Register an audio source to provide samples to this sink.  <a href="#a355c87f3f763af97de92f5b9ac4b6327"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioSink.html#a4096137dbc22fe2568b8a2f0095dd2e9">unregisterSource</a> (void)
<dl class="el"><dd class="mdescRight">Unregister the previously registered audio source.  <a href="#a4096137dbc22fe2568b8a2f0095dd2e9"></a><br/></dl><li>bool <a class="el" href="classAsync_1_1AudioSink.html#ad6d84028464b76a1d2714c85825d5b97">isRegistered</a> (void) const 
<dl class="el"><dd class="mdescRight">Check if an audio source has been registered.  <a href="#ad6d84028464b76a1d2714c85825d5b97"></a><br/></dl><li><a class="el" href="classAsync_1_1AudioSource.html">AudioSource</a> * <a class="el" href="classAsync_1_1AudioSink.html#a19ed4eda15dd3f6718362092f223612a">source</a> (void) const 
<dl class="el"><dd class="mdescRight">Get the registered audio source.  <a href="#a19ed4eda15dd3f6718362092f223612a"></a><br/></dl><li>virtual int <a class="el" href="classAsync_1_1AudioSink.html#a490aa6380d6b0069fc501f0d9f62e236">writeSamples</a> (const float *samples, int count)
<dl class="el"><dd class="mdescRight">Write samples into this audio sink.  <a href="#a490aa6380d6b0069fc501f0d9f62e236"></a><br/></dl><li>virtual void <a class="el" href="classAsync_1_1AudioSink.html#adde14468248671c6c5c85eb47234e0fa">flushSamples</a> (void)
<dl class="el"><dd class="mdescRight">Tell the sink to flush the previously written samples.  <a href="#adde14468248671c6c5c85eb47234e0fa"></a><br/></dl></ul>
<h2>Protected Member Functions</h2>
<ul>
<li>void <a class="el" href="classAsync_1_1AudioSink.html#a4c16d7b78aade12abc0b57ec1db95f62">sourceResumeOutput</a> (void)
<dl class="el"><dd class="mdescRight">Tell the source that we are ready to accept more samples.  <a href="#a4c16d7b78aade12abc0b57ec1db95f62"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioSink.html#a2548622eb5c52ef80f3bd297f290be3c">sourceAllSamplesFlushed</a> (void)
<dl class="el"><dd class="mdescRight">Tell the source that all samples have been flushed.  <a href="#a2548622eb5c52ef80f3bd297f290be3c"></a><br/></dl><li>bool <a class="el" href="classAsync_1_1AudioSink.html#af29f830e9b6ea167cf8f4e9e3ae1be3a">setHandler</a> (<a class="el" href="classAsync_1_1AudioSink.html">AudioSink</a> *handler)
<dl class="el"><dd class="mdescRight">Setup another sink to handle the incoming audio.  <a href="#af29f830e9b6ea167cf8f4e9e3ae1be3a"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioSink.html#a11df81d747facec35563e9359520b522">clearHandler</a> (void)
<dl class="el"><dd class="mdescRight">Clear a handler that was previously setup with setHandler.  <a href="#a11df81d747facec35563e9359520b522"></a><br/></dl><li><a class="el" href="classAsync_1_1AudioSink.html">AudioSink</a> * <a class="el" href="classAsync_1_1AudioSink.html#afa9ccd2a1d0f39aabde37bf6e14566c0">handler</a> (void) const 
</ul>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>The base class for an audio sink. </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 sink. An audio sink is a class that can consume audio. </p>
<dl><dt><b>Examples: </b></dt><dd>
<p><a class="el" href="AsyncAudioIO__demo_8cpp-example.html#_a0">AsyncAudioIO_demo.cpp</a>.</p>
</dd>
</dl>
<p>Definition at line <a class="el" href="AsyncAudioSink_8h_source.html#l00115">115</a> of file <a class="el" href="AsyncAudioSink_8h_source.html">AsyncAudioSink.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ae0223d429bd789498549ccc7017f914c"></a><!-- doxytag: member="Async::AudioSink::AudioSink" ref="ae0223d429bd789498549ccc7017f914c" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Async::AudioSink::AudioSink </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="AsyncAudioSink_8h_source.html#l00121">121</a> of file <a class="el" href="AsyncAudioSink_8h_source.html">AsyncAudioSink.h</a>.</p>

</div>
</div>
<a class="anchor" id="af4e2da6c82a4a811722115513ab36d94"></a><!-- doxytag: member="Async::AudioSink::~AudioSink" ref="af4e2da6c82a4a811722115513ab36d94" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual Async::AudioSink::~AudioSink </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="a11df81d747facec35563e9359520b522"></a><!-- doxytag: member="Async::AudioSink::clearHandler" ref="a11df81d747facec35563e9359520b522" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioSink::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="adde14468248671c6c5c85eb47234e0fa"></a><!-- doxytag: member="Async::AudioSink::flushSamples" ref="adde14468248671c6c5c85eb47234e0fa" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Async::AudioSink::flushSamples </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>Tell the sink to flush the previously written samples. </p>
<p>This function is used to tell the sink to flush previously written samples. When done flushing, the sink should call the sourceAllSamplesFlushed function. This function is normally only called from a connected source object. </p>

<p>Reimplemented in <a class="el" href="classAsync_1_1AudioDebugger.html#ab9355e40edacee5e4b4c719f8b3835b6">Async::AudioDebugger</a>, <a class="el" href="classAsync_1_1AudioDelayLine.html#a24974eba89725a17048cf50c93006f3a">Async::AudioDelayLine</a>, <a class="el" href="classAsync_1_1AudioEncoder.html#a89a1b3e1994988757a837ecdf6aa91f8">Async::AudioEncoder</a>, <a class="el" href="classAsync_1_1AudioFifo.html#abbc0d2527dd6fd47938da51686c7ed16">Async::AudioFifo</a>, <a class="el" href="classAsync_1_1AudioPacer.html#a541d3c29ccd9e0db563f93a5bc666abd">Async::AudioPacer</a>, <a class="el" href="classAsync_1_1AudioPassthrough.html#ad22ce3a3af14c01b6c9e20c0a9672676">Async::AudioPassthrough</a>, <a class="el" href="classAsync_1_1AudioProcessor.html#aac5f8e87b28e3f761e19483b6c0dd3b8">Async::AudioProcessor</a>, <a class="el" href="classAsync_1_1AudioReader.html#a3a3df8e76a44b3727a85cce05c03552e">Async::AudioReader</a>, <a class="el" href="classAsync_1_1AudioRecorder.html#ab353029ae5f9db96ab63f254d6a01c44">Async::AudioRecorder</a>, <a class="el" href="classAsync_1_1AudioSplitter.html#abaf97160dabedf4fb0b834fb28e4d0ca">Async::AudioSplitter</a>, <a class="el" href="classAsync_1_1AudioStreamStateDetector.html#a17e1b81ff934e8f31ce116c4f657db8e">Async::AudioStreamStateDetector</a>, and <a class="el" href="classAsync_1_1AudioValve.html#ad82dfbcf4f44765b4fa54ea62bc2cac6">Async::AudioValve</a>.</p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="AsyncAudioIO__demo_8cpp-example.html#a6">AsyncAudioIO_demo.cpp</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="AsyncAudioSink_8h_source.html#l00178">178</a> of file <a class="el" href="AsyncAudioSink_8h_source.html">AsyncAudioSink.h</a>.</p>

<p>References <a class="el" href="AsyncAudioSink_8h_source.html#l00178">flushSamples()</a>.</p>

<p>Referenced by <a class="el" href="AsyncAudioSink_8h_source.html#l00178">flushSamples()</a>.</p>

</div>
</div>
<a class="anchor" id="afa9ccd2a1d0f39aabde37bf6e14566c0"></a><!-- doxytag: member="Async::AudioSink::handler" ref="afa9ccd2a1d0f39aabde37bf6e14566c0" 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::AudioSink::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="AsyncAudioSink_8h_source.html#l00222">222</a> of file <a class="el" href="AsyncAudioSink_8h_source.html">AsyncAudioSink.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad6d84028464b76a1d2714c85825d5b97"></a><!-- doxytag: member="Async::AudioSink::isRegistered" ref="ad6d84028464b76a1d2714c85825d5b97" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Async::AudioSink::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 source has been registered. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <em>true</em> if there is an audio source registerd </dd></dl>

<p>Definition at line <a class="el" href="AsyncAudioSink_8h_source.html#l00144">144</a> of file <a class="el" href="AsyncAudioSink_8h_source.html">AsyncAudioSink.h</a>.</p>

</div>
</div>
<a class="anchor" id="a355c87f3f763af97de92f5b9ac4b6327"></a><!-- doxytag: member="Async::AudioSink::registerSource" ref="a355c87f3f763af97de92f5b9ac4b6327" args="(AudioSource *source)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Async::AudioSink::registerSource </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classAsync_1_1AudioSource.html">AudioSource</a> *&nbsp;</td>
          <td class="paramname"> <em>source</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Register an audio source to provide samples to this sink. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The audio source to use </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>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="AsyncAudioIO__demo_8cpp-example.html#a3">AsyncAudioIO_demo.cpp</a>.</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="af29f830e9b6ea167cf8f4e9e3ae1be3a"></a><!-- doxytag: member="Async::AudioSink::setHandler" ref="af29f830e9b6ea167cf8f4e9e3ae1be3a" args="(AudioSink *handler)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Async::AudioSink::setHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classAsync_1_1AudioSink.html">AudioSink</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 sink to handle the incoming 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 sink 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 sink to handle incoming audio. This can be used when an internal object should handle the audio for this object. </p>

</div>
</div>
<a class="anchor" id="a19ed4eda15dd3f6718362092f223612a"></a><!-- doxytag: member="Async::AudioSink::source" ref="a19ed4eda15dd3f6718362092f223612a" 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::AudioSink::source </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 source. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the registered audio source if any registered or else returns 0. </dd></dl>

<p>Definition at line <a class="el" href="AsyncAudioSink_8h_source.html#l00151">151</a> of file <a class="el" href="AsyncAudioSink_8h_source.html">AsyncAudioSink.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2548622eb5c52ef80f3bd297f290be3c"></a><!-- doxytag: member="Async::AudioSink::sourceAllSamplesFlushed" ref="a2548622eb5c52ef80f3bd297f290be3c" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioSink::sourceAllSamplesFlushed </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>Tell the source that all samples have been flushed. </p>
<p>This function is called by the inheriting class to indicate that all samples have been flushed. It may only be called after a flushSamples call has been received and no more samples has been written to the sink. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="AsyncAudioIO__demo_8cpp-example.html#a11">AsyncAudioIO_demo.cpp</a>.</dd>
</dl>
<p>Referenced by <a class="el" href="AsyncAudioEncoder_8h_source.html#l00149">Async::AudioEncoder::allEncodedSamplesFlushed()</a>, <a class="el" href="AsyncAudioValve_8h_source.html#l00305">Async::AudioValve::allSamplesFlushed()</a>, <a class="el" href="AsyncAudioPassthrough_8h_source.html#l00178">Async::AudioPassthrough::allSamplesFlushed()</a>, <a class="el" href="AsyncAudioDebugger_8h_source.html#l00202">Async::AudioDebugger::allSamplesFlushed()</a>, <a class="el" href="AsyncAudioValve_8h_source.html#l00263">Async::AudioValve::flushSamples()</a>, and <a class="el" href="AsyncAudioValve_8h_source.html#l00142">Async::AudioValve::setOpen()</a>.</p>

</div>
</div>
<a class="anchor" id="a4c16d7b78aade12abc0b57ec1db95f62"></a><!-- doxytag: member="Async::AudioSink::sourceResumeOutput" ref="a4c16d7b78aade12abc0b57ec1db95f62" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioSink::sourceResumeOutput </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>Tell the source that we are ready to accept more samples. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="AsyncAudioIO__demo_8cpp-example.html#a9">AsyncAudioIO_demo.cpp</a>.</dd>
</dl>
<p>Referenced by <a class="el" href="AsyncAudioValve_8h_source.html#l00286">Async::AudioValve::resumeOutput()</a>, <a class="el" href="AsyncAudioPassthrough_8h_source.html#l00166">Async::AudioPassthrough::resumeOutput()</a>, <a class="el" href="AsyncAudioDebugger_8h_source.html#l00189">Async::AudioDebugger::resumeOutput()</a>, <a class="el" href="AsyncAudioValve_8h_source.html#l00188">Async::AudioValve::setBlockWhenClosed()</a>, and <a class="el" href="AsyncAudioValve_8h_source.html#l00142">Async::AudioValve::setOpen()</a>.</p>

</div>
</div>
<a class="anchor" id="a4096137dbc22fe2568b8a2f0095dd2e9"></a><!-- doxytag: member="Async::AudioSink::unregisterSource" ref="a4096137dbc22fe2568b8a2f0095dd2e9" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioSink::unregisterSource </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 source. </p>

</div>
</div>
<a class="anchor" id="a490aa6380d6b0069fc501f0d9f62e236"></a><!-- doxytag: member="Async::AudioSink::writeSamples" ref="a490aa6380d6b0069fc501f0d9f62e236" args="(const float *samples, int count)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int Async::AudioSink::writeSamples </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>count</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write samples into this audio sink. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>samples</em>&nbsp;</td><td>The buffer containing the samples </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>The number of samples in the buffer </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the number of samples that has been taken care of</dd></dl>
<p>This function is used to write audio into this audio sink. If it returns 0, no more samples should be written until the resumeOutput function in the source have been called. This function is normally only called from a connected source object. </p>

<p>Reimplemented in <a class="el" href="classAsync_1_1AudioDebugger.html#add5fadedaeccb9bbabe0f4997a0f6316">Async::AudioDebugger</a>, <a class="el" href="classAsync_1_1AudioDelayLine.html#a7fd387dd0aeb51025ca7dc568a720306">Async::AudioDelayLine</a>, <a class="el" href="classAsync_1_1AudioFifo.html#a9749091f636ef3f7baf99cfea494721c">Async::AudioFifo</a>, <a class="el" href="classAsync_1_1AudioPacer.html#a8e22bd32dc5554311fe302d661c17cc8">Async::AudioPacer</a>, <a class="el" href="classAsync_1_1AudioPassthrough.html#ab0c0ea3766f1be55c2e08c5a4eca4b87">Async::AudioPassthrough</a>, <a class="el" href="classAsync_1_1AudioProcessor.html#a8794b9b41ad8da1604433d9476411ca2">Async::AudioProcessor</a>, <a class="el" href="classAsync_1_1AudioReader.html#a17ec719ad036c7f05e6d4d873aac5d5a">Async::AudioReader</a>, <a class="el" href="classAsync_1_1AudioRecorder.html#ac0cf4ae2820567de1cb23426aa2ae0da">Async::AudioRecorder</a>, <a class="el" href="classAsync_1_1AudioSplitter.html#a002a5dd4454b0d650be4215ae1132e9f">Async::AudioSplitter</a>, <a class="el" href="classAsync_1_1AudioStreamStateDetector.html#a00df5765e2f3ab843655f34247850d93">Async::AudioStreamStateDetector</a>, and <a class="el" href="classAsync_1_1AudioValve.html#ad0d94a0a09f1d0a04935651b9962228a">Async::AudioValve</a>.</p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="AsyncAudioIO__demo_8cpp-example.html#a4">AsyncAudioIO_demo.cpp</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="AsyncAudioSink_8h_source.html#l00164">164</a> of file <a class="el" href="AsyncAudioSink_8h_source.html">AsyncAudioSink.h</a>.</p>

<p>References <a class="el" href="AsyncAudioSink_8h_source.html#l00164">writeSamples()</a>.</p>

<p>Referenced by <a class="el" href="AsyncAudioSink_8h_source.html#l00164">writeSamples()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="AsyncAudioSink_8h_source.html">AsyncAudioSink.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>