212 lines
13 KiB
HTML
212 lines
13 KiB
HTML
<!-- HTML header for doxygen 1.8.8-->
|
|
<!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="X-UA-Compatible" content="IE=edge">
|
|
<!-- For Mobile Devices -->
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta name="generator" content="Doxygen 1.8.12"/>
|
|
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
|
|
<title>audio-river: Multi-nodal audio interface: AUDIO-RIVER library</title>
|
|
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
|
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
|
|
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
|
|
<script type="text/javascript" src="doxy-boot.js"></script>
|
|
</head>
|
|
<body>
|
|
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
|
|
<div class="container">
|
|
<div class="navbar-header">
|
|
<a class="navbar-brand">audio-river: Multi-nodal audio interface 0.4.0</a>
|
|
</div>
|
|
<div id="navbar" class="navbar-collapse collapse">
|
|
<ul class="nav navbar-nav">
|
|
<li><a href="index.html">Main Page</a></li>
|
|
<li><a href="pages.html">Related Pages</a></li>
|
|
<li><a href="namespaces.html">Namespaces</a></li>
|
|
<li><a href="annotated.html">Classes</a></li>
|
|
<li><a href="files.html">Files</a></li>
|
|
</ul>
|
|
<ul class="nav navbar-nav navbar-right">
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
|
|
Link-libs<span class="caret"></span>
|
|
</a>
|
|
<ul class="dropdown-menu">
|
|
<li><a href="http://HeeroYui.github.io/lutin">lutin</a></li>
|
|
<li><a href="http://atria-soft.github.io/ewol">ewol</a></li>
|
|
<li><a href="http://atria-soft.github.io/echrono">echrono</a></li>
|
|
<li><a href="http://atria-soft.github.io/etk">etk</a></li>
|
|
<li><a href="http://atria-soft.github.io/ejson">ejson</a></li>
|
|
<li><a href="http://atria-soft.github.io/exml">exml</a></li>
|
|
<li><a href="http://atria-soft.github.io/esvg">esvg</a></li>
|
|
<li><a href="http://atria-soft.github.io/egami">egami</a></li>
|
|
<li><a href="http://atria-soft.github.io/gale">gale</a></li>
|
|
<li><a href="http://atria-soft.github.io/ege">ege</a></li>
|
|
<li><a href="http://atria-soft.github.io/elog">elog</a></li>
|
|
<li><a href="http://atria-soft.github.io/ememory">ememory</a></li>
|
|
<li><a href="http://atria-soft.github.io/enet">enet</a></li>
|
|
<li><a href="http://atria-soft.github.io/eproperty">eproperty</a></li>
|
|
<li><a href="http://atria-soft.github.io/esignal">esignal</a></li>
|
|
<li><a href="http://atria-soft.github.io/etranslate">etranslate</a></li>
|
|
<li><a href="http://atria-soft.github.io/zeus">zeus</a></li>
|
|
<li><a href="http://musicdsp.github.io/audio-ess">audio-ess</a></li>
|
|
<li><a href="http://musicdsp.github.io/audio">audio</a></li>
|
|
<li><a href="http://musicdsp.github.io/audio-drain">audio-drain</a></li>
|
|
<li><a href="http://musicdsp.github.io/audio-orchestra">audio-orchestra</a></li>
|
|
<li><a href="http://musicdsp.github.io/audio-river">audio-river</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<div id="search-box" class="input-group">
|
|
<div class="input-group-btn">
|
|
<button aria-expanded="false" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
|
<span class="glyphicon glyphicon-search"></span>
|
|
<span class="caret"></span>
|
|
</button>
|
|
<ul class="dropdown-menu">
|
|
<li><a href="#">All</a></li>
|
|
<li><a href="#">Classes</a></li>
|
|
<li><a href="#">Namespaces</a></li>
|
|
<li><a href="#">Files</a></li>
|
|
<li><a href="#">Functions</a></li>
|
|
<li><a href="#">Variables</a></li>
|
|
<li><a href="#">Typedefs</a></li>
|
|
<li><a href="#">Enumerations</a></li>
|
|
<li><a href="#">Enumerator</a></li>
|
|
<li><a href="#">Friends</a></li>
|
|
<li><a href="#">Macros</a></li>
|
|
<li><a href="#">Pages</a></li>
|
|
</ul>
|
|
</div>
|
|
<button id="search-close" type="button" class="close" aria-label="Close">
|
|
<span aria-hidden="true"></span>
|
|
</button>
|
|
<input id="search-field" class="form-control" accesskey="S" onkeydown="searchBox.OnSearchFieldChange(event);" placeholder="Search ..." type="text">
|
|
</div>
|
|
</div><!--/.nav-collapse -->
|
|
</div>
|
|
</nav>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div class="content" id="content">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
|
|
<div style="margin-bottom: 15px;margin-top: 60px;">
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.12 -->
|
|
<script type="text/javascript">
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
</script>
|
|
<div id="main-nav"></div>
|
|
</div><!-- top -->
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="headertitle">
|
|
<div class="title">AUDIO-RIVER library </div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<div class="toc"><h3>Table of Contents</h3>
|
|
<ul><li class="level1"><a href="#audio_river_mainpage_what">What is AUDIO-RIVER: </a></li>
|
|
<li class="level1"><a href="#audio_river_mainpage_what_it_does">What it does: </a></li>
|
|
<li class="level1"><a href="#audio_river_mainpage_language">What languages are supported? </a></li>
|
|
<li class="level1"><a href="#audio_river_mainpage_license_restriction">Are there any licensing restrictions? </a></li>
|
|
<li class="level1"><a href="#audio_river_mainpage_license">License (APACHE-2.0) </a></li>
|
|
<li class="level1"><a href="#audio_river_mainpage_sub_page">Other pages </a></li>
|
|
</ul>
|
|
</div>
|
|
<div class="textblock"><h1><a class="anchor" id="audio_river_mainpage_what"></a>
|
|
What is AUDIO-RIVER: </h1>
|
|
<p>AUDIO-RIVER, is a multi-platform library to manage the input and output audio flow. It can be compared with PulseAudio or Jack, but at the difference at the 2 interfaces it is designed to be multi-platform and is based on licence that permit to integrate it on every program we want.</p>
|
|
<h1><a class="anchor" id="audio_river_mainpage_what_it_does"></a>
|
|
What it does: </h1>
|
|
<p>Everywhere! RIVER is cross-platform devolopped to support bases OS: : ** Linux (over Alsa, Pulseaudio, JackD) : ** Windows (over ASIO) : ** MacOs (over CoreAudio) : ** Android (Over Ewol wrapper little complicated need to be change later) : ** IOs (over CoreAudio for ios)</p>
|
|
<p>AUDIO-RIVER is dependent of the STL (compatible with MacOs stl (CXX))</p>
|
|
<h2>Architecture: </h2>
|
|
<p>River has been designed to replace the pulseAudio basic asyncronous interface that create more problem that it will solve. The second point is that is not enougth portable to be embended in a proprietary software without distributing all the sources (Ios).</p>
|
|
<p>Start at this point we will have simple objectives :</p><ul>
|
|
<li>Manage multiple Low level interface: <a class="elRef" doxygen="/home/heero/dev/perso/out/doc/release/audio-orchestra.tag:http://musicdsp.github.io/audio-orchestra/" href="http://musicdsp.github.io/audio-orchestra/index.html#audio_orchestra_mainpage_what">What is AUDIO-ORCHESTRA: </a><ul>
|
|
<li>for linux (Alsa, Pulse, Oss)</li>
|
|
<li>for Mac-OsX (CoreAudio)</li>
|
|
<li>for IOs (coreAudio (embended version))</li>
|
|
<li>for Windows (ASIO)</li>
|
|
<li>For Android (Java (JDK...))</li>
|
|
</ul>
|
|
</li>
|
|
<li>Synchronous interface ==> no delay and reduce latency</li>
|
|
<li>Manage the thread priority (need sometimes to be more reactive)</li>
|
|
<li>manage mixing of some flow (2 inputs stereo and the user want 1 input quad)</li>
|
|
<li>AEC Acoustic Echo Cancelation (TODO : in the current implementation we have a simple sound cutter)</li>
|
|
<li>Equalizer (done with audio_drain_mainpage_what)</li>
|
|
<li>Resmpling (done by the libspeexDSP)</li>
|
|
<li>Correct volume management (and configurable)</li>
|
|
<li>Fade-in and Fade-out audio_drain_mainpage_what</li>
|
|
<li>Channel reorganisation audio_drain_mainpage_what</li>
|
|
<li>A correct feedback interface</li>
|
|
</ul>
|
|
<h1><a class="anchor" id="audio_river_mainpage_language"></a>
|
|
What languages are supported? </h1>
|
|
<p>AUDIO-RIVER is written in C++.</p>
|
|
<h1><a class="anchor" id="audio_river_mainpage_license_restriction"></a>
|
|
Are there any licensing restrictions? </h1>
|
|
<p>AUDIO-RIVER is <b>FREE software</b> and <em>all sub-library are FREE and staticly linkable !!!</em></p>
|
|
<h1><a class="anchor" id="audio_river_mainpage_license"></a>
|
|
License (APACHE-2.0) </h1>
|
|
<p>Copyright AUDIO-RIVER Edouard DUPIN</p>
|
|
<p>Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at</p>
|
|
<p><a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a></p>
|
|
<p>Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.</p>
|
|
<h1><a class="anchor" id="audio_river_mainpage_sub_page"></a>
|
|
Other pages </h1>
|
|
<ul>
|
|
<li><a class="el" href="audio_river_build.html">Build lib & build sample</a></li>
|
|
<li><a class="el" href="audio_river_read.html">Read stream form Audio input</a></li>
|
|
<li><a class="el" href="audio_river_write.html">Write stream to Audio output</a></li>
|
|
<li><a class="el" href="audio_river_feedback.html">Read stream feedback</a></li>
|
|
<li><a class="el" href="audio_river_config_file.html">River configuration file</a></li>
|
|
<li><a href="http://atria-soft.github.io/ewol/ewol_coding_style.html"><b>ewol coding style</b></a> </li>
|
|
</ul>
|
|
</div></div><!-- contents -->
|
|
<!-- HTML footer for doxygen 1.8.8-->
|
|
<!-- start footer part -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated on Mon Oct 24 2016 15:35:48 for audio-river: Multi-nodal audio interface by  <a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
</a> 1.8.12
|
|
</small></address>
|
|
</body>
|
|
</html>
|