MT#55283 move setting sdp_orig_out

Change-Id: Idb78bab83fb6d667a30a1683ae456d080b11f84f
pull/2056/head
Richard Fuchs 2 months ago
parent d8915abc79
commit e948e5a976

@ -2756,10 +2756,6 @@ static void __call_monologue_init_from_flags(struct call_monologue *ml, struct c
/* consume sdp session parts */
{
/* for cases with origin replacements, keep the very first used origin */
if (other_ml && !other_ml->sdp_orig_out.parsed && flags->session_sdp_orig.parsed)
other_ml->sdp_orig_out = sdp_orig_dup(&flags->session_sdp_orig);
/* origin (name, version etc.) */
if (flags->session_sdp_orig.parsed) {
ml->sdp_orig_in = sdp_orig_dup(&flags->session_sdp_orig);
@ -4503,11 +4499,6 @@ int monologue_subscribe_request(const subscription_q *srms, struct call_monologu
int ret = monologue_subscribe_request1(src_media, dst_ml, flags, ht);
if (ret)
return -1;
/* update last used origin: copy from source to the dest monologue */
struct call_monologue *src_ml = src_media->monologue;
if (src_ml->sdp_orig_out.parsed && !dst_ml->sdp_orig_out.parsed)
dst_ml->sdp_orig_out = sdp_orig_dup(&src_ml->sdp_orig_out);
}
monologue_media_start(dst_ml);

@ -3040,6 +3040,16 @@ static void sdp_out_add_origin(GString *out, struct call_monologue *monologue,
orig_address = ml->sdp_orig_in.address.address;
}
if (!monologue->sdp_orig_out.parsed)
monologue->sdp_orig_out = sdp_orig_dup(&(sdp_origin) {
.username = *orig_username,
.session_id = *orig_session_id,
.version_num = orig_session_version,
.address.address_type = orig_address_type,
.address.address = orig_address,
.parsed = 1,
});
/* print it to the output sdp */
g_string_append_printf(out,
"o="STR_FORMAT" "STR_FORMAT" %llu IN "STR_FORMAT" "STR_FORMAT"\r\n",

Loading…
Cancel
Save