Open saurabh-iitrke opened 1 year ago
also doesn't really make sense. The allocation of the resampler is done with the 'speex' interface.
cb->resampler = speex_resampler_init(1, sampleRate, 8000, SWITCH_RESAMPLE_QUALITY, &err);
Hi @davehorton , yeah. the fix given is not correct. I realised that.
I have added a commit to fix the race condition that is leading to crash with double free or corruption (out)
.
Also, in order to not touch existing media bug events, i have added a custom event in src/include/switch_types.h
- SMBF_FIRST = (1 << 26)
+ SMBF_FIRST = (1 << 26),
+ SMBF_STATUS_CHECK = (1 << 27)
Hmm, it seems undesirable to have to add code to the freeswitch core in order to fix this race condition. Can you give me more background on what this race condition actually is? I am unclear about the problem we are trying to fix here
Use native
switch_resample_destroy
function instead ofspeex_resampler_destroy
directly for better error handlingThis fix is for the crash with
bt
output.