|
|
@ -3328,6 +3328,10 @@ void call_media_free(struct call_media **mdp) { |
|
|
*mdp = NULL; |
|
|
*mdp = NULL; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void call_subscription_free(void *p) { |
|
|
|
|
|
g_slice_free1(sizeof(struct call_subscription), p); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
static void __call_free(void *p) { |
|
|
static void __call_free(void *p) { |
|
|
struct call *c = p; |
|
|
struct call *c = p; |
|
|
struct call_monologue *m; |
|
|
struct call_monologue *m; |
|
|
@ -3355,6 +3359,8 @@ static void __call_free(void *p) { |
|
|
sdp_streams_free(&m->last_in_sdp_streams); |
|
|
sdp_streams_free(&m->last_in_sdp_streams); |
|
|
g_hash_table_destroy(m->subscribers_ht); |
|
|
g_hash_table_destroy(m->subscribers_ht); |
|
|
g_hash_table_destroy(m->subscriptions_ht); |
|
|
g_hash_table_destroy(m->subscriptions_ht); |
|
|
|
|
|
g_queue_clear_full(&m->subscribers, call_subscription_free); |
|
|
|
|
|
g_queue_clear_full(&m->subscriptions, call_subscription_free); |
|
|
g_slice_free1(sizeof(*m), m); |
|
|
g_slice_free1(sizeof(*m), m); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|