processdata.cpp

説明を見る。
00001 #include "afw.h"
00002 
00003 /** \file processdata.cpp
00004  *  \brief オーディオコールバック関数
00005  *  \author アナログ・デバイセズ株式会社
00006  *
00007  * このファイルは、オーディオ処理のコールバック関数を含む。
00008  */
00009 namespace afw{
00010 /** コールバック関数の処理化
00011     * @param count afw::processDataが呼ばれる際、各バッファに格納されているオーディオデータの数
00012     * 
00013     * afw::processData()関数を呼ぶ前に初期化の必要がある場合は、この関数内部で行う。
00014 */
00015     void initProcessData(int count)
00016     {
00017         // ここでprocessData用の初期化を必要に応じて行う
00018     }
00019 
00020 /** オーディオ・コールバック関数
00021    *
00022    * @param leftIn 左チャンネルの入力データバッファ
00023    * @param rightIn 右チャンネルの入力データバッファ
00024    * @param leftOut 左チャンネルの出力データバッファ
00025    * @param rightOut 右チャンネルの出力データバッファ
00026    * @param count 各バッファに格納されているオーディオデータの数
00027    *
00028    * この関数はDMAが受信バッファをいっぱいにするたびに割り込み経由で呼ばれる。
00029    * 引数として渡されるのは受信データを含む入力バッファのほか、送信データを
00030    * 格納するために使う出力バッファとデータ個数である。
00031    * ユーザーは関数内部で入力バッファのデータを加工して、出力バッファに送信すべき
00032    * データをおく。呼び出しに先立って初期化が必要な場合は、 afw::initProcessData()
00033    * 関数で行う。
00034    *
00035    * 配列はshortfract型である。この16bit固定小数点型はshortと同じ大きさを
00036    * 持つが、四則は固定小数点領域で定義されている。
00037    * 
00038    * for文は常に必要なので、改造する場合はfor文の内側だけを書き換える。引数
00039    * である配列の各要素は、オーディオのサンプルデータが順番に格納されたもの
00040    * である。したがって、これらを順番に処理することで、オーディオ処理を実装
00041    * できる。
00042    * 
00043    * 割り込みソースのクリアなどは、この関数の呼び出し側で行うので、関数内で
00044    * 処理する必要はない。
00045    */
00046 
00047     void processData( 
00048                       const shortfract leftIn[], 
00049                       const shortfract rightIn[], 
00050                       shortfract leftOut[], 
00051                       shortfract rightOut[],
00052                       int count
00053                      )
00054     {    
00055 
00056         for ( int i=0; i<count; i++ ){      // 引数配列のすべてのデータを処理する。
00057             // ここで信号処理を行う。
00058             leftOut[i] = leftIn[i];
00059             rightOut[i]= rightIn[i];
00060         }
00061 
00062     }   // processData
00063 
00064 };  // namespace afw
00065 

AudioFrameWorkに対してMon Apr 9 15:44:05 2007に生成されました。  doxygen 1.5.1-p1