diff --git a/daemon/sdp.c b/daemon/sdp.c index 311816e7c..7bf0c8267 100644 --- a/daemon/sdp.c +++ b/daemon/sdp.c @@ -2788,8 +2788,7 @@ static void print_sdp_session_section(GString *s, sdp_ng_flags *flags, static struct packet_stream *print_sdp_media_section(GString *s, struct call_media *media, struct call_media *source_media, const sdp_ng_flags *flags, - packet_stream_list *rtp_ps_link, - bool is_active) + packet_stream_list *rtp_ps_link) { struct packet_stream *rtp_ps = rtp_ps_link->data; struct packet_stream *ps_rtcp = NULL; @@ -2799,54 +2798,47 @@ static struct packet_stream *print_sdp_media_section(GString *s, struct call_med if (media->label.len && flags->siprec) append_attr_to_gstring(s, "label", &media->label, flags, media->type_id); - if (is_active) { - if (proto_is_rtp(media->protocol)) - insert_codec_parameters(s, media, flags); + if (proto_is_rtp(media->protocol)) + insert_codec_parameters(s, media, flags); - /* all unknown type attributes will be added here */ - media->sdp_attr_print(s, media, flags); + /* all unknown type attributes will be added here */ + media->sdp_attr_print(s, media, flags); - /* print sendrecv */ - if (!flags->original_sendrecv) - append_attr_to_gstring(s, sdp_get_sendrecv(media), NULL, flags, - media->type_id); - else if (source_media) - append_attr_to_gstring(s, sdp_get_sendrecv(source_media), NULL, flags, - media->type_id); - - ps_rtcp = print_rtcp(s, media, rtp_ps_link, flags); + /* print sendrecv */ + if (!flags->original_sendrecv) + append_attr_to_gstring(s, sdp_get_sendrecv(media), NULL, flags, + media->type_id); + else if (source_media) + append_attr_to_gstring(s, sdp_get_sendrecv(source_media), NULL, flags, + media->type_id); - if (proto_is_rtp(media->protocol)) { - insert_crypto(s, media, flags); - insert_dtls(s, media, dtls_ptr(rtp_ps->selected_sfd), flags); + ps_rtcp = print_rtcp(s, media, rtp_ps_link, flags); - if (media->ptime) - append_attr_int_to_gstring(s, "ptime", media->ptime, flags, - media->type_id); - if (media->maxptime) - append_attr_int_to_gstring(s, "maxptime", media->maxptime, flags, - media->type_id); - } + if (proto_is_rtp(media->protocol)) { + insert_crypto(s, media, flags); + insert_dtls(s, media, dtls_ptr(rtp_ps->selected_sfd), flags); - if (MEDIA_ISSET(media, ICE) && media->ice_agent) { - append_attr_to_gstring(s, "ice-ufrag", &media->ice_agent->ufrag[1], flags, + if (media->ptime) + append_attr_int_to_gstring(s, "ptime", media->ptime, flags, media->type_id); - append_attr_to_gstring(s, "ice-pwd", &media->ice_agent->pwd[1], flags, + if (media->maxptime) + append_attr_int_to_gstring(s, "maxptime", media->maxptime, flags, media->type_id); - } + } - if (MEDIA_ISSET(media, TRICKLE_ICE) && media->ice_agent) { - append_attr_to_gstring(s, "ice-options", &STR_CONST("trickle"), flags, - media->type_id); - } - if (MEDIA_ISSET(media, ICE)) { - insert_candidates(s, rtp_ps, ps_rtcp, flags, source_media); - } + if (MEDIA_ISSET(media, ICE) && media->ice_agent) { + append_attr_to_gstring(s, "ice-ufrag", &media->ice_agent->ufrag[1], flags, + media->type_id); + append_attr_to_gstring(s, "ice-pwd", &media->ice_agent->pwd[1], flags, + media->type_id); + } - /* message media type. Cases like: "m=message 28000 TCP/MSRP *" */ - } else if (media->type_id == MT_MESSAGE) { - /* handle `a=setup:` */ - insert_setup(s, media, flags, false); + if (MEDIA_ISSET(media, TRICKLE_ICE) && media->ice_agent) { + append_attr_to_gstring(s, "ice-options", &STR_CONST("trickle"), flags, + media->type_id); + } + if (MEDIA_ISSET(media, ICE)) { + insert_candidates(s, rtp_ps, ps_rtcp, flags, source_media); } if ((MEDIA_ISSET(media, TRICKLE_ICE) && media->ice_agent)) { @@ -3180,7 +3172,7 @@ void handle_sdp_media_attributes(GString *s, struct call_media *media, sdp_out_add_bandwidth(s, monologue, media); /* print media level attributes */ - print_sdp_media_section(s, media, source_media, flags, rtp_ps_link, true); + print_sdp_media_section(s, media, source_media, flags, rtp_ps_link); }