|
|
|
@ -3061,8 +3061,7 @@ static struct packet_stream *print_sdp_media_section(GString *s, struct call_med |
|
|
|
const sdp_ng_flags *flags, |
|
|
|
packet_stream_list *rtp_ps_link, |
|
|
|
bool is_active, |
|
|
|
bool force_end_of_ice, |
|
|
|
bool print_other_attrs) |
|
|
|
bool force_end_of_ice) |
|
|
|
{ |
|
|
|
struct packet_stream *rtp_ps = rtp_ps_link->data; |
|
|
|
struct packet_stream *ps_rtcp = NULL; |
|
|
|
@ -3077,8 +3076,7 @@ static struct packet_stream *print_sdp_media_section(GString *s, struct call_med |
|
|
|
insert_codec_parameters(s, media, flags); |
|
|
|
|
|
|
|
/* all unknown type attributes will be added here */ |
|
|
|
if (print_other_attrs) |
|
|
|
media->sdp_attr_print(s, media, flags); |
|
|
|
media->sdp_attr_print(s, media, flags); |
|
|
|
|
|
|
|
/* print sendrecv */ |
|
|
|
if (!flags->original_sendrecv) |
|
|
|
@ -3122,7 +3120,7 @@ static struct packet_stream *print_sdp_media_section(GString *s, struct call_med |
|
|
|
|
|
|
|
static const char *replace_sdp_media_section(struct sdp_chopper *chop, struct call_media *call_media, |
|
|
|
struct sdp_media *sdp_media, packet_stream_list *rtp_ps_link, sdp_ng_flags *flags, |
|
|
|
const bool keep_zero_address, bool print_other_attrs) |
|
|
|
const bool keep_zero_address) |
|
|
|
{ |
|
|
|
const char *err = NULL; |
|
|
|
struct packet_stream *ps = rtp_ps_link->data; |
|
|
|
@ -3175,7 +3173,7 @@ static const char *replace_sdp_media_section(struct sdp_chopper *chop, struct ca |
|
|
|
|
|
|
|
next: |
|
|
|
print_sdp_media_section(chop->output, call_media, sdp_media, flags, rtp_ps_link, is_active, |
|
|
|
attr_get_by_id(&sdp_media->attributes, ATTR_END_OF_CANDIDATES), print_other_attrs); |
|
|
|
attr_get_by_id(&sdp_media->attributes, ATTR_END_OF_CANDIDATES)); |
|
|
|
return NULL; |
|
|
|
|
|
|
|
error: |
|
|
|
@ -3185,7 +3183,7 @@ error: |
|
|
|
|
|
|
|
/* called with call->master_lock held in W */ |
|
|
|
int sdp_replace(struct sdp_chopper *chop, sdp_sessions_q *sessions, struct call_monologue *monologue, |
|
|
|
sdp_ng_flags *flags, bool print_other_attrs) |
|
|
|
sdp_ng_flags *flags) |
|
|
|
{ |
|
|
|
struct sdp_session *session; |
|
|
|
struct sdp_media *sdp_media; |
|
|
|
@ -3341,8 +3339,7 @@ int sdp_replace(struct sdp_chopper *chop, sdp_sessions_q *sessions, struct call_ |
|
|
|
call_media->protocol = prtp; |
|
|
|
err = replace_sdp_media_section(chop, call_media, sdp_media, |
|
|
|
rtp_ps_link, flags, |
|
|
|
keep_zero_address, |
|
|
|
print_other_attrs); |
|
|
|
keep_zero_address); |
|
|
|
*chop = chop_copy; |
|
|
|
call_media->protocol = proto; |
|
|
|
if (err) |
|
|
|
@ -3352,8 +3349,7 @@ int sdp_replace(struct sdp_chopper *chop, sdp_sessions_q *sessions, struct call_ |
|
|
|
|
|
|
|
err = replace_sdp_media_section(chop, call_media, sdp_media, |
|
|
|
rtp_ps_link, flags, |
|
|
|
keep_zero_address, |
|
|
|
print_other_attrs); |
|
|
|
keep_zero_address); |
|
|
|
if (err) |
|
|
|
goto error; |
|
|
|
|
|
|
|
@ -3396,9 +3392,7 @@ error: |
|
|
|
return -1; |
|
|
|
} |
|
|
|
|
|
|
|
int sdp_create(str *out, struct call_monologue *monologue, const sdp_ng_flags *flags, |
|
|
|
bool print_other_media_attrs) |
|
|
|
{ |
|
|
|
int sdp_create(str *out, struct call_monologue *monologue, const sdp_ng_flags *flags) { |
|
|
|
const char *err = NULL; |
|
|
|
GString *s = NULL; |
|
|
|
|
|
|
|
@ -3463,7 +3457,7 @@ int sdp_create(str *out, struct call_monologue *monologue, const sdp_ng_flags *f |
|
|
|
g_string_append_printf(s, "\r\nc=IN %s %s\r\n", |
|
|
|
rtp_ps->selected_sfd->local_intf->advertised_address.addr.family->rfc_name, |
|
|
|
sockaddr_print_buf(&rtp_ps->selected_sfd->local_intf->advertised_address.addr)); |
|
|
|
print_sdp_media_section(s, media, NULL, flags, rtp_ps_link, true, false, print_other_media_attrs); |
|
|
|
print_sdp_media_section(s, media, NULL, flags, rtp_ps_link, true, false); |
|
|
|
} |
|
|
|
|
|
|
|
out->len = s->len; |
|
|
|
|