From 2d82d1b8eec67df9195b7ebc4b4318a7cdcc1f7f Mon Sep 17 00:00:00 2001 From: panlinlin <648540858@qq.com> Date: 星期三, 03 三月 2021 10:30:06 +0800 Subject: [PATCH] 修复ssrc释放失败的问题 --- src/main/java/com/genersoft/iot/vmp/vmanager/play/PlayController.java | 20 ++++++++------------ 1 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/play/PlayController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/play/PlayController.java index 59667d0..08e5cc4 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/play/PlayController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/play/PlayController.java @@ -1,19 +1,16 @@ package com.genersoft.iot.vmp.vmanager.play; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; import com.genersoft.iot.vmp.common.StreamInfo; import com.genersoft.iot.vmp.conf.MediaServerConfig; import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder; import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage; import com.genersoft.iot.vmp.media.zlm.ZLMRESTfulUtils; -import com.genersoft.iot.vmp.media.zlm.ZLMRTPServerFactory; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.vmanager.service.IPlayService; 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.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.CrossOrigin; @@ -30,7 +27,6 @@ import org.springframework.web.context.request.async.DeferredResult; import javax.sip.message.Response; -import java.text.DecimalFormat; import java.util.UUID; @CrossOrigin @@ -94,6 +90,7 @@ resultHolder.invokeResult(msg); } else { redisCatchStorage.stopPlay(streamInfo); + storager.stopPlay(streamInfo.getDeviceID(), streamInfo.getChannelId()); cmder.playStreamCmd(device, channelId, (JSONObject response) -> { logger.info("鏀跺埌璁㈤槄娑堟伅锛� " + response.toJSONString()); playService.onPublishHandlerForPlay(response, deviceId, channelId, uuid.toString()); @@ -138,17 +135,16 @@ msg.setId(DeferredResultHolder.CALLBACK_CMD_PlAY + uuid); msg.setData("streamId not found"); resultHolder.invokeResult(msg); + }else { redisCatchStorage.stopPlay(streamInfo); + storager.stopPlay(streamInfo.getDeviceID(), streamInfo.getChannelId()); + RequestMessage msg = new RequestMessage(); + msg.setId(DeferredResultHolder.CALLBACK_CMD_STOP + uuid); + //Response response = event.getResponse(); + msg.setData(String.format("success")); + resultHolder.invokeResult(msg); } - - RequestMessage msg = new RequestMessage(); - msg.setId(DeferredResultHolder.CALLBACK_CMD_STOP + uuid); - Response response = event.getResponse(); - msg.setData(String.format("success")); - resultHolder.invokeResult(msg); }); - - if (streamId != null) { JSONObject json = new JSONObject(); -- Gitblit v1.8.0