From 91f16a8221cfd6ba6792a7c7e26bcf234100d940 Mon Sep 17 00:00:00 2001 From: Donat Zenichev Date: Mon, 28 Aug 2023 17:01:08 +0200 Subject: [PATCH] MT#57719 Use media subscriptions in `cli_list_tag_info()` Start using the media subscriptions model (based on newly introduced `media_subscription` objects) in scope of `cli_list_tag_info()`. Change-Id: Ia1a464b3597d65390258df5e421e2c61dd84b0af --- daemon/cli.c | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/daemon/cli.c b/daemon/cli.c index 35eb78af3..72271aa25 100644 --- a/daemon/cli.c +++ b/daemon/cli.c @@ -658,17 +658,33 @@ static void cli_list_tag_info(struct cli_writer *cw, struct call_monologue *ml) tim_result_duration.tv_sec, tim_result_duration.tv_usec); - for (GList *sub = ml->subscriptions.head; sub; sub = sub->next) { - struct call_subscription *cs = sub->data; - struct call_monologue *csm = cs->monologue; - cw->cw_printf(cw, "--- subscribed to '" STR_FORMAT_M "'\n", - STR_FMT_M(&csm->tag)); - } - for (GList *sub = ml->subscribers.head; sub; sub = sub->next) { - struct call_subscription *cs = sub->data; - struct call_monologue *csm = cs->monologue; - cw->cw_printf(cw, "--- subscription of '" STR_FORMAT_M "'\n", - STR_FMT_M(&csm->tag)); + for (int i = 0; i < ml->medias->len; i++) + { + struct call_media * media = ml->medias->pdata[i]; + if (!media) + continue; + + for (GList * sub = media->media_subscriptions.head; sub; sub = sub->next) + { + struct media_subscription * ms = sub->data; + struct call_media * sub_media = ms->media; + if (!sub_media) + continue; + + cw->cw_printf(cw, "--- subscribed to media with monologue tag '" STR_FORMAT_M "' (index: %d)\n", + STR_FMT_M(&ms->monologue->tag), sub_media->index); + } + + for (GList * sub = media->media_subscribers.head; sub; sub = sub->next) + { + struct media_subscription * ms = sub->data; + struct call_media * sub_media = ms->media; + if (!sub_media) + continue; + + cw->cw_printf(cw, "--- subscription of media with monologue tag '" STR_FORMAT_M "' (index: %d)\n", + STR_FMT_M(&ms->monologue->tag), sub_media->index); + } } for (unsigned int k = 0; k < ml->medias->len; k++) {