|  | @@ -295,25 +295,26 @@ public class ZLMHttpHookListener {
 | 
	
		
			
				|  |  |  		
 | 
	
		
			
				|  |  |  		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 {
 |