Kaynağa Gözat

临时提交

648540858 1 yıl önce
ebeveyn
işleme
913099291b

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/service/IMediaNodeServerService.java

@@ -27,5 +27,5 @@ public interface IMediaNodeServerService {
 
     boolean deleteRecordDirectory(MediaServerItem mediaServerItem, String app, String stream, String date, String fileName);
 
-    List<StreamInfo> getMediaList(MediaServerItem mediaServerItem, String app, String stream);
+    List<StreamInfo> getMediaList(MediaServerItem mediaServerItem, String app, String stream, String callId);
 }

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/service/IMediaServerService.java

@@ -75,5 +75,5 @@ public interface IMediaServerService {
 
     boolean deleteRecordDirectory(MediaServerItem mediaServerItem, String app, String stream, String date, String fileName);
 
-    List<StreamInfo> getMediaList(MediaServerItem mediaInfo, String app, String stream);
+    List<StreamInfo> getMediaList(MediaServerItem mediaInfo, String app, String stream, String callId);
 }

+ 2 - 3
src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java

@@ -1,6 +1,5 @@
 package com.genersoft.iot.vmp.media.service.impl;
 
-import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.genersoft.iot.vmp.common.CommonCallback;
 import com.genersoft.iot.vmp.common.StreamInfo;
@@ -556,12 +555,12 @@ public class MediaServerServiceImpl implements IMediaServerService {
     }
 
     @Override
-    public List<StreamInfo> getMediaList(MediaServerItem mediaServerItem, String app, String stream) {
+    public List<StreamInfo> getMediaList(MediaServerItem mediaServerItem, String app, String stream, String callId) {
         IMediaNodeServerService mediaNodeServerService = nodeServerServiceMap.get(mediaServerItem.getType());
         if (mediaNodeServerService == null) {
             logger.info("[getMediaList] 失败, mediaServerItem的类型: {},未找到对应的实现类", mediaServerItem.getType());
             return new ArrayList<>();
         }
-        return mediaNodeServerService.getMediaList(mediaServerItem, app, stream);
+        return mediaNodeServerService.getMediaList(mediaServerItem, app, stream, callId);
     }
 }

+ 4 - 5
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaNodeServerService.java

@@ -148,7 +148,7 @@ public class ZLMMediaNodeServerService implements IMediaNodeServerService {
     }
 
     @Override
