/usr/share/doc/libucommon-dev/a00025.html is in libucommon-doc 3.2.0-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | <!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>UCommon: ucc::audiobuffer 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.3 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Data Structures</span></a></li>
<li><a href="files.html"><span>Files</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>Data Structures</span></a></li>
<li><a href="classes.html"><span>Data Structure Index</span></a></li>
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
<li><a href="functions.html"><span>Data Fields</span></a></li>
</ul>
</div>
<div class="navpath"><a class="el" href="a00214.html">ucc</a>::<a class="el" href="a00025.html">audiobuffer</a>
</div>
</div>
<div class="contents">
<h1>ucc::audiobuffer Class Reference</h1><!-- doxytag: class="ucc::audiobuffer" --><!-- doxytag: inherits="ucc::audio::framer,ucc::audio" -->
<p>Generic audio buffering and transcoding for audio sources and sinks.
<a href="#_details">More...</a></p>
<p><code>#include <<a class="el" href="a00187_source.html">audio.h</a>></code></p>
<div class="dynheader">
Inheritance diagram for ucc::audiobuffer:</div>
<div class="dynsection">
<div class="center"><img src="a00350.png" border="0" usemap="#ucc_1_1audiobuffer_inherit__map" alt="Inheritance graph"/></div>
<map name="ucc_1_1audiobuffer_inherit__map" id="ucc_1_1audiobuffer_inherit__map">
<area shape="rect" id="node7" href="a00027.html" title="Basic audio file access class." alt="" coords="27,160,131,189"/><area shape="rect" id="node9" href="a00173.html" title="Tone generator class for producing convertable tones." alt="" coords="155,160,259,189"/><area shape="rect" id="node2" href="a00024.html" title="Common access to audio frames." alt="" coords="5,5,144,35"/><area shape="rect" id="node4" href="a00023.html" title="Common audio class for GNU telephonic audio." alt="" coords="168,5,253,35"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for ucc::audiobuffer:</div>
<div class="dynsection">
<div class="center"><img src="a00351.png" border="0" usemap="#ucc_1_1audiobuffer_coll__map" alt="Collaboration graph"/></div>
<map name="ucc_1_1audiobuffer_coll__map" id="ucc_1_1audiobuffer_coll__map">
<area shape="rect" id="node2" href="a00024.html" title="Common access to audio frames." alt="" coords="5,187,144,216"/><area shape="rect" id="node4" href="a00023.html" title="Common audio class for GNU telephonic audio." alt="" coords="139,96,224,125"/><area shape="rect" id="node6" href="a00026.html" title="Convert audio media." alt="" coords="219,187,344,216"/><area shape="rect" id="node8" href="a00069.html" title="Common base class for all objects that can be formed into a linked list." alt="" coords="248,96,381,125"/><area shape="rect" id="node10" href="a00093.html" title="A common base class for all managed objects." alt="" coords="268,5,361,35"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">linear_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ad4056cc0fb056f66a535d605532b7927">expand</a> (encoded_t data)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Unpack data pointer using convert buffer as working space. <a href="#ad4056cc0fb056f66a535d605532b7927"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab535f1932fae4bef55bc457e6d3d990a"></a><!-- doxytag: member="ucc::audiobuffer::framesize" ref="ab535f1932fae4bef55bc457e6d3d990a" args="(encoded_t data)" -->
unsigned </td><td class="memItemRight" valign="bottom"><b>framesize</b> (encoded_t data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31ac24bd207a548dcb29574fb755ca3d"></a><!-- doxytag: member="ucc::audiobuffer::framesize" ref="a31ac24bd207a548dcb29574fb755ca3d" args="(void)" -->
unsigned </td><td class="memItemRight" valign="bottom"><b>framesize</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9092596f1dd3040f86fde25fa25b33d9"></a><!-- doxytag: member="ucc::audiobuffer::frametime" ref="a9092596f1dd3040f86fde25fa25b33d9" args="(void)" -->
<a class="el" href="a00201.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> </td><td class="memItemRight" valign="bottom"><b>frametime</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac19fb5094d9a98256966b7598fea0fbf"></a><!-- doxytag: member="ucc::audiobuffer::getAllocated" ref="ac19fb5094d9a98256966b7598fea0fbf" args="(void)" -->
unsigned </td><td class="memItemRight" valign="bottom"><b>getAllocated</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad3e2fa167115b5e6bf61c19c9b1bfce4"></a><!-- doxytag: member="ucc::audiobuffer::getAvailable" ref="ad3e2fa167115b5e6bf61c19c9b1bfce4" args="(void)" -->
unsigned </td><td class="memItemRight" valign="bottom"><b>getAvailable</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a894ba2df89935342b4f627e59b259be3"></a><!-- doxytag: member="ucc::audiobuffer::getBackstore" ref="a894ba2df89935342b4f627e59b259be3" args="(void)" -->
unsigned </td><td class="memItemRight" valign="bottom"><b>getBackstore</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abbd060c5354f9f75e60ca17448c5b09a"></a><!-- doxytag: member="ucc::audiobuffer::getBuffering" ref="abbd060c5354f9f75e60ca17448c5b09a" args="(void)" -->
unsigned </td><td class="memItemRight" valign="bottom"><b>getBuffering</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad2020e02b655eccdd5951912b1c3047"></a><!-- doxytag: member="ucc::audiobuffer::getChannel" ref="aad2020e02b655eccdd5951912b1c3047" args="(void)" -->
<a class="el" href="a00026.html">audiocodec</a> * </td><td class="memItemRight" valign="bottom"><b>getChannel</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a20b16cddf08ec34e33ad968c7ad6c59b">getContexts</a> (void)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get number of i/o context switches performed for profiling. <a href="#a20b16cddf08ec34e33ad968c7ad6c59b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f9752df88880ba3b978edce2a0fcff4"></a><!-- doxytag: member="ucc::audiobuffer::getConversion" ref="a9f9752df88880ba3b978edce2a0fcff4" args="(void)" -->
unsigned </td><td class="memItemRight" valign="bottom"><b>getConversion</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afebb2016c015af56a04f712bf6ae8d59"></a><!-- doxytag: member="ucc::audiobuffer::getEncoding" ref="afebb2016c015af56a04f712bf6ae8d59" args="(void)" -->
<a class="el" href="a00026.html">audiocodec</a> * </td><td class="memItemRight" valign="bottom"><b>getEncoding</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c8de5191f14786a19b39b55f19a9963"></a><!-- doxytag: member="ucc::audiobuffer::handle" ref="a4c8de5191f14786a19b39b55f19a9963" args="(void)" -->
virtual fd_t </td><td class="memItemRight" valign="bottom"><b>handle</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb87f2cf276c65a43ebce314eb61d205"></a><!-- doxytag: member="ucc::audiobuffer::pull" ref="afb87f2cf276c65a43ebce314eb61d205" args="(encoded_t data, unsigned len)" -->
unsigned </td><td class="memItemRight" valign="bottom"><b>pull</b> (encoded_t data, unsigned len)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a92455122296eb21bb429a1ee1ee4283c"></a><!-- doxytag: member="ucc::audiobuffer::push" ref="a92455122296eb21bb429a1ee1ee4283c" args="(encoded_t data, unsigned len)" -->
unsigned </td><td class="memItemRight" valign="bottom"><b>push</b> (encoded_t data, unsigned len)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a34b0f8cf5d39d2df9198dc46dffb01ab"></a><!-- doxytag: member="ucc::audiobuffer::release" ref="a34b0f8cf5d39d2df9198dc46dffb01ab" args="(void)" -->
virtual void </td><td class="memItemRight" valign="bottom"><b>release</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="affdf97843274ba51ddab093bde2a00b4"></a><!-- doxytag: member="ucc::audiobuffer::text" ref="affdf97843274ba51ddab093bde2a00b4" args="(char *str, size_t size)" -->
unsigned </td><td class="memItemRight" valign="bottom"><b>text</b> (char *str, size_t size)</td></tr>
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af9438315a5b5a59bc12e50d03312e238"></a><!-- doxytag: member="ucc::audiobuffer::create" ref="af9438315a5b5a59bc12e50d03312e238" args="(audiocodec *channel, timeout_t framing)" -->
static <a class="el" href="a00025.html">audiobuffer</a> * </td><td class="memItemRight" valign="bottom"><b>create</b> (<a class="el" href="a00026.html">audiocodec</a> *channel, <a class="el" href="a00201.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> framing)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42da74497ff50c58d05e36cc2acdca5b"></a><!-- doxytag: member="ucc::audiobuffer::create" ref="a42da74497ff50c58d05e36cc2acdca5b" args="(timeout_t limit)" -->
static <a class="el" href="a00025.html">audiobuffer</a> * </td><td class="memItemRight" valign="bottom"><b>create</b> (<a class="el" href="a00201.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> limit)</td></tr>
<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ff1497f3d44b2def4068d5fa13d5458"></a><!-- doxytag: member="ucc::audiobuffer::assign" ref="a8ff1497f3d44b2def4068d5fa13d5458" args="(size_t size, audiocodec *format=((void *) 0), timeout_t framing=0)" -->
bool </td><td class="memItemRight" valign="bottom"><b>assign</b> (size_t size, <a class="el" href="a00026.html">audiocodec</a> *format=((void *) 0), <a class="el" href="a00201.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> framing=0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a78fc7d3c53d9701166d44601dfe1f17e"></a><!-- doxytag: member="ucc::audiobuffer::getBuffer" ref="a78fc7d3c53d9701166d44601dfe1f17e" args="(void)" -->
encoded_t </td><td class="memItemRight" valign="bottom"><b>getBuffer</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad24e75f14475507e5289fdd41748c4d2"></a><!-- doxytag: member="ucc::audiobuffer::getConvert" ref="ad24e75f14475507e5289fdd41748c4d2" args="(void)" -->
linear_t </td><td class="memItemRight" valign="bottom"><b>getConvert</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2b85b39d338074adb4be3ecee233445b"></a><!-- doxytag: member="ucc::audiobuffer::transbuffer" ref="a2b85b39d338074adb4be3ecee233445b" args="(audiocodec *from, audiocodec *to)" -->
bool </td><td class="memItemRight" valign="bottom"><b>transbuffer</b> (<a class="el" href="a00026.html">audiocodec</a> *from, <a class="el" href="a00026.html">audiocodec</a> *to)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ace9af879ff965896105dac17cd145345"></a><!-- doxytag: member="ucc::audiobuffer::transcode" ref="ace9af879ff965896105dac17cd145345" args="(encoded_t source, encoded_t target, audiocodec *from, audiocodec *to)" -->
encoded_t </td><td class="memItemRight" valign="bottom"><b>transcode</b> (encoded_t source, encoded_t target, <a class="el" href="a00026.html">audiocodec</a> *from, <a class="el" href="a00026.html">audiocodec</a> *to)</td></tr>
<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" ><a class="anchor" id="a64ac19b1d631ed893120ceee77b10a78"></a><!-- doxytag: member="ucc::audiobuffer::@1" ref="a64ac19b1d631ed893120ceee77b10a78" args="" -->
union {</td></tr>
<tr><td class="memItemLeft" > <a class="el" href="a00026.html">audiocodec</a> * <b>channel</b></td></tr>
<tr><td class="memItemLeft" > <a class="el" href="a00026.html">audiocodec</a> * <b>channelbase</b></td></tr>
<tr><td class="memItemLeft" valign="top">}; </td><td class="memItemRight" valign="bottom"></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab06a3bf5324423cd0337e5016f6a86"></a><!-- doxytag: member="ucc::audiobuffer::allocsize" ref="a8ab06a3bf5324423cd0337e5016f6a86" args="" -->
unsigned </td><td class="memItemRight" valign="bottom"><b>allocsize</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a86e0165c0febd37145758c61c6fa0f3a"></a><!-- doxytag: member="ucc::audiobuffer::backio" ref="a86e0165c0febd37145758c61c6fa0f3a" args="" -->
unsigned </td><td class="memItemRight" valign="bottom"><b>backio</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a706e1862810ad9554c8f05b13ea478ba"></a><!-- doxytag: member="ucc::audiobuffer::backpos" ref="a706e1862810ad9554c8f05b13ea478ba" args="" -->
unsigned </td><td class="memItemRight" valign="bottom"><b>backpos</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a48e05e007a70a7fecb6ca40cc8d93e26"></a><!-- doxytag: member="ucc::audiobuffer::backstore" ref="a48e05e007a70a7fecb6ca40cc8d93e26" args="" -->
unsigned </td><td class="memItemRight" valign="bottom"><b>backstore</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ba3d70c84bef1f3085f3925ca772792"></a><!-- doxytag: member="ucc::audiobuffer::buffer" ref="a5ba3d70c84bef1f3085f3925ca772792" args="" -->
encoded_t </td><td class="memItemRight" valign="bottom"><b>buffer</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e85bf92825cf90e9c448e4633137892"></a><!-- doxytag: member="ucc::audiobuffer::buffering" ref="a7e85bf92825cf90e9c448e4633137892" args="" -->
unsigned </td><td class="memItemRight" valign="bottom"><b>buffering</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af40a757489622f5053bac10c9792ee18"></a><!-- doxytag: member="ucc::audiobuffer::convert" ref="af40a757489622f5053bac10c9792ee18" args="" -->
unsigned </td><td class="memItemRight" valign="bottom"><b>convert</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a02930155dce3fcb08e41fdb2fd4ccf8d"></a><!-- doxytag: member="ucc::audiobuffer::encoding" ref="a02930155dce3fcb08e41fdb2fd4ccf8d" args="" -->
<a class="el" href="a00026.html">audiocodec</a> * </td><td class="memItemRight" valign="bottom"><b>encoding</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae03588b68d2da25a0e7b16b99cc57c8a"></a><!-- doxytag: member="ucc::audiobuffer::iocount" ref="ae03588b68d2da25a0e7b16b99cc57c8a" args="" -->
unsigned long </td><td class="memItemRight" valign="bottom"><b>iocount</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a44296fc97e2c0c0ea5f08a1d66ab8779"></a><!-- doxytag: member="ucc::audiobuffer::limit" ref="a44296fc97e2c0c0ea5f08a1d66ab8779" args="" -->
<a class="el" href="a00201.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> </td><td class="memItemRight" valign="bottom"><b>limit</b></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Generic audio buffering and transcoding for audio sources and sinks. </p>
<p>This is used to create working storage to support access to and conversion from different audio sources, such as files or tone generators. These can all manipulate this common audiobuffer base class that has space for audio conversion buffers. </p>
<dl class="author"><dt><b>Author:</b></dt><dd>David Sugar <<a href="mailto:dyfet@gnutelephony.org">dyfet@gnutelephony.org</a>> </dd></dl>
<p>Definition at line <a class="el" href="a00187_source.html#l00282">282</a> of file <a class="el" href="a00187_source.html">audio.h</a>.</p>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ad4056cc0fb056f66a535d605532b7927"></a><!-- doxytag: member="ucc::audiobuffer::expand" ref="ad4056cc0fb056f66a535d605532b7927" args="(encoded_t data)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">linear_t ucc::audiobuffer::expand </td>
<td>(</td>
<td class="paramtype">encoded_t </td>
<td class="paramname"> <em>data</em></td>
<td> ) </td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Unpack data pointer using convert buffer as working space. </p>
<p>This offers a convenient way to get a linear sample out of an existing encoded frames without having to allocate an additional buffer. The encoded data is assumed to be in the format of the frame. </p>
</div>
</div>
<a class="anchor" id="a20b16cddf08ec34e33ad968c7ad6c59b"></a><!-- doxytag: member="ucc::audiobuffer::getContexts" ref="a20b16cddf08ec34e33ad968c7ad6c59b" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned long ucc::audiobuffer::getContexts </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"></td>
<td> ) </td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get number of i/o context switches performed for profiling. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>count of i/o operations since last allocate. </dd></dl>
<p>Definition at line <a class="el" href="a00187_source.html#l00320">320</a> of file <a class="el" href="a00187_source.html">audio.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>ucommon/<a class="el" href="a00187_source.html">audio.h</a></li>
</ul>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue Jul 6 08:22:24 2010 for UCommon by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>
|