MT#55283 combine sub-ans logic

Change-Id: I787d3782cba07410d4a6c7ea8640ab98bcb5c6d2
pull/2071/head
Richard Fuchs 3 months ago
parent 764368cdfa
commit 027768f425

@ -4538,26 +4538,15 @@ int monologue_subscribe_answer(struct call_monologue *dst_ml, sdp_ng_flags *flag
MEDIA_SET(dst_media, INITIALIZED);
update_init_subscribers(dst_media, sp, flags, flags->opmode);
update_init_subscribers(src_media, NULL, NULL, flags->opmode);
__media_unconfirm(dst_media, "subscribe answer event");
}
__media_unconfirm(src_media, "subscribe answer event");
/* TODO: move inside the cycle above, to reduce iterations amount */
g_auto(GQueue) mls = G_QUEUE_INIT; /* to avoid duplications */
for (int i = 0; i < dst_ml->medias->len; i++)
{
struct call_media * dst_media = dst_ml->medias->pdata[i];
if (!dst_media)
continue;
sdp_sp_move(&dst_media->sp, sp);
/* TODO: probably we should take care about subscribers as well? */
IQUEUE_FOREACH(&dst_media->media_subscriptions, ms) {
if (!g_queue_find(&mls, ms->monologue)) {
media_update_transcoding_flag(ms->media);
update_init_subscribers(ms->media, NULL, NULL, flags->opmode);
__media_unconfirm(ms->media, "subscribe answer event");
g_queue_push_tail(&mls, ms->monologue);
}
}
media_update_transcoding_flag(dst_media);
media_update_transcoding_flag(src_media);
}
monologue_media_start(dst_ml);

Loading…
Cancel
Save