From 764d04b497356ba6bcbb75fd42b51eca750f7223 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 29 五月 2024 15:02:51 +0800
Subject: [PATCH] 调整上级观看消息的发送

---
 src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java |  160 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 149 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java
old mode 100644
new mode 100755
index d583006..f498479
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java
@@ -1,38 +1,46 @@
 package com.genersoft.iot.vmp.media.zlm.dto;
 
+import com.genersoft.iot.vmp.common.StreamInfo;
 import com.genersoft.iot.vmp.gb28181.bean.GbStream;
+import com.genersoft.iot.vmp.media.event.media.MediaArrivalEvent;
+import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
 import com.genersoft.iot.vmp.utils.DateUtil;
+import io.swagger.v3.oas.annotations.media.Schema;
 import org.jetbrains.annotations.NotNull;
-import org.springframework.util.unit.DataUnit;
 
 import java.util.List;
 
-
+@Schema(description = "鎺ㄦ祦淇℃伅")
 public class StreamPushItem extends GbStream implements Comparable<StreamPushItem>{
 
     /**
      * id
      */
+    @Schema(description = "id")
     private Integer id;
 
     /**
      * 搴旂敤鍚�
      */
+    @Schema(description = "搴旂敤鍚�")
     private String app;
 
     /**
      * 娴乮d
      */
+    @Schema(description = "娴乮d")
     private String stream;
 
     /**
      * 瑙傜湅鎬讳汉鏁帮紝鍖呮嫭hls/rtsp/rtmp/http-flv/ws-flv
      */
-    private String totalReaderCount;
+    @Schema(description = "瑙傜湅鎬讳汉鏁�")
+    private Integer totalReaderCount;
 
     /**
      * 鍗忚 鍖呮嫭hls/rtsp/rtmp/http-flv/ws-flv
      */
+    @Schema(description = "鍗忚 鍖呮嫭hls/rtsp/rtmp/http-flv/ws-flv")
     private List<MediaSchema> schemas;
 
     /**
@@ -46,67 +54,88 @@
      * mp4_vod=6,
      * device_chn=7
      */
+    @Schema(description = "浜х敓婧愮被鍨�")
     private int originType;
 
     /**
      * 瀹㈡埛绔拰鏈嶅姟鍣ㄧ綉缁滀俊鎭紝鍙兘涓簄ull绫诲瀷
      */
-    private MediaItem.OriginSock originSock;
+    @Schema(description = "瀹㈡埛绔拰鏈嶅姟鍣ㄧ綉缁滀俊鎭紝鍙兘涓簄ull绫诲瀷")
+    private OnStreamChangedHookParam.OriginSock originSock;
 
     /**
      * 浜х敓婧愮被鍨嬬殑瀛楃涓叉弿杩�
      */
+    @Schema(description = "浜х敓婧愮被鍨嬬殑瀛楃涓叉弿杩�")
     private String originTypeStr;
 
     /**
      * 浜х敓婧愮殑url
      */
+    @Schema(description = "浜х敓婧愮殑url")
     private String originUrl;
 
     /**
      * 瀛樻椿鏃堕棿锛屽崟浣嶇
      */
+    @Schema(description = "瀛樻椿鏃堕棿锛屽崟浣嶇")
     private Long aliveSecond;
 
     /**
      * 闊宠棰戣建閬�
      */
-    private List<MediaItem.MediaTrack> tracks;
+    @Schema(description = "闊宠棰戣建閬�")
+    private List<OnStreamChangedHookParam.MediaTrack> tracks;
 
     /**
      * 闊宠棰戣建閬�
      */
+    @Schema(description = "闊宠棰戣建閬�")
     private String vhost;
 
     /**
      * 浣跨敤鐨勬祦濯掍綋ID
      */
+    @Schema(description = "浣跨敤鐨勬祦濯掍綋ID")
     private String mediaServerId;
 
     /**
      * 浣跨敤鐨勬湇鍔D
      */
+    @Schema(description = "浣跨敤鐨勬湇鍔D")
     private String serverId;
 
     /**
      * 鎺ㄦ祦鏃堕棿
      */
+    @Schema(description = "鎺ㄦ祦鏃堕棿")
     private String pushTime;
 
     /**
      * 鏇存柊鏃堕棿
      */
+    @Schema(description = "鏇存柊鏃堕棿")
     private String updateTime;
 
     /**
      * 鍒涘缓鏃堕棿
      */
+    @Schema(description = "鍒涘缓鏃堕棿")
     private String createTime;
 
     /**
      * 鏄惁姝e湪鎺ㄦ祦
      */
+    @Schema(description = "鏄惁姝e湪鎺ㄦ祦")
     private boolean pushIng;
+
+    /**
+     * 鏄惁鑷繁骞冲彴鐨勬帹娴�
+     */
+    @Schema(description = "鏄惁鑷繁骞冲彴鐨勬帹娴�")
+    private boolean self;
+
+
 
     public String getVhost() {
         return vhost;
@@ -121,6 +150,47 @@
     public int compareTo(@NotNull StreamPushItem streamPushItem) {
         return Long.valueOf(DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(super.createTime)
                 - DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(streamPushItem.getCreateTime())).intValue();
+    }
+
+    public StreamPushItem getInstance(StreamInfo streamInfo) {
+        StreamPushItem streamPushItem = new StreamPushItem();
+        streamPushItem.setApp(streamInfo.getApp());
+        streamPushItem.setMediaServerId(streamInfo.getMediaServerId());
+        streamPushItem.setStream(streamInfo.getStream());
+        streamPushItem.setAliveSecond(streamInfo.getMediaInfo().getAliveSecond());
+//        streamPushItem.setOriginSock(streamInfo.getMediaInfo().getOriginSock());
+        streamPushItem.setTotalReaderCount(streamInfo.getMediaInfo().getReaderCount());
+        streamPushItem.setOriginType(streamInfo.getOriginType());
+//        streamPushItem.setOriginTypeStr(streamInfo.getMediaInfo().getOriginTypeStr());
+//        streamPushItem.setOriginUrl(streamInfo.getMediaInfo().getOriginUrl());
+        streamPushItem.setCreateTime(DateUtil.getNow());
+        streamPushItem.setAliveSecond(streamInfo.getMediaInfo().getAliveSecond());
+        streamPushItem.setStatus(true);
+        streamPushItem.setStreamType("push");
+//        streamPushItem.setVhost(streamInfo.getVhost());
+        streamPushItem.setServerId(streamInfo.getMediaServerId());
+        return streamPushItem;
+
+    }
+
+    public static StreamPushItem getInstance(MediaArrivalEvent event, String serverId){
+        StreamPushItem streamPushItem = new StreamPushItem();
+        streamPushItem.setApp(event.getApp());
+        streamPushItem.setMediaServerId(event.getMediaServer().getId());
+        streamPushItem.setStream(event.getStream());
+        streamPushItem.setAliveSecond(event.getMediaInfo().getAliveSecond());
+//        streamPushItem.setOriginSock(streamInfo.getMediaInfo().getOriginSock());
+        streamPushItem.setTotalReaderCount(event.getMediaInfo().getReaderCount());
+        streamPushItem.setOriginType(event.getMediaInfo().getOriginType());
+//        streamPushItem.setOriginTypeStr(streamInfo.getMediaInfo().getOriginTypeStr());
+//        streamPushItem.setOriginUrl(streamInfo.getMediaInfo().getOriginUrl());
+        streamPushItem.setCreateTime(DateUtil.getNow());
+        streamPushItem.setAliveSecond(event.getMediaInfo().getAliveSecond());
+        streamPushItem.setStatus(true);
+        streamPushItem.setStreamType("push");
+//        streamPushItem.setVhost(streamInfo.getVhost());
+        streamPushItem.setServerId(serverId);
+        return streamPushItem;
     }
 
     public static class MediaSchema {
@@ -172,11 +242,11 @@
         this.stream = stream;
     }
 
-    public String getTotalReaderCount() {
+    public Integer getTotalReaderCount() {
         return totalReaderCount;
     }
 
-    public void setTotalReaderCount(String totalReaderCount) {
+    public void setTotalReaderCount(Integer totalReaderCount) {
         this.totalReaderCount = totalReaderCount;
     }
 
@@ -196,11 +266,11 @@
         this.originType = originType;
     }
 
-    public MediaItem.OriginSock getOriginSock() {
+    public OnStreamChangedHookParam.OriginSock getOriginSock() {
         return originSock;
     }
 
-    public void setOriginSock(MediaItem.OriginSock originSock) {
+    public void setOriginSock(OnStreamChangedHookParam.OriginSock originSock) {
         this.originSock = originSock;
     }
 
@@ -229,11 +299,11 @@
         this.aliveSecond = aliveSecond;
     }
 
-    public List<MediaItem.MediaTrack> getTracks() {
+    public List<OnStreamChangedHookParam.MediaTrack> getTracks() {
         return tracks;
     }
 
-    public void setTracks(List<MediaItem.MediaTrack> tracks) {
+    public void setTracks(List<OnStreamChangedHookParam.MediaTrack> tracks) {
         this.tracks = tracks;
     }
 
@@ -290,5 +360,73 @@
     public void setPushIng(boolean pushIng) {
         this.pushIng = pushIng;
     }
+
+    public boolean isSelf() {
+        return self;
+    }
+
+    public void setSelf(boolean self) {
+        this.self = self;
+    }
+
+//    @Override
+//    public Integer getGbStreamId() {
+//        return super.getGbStreamId();
+//    }
+//
+//    @Override
+//    public void setGbStreamId(Integer gbStreamId) {
+//        super.setGbStreamId(gbStreamId);
+//    }
+//
+//
+//    public String getGbId() {
+//        return super.getGbId();
+//    }
+//
+//    public void setGbId(String gbId) {
+//       super.setGbId(gbId);
+//    }
+//
+//    public String getName() {
+//        return super.getName();
+//    }
+//
+//    public void setName(String name) {
+//        super.setName(name);
+//    }
+//
+//    public double getLongitude() {
+//        return super.getLongitude();
+//    }
+//
+//    public void setLongitude(double longitude) {
+//        super.setLongitude(longitude);
+//    }
+//
+//    public double getLatitude() {
+//        return super.getLatitude();
+//    }
+//
+//    public void setLatitude(double latitude) {
+//        super.setLatitude(latitude);
+//    }
+//
+//    public String getStreamType() {
+//        return super.getStreamType();
+//    }
+//
+//    public void setStreamType(String streamType) {
+//        super.setStreamType(streamType);
+//    }
+//
+//    public boolean isStatus() {
+//        return super.isStatus();
+//    }
+//
+//    public void setStatus(boolean status) {
+//        super.setStatus(status);
+//    }
+
 }
 

--
Gitblit v1.8.0