|
|
|
|
@ -352,7 +352,7 @@ static void __handler_shutdown(struct codec_handler *handler) {
|
|
|
|
|
codec_handler_free(&handler->dtmf_injector);
|
|
|
|
|
|
|
|
|
|
if (handler->stats_entry) {
|
|
|
|
|
g_atomic_int_add(&handler->stats_entry->num_transcoders, -1);
|
|
|
|
|
__atomic_fetch_add(&handler->stats_entry->num_transcoders, -1, __ATOMIC_RELAXED);
|
|
|
|
|
handler->stats_entry = NULL;
|
|
|
|
|
g_free(handler->stats_chain);
|
|
|
|
|
}
|
|
|
|
|
@ -523,7 +523,7 @@ reset:
|
|
|
|
|
handler->stats_entry = stats_entry;
|
|
|
|
|
mutex_unlock(&rtpe_codec_stats_lock);
|
|
|
|
|
|
|
|
|
|
g_atomic_int_inc(&stats_entry->num_transcoders);
|
|
|
|
|
__atomic_fetch_add(&stats_entry->num_transcoders, 1, __ATOMIC_RELAXED);
|
|
|
|
|
|
|
|
|
|
ssrc_hash_foreach(handler->media->monologue->ssrc_hash, __reset_sequencer, NULL);
|
|
|
|
|
|
|
|
|
|
@ -814,7 +814,7 @@ static struct codec_handler *__get_pt_handler(struct call_media *receiver, rtp_p
|
|
|
|
|
t_hash_table_remove(receiver->codec_handlers, handler);
|
|
|
|
|
__handler_shutdown(handler);
|
|
|
|
|
handler = NULL;
|
|
|
|
|
g_atomic_pointer_set(&receiver->codec_handler_cache, NULL);
|
|
|
|
|
__atomic_store_n(&receiver->codec_handler_cache, NULL, __ATOMIC_RELAXED);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (!handler) {
|
|
|
|
|
@ -1554,7 +1554,7 @@ static struct codec_handler *codec_handler_get_rtp(struct call_media *m, int pay
|
|
|
|
|
return NULL;
|
|
|
|
|
|
|
|
|
|
struct codec_handler lookup = __codec_handler_lookup_struct(payload_type, sink);
|
|
|
|
|
h = g_atomic_pointer_get(&m->codec_handler_cache);
|
|
|
|
|
h = __atomic_load_n(&m->codec_handler_cache, __ATOMIC_RELAXED);
|
|
|
|
|
if (G_LIKELY(h) && G_LIKELY(__codec_handler_eq(&lookup, h)))
|
|
|
|
|
return h;
|
|
|
|
|
|
|
|
|
|
@ -1564,7 +1564,7 @@ static struct codec_handler *codec_handler_get_rtp(struct call_media *m, int pay
|
|
|
|
|
if (!h)
|
|
|
|
|
return NULL;
|
|
|
|
|
|
|
|
|
|
g_atomic_pointer_set(&m->codec_handler_cache, h);
|
|
|
|
|
__atomic_store_n(&m->codec_handler_cache, h, __ATOMIC_RELAXED);
|
|
|
|
|
|
|
|
|
|
return h;
|
|
|
|
|
}
|
|
|
|
|
|