Sophie

Sophie

distrib > Fedora > 13 > i386 > media > updates > by-pkgid > e00b64b902be9cec16072aebc13bf07b > files > 41

libfishsound-doc-1.0.0-2.fc13.i686.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>libfishsound: About</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="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>About</h1><table border="0" cellpadding="0" cellspacing="0">
</table>
<h2><a class="anchor" id="design">
Design</a></h2>
<p>libfishsound provides a simple programming interface for decoding and encoding audio data using codecs from <a href="http://www.xiph.org/">Xiph.Org</a>.</p>
<p>libfishsound by itself is designed to handle raw codec streams from a lower level layer such as UDP datagrams. When these codecs are used in files, they are commonly encapsulated in <a href="http://www.xiph.org/ogg/">Ogg</a> to produce <em>Ogg FLAC</em>, <em>Speex</em> and <em>Ogg Vorbis</em> files. Example C programs using <a href="http://www.annodex.net/software/liboggz/">liboggz</a> to read and write these files are provided in the libfishsound sources.</p>
<p>libfishsound is implemented as a wrapper around the existing codec libraries and provides a consistent, higher-level programming interface. The motivation for this is twofold: to simplify the task of developing application software that supports these codecs, and to ensure that valid codec streams are generated.</p>
<h2><a class="anchor" id="history">
History</a></h2>
<p>libfishsound was designed and developed by Conrad Parker on the weekend of October 18-19 2003. Previously the author had implemented Vorbis and Speex support in the following software:</p>
<ul>
<li><a href="http://www.metadecks.org/software/sweep/">Sweep</a>, a digital audio editor with decoding and GUI control of all encoding options of Vorbis and Speex</li>
<li>Speex support in the <a href="http://www.xinehq.org/">xine</a> multimedia player</li>
<li>Vorbis and Speex importers for <a href="http://www.annodex.net/software/libannodex/">libannodex</a>, the basic library for reading and writing <a href="http://www.annodex.net/">Annodex.net</a> media files.</li>
</ul>
<p>The implementation of libfishsound draws heavily on these sources, and in turn the original example sources of libvorbis and libvorbisenc by Monty, and libspeex by Jean-Marc Valin.</p>
<p>The naming of libfishsound reflects both the Xiph.Org logo and the author's reputation as a dirty, smelly old fish.</p>
<h2><a class="anchor" id="limitations">
Limitations</a></h2>
<p>libfishsound has been designed to accomodate the various decoding and encoding styles required by a wide variety of software. However, as it is an abstraction of the underlying libvorbis, libvorbisenc and libspeex libraries, it may not be possible to implement some low-level techniques that these libraries enable, such as parallelization of Vorbis sub-block decoding. Nevertheless it is expected that libfishsound is a useful API for most software requiring Vorbis or Speex support, including most applications the author has encountered.</p>
<h2><a class="anchor" id="acknowledgements">
Acknowledgements</a></h2>
<p>Much of the API design follows the style of <a href="http://www.zip.com.au/~erikd/libsndfile/">libsndfile</a>. The author would like to thank Erik de Castro Lopo for feedback on the design of libfishsound. </p>
</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>