From d93947c657d0e6a84255800274bb05069c358274 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 09 六月 2023 23:18:15 +0800
Subject: [PATCH] Merge pull request #887 from bigbeef/wvp-28181-2.0
---
src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java | 64 +++++++++++--------------------
1 files changed, 23 insertions(+), 41 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 f75a5fc..efba170 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
@@ -188,7 +188,20 @@
null);
return;
}
- logger.info("[鐐规挱寮�濮媇 deviceId: {}, channelId: {},鏀舵祦绔彛锛歿}, 鏀舵祦妯″紡锛歿}, SSRC: {}, SSRC鏍¢獙锛歿}", device.getDeviceId(), channelId, ssrcInfo.getPort(), device.getStreamMode(), ssrcInfo.getSsrc(), device.isSsrcCheck());
+ logger.info("\r\n" +
+ " [鐐规挱寮�濮媇 \r\n" +
+ "deviceId : {}, \r\n" +
+ "channelId : {},\r\n" +
+ "鏀舵祦绔彛 : {}, \r\n" +
+ "鏀舵祦妯″紡 : {}, \r\n" +
+ "SSRC : {}, \r\n" +
+ "SSRC鏍¢獙 锛歿}",
+ device.getDeviceId(),
+ channelId,
+ ssrcInfo.getPort(),
+ device.getStreamMode(),
+ ssrcInfo.getSsrc(),
+ device.isSsrcCheck());
//绔彛鑾峰彇澶辫触鐨剆srcInfo 娌℃湁蹇呰鍙戦�佺偣鎾寚浠�
if (ssrcInfo.getPort() <= 0) {
@@ -329,23 +342,13 @@
return;
}
logger.info("[鐐规挱娑堟伅] 鏀跺埌invite 200, 鍙戠幇涓嬬骇鑷畾涔変簡ssrc: {}", ssrcInResponse);
+
if (!mediaServerItem.isRtpEnable() || device.isSsrcCheck()) {
logger.info("[鐐规挱娑堟伅] SSRC淇 {}->{}", ssrcInfo.getSsrc(), ssrcInResponse);
- if (!ssrcFactory.checkSsrc(mediaServerItem.getId(),ssrcInResponse)) {
- // ssrc 涓嶅彲鐢�
- logger.info("[鐐规挱娑堟伅] SSRC淇鏃跺彂鐜皊src涓嶅彲浣跨敤 {}->{}", ssrcInfo.getSsrc(), ssrcInResponse);
- // 閲婃斁ssrc
- ssrcFactory.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc());
- streamSession.remove(device.getDeviceId(), channelId, ssrcInfo.getStream());
- callback.run(InviteErrorCode.ERROR_FOR_SSRC_UNAVAILABLE.getCode(),
- InviteErrorCode.ERROR_FOR_SSRC_UNAVAILABLE.getMsg(), null);
- inviteStreamService.call(InviteSessionType.PLAY, device.getDeviceId(), channelId, null,
- InviteErrorCode.ERROR_FOR_SSRC_UNAVAILABLE.getCode(),
- InviteErrorCode.ERROR_FOR_SSRC_UNAVAILABLE.getMsg(), null);
+ // 閲婃斁ssrc
+ mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc());
- return;
- }
// 鍗曠鍙fā寮弒treamId涔熸湁鍙樺寲锛岄噸鏂拌缃洃鍚嵆鍙�
if (!mediaServerItem.isRtpEnable()) {
// 娣诲姞璁㈤槄
@@ -388,8 +391,6 @@
}
dynamicTask.stop(timeOutTaskKey);
- // 閲婃斁ssrc
- mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc());
streamSession.remove(device.getDeviceId(), channelId, ssrcInfo.getStream());
@@ -654,17 +655,8 @@
if (!mediaServerItem.isRtpEnable() || device.isSsrcCheck()) {
logger.info("[褰曞儚鍥炴斁] SSRC淇 {}->{}", ssrcInfo.getSsrc(), ssrcInResponse);
- if (!ssrcFactory.checkSsrc(mediaServerItem.getId(),ssrcInResponse)) {
- // ssrc 涓嶅彲鐢�
- logger.info("[褰曞儚鍥炴斁] SSRC淇鏃跺彂鐜皊src涓嶅彲浣跨敤 {}->{}", ssrcInfo.getSsrc(), ssrcInResponse);
- // 閲婃斁ssrc
- dynamicTask.stop(playBackTimeOutTaskKey);
- mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc());
- streamSession.remove(device.getDeviceId(), channelId, ssrcInfo.getStream());
- callback.run(InviteErrorCode.ERROR_FOR_SSRC_UNAVAILABLE.getCode(),
- InviteErrorCode.ERROR_FOR_SSRC_UNAVAILABLE.getMsg(), null);
- return;
- }
+ // 閲婃斁ssrc
+ mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc());
// 鍗曠鍙fā寮弒treamId涔熸湁鍙樺寲锛岄渶瑕侀噸鏂拌缃洃鍚�
if (!mediaServerItem.isRtpEnable()) {
@@ -693,8 +685,6 @@
}
dynamicTask.stop(playBackTimeOutTaskKey);
- // 閲婃斁ssrc
- mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc());
streamSession.remove(device.getDeviceId(), channelId, ssrcInfo.getStream());
@@ -858,15 +848,8 @@
if (!mediaServerItem.isRtpEnable() || device.isSsrcCheck()) {
logger.info("[褰曞儚涓嬭浇] SSRC淇 {}->{}", ssrcInfo.getSsrc(), ssrcInResponse);
- if (!ssrcFactory.checkSsrc(mediaServerItem.getId(),ssrcInResponse)) {
- // ssrc 涓嶅彲鐢�
- // 閲婃斁ssrc
- mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc());
- streamSession.remove(device.getDeviceId(), channelId, ssrcInfo.getStream());
- callback.run(InviteErrorCode.ERROR_FOR_SSRC_UNAVAILABLE.getCode(),
- InviteErrorCode.ERROR_FOR_SSRC_UNAVAILABLE.getMsg(), null);
- return;
- }
+ // 閲婃斁ssrc
+ mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc());
// 鍗曠鍙fā寮弒treamId涔熸湁鍙樺寲锛岄渶瑕侀噸鏂拌缃洃鍚�
if (!mediaServerItem.isRtpEnable()) {
@@ -892,8 +875,6 @@
}
dynamicTask.stop(downLoadTimeOutTaskKey);
- // 閲婃斁ssrc
- mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc());
streamSession.remove(device.getDeviceId(), channelId, ssrcInfo.getStream());
@@ -1152,9 +1133,10 @@
// 璇锋眰鎴浘
logger.info("[璇锋眰鎴浘]: " + fileName);
zlmresTfulUtils.getSnap(mediaServerItemInuse, streamUrl, 15, 1, path, fileName);
+ String filePath = path + File.separator + fileName;
File snapFile = new File(path + File.separator + fileName);
if (snapFile.exists()) {
- errorCallback.run(InviteErrorCode.SUCCESS.getCode(), InviteErrorCode.SUCCESS.getMsg(), snapFile.getAbsoluteFile());
+ errorCallback.run(InviteErrorCode.SUCCESS.getCode(), InviteErrorCode.SUCCESS.getMsg(), filePath);
}else {
errorCallback.run(InviteErrorCode.FAIL.getCode(), InviteErrorCode.FAIL.getMsg(), null);
}
--
Gitblit v1.8.0