voip例程(esp sip stack)是否支持OPUS?
Posted: Sat Jun 07, 2025 3:08 pm
请教个问题,我想在VOIP(esp-adf\examples\protocols\voip)里扩充编解码,
sip_service.c
voip_app.c
并且将esp-opus(components.espressif.com/components/78/esp-opus/versions/1.0.5)相关编解码的代码扩充了av_stream.c的相应地方;然而,发现接通voip ring后,
sip的_receive_audio并没有被回调到, 请问当前的voip内部实现还没有支持这个opus payload回调吗? 如果要扩充opus要如何做相应调整?谢谢
sip_service.c
Code: Select all
esp_rtc_config_t sip_service_config = {
.uri = uri,
.ctx = av_stream,
.local_addr = localIp,
.acodec_type = RTC_ACODEC_OPUS, //RTC_ACODEC_G711A,
.data_cb = &data_cb,
.event_handler = _esp_sip_event_handler,
};Code: Select all
av_stream_config_t av_stream_config = {
.algo_mask = ALGORITHM_STREAM_DEFAULT_MASK,
.acodec_samplerate = AUDIO_CODEC_SAMPLE_RATE,
.acodec_type = AV_ACODEC_OPUS, //AV_ACODEC_G711A,
.vcodec_type = AV_VCODEC_NULL,
.hal = {
.audio_samplerate = AUDIO_HAL_SAMPLE_RATE,
.audio_framesize = PCM_FRAME_SIZE,
},
};
av_stream = av_stream_init(&av_stream_config);Code: Select all
esp_rtc_data_cb_t data_cb = {
.send_audio = _send_audio,
.receive_audio = _receive_audio,
};