|  | @@ -91,6 +91,9 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |  	@Value("${media.autoApplyPlay}")
 | 
	
		
			
				|  |  |  	private boolean autoApplyPlay;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +	@Value("${userSettings.waitTrack}")
 | 
	
		
			
				|  |  | +	private boolean waitTrack;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	@Autowired
 | 
	
		
			
				|  |  |  	private ZLMHttpHookSubscribe subscribe;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -376,7 +379,7 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |  			subscribeKey.put("regist", true);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			subscribe.addSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, subscribeKey, json->{
 | 
	
		
			
				|  |  | -				if (json.getJSONArray("tracks") == null) return;
 | 
	
		
			
				|  |  | +				if (waitTrack && json.getJSONArray("tracks") == null) return;
 | 
	
		
			
				|  |  |  				event.response(json);
 | 
	
		
			
				|  |  |  				subscribe.removeSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, subscribeKey);
 | 
	
		
			
				|  |  |  			});
 | 
	
	
		
			
				|  | @@ -426,19 +429,12 @@ public class SIPCommander implements ISIPCommander {
 | 
	
		
			
				|  |  |  				content.append("a=rtpmap:96 PS/90000\r\n");
 | 
	
		
			
				|  |  |  				content.append("a=rtpmap:98 H264/90000\r\n");
 | 
	
		
			
				|  |  |  				content.append("a=rtpmap:97 MPEG4/90000\r\n");
 | 
	
		
			
				|  |  | -				if("TCP-PASSIVE".equals(streamMode)) { // tcp被动模式
 | 
	
		
			
				|  |  | +				if ("TCP-PASSIVE".equals(streamMode)) { // tcp被动模式
 | 
	
		
			
				|  |  |  					content.append("a=setup:passive\r\n");
 | 
	
		
			
				|  |  | -					content.append("a=recvonly\r\n");
 | 
	
		
			
				|  |  | -					content.append("a=rtpmap:96 PS/90000\r\n");
 | 
	
		
			
				|  |  | -					content.append("a=rtpmap:98 H264/90000\r\n");
 | 
	
		
			
				|  |  | -					content.append("a=rtpmap:97 MPEG4/90000\r\n");
 | 
	
		
			
				|  |  | -					if ("TCP-PASSIVE".equals(streamMode)) { // tcp被动模式
 | 
	
		
			
				|  |  | -						content.append("a=setup:passive\r\n");
 | 
	
		
			
				|  |  | -						content.append("a=connection:new\r\n");
 | 
	
		
			
				|  |  | -					} else if ("TCP-ACTIVE".equals(streamMode)) { // tcp主动模式
 | 
	
		
			
				|  |  | -						content.append("a=setup:active\r\n");
 | 
	
		
			
				|  |  | -						content.append("a=connection:new\r\n");
 | 
	
		
			
				|  |  | -					}
 | 
	
		
			
				|  |  | +					content.append("a=connection:new\r\n");
 | 
	
		
			
				|  |  | +				} else if ("TCP-ACTIVE".equals(streamMode)) { // tcp主动模式
 | 
	
		
			
				|  |  | +					content.append("a=setup:active\r\n");
 | 
	
		
			
				|  |  | +					content.append("a=connection:new\r\n");
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  
 |