2 * @file uzume_callback.c
3 * @brief オーディオ信号処理を行うユーザー・コールバック
6 #include "t_services.h"
12 * @param count @ref codec_callback()に渡される引数配列のサイズ
15 * この関数は@ref codec_callback()に先立って一度だけ呼び出される。フィルタの構築や
16 * 変数の初期化に使う。count引数の値は@ref codec_callback()のcount引数と同じである。
18 void init_audio( int count )
24 * @param in0_left 左チャンネル0入力配列
25 * @param in0_right 右チャンネル0入力配列
26 * @param out0_left 左チャンネル0出力配列
27 * @param out0_right 右チャンネル0出力配列
30 * ユーザーが信号処理を行う関数。オーディオ信号に同期して呼び出される。それぞれの引数は
31 * 引数countがあらわす個数だけデータを持っている。データは24bit符号付整数。32bit変数に
34 * この関数はステレオ信号を2系統あつかえる。すなわち、系統0と系統1がそれぞれ左右チャンネルを持つ。
36 * この関数が使う資源で、あらかじめ初期化が必要なものは、@ref codec_callback_init()の
40 AUDIOSAMPLE input_left[],
41 AUDIOSAMPLE input_right[],
42 AUDIOSAMPLE output_left[],
43 AUDIOSAMPLE output_right[]
50 // ch 0 のボリューム値(32bit)
51 volume = get_volume(0)>>15;
53 // count個のサンプルすべてを処理する
54 for ( sample = 0; sample < UZUME_BLOCKSIZE; sample++ ){
55 output_left[sample] = (input_left[sample]>>16) * volume;
56 output_right[sample] = (input_right[sample]>>16) * volume;