فهرست منبع

Merge pull request #15 from lawrencehj/wvp-28181-2.0

修复编译后运行报错“循环依赖”的问题,修复zlm在docker时代理错误
648540858 4 سال پیش
والد
کامیت
a63ae08f5d

+ 2 - 0
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/SIPProcessorFactory.java

@@ -13,6 +13,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Component;
 
 import com.genersoft.iot.vmp.conf.SipConfig;
@@ -79,6 +80,7 @@ public class SIPProcessorFactory {
 	private CancelResponseProcessor cancelResponseProcessor;
 
 	@Autowired
+	@Lazy
 	private RegisterResponseProcessor registerResponseProcessor;
 	
 	@Autowired

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java

@@ -214,7 +214,7 @@ public class SIPRequestHeaderProvider {
 				.createSipURI(platform.getDeviceGBId(), sipAddress));
 		request.addHeader(sipFactory.createHeaderFactory().createContactHeader(concatAddress));
 
-		ExpiresHeader expires = sipFactory.createHeaderFactory().createExpiresHeader(3600);
+		ExpiresHeader expires = sipFactory.createHeaderFactory().createExpiresHeader(Integer.parseInt(platform.getExpires()));
 		request.addHeader(expires);
 
 		return request;

+ 8 - 3
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHTTPProxyController.java

@@ -1,10 +1,12 @@
 package com.genersoft.iot.vmp.media.zlm;
 
 import com.alibaba.fastjson.JSONObject;
+import com.genersoft.iot.vmp.conf.MediaServerConfig;
 import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpRequest;
 import org.springframework.http.HttpStatus;
@@ -27,6 +29,8 @@ public class ZLMHTTPProxyController {
     @Autowired
     private IVideoManagerStorager storager;
 
+    @Value("${media.port}")
+    private int mediaHttpPort;
 
     @ResponseBody
     @RequestMapping(value = "/**/**/**", produces = "application/json;charset=UTF-8")
@@ -35,11 +39,12 @@ public class ZLMHTTPProxyController {
         if (storager.getMediaInfo() == null) {
             return "未接入流媒体";
         }
+        MediaServerConfig mediaInfo = storager.getMediaInfo();
         String requestURI = String.format("http://%s:%s%s?%s&%s",
-                storager.getMediaInfo().getLocalIP(),
-                storager.getMediaInfo().getHttpPort(),
+                mediaInfo.getLocalIP(),
+                mediaHttpPort,
                 request.getRequestURI().replace("/zlm",""),
-                storager.getMediaInfo().getHookAdminParams(),
+                mediaInfo.getHookAdminParams(),
                 request.getQueryString()
         );
         // 发送请求