From ab13017117b18427bb5ee687c9a1b3fd5a94f2ae Mon Sep 17 00:00:00 2001
From: panlinlin <648540858@qq.com>
Date: 星期二, 20 四月 2021 17:20:01 +0800
Subject: [PATCH] 处理空指针
---
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java | 21 +++++++++++----------
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/ByeRequestProcessor.java | 1 +
web_src/src/components/dialog/StreamProxyEdit.vue | 10 +++++-----
3 files changed, 17 insertions(+), 15 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/ByeRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/ByeRequestProcessor.java
index ec136e9..5fe10b6 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/ByeRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/ByeRequestProcessor.java
@@ -48,6 +48,7 @@
String platformGbId = ((SipURI) ((HeaderAddress) evt.getRequest().getHeader(FromHeader.NAME)).getAddress().getURI()).getUser();
String channelId = ((SipURI) ((HeaderAddress) evt.getRequest().getHeader(ToHeader.NAME)).getAddress().getURI()).getUser();
SendRtpItem sendRtpItem = redisCatchStorage.querySendRTPServer(platformGbId, channelId);
+ if (sendRtpItem == null) return;
String streamId = sendRtpItem.getStreamId();
Map<String, Object> param = new HashMap<>();
param.put("vhost","__defaultVhost__");
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
index 183a544..cf1ce4c 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
@@ -295,25 +295,26 @@
String streamId = json.getString("stream");
String app = json.getString("app");
- StreamInfo streamInfo = redisCatchStorage.queryPlayByStreamId(streamId);
-
if ("rtp".equals(app)){
JSONObject ret = new JSONObject();
ret.put("code", 0);
ret.put("close", true);
- if (streamInfo != null) {
- if (redisCatchStorage.isChannelSendingRTP(streamInfo.getChannelId())) {
+ StreamInfo streamInfoForPlayCatch = redisCatchStorage.queryPlayByStreamId(streamId);
+ if (streamInfoForPlayCatch != null) {
+ if (redisCatchStorage.isChannelSendingRTP(streamInfoForPlayCatch.getChannelId())) {
ret.put("close", false);
} else {
- cmder.streamByeCmd(streamInfo.getDeviceID(), streamInfo.getChannelId());
- redisCatchStorage.stopPlay(streamInfo);
- storager.stopPlay(streamInfo.getDeviceID(), streamInfo.getChannelId());
+ cmder.streamByeCmd(streamInfoForPlayCatch.getDeviceID(), streamInfoForPlayCatch.getChannelId());
+ redisCatchStorage.stopPlay(streamInfoForPlayCatch);
+ storager.stopPlay(streamInfoForPlayCatch.getDeviceID(), streamInfoForPlayCatch.getChannelId());
}
}else{
- cmder.streamByeCmd(streamInfo.getDeviceID(), streamInfo.getChannelId());
- streamInfo = redisCatchStorage.queryPlaybackByStreamId(streamId);
- redisCatchStorage.stopPlayback(streamInfo);
+ StreamInfo streamInfoForPlayBackCatch = redisCatchStorage.queryPlaybackByStreamId(streamId);
+ if (streamInfoForPlayBackCatch != null) {
+ cmder.streamByeCmd(streamInfoForPlayBackCatch.getDeviceID(), streamInfoForPlayBackCatch.getChannelId());
+ redisCatchStorage.stopPlayback(streamInfoForPlayBackCatch);
+ }
}
return new ResponseEntity<String>(ret.toString(),HttpStatus.OK);
}else {
diff --git a/web_src/src/components/dialog/StreamProxyEdit.vue b/web_src/src/components/dialog/StreamProxyEdit.vue
index b0ea10e..d849ec6 100644
--- a/web_src/src/components/dialog/StreamProxyEdit.vue
+++ b/web_src/src/components/dialog/StreamProxyEdit.vue
@@ -62,14 +62,14 @@
<el-checkbox label="杞琀LS" v-model="proxyParam.enable_hls" ></el-checkbox>
<el-checkbox label="MP4褰曞埗" v-model="proxyParam.enable_mp4" ></el-checkbox>
</div>
-
+
</el-form-item>
<el-form-item>
<div style="float: right;">
<el-button type="primary" @click="onSubmit">{{onSubmit_text}}</el-button>
<el-button @click="close">鍙栨秷</el-button>
</div>
-
+
</el-form-item>
</el-form>
</div>
@@ -110,7 +110,7 @@
type: "default",
app: null,
stream: null,
- url: "rtmp://58.200.131.2:1935/livetv/hunantv",
+ url: "rtmp://58.200.131.2/livetv/cctv5hd",
src_url: null,
timeout_ms: null,
ffmpeg_cmd_key: null,
@@ -120,7 +120,7 @@
enable_hls: true,
enable_mp4: false,
},
-
+
rules: {
name: [{ required: true, message: "璇疯緭鍏ュ悕绉�", trigger: "blur" }],
app: [{ required: true, message: "璇疯緭鍏ュ簲鐢ㄥ悕", trigger: "blur" }],
@@ -148,7 +148,7 @@
var that = this;
that.$axios({
method: 'post',
- url:`/api/proxy/save`,
+ url:`/api/proxy/save`,
data: that.proxyParam
}).then(function (res) {
console.log(res);
--
Gitblit v1.8.0