PJSIP暂停/恢复流



我正在将一个SIP应用程序从PJSIP 1.6移植到2.4。API在2.0版本中发生了变化,我不知道如何访问媒体会话以进行呼叫,暂停/恢复流。

我有一个呼叫id,我想切换它的流。在旧的API中,它非常简单:

const pjmedia_session* session = pjsua_call_get_media_session(call_id);

现在(在2.4版本中)这个过程对我来说是不可理解的…谢谢你的帮助!

根据您想要实现的目标,您可以执行以下操作:

  1. 使用pjmedia_stream_pause和pjmedia_stream_resume来停止/启动RTP流。
  2. (用于出站音频)在启用VAD的情况下将麦克风增益调零。
  3. (用于视频)使用pjsua_call_set_vid_strm来按住/不按住

如果您正在尝试启动和停止连接到会议桥接的音频流,则可能有额外的要求。

不是会话,而是暂停/恢复流。

auto& call = pjsua_var.call[call_id];
if (call.media[0].type == PJMEDIA_TYPE_AUDIO) {
    auto stream = call.media[0].strm.a.stream;
    if (stream) {
        pjmedia_stream_pause(stream, PJMEDIA_DIR_ENCODING);
    }
}

相关内容

  • 没有找到相关文章

最新更新