-    public List<StreamInfo> getMediaList(MediaServerItem mediaServerItem, String app, String stream) {
+    public List<StreamInfo> getMediaList(MediaServerItem mediaServerItem, String app, String stream, String callId) {
         List<StreamInfo> streamInfoList = new ArrayList<>();
         JSONObject mediaList = zlmresTfulUtils.getMediaList(mediaServerItem, app, stream);
         if (mediaList != null) {
@@ -160,10 +160,9 @@ public class ZLMMediaNodeServerService implements IMediaNodeServerService {
                 JSONObject mediaJSON = data.getJSONObject(0);
                 JSONArray tracks = mediaJSON.getJSONArray("tracks");
 
-                if (authority) {
-                    streamInfo = getStreamInfoByAppAndStream(mediaServerItem, app, stream, tracks, null, calld, true);
-                }else {
-                    streamInfo = getStreamInfoByAppAndStream(mediaServerItem, app, stream, tracks, null,null, true);
+                StreamInfo streamInfo = getStreamInfoByAppAndStream(mediaServerItem, app, stream, tracks, null, callId, true);
+                if (streamInfo != null) {
+                    streamInfoList.add(streamInfo);
                 }
             }
         }

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java

@@ -242,7 +242,7 @@ public class DeviceServiceImpl implements IDeviceService {
                 if (sendRtpItem != null) {
                     redisCatchStorage.deleteSendRTPServer(deviceId, sendRtpItem.getChannelId(), null, null);
                     MediaServerItem mediaInfo = mediaServerService.getOne(sendRtpItem.getMediaServerId());
-                    mediaServerService.stopSendRtp(mediaInfo, sendRtpItem.getApp(), sendRtpItem.getStream());
+                    mediaServerService.stopSendRtp(mediaInfo, sendRtpItem.getApp(), sendRtpItem.getStream(), null);
                 }
 
                 audioBroadcastManager.del(deviceId, audioBroadcastCatch.getChannelId());

+ 2 - 4
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java

@@ -1,14 +1,12 @@
 package com.genersoft.iot.vmp.service.impl;
 
-import com.alibaba.fastjson2.JSONArray;
-import com.alibaba.fastjson2.JSONObject;
 import com.genersoft.iot.vmp.common.StreamInfo;
 import com.genersoft.iot.vmp.conf.MediaConfig;
 import com.genersoft.iot.vmp.media.bean.Track;
+import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import com.genersoft.iot.vmp.media.zlm.ZLMRESTfulUtils;
 import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
 import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo;
-import com.genersoft.iot.vmp.media.service.IMediaServerService;
 import com.genersoft.iot.vmp.service.IMediaService;
 import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -53,7 +51,7 @@ public class MediaServiceImpl implements IMediaService {
         if (streamAuthorityInfo != null) {
             calld = streamAuthorityInfo.getCallId();
         }
-        List<StreamInfo> streamInfoList = mediaServerService.getMediaList(mediaInfo, app, stream);
+        List<StreamInfo> streamInfoList = mediaServerService.getMediaList(mediaInfo, app, stream, calld);
         if (streamInfoList.isEmpty()) {
             return null;
         }else {

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java

@@ -122,7 +122,7 @@ public class StreamPushServiceImpl implements IStreamPushService {
         streamPushItem.setStream(item.getStream());
         streamPushItem.setAliveSecond(item.getAliveSecond());
         streamPushItem.setOriginSock(item.getOriginSock());
-        streamPushItem.setTotalReaderCount(item.getTotalReaderCount());
+        streamPushItem.setTotalReaderCount(item.getTotalReaderCount() + "");
         streamPushItem.setOriginType(item.getOriginType());
         streamPushItem.setOriginTypeStr(item.getOriginTypeStr());
         streamPushItem.setOriginUrl(item.getOriginUrl());

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisStreamMsgListener.java

@@ -72,7 +72,7 @@ public class RedisStreamMsgListener implements MessageListener {
                         onStreamChangedHookParam.setMediaServerId(mediaServerId);
                         onStreamChangedHookParam.setCreateStamp(System.currentTimeMillis()/1000);
                         onStreamChangedHookParam.setAliveSecond(0L);
-                        onStreamChangedHookParam.setTotalReaderCount("0");
+                        onStreamChangedHookParam.setTotalReaderCount(0);
                         onStreamChangedHookParam.setOriginType(0);
                         onStreamChangedHookParam.setOriginTypeStr("0");
                         onStreamChangedHookParam.setOriginTypeStr("unknown");

+ 5 - 5
src/main/java/com/genersoft/iot/vmp/vmanager/bean/StreamContent.java

@@ -171,7 +171,7 @@ public class StreamContent {
         }
 
         this.mediaServerId = streamInfo.getMediaServerId();
-        this.track = streamInfo.getTracks();
+        this.track = streamInfo.getTrack();
         this.startTime = streamInfo.getStartTime();
         this.endTime = streamInfo.getEndTime();
         this.progress = streamInfo.getProgress();
@@ -389,12 +389,12 @@ public class StreamContent {
         this.mediaServerId = mediaServerId;
     }
 
-    public Object getTracks() {
-        return tracks;
+    public Track getTrack() {
+        return track;
     }
 
-    public void setTracks(Object tracks) {
-        this.tracks = tracks;
+    public void setTrack(Track track) {
+        this.track = track;
     }
 
     public String getStartTime() {