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)
mr12.5
Richard Fuchs 10 months ago
parent e0a3abf2d6
commit bd5f9f9f0f

@ -3557,7 +3557,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; )
@ -3570,11 +3569,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