MT#55283 fix unsubscribe/update order

The subscriptions must be removed first and the update function must be
called second. Otherwise unsubscribe doesn't have any immediate effect.

Closes #1851

Change-Id: Iccc449357f7136b863ba2d633b24942dbe87d767
(cherry picked from commit 2d18d6189b)
(cherry picked from commit bd5f9f9f0f)
(cherry picked from commit b58e8ea1ee)
(cherry picked from commit 547e0ab9fd)
mr12.3.1
Richard Fuchs 9 months ago
parent 6089eb1482
commit 06d1ceebdd

@ -3457,7 +3457,6 @@ int monologue_unsubscribe(struct call_monologue *dst_ml, sdp_ng_flags *flags) {
continue;
__media_unconfirm(media, "media unsubscribe");
__update_init_subscribers(media, NULL, NULL, flags->opmode);
/* TODO: should we care about subscribers as well? */
for (__auto_type l = media->media_subscriptions.head; l; )
@ -3470,11 +3469,13 @@ int monologue_unsubscribe(struct call_monologue *dst_ml, sdp_ng_flags *flags) {
continue;
__media_unconfirm(src_media, "media unsubscribe");
__update_init_subscribers(src_media, NULL, NULL, flags->opmode);
__unsubscribe_media_link(media, l);
__update_init_subscribers(src_media, NULL, NULL, flags->opmode);
l = next;
}
__update_init_subscribers(media, NULL, NULL, flags->opmode);
}
return 0;

Loading…
Cancel
Save