From c69b64c756770067c8c89d1f2f2fb80d4a88031f Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 28 五月 2024 10:23:17 +0800
Subject: [PATCH] 修复CSEQ重置错误 #1449

---
 src/main/java/com/genersoft/iot/vmp/gb28181/bean/SendRtpItem.java |  260 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 255 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/SendRtpItem.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/SendRtpItem.java
old mode 100644
new mode 100755
index 2c9c494..55f09df
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/SendRtpItem.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/SendRtpItem.java
@@ -1,5 +1,9 @@
 package com.genersoft.iot.vmp.gb28181.bean;
 
+import com.genersoft.iot.vmp.service.bean.RequestPushStreamMsg;
+
+import com.genersoft.iot.vmp.common.VideoManagerConstants;
+
 public class SendRtpItem {
 
     /**
@@ -21,6 +25,11 @@
      * 骞冲彴id
      */
     private String platformId;
+
+    /**
+     * 骞冲彴鍚嶇О
+     */
+    private String platformName;
 
      /**
      * 瀵瑰簲璁惧id
@@ -49,7 +58,7 @@
     /**
      * 璁惧鎺ㄦ祦鐨剆treamId
      */
-    private String streamId;
+    private String stream;
 
     /**
      * 鏄惁涓簍cp
@@ -62,6 +71,11 @@
     private boolean tcpActive;
 
     /**
+     * 鑷繁鎺ㄦ祦浣跨敤鐨処P
+     */
+    private String localIp;
+
+    /**
      * 鑷繁鎺ㄦ祦浣跨敤鐨勭鍙�
      */
     private int localPort;
@@ -70,6 +84,95 @@
      * 浣跨敤鐨勬祦濯掍綋
      */
     private String mediaServerId;
+
+    /**
+     * 浣跨敤鐨勬湇鍔$殑ID
+     */
+    private String serverId;
+
+    /**
+     *  invite 鐨� callId
+     */
+    private String callId;
+
+    /**
+     *  invite 鐨� fromTag
+     */
+    private String fromTag;
+
+    /**
+     *  invite 鐨� toTag
+     */
+    private String toTag;
+
+    /**
+     * 鍙戦�佹椂锛宺tp鐨刾t锛坲int8_t锛�,涓嶄紶鏃堕粯璁や负96
+     */
+    private int pt = 96;
+
+    /**
+     * 鍙戦�佹椂锛宺tp鐨勮礋杞界被鍨嬨�備负true鏃讹紝璐熻浇涓簆s锛涗负false鏃讹紝涓篹s锛�
+     */
+    private boolean usePs = true;
+
+    /**
+     * 褰搖sePs 涓篺alse鏃讹紝鏈夋晥銆備负1鏃讹紝鍙戦�侀煶棰戯紱涓�0鏃讹紝鍙戦�佽棰戯紱涓嶄紶鏃堕粯璁や负0
+     */
+    private boolean onlyAudio = false;
+
+    /**
+     * 鏄惁寮�鍚痳tcp淇濇椿
+     */
+    private boolean rtcp = false;
+
+
+    /**
+     * 鎾斁绫诲瀷
+     */
+    private InviteStreamType playType;
+
+    /**
+     * 鍙戞祦鐨勫悓鏃舵敹娴�
+     */
+    private String receiveStream;
+
+    /**
+     * 涓婄骇鐨勭偣鎾被鍨�
+     */
+    private String sessionName;
+
+    public static SendRtpItem getInstance(RequestPushStreamMsg requestPushStreamMsg) {
+        SendRtpItem sendRtpItem = new SendRtpItem();
+        sendRtpItem.setMediaServerId(requestPushStreamMsg.getMediaServerId());
+        sendRtpItem.setApp(requestPushStreamMsg.getApp());
+        sendRtpItem.setStream(requestPushStreamMsg.getStream());
+        sendRtpItem.setIp(requestPushStreamMsg.getIp());
+        sendRtpItem.setPort(requestPushStreamMsg.getPort());
+        sendRtpItem.setSsrc(requestPushStreamMsg.getSsrc());
+        sendRtpItem.setTcp(requestPushStreamMsg.isTcp());
+        sendRtpItem.setLocalPort(requestPushStreamMsg.getSrcPort());
+        sendRtpItem.setPt(requestPushStreamMsg.getPt());
+        sendRtpItem.setUsePs(requestPushStreamMsg.isPs());
+        sendRtpItem.setOnlyAudio(requestPushStreamMsg.isOnlyAudio());
+        return sendRtpItem;
+
+    }
+
+    public static SendRtpItem getInstance(String app, String stream, String ssrc, String dstIp, Integer dstPort, boolean tcp, int sendLocalPort, Integer pt) {
+        SendRtpItem sendRtpItem = new SendRtpItem();
+        sendRtpItem.setApp(app);
+        sendRtpItem.setStream(stream);
+        sendRtpItem.setSsrc(ssrc);
+        sendRtpItem.setTcp(tcp);
+        sendRtpItem.setLocalPort(sendLocalPort);
+        sendRtpItem.setIp(dstIp);
+        sendRtpItem.setPort(dstPort);
+        if (pt != null) {
+            sendRtpItem.setPt(pt);
+        }
+
+        return sendRtpItem;
+    }
 
     public String getIp() {
         return ip;
@@ -135,12 +238,12 @@
         this.app = app;
     }
 
-    public String getStreamId() {
-        return streamId;
+    public String getStream() {
+        return stream;
     }
 
-    public void setStreamId(String streamId) {
-        this.streamId = streamId;
+    public void setStream(String stream) {
+        this.stream = stream;
     }
 
     public boolean isTcp() {
@@ -174,4 +277,151 @@
     public void setMediaServerId(String mediaServerId) {
         this.mediaServerId = mediaServerId;
     }
+
+    public String getCallId() {
+        return callId;
+    }
+
+    public void setCallId(String callId) {
+        this.callId = callId;
+    }
+
+    public InviteStreamType getPlayType() {
+        return playType;
+    }
+
+    public void setPlayType(InviteStreamType playType) {
+        this.playType = playType;
+    }
+
+    public int getPt() {
+        return pt;
+    }
+
+    public void setPt(int pt) {
+        this.pt = pt;
+    }
+
+    public boolean isUsePs() {
+        return usePs;
+    }
+
+    public void setUsePs(boolean usePs) {
+        this.usePs = usePs;
+    }
+
+    public boolean isOnlyAudio() {
+        return onlyAudio;
+    }
+
+    public void setOnlyAudio(boolean onlyAudio) {
+        this.onlyAudio = onlyAudio;
+    }
+
+    public String getServerId() {
+        return serverId;
+    }
+
+    public void setServerId(String serverId) {
+        this.serverId = serverId;
+    }
+
+    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 boolean isRtcp() {
+        return rtcp;
+    }
+
+    public void setRtcp(boolean rtcp) {
+        this.rtcp = rtcp;
+    }
+
+    public String getReceiveStream() {
+        return receiveStream;
+    }
+
+    public void setReceiveStream(String receiveStream) {
+        this.receiveStream = receiveStream;
+    }
+
+    public String getPlatformName() {
+        return platformName;
+    }
+
+    public void setPlatformName(String platformName) {
+        this.platformName = platformName;
+    }
+
+    public String getLocalIp() {
+        return localIp;
+    }
+
+    public void setLocalIp(String localIp) {
+        this.localIp = localIp;
+    }
+
+    public String getSessionName() {
+        return sessionName;
+    }
+
+    public void setSessionName(String sessionName) {
+        this.sessionName = sessionName;
+    }
+
+    @Override
+    public String toString() {
+        return "SendRtpItem{" +
+                "ip='" + ip + '\'' +
+                ", port=" + port +
+                ", ssrc='" + ssrc + '\'' +
+                ", platformId='" + platformId + '\'' +
+                ", platformName='" + platformName + '\'' +
+                ", deviceId='" + deviceId + '\'' +
+                ", app='" + app + '\'' +
+                ", channelId='" + channelId + '\'' +
+                ", status=" + status +
+                ", stream='" + stream + '\'' +
+                ", tcp=" + tcp +
+                ", tcpActive=" + tcpActive +
+                ", localIp='" + localIp + '\'' +
+                ", localPort=" + localPort +
+                ", mediaServerId='" + mediaServerId + '\'' +
+                ", serverId='" + serverId + '\'' +
+                ", CallId='" + callId + '\'' +
+                ", fromTag='" + fromTag + '\'' +
+                ", toTag='" + toTag + '\'' +
+                ", pt=" + pt +
+                ", usePs=" + usePs +
+                ", onlyAudio=" + onlyAudio +
+                ", rtcp=" + rtcp +
+                ", playType=" + playType +
+                ", receiveStream='" + receiveStream + '\'' +
+                ", sessionName='" + sessionName + '\'' +
+                '}';
+    }
+
+    public String getRedisKey() {
+        String key = VideoManagerConstants.PLATFORM_SEND_RTP_INFO_PREFIX +
+                serverId + "_"
+                + mediaServerId + "_"
+                + platformId + "_"
+                + channelId + "_"
+                + stream + "_"
+                + callId;
+        return key;
+    }
 }

--
Gitblit v1.8.0