From 20082441ef5f6d62b93d572cc5dfebb3616bea9a Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 24 十一月 2021 15:09:43 +0800
Subject: [PATCH] 拉流代理接口添加无人观看则自动移除参数,拉流代理返回值增加流地址信息

---
 src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java |   28 ++++++++++++++++++++++++++--
 1 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
index 18c1b93..51f99d9 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
@@ -47,7 +47,7 @@
     private boolean sslEnabled;
 
     @Value("${server.port}")
-    private String serverPort;
+    private Integer serverPort;
 
     @Autowired
     private MediaConfig mediaConfig;
@@ -96,6 +96,11 @@
 
     @Override
     public SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId) {
+        return openRTPServer(mediaServerItem, streamId, false);
+    }
+
+    @Override
+    public SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId, boolean isPlayback) {
         if (mediaServerItem == null || mediaServerItem.getId() == null) {
             return null;
         }
@@ -107,7 +112,13 @@
             logger.info("media server [ {} ] ssrcConfig is null", mediaServerItem.getId());
             return null;
         }else {
-            String ssrc = ssrcConfig.getPlaySsrc();
+            String ssrc = null;
+            if (isPlayback) {
+                ssrc = ssrcConfig.getPlayBackSsrc();
+            }else {
+                ssrc = ssrcConfig.getPlaySsrc();
+            }
+
             if (streamId == null) {
                 streamId = String.format("%08x", Integer.parseInt(ssrc)).toUpperCase();
             }
@@ -228,6 +239,11 @@
     @Override
     public MediaServerItem getOneByHostAndPort(String host, int port) {
         return mediaServerMapper.queryOneByHostAndPort(host, port);
+    }
+
+    @Override
+    public MediaServerItem getDefaultMediaServer() {
+        return mediaServerMapper.queryDefault();
     }
 
     @Override
@@ -519,4 +535,12 @@
 
         return result;
     }
+
+    @Override
+    public void delete(String id) {
+        redisUtil.zRemove(VideoManagerConstants.MEDIA_SERVERS_ONLINE_PREFIX, id);
+        String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + id;
+        redisUtil.del(key);
+        mediaServerMapper.delOne(id);
+    }
 }

--
Gitblit v1.8.0