Sophie

Sophie

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

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::AudioFifo 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_1AudioFifo.html">AudioFifo</a>
  </div>
</div>
<div class="contents">
<h1>Async::AudioFifo Class Reference</h1><!-- doxytag: class="Async::AudioFifo" --><!-- doxytag: inherits="Async::AudioSink,Async::AudioSource" -->
<p>A FIFO class for handling audio samples.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="AsyncAudioFifo_8h_source.html">AsyncAudioFifo.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for Async::AudioFifo:</div>
<div class="dynsection">
 <div class="center">
  <img src="classAsync_1_1AudioFifo.png" usemap="#Async::AudioFifo_map" alt=""/>
  <map id="Async::AudioFifo_map" name="Async::AudioFifo_map">
<area href="classAsync_1_1AudioSink.html" alt="Async::AudioSink" shape="rect" coords="0,0,128,24"/>
<area href="classAsync_1_1AudioSource.html" alt="Async::AudioSource" shape="rect" coords="138,0,266,24"/>
</map>
 </div>
</div>

<p><a href="classAsync_1_1AudioFifo-members.html">List of all members.</a></p>
<h2>Public Member Functions</h2>
<ul>
<li><a class="el" href="classAsync_1_1AudioFifo.html#a47158be7cbe4b369676a5769651d5802">AudioFifo</a> (unsigned fifo_size)
<dl class="el"><dd class="mdescRight">Constuctor.  <a href="#a47158be7cbe4b369676a5769651d5802"></a><br/></dl><li>virtual <a class="el" href="classAsync_1_1AudioFifo.html#af804b015a42ee61e38a5b952f44c518e">~AudioFifo</a> (void)
<dl class="el"><dd class="mdescRight">Destructor.  <a href="#af804b015a42ee61e38a5b952f44c518e"></a><br/></dl><li>bool <a class="el" href="classAsync_1_1AudioFifo.html#afc5765cf3638971e44b270a12680e61d">empty</a> (void) const 
<dl class="el"><dd class="mdescRight">Check if the FIFO is empty.  <a href="#afc5765cf3638971e44b270a12680e61d"></a><br/></dl><li>bool <a class="el" href="classAsync_1_1AudioFifo.html#a5f9f6c9fceb19c1d6bbded29b3e9537f">full</a> (void) const 
<dl class="el"><dd class="mdescRight">Check if the FIFO is full.  <a href="#a5f9f6c9fceb19c1d6bbded29b3e9537f"></a><br/></dl><li>unsigned <a class="el" href="classAsync_1_1AudioFifo.html#ad37313f2808501ac57a4db8b45e07579">samplesInFifo</a> (bool ignore_prebuf=false) const 
<dl class="el"><dd class="mdescRight">Find out how many samples there are in the FIFO.  <a href="#ad37313f2808501ac57a4db8b45e07579"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioFifo.html#a88e0968f0438e3eda0374b35497f5d21">setOverwrite</a> (bool overwrite)
<dl class="el"><dd class="mdescRight">Set the overwrite mode.  <a href="#a88e0968f0438e3eda0374b35497f5d21"></a><br/></dl><li>bool <a class="el" href="classAsync_1_1AudioFifo.html#a2b2f0bdb439a2ab4269292274c514c82">overwrite</a> (void) const 
<dl class="el"><dd class="mdescRight">Check the overwrite mode.  <a href="#a2b2f0bdb439a2ab4269292274c514c82"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioFifo.html#a0a315268c60c1f3611c554be52a14fe3">clear</a> (void)
<dl class="el"><dd class="mdescRight">Clear all samples from the FIFO.  <a href="#a0a315268c60c1f3611c554be52a14fe3"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioFifo.html#ac6311c5ef4ce06c09dab94b41abd914f">setPrebufSamples</a> (unsigned prebuf_samples)
<dl class="el"><dd class="mdescRight">Set the number of samples that must be in the fifo before any samples are written out from it.  <a href="#ac6311c5ef4ce06c09dab94b41abd914f"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioFifo.html#aa89651ec97be3a1585b9cf5f6d452e3c">enableBuffering</a> (bool enable)
<dl class="el"><dd class="mdescRight">Enable/disable the fifo buffer.  <a href="#aa89651ec97be3a1585b9cf5f6d452e3c"></a><br/></dl><li>bool <a class="el" href="classAsync_1_1AudioFifo.html#af7906c2c52f9131010d01d8465496863">bufferingEnabled</a> (void) const 
<dl class="el"><dd class="mdescRight">Check if buffering is enabled or disabled.  <a href="#af7906c2c52f9131010d01d8465496863"></a><br/></dl><li>virtual int <a class="el" href="classAsync_1_1AudioFifo.html#a9749091f636ef3f7baf99cfea494721c">writeSamples</a> (const float *samples, int count)
<dl class="el"><dd class="mdescRight">Write samples into the FIFO.  <a href="#a9749091f636ef3f7baf99cfea494721c"></a><br/></dl><li>virtual void <a class="el" href="classAsync_1_1AudioFifo.html#abbc0d2527dd6fd47938da51686c7ed16">flushSamples</a> (void)
<dl class="el"><dd class="mdescRight">Tell the FIFO to flush the previously written samples.  <a href="#abbc0d2527dd6fd47938da51686c7ed16"></a><br/></dl><li>virtual void <a class="el" href="classAsync_1_1AudioFifo.html#a9d0e1c7aa52ace7ce4499087230c4292">resumeOutput</a> (void)
<dl class="el"><dd class="mdescRight">Resume audio output to the connected sink.  <a href="#a9d0e1c7aa52ace7ce4499087230c4292"></a><br/></dl></ul>
<h2>Protected Member Functions</h2>
<ul>
<li>virtual void <a class="el" href="classAsync_1_1AudioFifo.html#ac7128e91c69306da64979268b61adbba">allSamplesFlushed</a> (void)
<dl class="el"><dd class="mdescRight">The registered sink has flushed all samples.  <a href="#ac7128e91c69306da64979268b61adbba"></a><br/></dl></ul>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A FIFO class for handling audio samples. </p>
<dl class="author"><dt><b>Author:</b></dt><dd>Tobias Blomberg / SM0SVX </dd></dl>
<dl class="date"><dt><b>Date:</b></dt><dd>2007-10-06</dd></dl>
<p>This class implements a FIFO for handling audio samples. The FIFO also have some additional features. Output can be started or stopped and it can be instructed to buffer some samples before starting to output audio. Samples can be automatically output using the normal audio pipe infrastructure or samples could be read on demand using the readSamples method. </p>

