修复 pr #817 ssrc的释放时机(当上级平台是单端口收流时,ssrc不能立马释放,因为ssrc有可能会重复使用,导致推流失败。)

pull/827/head
xubinbin 2023-04-23 17:10:48 +08:00
parent b944f8867c
commit 65a2ae99b0
2 changed files with 1 additions and 1 deletions

View File

@ -101,6 +101,7 @@ public class ByeRequestProcessor extends SIPRequestProcessorParent implements In
param.put("ssrc",sendRtpItem.getSsrc());
logger.info("[收到bye] 停止向上级推流:{}", streamId);
MediaServerItem mediaInfo = mediaServerService.getOne(sendRtpItem.getMediaServerId());
mediaServerService.releaseSsrc(mediaInfo.getId(), sendRtpItem.getSsrc());
redisCatchStorage.deleteSendRTPServer(platformGbId, channelId, callIdHeader.getCallId(), null);
zlmrtpServerFactory.stopSendRtpStream(mediaInfo, param);
int totalReaderCount = zlmrtpServerFactory.totalReaderCount(mediaInfo, sendRtpItem.getApp(), streamId);

View File

@ -485,7 +485,6 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
// 当前系统作为下级平台使用当上级平台点播时不携带ssrc时并且设备在当前系统中已经点播了。这个时候需要重新给生成一个ssrc不使用默认的"0000000000"。
if (ssrc.equals(ssrcDefault)) {
ssrc = ssrcFactory.getPlaySsrc(mediaServerItem.getId());
ssrcFactory.releaseSsrc(mediaServerItem.getId(), ssrc);
sendRtpItem.setSsrc(ssrc);
}