diff --git a/daemon/call.c b/daemon/call.c index 741c130ff..1cd8748ec 100644 --- a/daemon/call.c +++ b/daemon/call.c @@ -2638,9 +2638,9 @@ static void __call_monologue_init_from_flags(struct call_monologue *ml, struct c : call->media_rec_slots; // consume session attributes - t_queue_clear_full(&ml->sdp_attributes, sdp_attr_free); - ml->sdp_attributes = flags->session_attributes; - t_queue_init(&flags->session_attributes); + t_queue_clear_full(&ml->generic_attributes, sdp_attr_free); + ml->generic_attributes = flags->generic_attributes; + t_queue_init(&flags->generic_attributes); /* consume sdp session parts */ { @@ -2769,7 +2769,6 @@ static void __media_init_from_flags(struct call_media *other_media, struct call_ struct stream_params *sp, sdp_ng_flags *flags) { call_t *call = other_media->call; - __auto_type additional_attributes = &sp->attributes; /* attributes in str format */ if (flags->opmode == OP_OFFER && flags->reset) { if (media) @@ -2855,9 +2854,9 @@ static void __media_init_from_flags(struct call_media *other_media, struct call_ * extmap * other (unknown type) */ - t_queue_clear_full(&other_media->sdp_attributes, sdp_attr_free); - other_media->sdp_attributes = *additional_attributes; - t_queue_init(additional_attributes); + t_queue_clear_full(&other_media->generic_attributes, sdp_attr_free); + other_media->generic_attributes = sp->generic_attributes; + t_queue_init(&sp->generic_attributes); } // codec and RTP payload types handling @@ -4014,7 +4013,7 @@ void call_media_free(struct call_media **mdp) { codec_handlers_free(md); codec_handler_free(&md->t38_handler); t38_gateway_put(&md->t38_gateway); - t_queue_clear_full(&md->sdp_attributes, sdp_attr_free); + t_queue_clear_full(&md->generic_attributes, sdp_attr_free); t_queue_clear_full(&md->dtmf_recv, dtmf_event_free); t_queue_clear_full(&md->dtmf_send, dtmf_event_free); t_hash_table_destroy(md->media_subscribers_ht); @@ -4039,7 +4038,7 @@ void __monologue_free(struct call_monologue *m) { if (m->session_last_sdp_orig) sdp_orig_free(m->session_last_sdp_orig); sdp_sessions_clear(&m->last_in_sdp_parsed); - t_queue_clear_full(&m->sdp_attributes, sdp_attr_free); + t_queue_clear_full(&m->generic_attributes, sdp_attr_free); sdp_streams_clear(&m->last_in_sdp_streams); g_slice_free1(sizeof(*m), m); } diff --git a/daemon/call_interfaces.c b/daemon/call_interfaces.c index 9d690066f..29c701ea7 100644 --- a/daemon/call_interfaces.c +++ b/daemon/call_interfaces.c @@ -2039,7 +2039,7 @@ void call_ng_free_flags(sdp_ng_flags *flags) { t_queue_clear_full(&flags->codec_mask, str_free); t_queue_clear_full(&flags->sdes_order, str_free); t_queue_clear_full(&flags->sdes_offerer_pref, str_free); - t_queue_clear_full(&flags->session_attributes, sdp_attr_free); + t_queue_clear_full(&flags->generic_attributes, sdp_attr_free); ng_sdp_attr_manipulations_free(flags->sdp_manipulations); } diff --git a/daemon/sdp.c b/daemon/sdp.c index a55b4bb56..839ab6cc8 100644 --- a/daemon/sdp.c +++ b/daemon/sdp.c @@ -1685,7 +1685,7 @@ static void sp_free(struct stream_params *s) { codec_store_cleanup(&s->codecs); ice_candidates_free(&s->ice_candidates); crypto_params_sdes_queue_clear(&s->sdes_params); - t_queue_clear_full(&s->attributes, sdp_attr_free); + t_queue_clear_full(&s->generic_attributes, sdp_attr_free); g_slice_free1(sizeof(*s), s); } @@ -1840,7 +1840,7 @@ int sdp_streams(const sdp_sessions_q *sessions, sdp_streams_q *streams, sdp_ng_f * e.g. usage in `__call_monologue_init_from_flags()` or direct usage * in `sdp_create()` */ - sdp_attr_append_other(&flags->session_attributes, &session->attributes); + sdp_attr_append_other(&flags->generic_attributes, &session->attributes); /* set only for the first SDP session, to be able to re-use versioning * for all the rest SDP sessions during replacements. See `sdp_version_check()` */ if (!flags->session_sdp_orig.parsed) @@ -1931,7 +1931,7 @@ int sdp_streams(const sdp_sessions_q *sessions, sdp_streams_q *streams, sdp_ng_f cps->params.session_params.unauthenticated_srtp = attr->crypto.unauthenticated_srtp; } - sdp_attr_append_other(&sp->attributes, &media->attributes); + sdp_attr_append_other(&sp->generic_attributes, &media->attributes); /* a=sendrecv/sendonly/recvonly/inactive */ SP_SET(sp, SEND); @@ -2224,7 +2224,7 @@ void sdp_insert_media_attributes(GString *gs, union sdp_attr_print_arg a, const __auto_type sub = a.cm->media_subscriptions.head->data; __auto_type sub_m = sub->media; - for (__auto_type l = sub_m->sdp_attributes.head; l; l = l->next) { + for (__auto_type l = sub_m->generic_attributes.head; l; l = l->next) { __auto_type s = l->data; if (s->type == SDP_ATTR_TYPE_EXTMAP && flags->strip_extmap && !MEDIA_ISSET(a.cm, PASSTHRU)) continue; @@ -2239,7 +2239,7 @@ void sdp_insert_monologue_attributes(GString *gs, union sdp_attr_print_arg a, co if (!source_ml) return; - for (__auto_type l = source_ml->sdp_attributes.head; l; l = l->next) { + for (__auto_type l = source_ml->generic_attributes.head; l; l = l->next) { __auto_type s = l->data; if (s->type == SDP_ATTR_TYPE_EXTMAP && flags->strip_extmap) continue; diff --git a/include/call.h b/include/call.h index e0be9c323..caee5cddb 100644 --- a/include/call.h +++ b/include/call.h @@ -355,7 +355,7 @@ struct stream_params { const struct transport_protocol *protocol; str format_str; sdes_q sdes_params; // slice-alloc'd - sdp_attr_q attributes; /* just some other attributes */ + sdp_attr_q generic_attributes; /* just some other attributes */ str direction[2]; sockfamily_t *desired_family; struct dtls_fingerprint fingerprint; @@ -498,7 +498,7 @@ struct call_media { endpoint_map_q endpoint_maps; struct codec_store codecs; - sdp_attr_q sdp_attributes; /* sdp_attr_new() */ + sdp_attr_q generic_attributes; /* sdp_attr_new() */ sdp_attr_print_f *sdp_attr_print; codec_handlers_ht codec_handlers; /* int payload type -> struct codec_handler XXX combine this with 'codecs' hash table? */ @@ -616,7 +616,7 @@ struct call_monologue { unsigned int block_dtmf_trigger_end_ms; // unblock after this many ms /* carry `sdp_session` attributes into resulting call monologue SDP */ - sdp_attr_q sdp_attributes; + sdp_attr_q generic_attributes; sdp_attr_print_f *sdp_attr_print; atomic64 ml_flags; diff --git a/include/call_interfaces.h b/include/call_interfaces.h index 936e6af4d..d82725a36 100644 --- a/include/call_interfaces.h +++ b/include/call_interfaces.h @@ -61,7 +61,7 @@ struct sdp_ng_flags { str dtls_fingerprint; /* keep session level attributes for internal proper parsing */ - sdp_attr_q session_attributes; // top-level (not part of an m= section) SDP session attributes + sdp_attr_q generic_attributes; // top-level (not part of an m= section) SDP session attributes sdp_origin session_sdp_orig; str session_sdp_name;