Commit f89491ada315b78648f266a86c026f7cb9bf3519

Authored by 648540858
1 parent fb957b0d

修复单端口模式下ssrc的释放 #667

src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java
@@ -38,7 +38,7 @@ public class ZLMRESTfulUtils { @@ -38,7 +38,7 @@ public class ZLMRESTfulUtils {
38 // 设置读取超时时间 38 // 设置读取超时时间
39 httpClientBuilder.readTimeout(5,TimeUnit.SECONDS); 39 httpClientBuilder.readTimeout(5,TimeUnit.SECONDS);
40 // 设置连接池 40 // 设置连接池
41 - httpClientBuilder.connectionPool(new ConnectionPool(16, 10, TimeUnit.SECONDS)); 41 + httpClientBuilder.connectionPool(new ConnectionPool(16, 5, TimeUnit.MINUTES));
42 if (logger.isDebugEnabled()) { 42 if (logger.isDebugEnabled()) {
43 HttpLoggingInterceptor logging = new HttpLoggingInterceptor(message -> { 43 HttpLoggingInterceptor logging = new HttpLoggingInterceptor(message -> {
44 logger.debug("http请求参数:" + message); 44 logger.debug("http请求参数:" + message);
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
@@ -169,7 +169,6 @@ public class MediaServerServiceImpl implements IMediaServerService { @@ -169,7 +169,6 @@ public class MediaServerServiceImpl implements IMediaServerService {
169 return; 169 return;
170 } 170 }
171 zlmrtpServerFactory.closeRtpServer(mediaServerItem, streamId); 171 zlmrtpServerFactory.closeRtpServer(mediaServerItem, streamId);
172 - releaseSsrc(mediaServerItem.getId(), streamId);  
173 } 172 }
174 173
175 @Override 174 @Override
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java
@@ -5,7 +5,6 @@ import com.genersoft.iot.vmp.conf.DynamicTask; @@ -5,7 +5,6 @@ import com.genersoft.iot.vmp.conf.DynamicTask;
5 import com.genersoft.iot.vmp.conf.exception.ControllerException; 5 import com.genersoft.iot.vmp.conf.exception.ControllerException;
6 import com.genersoft.iot.vmp.gb28181.bean.Device; 6 import com.genersoft.iot.vmp.gb28181.bean.Device;
7 import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; 7 import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
8 -import com.genersoft.iot.vmp.gb28181.bean.SubscribeHolder;  
9 import com.genersoft.iot.vmp.gb28181.bean.SyncStatus; 8 import com.genersoft.iot.vmp.gb28181.bean.SyncStatus;
10 import com.genersoft.iot.vmp.gb28181.task.ISubscribeTask; 9 import com.genersoft.iot.vmp.gb28181.task.ISubscribeTask;
11 import com.genersoft.iot.vmp.gb28181.task.impl.CatalogSubscribeTask; 10 import com.genersoft.iot.vmp.gb28181.task.impl.CatalogSubscribeTask;
@@ -25,7 +24,6 @@ import io.swagger.v3.oas.annotations.Operation; @@ -25,7 +24,6 @@ import io.swagger.v3.oas.annotations.Operation;
25 import io.swagger.v3.oas.annotations.Parameter; 24 import io.swagger.v3.oas.annotations.Parameter;
26 import io.swagger.v3.oas.annotations.tags.Tag; 25 import io.swagger.v3.oas.annotations.tags.Tag;
27 import org.apache.commons.compress.utils.IOUtils; 26 import org.apache.commons.compress.utils.IOUtils;
28 -import org.apache.http.HttpResponse;  
29 import org.slf4j.Logger; 27 import org.slf4j.Logger;
30 import org.slf4j.LoggerFactory; 28 import org.slf4j.LoggerFactory;
31 import org.springframework.beans.factory.annotation.Autowired; 29 import org.springframework.beans.factory.annotation.Autowired;
@@ -33,15 +31,15 @@ import org.springframework.http.HttpStatus; @@ -33,15 +31,15 @@ import org.springframework.http.HttpStatus;
33 import org.springframework.http.MediaType; 31 import org.springframework.http.MediaType;
34 import org.springframework.http.ResponseEntity; 32 import org.springframework.http.ResponseEntity;
35 import org.springframework.util.ObjectUtils; 33 import org.springframework.util.ObjectUtils;
36 -import org.springframework.util.StringUtils;  
37 import org.springframework.web.bind.annotation.*; 34 import org.springframework.web.bind.annotation.*;
38 import org.springframework.web.context.request.async.DeferredResult; 35 import org.springframework.web.context.request.async.DeferredResult;
39 36
40 import javax.servlet.http.HttpServletResponse; 37 import javax.servlet.http.HttpServletResponse;
41 -import javax.sip.DialogState;  
42 import javax.sip.InvalidArgumentException; 38 import javax.sip.InvalidArgumentException;
43 import javax.sip.SipException; 39 import javax.sip.SipException;
44 -import java.io.*; 40 +import java.io.File;
  41 +import java.io.IOException;
  42 +import java.io.InputStream;
45 import java.nio.file.Files; 43 import java.nio.file.Files;
46 import java.text.ParseException; 44 import java.text.ParseException;
47 import java.util.*; 45 import java.util.*;
@@ -145,7 +143,7 @@ public class DeviceQuery { @@ -145,7 +143,7 @@ public class DeviceQuery {
145 */ 143 */
146 @Operation(summary = "同步设备通道") 144 @Operation(summary = "同步设备通道")
147 @Parameter(name = "deviceId", description = "设备国标编号", required = true) 145 @Parameter(name = "deviceId", description = "设备国标编号", required = true)
148 - @PostMapping("/devices/{deviceId}/sync") 146 + @GetMapping("/devices/{deviceId}/sync")
149 public WVPResult<SyncStatus> devicesSync(@PathVariable String deviceId){ 147 public WVPResult<SyncStatus> devicesSync(@PathVariable String deviceId){
150 148
151 if (logger.isDebugEnabled()) { 149 if (logger.isDebugEnabled()) {
web_src/src/components/DeviceList.vue
@@ -207,7 +207,7 @@ export default { @@ -207,7 +207,7 @@ export default {
207 console.log("刷新对应设备:" + itemData.deviceId); 207 console.log("刷新对应设备:" + itemData.deviceId);
208 let that = this; 208 let that = this;
209 this.$axios({ 209 this.$axios({
210 - method: 'post', 210 + method: 'get',
211 url: '/api/device/query/devices/' + itemData.deviceId + '/sync' 211 url: '/api/device/query/devices/' + itemData.deviceId + '/sync'
212 }).then((res) => { 212 }).then((res) => {
213 console.log("刷新设备结果:" + JSON.stringify(res)); 213 console.log("刷新设备结果:" + JSON.stringify(res));