【GB28181】PJSIP library (eight) echo cancellation, hot swap, sound debounce

【Catalogue】Guo Lao Er's Blog Post: Summary of Images and Videos

1. Echo cancellation

Acoustic Echo Cancellation (AEC)
There are multiple echo canceller implementations in PJMEDIA, from simple echo cancellers to full acoustic echo cancellers AEC:

pjmedia_echo*:PJSIP自身的回声消除API
支持WebRTC AEC3:https://github.com/pjsip/pjproject/pull/2722
可以和webrtc集成:https://github.com/pjsip/pjproject/issues/1888
支持硬件的AEC/VPIO:https://github.com/pjsip/pjproject/issues/1778
支持Speex AEC:https://github.com/pjsip/pjproject/issues/589

2. Hot swap

PJSIP does not have the function of hot plugging, so it can only realize it by itself. When a device change is detected, pjmedia_aud_dev_refresh() can be used to refresh the list of audio devices.
Typically this is done when the sound device is not turned on, i.e.

先执行pjsua_set_no_snd_dev()强制关闭当前打开的声音设备,
再执行 pjmedia_aud_dev_refresh() 来刷新声音设备列表
最后执行 pjsua_set_snd_dev() 来重新管理声音设备

3. Sound debounce

Guess you like

Origin blog.csdn.net/u010168781/article/details/130091117