From eb173b1b24d95ec1b6660deea390747ed5a3c76e Mon Sep 17 00:00:00 2001
From: StreamLuna <122618144+StreamLuna@users.noreply.github.com>
Date: 星期一, 20 三月 2023 10:58:44 +0800
Subject: [PATCH] fix: 根据国标设备编号查询设备没有返回通道数
---
src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java | 49 ++++++++++++++++++++++---------------------------
1 files changed, 22 insertions(+), 27 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java
index 96027d4..8b46086 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java
@@ -258,8 +258,7 @@
return;
}
try {
- cmder.playStreamCmd(mediaServerItem, ssrcInfo, device, channelId, (MediaServerItem mediaServerItemInuse, JSONObject response) ->
- {
+ cmder.playStreamCmd(mediaServerItem, ssrcInfo, device, channelId, (MediaServerItem mediaServerItemInuse, JSONObject response) -> {
logger.info("鏀跺埌璁㈤槄娑堟伅锛� " + response.toJSONString());
dynamicTask.stop(timeOutTaskKey);
@@ -274,8 +273,7 @@
logger.info("[璇锋眰鎴浘]: " + fileName);
zlmresTfulUtils.getSnap(mediaServerItemInuse, streamUrl, 15, 1, path, fileName);
- }, (event) ->
- {
+ }, (event) -> {
ResponseEvent responseEvent = (ResponseEvent) event.event;
String contentString = new String(responseEvent.getResponse().getRawContent());
// 鑾峰彇ssrc
@@ -324,8 +322,7 @@
}
}
- }, (event) ->
- {
+ }, (event) -> {
dynamicTask.stop(timeOutTaskKey);
mediaServerService.closeRTPServer(mediaServerItem, ssrcInfo.getStream());
// 閲婃斁ssrc
@@ -516,8 +513,7 @@
try {
cmder.playbackStreamCmd(mediaServerItem, ssrcInfo, device, channelId, startTime, endTime, infoCallBack,
- hookEvent, eventResult ->
- {
+ hookEvent, eventResult -> {
if (eventResult.type == SipSubscribe.EventResultType.response) {
ResponseEvent responseEvent = (ResponseEvent) eventResult.event;
String contentString = new String(responseEvent.getResponse().getRawContent());
@@ -586,7 +582,6 @@
if (device == null) {
return;
}
- //鑾峰彇褰曞儚涓嬭浇鐨勬湇鍔★紝閰嶇疆鏂囦欢涓殑record-assist-port涓嶄负0
MediaServerItem newMediaServerItem = getNewMediaServerItemHasAssist(device);
if (newMediaServerItem == null) {
PlayBackResult<StreamInfo> downloadResult = new PlayBackResult<>();
@@ -640,23 +635,23 @@
hookCallBack.call(downloadResult);
streamSession.remove(device.getDeviceId(), channelId, ssrcInfo.getStream());
};
-
+ InviteStreamCallback hookEvent = (InviteStreamInfo inviteStreamInfo) -> {
+ logger.info("鏀跺埌璁㈤槄娑堟伅锛� " + inviteStreamInfo.getCallId());
+ dynamicTask.stop(downLoadTimeOutTaskKey);
+ StreamInfo streamInfo = onPublishHandler(inviteStreamInfo.getMediaServerItem(), inviteStreamInfo.getResponse(), deviceId, channelId);
+ streamInfo.setStartTime(startTime);
+ streamInfo.setEndTime(endTime);
+ redisCatchStorage.startDownload(streamInfo, inviteStreamInfo.getCallId());
+ downloadResult.setCode(ErrorCode.SUCCESS.getCode());
+ downloadResult.setMsg(ErrorCode.SUCCESS.getMsg());
+ downloadResult.setData(streamInfo);
+ downloadResult.setMediaServerItem(inviteStreamInfo.getMediaServerItem());
+ downloadResult.setResponse(inviteStreamInfo.getResponse());
+ hookCallBack.call(downloadResult);
+ };
try {
cmder.downloadStreamCmd(mediaServerItem, ssrcInfo, device, channelId, startTime, endTime, downloadSpeed, infoCallBack,
- inviteStreamInfo -> {
- logger.info("鏀跺埌璁㈤槄娑堟伅锛� " + inviteStreamInfo.getResponse().toJSONString());
- dynamicTask.stop(downLoadTimeOutTaskKey);
- StreamInfo streamInfo = onPublishHandler(inviteStreamInfo.getMediaServerItem(), inviteStreamInfo.getResponse(), deviceId, channelId);
- streamInfo.setStartTime(startTime);
- streamInfo.setEndTime(endTime);
- redisCatchStorage.startDownload(streamInfo, inviteStreamInfo.getCallId());
- downloadResult.setCode(ErrorCode.SUCCESS.getCode());
- downloadResult.setMsg(ErrorCode.SUCCESS.getMsg());
- downloadResult.setData(streamInfo);
- downloadResult.setMediaServerItem(inviteStreamInfo.getMediaServerItem());
- downloadResult.setResponse(inviteStreamInfo.getResponse());
- hookCallBack.call(downloadResult);
- }, errorEvent, eventResult ->
+ hookEvent, errorEvent, eventResult ->
{
if (eventResult.type == SipSubscribe.EventResultType.response) {
ResponseEvent responseEvent = (ResponseEvent) eventResult.event;
@@ -695,9 +690,9 @@
subscribe.addSubscribe(hookSubscribe, (MediaServerItem mediaServerItemInUse, JSONObject response) -> {
logger.info("[ZLM HOOK] ssrc淇鍚庢敹鍒拌闃呮秷鎭細 " + response.toJSONString());
dynamicTask.stop(downLoadTimeOutTaskKey);
- // hook鍝嶅簲锛孴ODO 姝ゅ寰呭鐞�
-// onPublishHandlerForPlayback(mediaServerItemInUse, response, device.getDeviceId(), channelId, playBackCallback);
-// hookCallBack.call(new InviteStreamInfo(mediaServerItem, null, eventResult.callId, "rtp", ssrcInfo.getStream()));
+ // hook鍝嶅簲
+ onPublishHandlerForPlayback(mediaServerItemInUse, response, device.getDeviceId(), channelId, hookCallBack);
+ hookEvent.call(new InviteStreamInfo(mediaServerItem, null, eventResult.callId, "rtp", ssrcInfo.getStream()));
});
}
// 鍏抽棴rtp server
--
Gitblit v1.8.0