aflibaudio_8h-source.html

来自「一个共享源码的音频库5(doc 文档)」· HTML 代码 · 共 169 行

HTML
169
字号
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>aflibAudio.h Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.15 --><center><a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center><hr><h1>aflibAudio.h</h1><a href="aflibAudio_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/*</font>00002 <font class="comment"> * Copyright: (C) 1999-2001 Bruce W. Forsberg</font>00003 <font class="comment"> *</font>00004 <font class="comment"> *   This library is free software; you can redistribute it and/or</font>00005 <font class="comment"> *   modify it under the terms of the GNU Lesser General Public</font>00006 <font class="comment"> *   License as published by the Free Software Foundation; either</font>00007 <font class="comment"> *   version 2.1 of the License, or any later version.</font>00008 <font class="comment"> *</font>00009 <font class="comment"> *   This library is distributed in the hope that it will be useful,</font>00010 <font class="comment"> *   but WITHOUT ANY WARRANTY; without even the implied warranty of</font>00011 <font class="comment"> *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</font>00012 <font class="comment"> *   Lesser General Public License for more details.</font>00013 <font class="comment"> *</font>00014 <font class="comment"> *   You should have received a copy of the GNU Lesser General Public</font>00015 <font class="comment"> *   License along with this library; if not, write to the Free Software</font>00016 <font class="comment"> *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA</font>00017 <font class="comment"> *</font>00018 <font class="comment"> *   Bruce Forsberg  forsberg@tns.net</font>00019 <font class="comment"> *</font>00020 <font class="comment"> */</font>00021 00022 <font class="preprocessor">#ifndef _AFLIBAUDIO_H</font>00023 <font class="preprocessor"></font><font class="preprocessor">#define _AFLIBAUDIO_H</font>00024 <font class="preprocessor"></font>00025 <font class="preprocessor">#ifdef HAVE_CONFIG_H</font>00026 <font class="preprocessor"></font><font class="preprocessor">#include &lt;config.h&gt;</font>00027 <font class="preprocessor">#endif</font>00028 <font class="preprocessor"></font>00029 <font class="preprocessor">#include "<a class="code" href="aflib_8h.html">aflib.h</a>"</font>00030 <font class="preprocessor">#include "<a class="code" href="aflibChain_8h.html">aflibChain.h</a>"</font>00031 <font class="preprocessor">#include "<a class="code" href="aflibMemCache_8h.html">aflibMemCache.h</a>"</font>00032 <font class="preprocessor">#include "<a class="code" href="aflibConfig_8h.html">aflibConfig.h</a>"</font>00033 00034 <font class="preprocessor">#include &lt;list&gt;</font>00035 00036 00074 <font class="keyword">class </font><a class="code" href="classaflibData.html">aflibData</a>;00075 <font class="keyword">class </font><a class="code" href="classaflibAudioSampleRateCvt.html">aflibAudioSampleRateCvt</a>;00076 <font class="keyword">class </font><a class="code" href="classaflibAudioMixer.html">aflibAudioMixer</a>;00077 00078 00079 <font class="keyword">class </font><a class="code" href="classaflibAudio.html">aflibAudio</a> : <font class="keyword">public</font> <a class="code" href="classaflibChain.html">aflibChain</a>, <font class="keyword">public</font> <a class="code" href="classaflibMemCache.html">aflibMemCache</a> {00080 00081 <font class="keyword">public</font>:00082 00083    <font class="keyword">virtual</font>00084    <a class="code" href="classaflibAudio.html#a0">~aflibAudio</a>();00085 00086    <font class="keywordtype">void</font>00087    <a class="code" href="classaflibAudio.html#a1">enable</a>(<font class="keywordtype">bool</font> <a class="code" href="classaflibAudio.html#a1">enable</a>);00088 00089    <font class="keywordtype">bool</font>00090    <a class="code" href="classaflibAudio.html#a2">getEnable</a>() <font class="keyword">const</font>;00091 00092    <font class="keywordtype">void</font>00093    <a class="code" href="classaflibAudio.html#a3">enableDataSizeConversion</a>(<font class="keywordtype">bool</font> <a class="code" href="classaflibAudio.html#a1">enable</a>);00094 00095    <font class="keywordtype">void</font>00096    <a class="code" href="classaflibAudio.html#a4">enableEndianConversion</a>(<font class="keywordtype">bool</font> <a class="code" href="classaflibAudio.html#a1">enable</a>);00097 00098    <font class="keywordtype">void</font>00099    <a class="code" href="classaflibAudio.html#a5">enableSampleRateConversion</a>(<font class="keywordtype">bool</font> <a class="code" href="classaflibAudio.html#a1">enable</a>);00100 00101    <font class="keywordtype">void</font>00102    <a class="code" href="classaflibAudio.html#a6">enableChannelsConversion</a>(<font class="keywordtype">bool</font> <a class="code" href="classaflibAudio.html#a1">enable</a>);00103 00104    <font class="keyword">virtual</font> <font class="keywordtype">void</font>00105    <a class="code" href="classaflibAudio.html#a7">setInputConfig</a>(<font class="keyword">const</font> <a class="code" href="classaflibConfig.html">aflibConfig</a>&amp; cfg);00106 00107    <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classaflibConfig.html">aflibConfig</a>&amp;00108    <a class="code" href="classaflibAudio.html#a8">getInputConfig</a>() <font class="keyword">const</font>;00109 00110    <font class="keyword">virtual</font> <font class="keywordtype">void</font>00111    <a class="code" href="classaflibAudio.html#a9">setOutputConfig</a>(<font class="keyword">const</font> <a class="code" href="classaflibConfig.html">aflibConfig</a>&amp; cfg);00112 00113    <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classaflibConfig.html">aflibConfig</a>&amp;00114    <a class="code" href="classaflibAudio.html#a10">getOutputConfig</a>() <font class="keyword">const</font>;00115 00117    <font class="keyword">virtual</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *<a name="l00118"></a><a class="code" href="classaflibAudio.html#a11">00118</a>    <a class="code" href="classaflibAudio.html#a11">getName</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> <font class="stringliteral">"aflibAudio"</font>;};00119 00121    <font class="keyword">virtual</font> <a class="code" href="aflib_8h.html#a33">aflibStatus</a><a name="l00122"></a><a class="code" href="classaflibAudio.html#a12">00122</a>    <a class="code" href="classaflibAudio.html#a12">compute_segment</a>(00123       list&lt;aflibData *&gt;&amp; ,00124       <font class="keywordtype">long</font> <font class="keywordtype">long</font> ){ <font class="keywordflow">return</font> <a class="code" href="aflib_8h.html#a33a14">AFLIB_SUCCESS</a>;};00125 00126    <font class="keyword">virtual</font> <a class="code" href="classaflibData.html">aflibData</a> *00127    <a class="code" href="classaflibAudio.html#a13">process</a>(00128       <a class="code" href="aflib_8h.html#a33">aflibStatus</a>&amp; ret_status,00129       <font class="keywordtype">long</font> <font class="keywordtype">long</font> position,00130       <font class="keywordtype">int</font>&amp; num_samples,00131       <font class="keywordtype">bool</font> free_memory = TRUE);00132 00133 <font class="keyword">protected</font>:00134 00135    <a class="code" href="classaflibAudio.html#b0">aflibAudio</a>();00136    <a class="code" href="classaflibAudio.html#b0">aflibAudio</a>(<a class="code" href="classaflibAudio.html">aflibAudio</a>&amp; audio);00137 00138    <a class="code" href="classaflibAudio.html">aflibAudio</a>* 00139    <a class="code" href="classaflibAudio.html#b2">convertSampleRate</a>(<a class="code" href="classaflibAudio.html">aflibAudio</a>&amp;  parent);00140 00141    <a class="code" href="classaflibAudio.html">aflibAudio</a>* 00142    <a class="code" href="classaflibAudio.html#b3">convertChannels</a>(<a class="code" href="classaflibAudio.html">aflibAudio</a>&amp;  parent);00143 00144    <font class="keywordtype">void</font>00145    <a class="code" href="classaflibAudio.html#b4">convertData</a>(<a class="code" href="classaflibData.html">aflibData</a>&amp; data);00146 00147    <font class="keywordtype">void</font>00148    <a class="code" href="classaflibAudio.html#b5">examineChain</a>();00149 00150    <font class="keywordtype">bool</font>00151    <a class="code" href="classaflibAudio.html#b6">checkChain</a>(<font class="keyword">const</font> <a class="code" href="classaflibAudio.html">aflibAudio</a> * audio) <font class="keyword">const</font>;00152 00153    <font class="keywordtype">void</font>00154    <a class="code" href="classaflibAudio.html#b7">preprocessChain</a>(00155       <a class="code" href="classaflibAudio.html">aflibAudio</a> * audio,00156       <a class="code" href="classaflibAudio.html">aflibAudio</a> * child);00157 00158    <font class="comment">// "is" functions that indicate what formats an object supports</font>00159    <font class="keyword">virtual</font> <font class="keywordtype">bool</font>00160    <a class="code" href="classaflibAudio.html#b8">isDataSizeSupported</a>(<a class="code" href="aflib_8h.html#a30">aflib_data_size</a> size);00161 00162    <font class="keyword">virtual</font> <font class="keywordtype">bool</font>00163    <a class="code" href="classaflibAudio.html#b9">isEndianSupported</a>(<a class="code" href="aflib_8h.html#a31">aflib_data_endian</a> end);00164 00165    <font class="keyword">virtual</font> <font class="keywordtype">bool</font>00166    <a class="code" href="classaflibAudio.html#b10">isSampleRateSupported</a>(<font class="keywordtype">int</font>&amp; rate);00167 00168    <font class="keyword">virtual</font> <font class="keywordtype">bool</font>00169    <a class="code" href="classaflibAudio.html#b11">isChannelsSupported</a>(<font class="keywordtype">int</font>&amp; channels);00170 00171    <font class="keyword">inline</font> <font class="keywordtype">void</font><a name="l00172"></a><a class="code" href="classaflibAudio.html#b12">00172</a>    <a class="code" href="classaflibAudio.html#b12">incrementLevel</a>() {_level++;};00173 00174    <font class="keyword">inline</font> <font class="keywordtype">void</font><a name="l00175"></a><a class="code" href="classaflibAudio.html#b13">00175</a>    <a class="code" href="classaflibAudio.html#b13">decrementLevel</a>() {_level--;};00176 00177 <font class="keyword">private</font>:00178 00179 <font class="keywordtype">bool</font>     _enable;00180 <font class="keywordtype">bool</font>     _enable_data_size;00181 <font class="keywordtype">bool</font>     _enable_endian;00182 <font class="keywordtype">bool</font>     _enable_sample_rate;00183 <font class="keywordtype">bool</font>     _enable_channels;00184 <a class="code" href="classaflibConfig.html">aflibConfig</a> _cfg_input;00185 <a class="code" href="classaflibConfig.html">aflibConfig</a> _cfg_output;00186 <a class="code" href="classaflibAudioSampleRateCvt.html">aflibAudioSampleRateCvt</a>  * _cvt;00187 <a class="code" href="classaflibAudioMixer.html">aflibAudioMixer</a>  * _mix;00188 <font class="keyword">static</font> <font class="keywordtype">int</font>  _level;00189 00190 };00191 00192 00193 <font class="preprocessor">#endif</font></pre></div><hr><address align="right"><small>Generated on Wed May 8 20:51:04 2002 for Open Source Audio Library Project by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.15 </small></address></body></html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?