ex3d cold boot starvation
This commit is contained in:
@@ -135,6 +135,7 @@ void UserBufferManagementInit(unsigned sampFreq)
|
|||||||
#if USE_EX3D == 1
|
#if USE_EX3D == 1
|
||||||
memset(ubm_ingress, 0, sizeof(ubm_ingress));
|
memset(ubm_ingress, 0, sizeof(ubm_ingress));
|
||||||
memset(ubm_egress, 0, sizeof(ubm_egress));
|
memset(ubm_egress, 0, sizeof(ubm_egress));
|
||||||
|
frame_index = 0;
|
||||||
|
|
||||||
assert(uc_ex3d_to_ubm);
|
assert(uc_ex3d_to_ubm);
|
||||||
while( !m_hThread ){}
|
while( !m_hThread ){}
|
||||||
@@ -145,6 +146,12 @@ void UserBufferManagementInit(unsigned sampFreq)
|
|||||||
} else {
|
} else {
|
||||||
debug_printf("audio_ex3d_change_parameter() success\n\r");
|
debug_printf("audio_ex3d_change_parameter() success\n\r");
|
||||||
}
|
}
|
||||||
|
// ② 预热:推一个零帧穿过 ex3d,触发所有 worker 加载 + 首次同步
|
||||||
|
chan_out_buf_word(uc_ex3d_to_ubm, (const uint32_t *)ubm_egress,
|
||||||
|
UBM_TO_EX3D_CHANS * DSP_BLOCK_LENGTH);
|
||||||
|
chan_in_buf_word (uc_ex3d_to_ubm, (uint32_t *)ubm_ingress,
|
||||||
|
EX3D_TO_UBM_CHANS * DSP_BLOCK_LENGTH);
|
||||||
|
memset(ubm_ingress, 0, sizeof(ubm_ingress)); // 清掉哑帧输出
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
float fLevel[NUM_USB_CHAN_OUT] = {0,};
|
float fLevel[NUM_USB_CHAN_OUT] = {0,};
|
||||||
|
|||||||
Reference in New Issue
Block a user