|
|
@ -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"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|