Browse Source

MT#57719 Stop using call subscriptions: `codec_update_all_handlers()`

Start using media subscriptions instead of call subscriptions
in the `codec_update_all_handlers()`, because older concept
gets deprecated.

Change-Id: I1cbd5379855e557099894f4b9a508a65ca78214c
dzenichev/fictitious
Donat Zenichev 2 years ago
parent
commit
dafbe36ed4
1 changed files with 11 additions and 9 deletions
  1. +11
    -9
      daemon/codec.c

+ 11
- 9
daemon/codec.c View File

@ -4180,18 +4180,20 @@ static void __buffer_delay_raw(struct delay_buffer *dbuf, struct codec_handler *
void codec_update_all_handlers(struct call_monologue *ml) { void codec_update_all_handlers(struct call_monologue *ml) {
for (GList *l = ml->subscribers.head; l; l = l->next) {
struct call_subscription *cs = l->data;
struct call_monologue *sink = cs->monologue;
for (int i = 0; i < ml->medias->len; i++)
{
struct call_media * source_media = ml->medias->pdata[i];
if (!source_media)
continue;
for (GList * sub = source_media->media_subscribers.head; sub; sub = sub->next)
{
struct media_subscription * ms = sub->data;
struct call_media * sink_media = ms->media;
// iterate both simultaneously
for (unsigned int i = 0; i < ml->medias->len && i < sink->medias->len; i++) {
struct call_media *source_media = ml->medias->pdata[i];
if (!source_media)
continue;
struct call_media *sink_media = sink->medias->pdata[i];
if (!sink_media) if (!sink_media)
continue; continue;
codec_handlers_update(source_media, sink_media); codec_handlers_update(source_media, sink_media);
} }
} }


Loading…
Cancel
Save