diff --git a/daemon/call.c b/daemon/call.c index b4d8af1b3..aafa96273 100644 --- a/daemon/call.c +++ b/daemon/call.c @@ -2795,9 +2795,6 @@ int monologue_offer_answer(struct call_monologue *monologues[2], GQueue *streams return -1; } - /* required for updating the transcoding attrs of subscriber */ - struct call_subscription * cs = find_subscription(monologue, other_ml); - __call_monologue_init_from_flags(other_ml, flags); if (flags && flags->exclude_recording) { @@ -2807,9 +2804,6 @@ int monologue_offer_answer(struct call_monologue *monologues[2], GQueue *streams __C_DBG("this="STR_FORMAT" other="STR_FORMAT, STR_FMT(&monologue->tag), STR_FMT(&other_ml->tag)); - if (cs) - cs->attrs.transcoding = 0; - for (GList *sp_iter = streams->head; sp_iter; sp_iter = sp_iter->next) { struct stream_params *sp = sp_iter->data; __C_DBG("processing media stream #%u", sp->index); @@ -2833,6 +2827,10 @@ int monologue_offer_answer(struct call_monologue *monologues[2], GQueue *streams __subscribe_medias_both_ways(media, other_media); } + struct media_subscription * ms = call_get_media_subscription(media->media_subscribers_ht, other_media); + if (ms) + ms->attrs.transcoding = 0; + __media_init_from_flags(other_media, media, sp, flags); codecs_offer_answer(media, other_media, sp, flags);