优化失败的录像点播的ssrc释放逻辑
parent
b2c953fc76
commit
ca79100b6f
|
@ -348,6 +348,7 @@ public class PlayServiceImpl implements IPlayService {
|
||||||
msg.setId(uuid);
|
msg.setId(uuid);
|
||||||
msg.setKey(key);
|
msg.setKey(key);
|
||||||
PlayBackResult<RequestMessage> playBackResult = new PlayBackResult<>();
|
PlayBackResult<RequestMessage> playBackResult = new PlayBackResult<>();
|
||||||
|
|
||||||
Timer timer = new Timer();
|
Timer timer = new Timer();
|
||||||
timer.schedule(new TimerTask() {
|
timer.schedule(new TimerTask() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -356,7 +357,16 @@ public class PlayServiceImpl implements IPlayService {
|
||||||
playBackResult.setCode(-1);
|
playBackResult.setCode(-1);
|
||||||
playBackResult.setData(msg);
|
playBackResult.setData(msg);
|
||||||
callback.call(playBackResult);
|
callback.call(playBackResult);
|
||||||
|
SIPDialog dialog = streamSession.getDialogByStream(deviceId, channelId, ssrcInfo.getStream());
|
||||||
// 点播超时回复BYE 同时释放ssrc以及此次点播的资源
|
// 点播超时回复BYE 同时释放ssrc以及此次点播的资源
|
||||||
|
if (dialog != null) {
|
||||||
|
// 点播超时回复BYE 同时释放ssrc以及此次点播的资源
|
||||||
|
cmder.streamByeCmd(device.getDeviceId(), channelId, ssrcInfo.getStream());
|
||||||
|
}else {
|
||||||
|
mediaServerService.releaseSsrc(newMediaServerItem.getId(), ssrcInfo.getSsrc());
|
||||||
|
mediaServerService.closeRTPServer(deviceId, channelId, ssrcInfo.getStream());
|
||||||
|
streamSession.remove(deviceId, channelId, ssrcInfo.getStream());
|
||||||
|
}
|
||||||
cmder.streamByeCmd(device.getDeviceId(), channelId, ssrcInfo.getStream());
|
cmder.streamByeCmd(device.getDeviceId(), channelId, ssrcInfo.getStream());
|
||||||
// 回复之前所有的点播请求
|
// 回复之前所有的点播请求
|
||||||
callback.call(playBackResult);
|
callback.call(playBackResult);
|
||||||
|
|
Loading…
Reference in New Issue