MT#56447 support "plain" Janus offers

Non-standard extension which is useful for testing.

Change-Id: Ice0eca1d68c72dbf13f6a1537c51bad3815fa459
pull/1642/head
Richard Fuchs 3 years ago
parent 4e300b4ccd
commit 641ca0f3ed

@ -461,6 +461,11 @@ static const char *janus_videoroom_join(struct websocket_message *wm, struct jan
return "JSON object does not contain 'message.ptype' key";
json_reader_end_member(reader);
bool plain_offer = false;
if (json_reader_read_member(reader, "plain"))
plain_offer = json_reader_get_boolean_value(reader);
json_reader_end_member(reader);
*retcode = 436;
if (handle->room != 0 && handle->room != room_id)
return "User already exists in a different room";
@ -575,17 +580,25 @@ static const char *janus_videoroom_join(struct websocket_message *wm, struct jan
AUTO_CLEANUP(struct sdp_ng_flags flags, call_ng_free_flags);
call_ng_flags_init(&flags, OP_REQUEST);
// set all WebRTC-specific attributes
flags.transport_protocol = &transport_protocols[PROTO_UDP_TLS_RTP_SAVPF];
flags.ice_option = ICE_FORCE;
flags.trickle_ice = 1;
flags.generate_mid = 1;
flags.rtcp_mux_offer = 1;
flags.rtcp_mux_require = 1;
flags.no_rtcp_attr = 1;
flags.sdes_off = 1;
flags.rtcp_mirror = 1;
if (!plain_offer) {
// set all WebRTC-specific attributes
flags.transport_protocol = &transport_protocols[PROTO_UDP_TLS_RTP_SAVPF];
flags.ice_option = ICE_FORCE;
flags.trickle_ice = 1;
flags.rtcp_mux_offer = 1;
flags.rtcp_mux_require = 1;
flags.no_rtcp_attr = 1;
flags.sdes_off = 1;
}
else {
flags.transport_protocol = &transport_protocols[PROTO_RTP_AVP];
flags.ice_option = ICE_REMOVE;
flags.rtcp_mux_demux = 1;
}
int ret = monologue_subscribe_request(&srcs, dest_ml, &flags);
if (ret)
return "Subscribe error";

Loading…
Cancel
Save