Esempio n. 1
0
static void free_attributes(struct sdp_attributes *a) {
	/* g_hash_table_destroy(a->name_hash); */
	g_hash_table_destroy(a->id_hash);
	/* g_hash_table_destroy(a->name_lists_hash); */
	g_hash_table_destroy(a->id_lists_hash);
	g_queue_clear_full(&a->list, attr_free);
}
Esempio n. 2
0
static void __send_timer_free(void *p) {
	struct send_timer *st = p;

	ilog(LOG_DEBUG, "freeing send_timer");

	g_queue_clear_full(&st->packets, codec_packet_free);
	mutex_destroy(&st->lock);
	obj_put(st->call);
}
Esempio n. 3
0
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);
}
Esempio n. 4
0
static void ice_candidate_pairs_free(GQueue *q) {
	g_queue_clear_full(q, ice_candidate_pair_free);
}
Esempio n. 5
0
void ice_candidates_free(GQueue *q) {
	g_queue_clear_full(q, ice_candidate_free);
}
Esempio n. 6
0
void sdp_free(GQueue *sessions) {
	g_queue_clear_full(sessions, session_free);
}
Esempio n. 7
0
static void session_free(void *p) {
	struct sdp_session *session = p;
	g_queue_clear_full(&session->media_streams, media_free);
	free_attributes(&session->attributes);
	g_slice_free1(sizeof(*session), session);
}
Esempio n. 8
0
static void media_free(void *p) {
	struct sdp_media *media = p;
	free_attributes(&media->attributes);
	g_queue_clear_full(&media->format_list, str_slice_free);
	g_slice_free1(sizeof(*media), media);
}
Esempio n. 9
0
static void streams_free(GQueue *q) {
	g_queue_clear_full(q, sp_free);
}