Sophie

Sophie

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

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::AudioSplitter 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_1AudioSplitter.html">AudioSplitter</a>
  </div>
</div>
<div class="contents">
<h1>Async::AudioSplitter Class Reference</h1><!-- doxytag: class="Async::AudioSplitter" --><!-- doxytag: inherits="Async::AudioSink" -->
<p>A class that splits an audio stream into multiple streams.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="AsyncAudioSplitter_8h_source.html">AsyncAudioSplitter.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for Async::AudioSplitter:</div>
<div class="dynsection">
 <div class="center">
  <img src="classAsync_1_1AudioSplitter.png" usemap="#Async::AudioSplitter_map" alt=""/>
  <map id="Async::AudioSplitter_map" name="Async::AudioSplitter_map">
<area href="classAsync_1_1AudioSink.html" alt="Async::AudioSink" shape="rect" coords="0,0,126,24"/>
</map>
 </div>
</div>

<p><a href="classAsync_1_1AudioSplitter-members.html">List of all members.</a></p>
<h2>Public Member Functions</h2>
<ul>
<li><a class="el" href="classAsync_1_1AudioSplitter.html#aee0249b472b397fd261a239e6f3dfcad">AudioSplitter</a> (void)
<dl class="el"><dd class="mdescRight">Default constuctor.  <a href="#aee0249b472b397fd261a239e6f3dfcad"></a><br/></dl><li><a class="el" href="classAsync_1_1AudioSplitter.html#a7dbde07b0552fe5554e3c3b5f7c6d65d">~AudioSplitter</a> (void)
<dl class="el"><dd class="mdescRight">Destructor.  <a href="#a7dbde07b0552fe5554e3c3b5f7c6d65d"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioSplitter.html#af3ccb8913fb749288521a2939c3a2aa9">addSink</a> (<a class="el" href="classAsync_1_1AudioSink.html">AudioSink</a> *sink, bool managed=false)
<dl class="el"><dd class="mdescRight">Add an audio sink to the splitter.  <a href="#af3ccb8913fb749288521a2939c3a2aa9"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioSplitter.html#a88f38c8423f8a888a341baf60028d3b3">removeSink</a> (<a class="el" href="classAsync_1_1AudioSink.html">AudioSink</a> *sink)
<dl class="el"><dd class="mdescRight">Remove an audio sink from the splitter.  <a href="#a88f38c8423f8a888a341baf60028d3b3"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioSplitter.html#ac446213755a830c5480ff182f3df6d35">removeAllSinks</a> (void)
<dl class="el"><dd class="mdescRight">Remove all audio sinks from this splitter.  <a href="#ac446213755a830c5480ff182f3df6d35"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioSplitter.html#acdc788d3e39a0b22ff73975025f15419">enableSink</a> (<a class="el" href="classAsync_1_1AudioSink.html">AudioSink</a> *sink, bool enable)
<dl class="el"><dd class="mdescRight">Enable or disable audio output to the given audio sink.  <a href="#acdc788d3e39a0b22ff73975025f15419"></a><br/></dl><li>int <a class="el" href="classAsync_1_1AudioSplitter.html#a002a5dd4454b0d650be4215ae1132e9f">writeSamples</a> (const float *samples, int len)
<dl class="el"><dd class="mdescRight">Write samples into this audio sink.  <a href="#a002a5dd4454b0d650be4215ae1132e9f"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioSplitter.html#abaf97160dabedf4fb0b834fb28e4d0ca">flushSamples</a> (void)
<dl class="el"><dd class="mdescRight">Tell the sink to flush the previously written samples.  <a href="#abaf97160dabedf4fb0b834fb28e4d0ca"></a><br/></dl></ul>
<h2>Friends</h2>
<ul>
<li>class <a class="el" href="classAsync_1_1AudioSplitter.html#a34af6289162369d1407283667daf73f1">Branch</a>
</ul>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A class that splits an audio stream into multiple streams. </p>
<dl class="author"><dt><b>Author:</b></dt><dd>Tobias Blomberg </dd></dl>
<dl class="date"><dt><b>Date:</b></dt><dd>2005-05-05</dd></dl>
<p>This class is part of the audio pipe framework. It is used to split one incoming audio source into multiple outgoing sources. </p>

<p>Definition at line <a class="el" href="AsyncAudioSplitter_8h_source.html#l00116">116</a> of file <a class="el" href="AsyncAudioSplitter_8h_source.html">AsyncAudioSplitter.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aee0249b472b397fd261a239e6f3dfcad"></a><!-- doxytag: member="Async::AudioSplitter::AudioSplitter" ref="aee0249b472b397fd261a239e6f3dfcad" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Async::AudioSplitter::AudioSplitter </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>Default constuctor. </p>

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

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="af3ccb8913fb749288521a2939c3a2aa9"></a><!-- doxytag: member="Async::AudioSplitter::addSink" ref="af3ccb8913fb749288521a2939c3a2aa9" args="(AudioSink *sink, bool managed=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioSplitter::addSink </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>Add an audio sink to the splitter. </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 sink object to add </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>managed</em>&nbsp;</td><td>If managed is <em>true</em> the attached sink will be deleted when the splitter is deleted </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="acdc788d3e39a0b22ff73975025f15419"></a><!-- doxytag: member="Async::AudioSplitter::enableSink" ref="acdc788d3e39a0b22ff73975025f15419" args="(AudioSink *sink, bool enable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioSplitter::enableSink </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>enable</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enable or disable audio output to the given 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>sink</em>&nbsp;</td><td>The audio sink to enable/disable </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>enable</em>&nbsp;</td><td>Set to <em>true</em> to enable the sink or <em>false</em> to disable it </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abaf97160dabedf4fb0b834fb28e4d0ca"></a><!-- doxytag: member="Async::AudioSplitter::flushSamples" ref="abaf97160dabedf4fb0b834fb28e4d0ca" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioSplitter::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 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 from <a class="el" href="classAsync_1_1AudioSink.html#adde14468248671c6c5c85eb47234e0fa">Async::AudioSink</a>.</p>

</div>
</div>
<a class="anchor" id="ac446213755a830c5480ff182f3df6d35"></a><!-- doxytag: member="Async::AudioSplitter::removeAllSinks" ref="ac446213755a830c5480ff182f3df6d35" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioSplitter::removeAllSinks </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>Remove all audio sinks from this splitter. </p>

</div>
</div>
<a class="anchor" id="a88f38c8423f8a888a341baf60028d3b3"></a><!-- doxytag: member="Async::AudioSplitter::removeSink" ref="a88f38c8423f8a888a341baf60028d3b3" args="(AudioSink *sink)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioSplitter::removeSink </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>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Remove an audio sink from the splitter. </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 sink object to remove </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a002a5dd4454b0d650be4215ae1132e9f"></a><!-- doxytag: member="Async::AudioSplitter::writeSamples" ref="a002a5dd4454b0d650be4215ae1132e9f" args="(const float *samples, int len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Async::AudioSplitter::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>len</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 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>len</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 from <a class="el" href="classAsync_1_1AudioSink.html#a490aa6380d6b0069fc501f0d9f62e236">Async::AudioSink</a>.</p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a34af6289162369d1407283667daf73f1"></a><!-- doxytag: member="Async::AudioSplitter::Branch" ref="a34af6289162369d1407283667daf73f1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class Branch<code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="AsyncAudioSplitter_8h_source.html#l00197">197</a> of file <a class="el" href="AsyncAudioSplitter_8h_source.html">AsyncAudioSplitter.h</a>.</p>

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