<p>Definition at line <a class="el" href="AsyncAudioFifo_8h_source.html#l00119">119</a> of file <a class="el" href="AsyncAudioFifo_8h_source.html">AsyncAudioFifo.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a47158be7cbe4b369676a5769651d5802"></a><!-- doxytag: member="Async::AudioFifo::AudioFifo" ref="a47158be7cbe4b369676a5769651d5802" args="(unsigned fifo_size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Async::AudioFifo::AudioFifo </td>
          <td>(</td>
          <td class="paramtype">unsigned&nbsp;</td>
          <td class="paramname"> <em>fifo_size</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constuctor. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fifo_size</em>&nbsp;</td><td>This is the size of the fifo expressed in number of samples. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af804b015a42ee61e38a5b952f44c518e"></a><!-- doxytag: member="Async::AudioFifo::~AudioFifo" ref="af804b015a42ee61e38a5b952f44c518e" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual Async::AudioFifo::~AudioFifo </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="ac7128e91c69306da64979268b61adbba"></a><!-- doxytag: member="Async::AudioFifo::allSamplesFlushed" ref="ac7128e91c69306da64979268b61adbba" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Async::AudioFifo::allSamplesFlushed </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</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>Reimplemented from <a class="el" href="classAsync_1_1AudioSource.html#a563adf6411eddbd056abf206a12354b6">Async::AudioSource</a>.</p>

</div>
</div>
<a class="anchor" id="af7906c2c52f9131010d01d8465496863"></a><!-- doxytag: member="Async::AudioFifo::bufferingEnabled" ref="af7906c2c52f9131010d01d8465496863" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Async::AudioFifo::bufferingEnabled </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 buffering is enabled or disabled. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <em>true</em> if buffering is enabled or else <em>false</em> </dd></dl>

<p>Definition at line <a class="el" href="AsyncAudioFifo_8h_source.html#l00217">217</a> of file <a class="el" href="AsyncAudioFifo_8h_source.html">AsyncAudioFifo.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0a315268c60c1f3611c554be52a14fe3"></a><!-- doxytag: member="Async::AudioFifo::clear" ref="a0a315268c60c1f3611c554be52a14fe3" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioFifo::clear </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>Clear all samples from the FIFO. </p>
<p>This will immediately reset the FIFO and discard all samples. The source will be told that all samples have been flushed. </p>

</div>
</div>
<a class="anchor" id="afc5765cf3638971e44b270a12680e61d"></a><!-- doxytag: member="Async::AudioFifo::empty" ref="afc5765cf3638971e44b270a12680e61d" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Async::AudioFifo::empty </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 FIFO is empty. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <em>true</em> if the FIFO is empty or else <em>false</em> </dd></dl>

<p>Definition at line <a class="el" href="AsyncAudioFifo_8h_source.html#l00138">138</a> of file <a class="el" href="AsyncAudioFifo_8h_source.html">AsyncAudioFifo.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa89651ec97be3a1585b9cf5f6d452e3c"></a><!-- doxytag: member="Async::AudioFifo::enableBuffering" ref="aa89651ec97be3a1585b9cf5f6d452e3c" args="(bool enable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioFifo::enableBuffering </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>enable</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enable/disable the fifo buffer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>enable</em>&nbsp;</td><td>Set to <em>true</em> to enable buffering or else <em>false</em> </td></tr>
  </table>
  </dd>
</dl>
<p>Use this method to turn buffering on and off. When buffering is off, no incoming samples will be stored in the fifo. If there are samples in the fifo at the time when buffering is disabled they will be sent out in the normal way. Don't disable buffering when pre-buffering is used. This will get you into trouble. </p>

</div>
</div>
<a class="anchor" id="abbc0d2527dd6fd47938da51686c7ed16"></a><!-- doxytag: member="Async::AudioFifo::flushSamples" ref="abbc0d2527dd6fd47938da51686c7ed16" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Async::AudioFifo::flushSamples </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>Tell the FIFO to flush the previously written samples. </p>
<p>This function is used to tell the FIFO to flush previously written samples. This function is normally only called from a connected source object. </p>

<p>Reimplemented from <a class="el" href="classAsync_1_1AudioSink.html#adde14468248671c6c5c85eb47234e0fa">Async::AudioSink</a>.</p>

</div>
</div>
<a class="anchor" id="a5f9f6c9fceb19c1d6bbded29b3e9537f"></a><!-- doxytag: member="Async::AudioFifo::full" ref="a5f9f6c9fceb19c1d6bbded29b3e9537f" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Async::AudioFifo::full </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 FIFO is full. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <em>true</em> if the FIFO is full or else <em>false</em> </dd></dl>
<p>This function is used to check if the FIFO is full or not. The FIFO can only reach the buffer full condition if overwrite is false. The overwrite mode is set by the setOverwrite function. </p>

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

</div>
</div>
<a class="anchor" id="a2b2f0bdb439a2ab4269292274c514c82"></a><!-- doxytag: member="Async::AudioFifo::overwrite" ref="a2b2f0bdb439a2ab4269292274c514c82" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Async::AudioFifo::overwrite </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 the overwrite mode. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <em>true</em> if overwrite is enabled or else <em>false</em> </dd></dl>
<p>The FIFO can operate in overwrite or normal mode. When in normal mode, it will not be possible to add any more samples to the FIFO when it is full. Samples has to be removed first. When overwrite is set, newly added samples will overwrite the oldest samples in the buffer so the FIFO will never get full but instead samples are lost. Use this function the check the current overwrite mode. Use the setOverwrite function to set the overwrite mode. </p>

<p>Definition at line <a class="el" href="AsyncAudioFifo_8h_source.html#l00183">183</a> of file <a class="el" href="AsyncAudioFifo_8h_source.html">AsyncAudioFifo.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9d0e1c7aa52ace7ce4499087230c4292"></a><!-- doxytag: member="Async::AudioFifo::resumeOutput" ref="a9d0e1c7aa52ace7ce4499087230c4292" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Async::AudioFifo::resumeOutput </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>Resume audio output to the connected sink. </p>
<p>This function 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 from <a class="el" href="classAsync_1_1AudioSource.html#ac187f89a6094ec066dab5b4fd3108754">Async::AudioSource</a>.</p>

</div>
</div>
<a class="anchor" id="ad37313f2808501ac57a4db8b45e07579"></a><!-- doxytag: member="Async::AudioFifo::samplesInFifo" ref="ad37313f2808501ac57a4db8b45e07579" args="(bool ignore_prebuf=false) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned Async::AudioFifo::samplesInFifo </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>ignore_prebuf</em> = <code>false</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Find out how many samples there are in the FIFO. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ignore_prebuf</em>&nbsp;</td><td>Set to <em>true</em> to not report pre-buffered samples. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the number of samples in the FIFO </dd></dl>

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

<p>Set the overwrite mode. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>overwrite</em>&nbsp;</td><td>Set to <em>true</em> to overwrite or else <em>false</em> </td></tr>
  </table>
  </dd>
</dl>
<p>The FIFO can operate in overwrite or normal mode. When in normal mode, it will not be possible to add any more samples to the FIFO when it is full. Samples has to be removed first. When overwrite is set, newly added samples will overwrite the oldest samples in the buffer so the FIFO will never get full but instead samples are lost. Use this function to set the overwrite mode. </p>

<p>Definition at line <a class="el" href="AsyncAudioFifo_8h_source.html#l00169">169</a> of file <a class="el" href="AsyncAudioFifo_8h_source.html">AsyncAudioFifo.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac6311c5ef4ce06c09dab94b41abd914f"></a><!-- doxytag: member="Async::AudioFifo::setPrebufSamples" ref="ac6311c5ef4ce06c09dab94b41abd914f" args="(unsigned prebuf_samples)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioFifo::setPrebufSamples </td>
          <td>(</td>
          <td class="paramtype">unsigned&nbsp;</td>
          <td class="paramname"> <em>prebuf_samples</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the number of samples that must be in the fifo before any samples are written out from it. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>prebuf_samples</em>&nbsp;</td><td>The number of samples </td></tr>
  </table>
  </dd>
</dl>

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

<p>Write samples into the FIFO. </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 the FIFO. 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 from <a class="el" href="classAsync_1_1AudioSink.html#a490aa6380d6b0069fc501f0d9f62e236">Async::AudioSink</a>.</p>

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