From 45e9fc880c61e12d6415755ee2a29f79fcf81fbb Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 11 三月 2022 09:49:38 +0800
Subject: [PATCH] Merge branch 'wvp-28181-2.0' into wvp-28181-2.0

---
 src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 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 286f823..2df78b7 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
@@ -348,6 +348,7 @@
         msg.setId(uuid);
         msg.setKey(key);
         PlayBackResult<RequestMessage> playBackResult = new PlayBackResult<>();
+
         Timer timer = new Timer();
         timer.schedule(new TimerTask() {
             @Override
@@ -356,7 +357,16 @@
                 playBackResult.setCode(-1);
                 playBackResult.setData(msg);
                 callback.call(playBackResult);
+                SIPDialog dialog = streamSession.getDialogByStream(deviceId, channelId, ssrcInfo.getStream());
                 // 鐐规挱瓒呮椂鍥炲BYE 鍚屾椂閲婃斁ssrc浠ュ強姝ゆ鐐规挱鐨勮祫婧�
+                if (dialog != null) {
+                    // 鐐规挱瓒呮椂鍥炲BYE 鍚屾椂閲婃斁ssrc浠ュ強姝ゆ鐐规挱鐨勮祫婧�
+                    cmder.streamByeCmd(device.getDeviceId(), channelId, ssrcInfo.getStream());
+                }else {
+                    mediaServerService.releaseSsrc(newMediaServerItem.getId(), ssrcInfo.getSsrc());
+                    mediaServerService.closeRTPServer(deviceId, channelId, ssrcInfo.getStream());
+                    streamSession.remove(deviceId, channelId, ssrcInfo.getStream());
+                }
                 cmder.streamByeCmd(device.getDeviceId(), channelId, ssrcInfo.getStream());
                 // 鍥炲涔嬪墠鎵�鏈夌殑鐐规挱璇锋眰
                 callback.call(playBackResult);

--
Gitblit v1.8.0