static void sp_free(void *p) { struct stream_params *s = p; if (s->crypto.mki) free(s->crypto.mki); g_queue_clear_full(&s->rtp_payload_types, rtp_pt_free); ice_candidates_free(&s->ice_candidates); g_slice_free1(sizeof(*s), s); }
static void __ice_agent_free_components(struct ice_agent *ag) { g_queue_clear(&ag->triggered); g_hash_table_destroy(ag->candidate_hash); g_hash_table_destroy(ag->pair_hash); g_hash_table_destroy(ag->transaction_hash); g_hash_table_destroy(ag->foundation_hash); g_tree_destroy(ag->all_pairs); g_queue_clear(&ag->all_pairs_list); g_tree_destroy(ag->nominated_pairs); g_tree_destroy(ag->succeeded_pairs); g_tree_destroy(ag->valid_pairs); ice_candidates_free(&ag->remote_candidates); ice_candidate_pairs_free(&ag->candidate_pairs); }