修复流注销时移除流认证信息
parent
1abfced3b4
commit
70c20364af
|
@ -0,0 +1,53 @@
|
|||
package com.genersoft.iot.vmp.gb28181.bean;
|
||||
|
||||
import gov.nist.javax.sip.message.SIPRequest;
|
||||
|
||||
public class SipTransactionInfo {
|
||||
|
||||
private String callId;
|
||||
private String fromTag;
|
||||
private String toTag;
|
||||
private String viaBranch;
|
||||
|
||||
public SipTransactionInfo(SIPRequest request) {
|
||||
this.callId = request.getCallIdHeader().getCallId();
|
||||
this.fromTag = request.getFromTag();
|
||||
this.toTag = request.getToTag();
|
||||
this.viaBranch = request.getTopmostViaHeader().getBranch();
|
||||
}
|
||||
|
||||
public SipTransactionInfo() {
|
||||
}
|
||||
|
||||
public String getCallId() {
|
||||
return callId;
|
||||
}
|
||||
|
||||
public void setCallId(String callId) {
|
||||
this.callId = callId;
|
||||
}
|
||||
|
||||
public String getFromTag() {
|
||||
return fromTag;
|
||||
}
|
||||
|
||||
public void setFromTag(String fromTag) {
|
||||
this.fromTag = fromTag;
|
||||
}
|
||||
|
||||
public String getToTag() {
|
||||
return toTag;
|
||||
}
|
||||
|
||||
public void setToTag(String toTag) {
|
||||
this.toTag = toTag;
|
||||
}
|
||||
|
||||
public String getViaBranch() {
|
||||
return viaBranch;
|
||||
}
|
||||
|
||||
public void setViaBranch(String viaBranch) {
|
||||
this.viaBranch = viaBranch;
|
||||
}
|
||||
}
|
|
@ -417,10 +417,11 @@ public class ZLMHttpHookListener {
|
|||
String schema = item.getSchema();
|
||||
List<MediaItem.MediaTrack> tracks = item.getTracks();
|
||||
boolean regist = item.isRegist();
|
||||
if (item.getOriginType() == OriginType.RTMP_PUSH.ordinal()
|
||||
|| item.getOriginType() == OriginType.RTSP_PUSH.ordinal()
|
||||
|| item.getOriginType() == OriginType.RTC_PUSH.ordinal()) {
|
||||
if (regist) {
|
||||
if (regist) {
|
||||
if (item.getOriginType() == OriginType.RTMP_PUSH.ordinal()
|
||||
|| item.getOriginType() == OriginType.RTSP_PUSH.ordinal()
|
||||
|| item.getOriginType() == OriginType.RTC_PUSH.ordinal()) {
|
||||
|
||||
StreamAuthorityInfo streamAuthorityInfo = redisCatchStorage.getStreamAuthorityInfo(app, stream);
|
||||
if (streamAuthorityInfo == null) {
|
||||
streamAuthorityInfo = StreamAuthorityInfo.getInstanceByHook(item);
|
||||
|
@ -429,9 +430,9 @@ public class ZLMHttpHookListener {
|
|||
streamAuthorityInfo.setOriginTypeStr(item.getOriginTypeStr());
|
||||
}
|
||||
redisCatchStorage.updateStreamAuthorityInfo(app, stream, streamAuthorityInfo);
|
||||
}else {
|
||||
redisCatchStorage.removeStreamAuthorityInfo(app, stream);
|
||||
}
|
||||
}else {
|
||||
redisCatchStorage.removeStreamAuthorityInfo(app, stream);
|
||||
}
|
||||
|
||||
if ("rtsp".equals(schema)){
|
||||
|
@ -451,16 +452,12 @@ public class ZLMHttpHookListener {
|
|||
if (streamInfo!=null){
|
||||
redisCatchStorage.stopPlay(streamInfo);
|
||||
storager.stopPlay(streamInfo.getDeviceID(), streamInfo.getChannelId());
|
||||
// 如果正在给上级推送,则发送bye
|
||||
|
||||
|
||||
}else{
|
||||
streamInfo = redisCatchStorage.queryPlayback(null, null, stream, null);
|
||||
if (streamInfo != null) {
|
||||
redisCatchStorage.stopPlayback(streamInfo.getDeviceID(), streamInfo.getChannelId(),
|
||||
streamInfo.getStream(), null);
|
||||
}
|
||||
// 如果正在给上级推送,则发送bye
|
||||
}
|
||||
}else {
|
||||
if (!"rtp".equals(app)){
|
||||
|
|
Loading…
Reference in New Issue