在RTP协议中, 定义同步源(SSRC,Synchronization source)为RTP包流的源,用RTP报头中32位数值的SSRC标识符进行标识,使其不依赖于网络地址。通常麦克风,音频接口,摄像头,视频接口的变化,都会导致SSRC的变化。 在OPAL和OpenH323中,默认同一Session中RTP流的SSRC发生变化后,RTP包即丢弃,这样会导致音频或者视频的媒体流中断,且不能恢复,需要将默认值改为允许RTP流的SSRC发生变化,代码在rtp.cxx中,如下:
if (ignoreOtherSources
&& frame.GetSyncSource() != syncSourceIn) {
PTRACE(
2,
"RTP\tPacket from SSRC=" << frame.GetSyncSource()
<<
" ignored, expecting SSRC=" << syncSourceIn);
return e_IgnorePacket;
}
123456
123456
需要将ignoreOtherSources设置为false即可。
转载请注明原文地址: https://ju.6miu.com/read-674669.html