瀏覽代碼

Fix Issue #20 - AudioFilterFIR should receive data as read-only blocks

dds
Pete (El Supremo) 11 年之前
父節點
當前提交
28f93925d2
共有 1 個文件被更改,包括 4 次插入4 次删除
  1. +4
    -4
      filter_fir.cpp

+ 4
- 4
filter_fir.cpp 查看文件

// do passthru // do passthru
if(coeff_p == FIR_PASSTHRU) { if(coeff_p == FIR_PASSTHRU) {
// Just passthrough // Just passthrough
block = receiveWritable(0);
block = receiveReadOnly(0);
if(block) { if(block) {
transmit(block,0); transmit(block,0);
release(block); release(block);
} }
block = receiveWritable(1);
block = receiveReadOnly(1);
if(block) { if(block) {
transmit(block,1); transmit(block,1);
release(block); release(block);
return; return;
} }
// Left Channel // Left Channel
block = receiveWritable(0);
block = receiveReadOnly(0);
// get a block for the FIR output // get a block for the FIR output
b_new = allocate(); b_new = allocate();
if(block && b_new) { if(block && b_new) {
if(b_new)release(b_new); if(b_new)release(b_new);


// Right Channel // Right Channel
block = receiveWritable(1);
block = receiveReadOnly(1);
b_new = allocate(); b_new = allocate();
if(block && b_new) { if(block && b_new) {
arm_fir_q15(&r_fir_inst, (q15_t *)block->data, (q15_t *)b_new->data, AUDIO_BLOCK_SAMPLES); arm_fir_q15(&r_fir_inst, (q15_t *)block->data, (q15_t *)b_new->data, AUDIO_BLOCK_SAMPLES);

Loading…
取消
儲存