void rtp_scheduler_destroy(RtpScheduler *sched) { if (sched->thread_running) rtp_scheduler_stop(sched); ortp_mutex_destroy(&sched->lock); //g_mutex_free(sched->unblock_select_mutex); ortp_cond_destroy(&sched->unblock_select_cond); ortp_free(sched); }
void ortp_set_log_thread_id(unsigned long thread_id) { if (thread_id == 0) { ortp_logv_flush(); ortp_mutex_destroy(&__log_stored_messages_mutex); } else { ortp_mutex_init(&__log_stored_messages_mutex, NULL); } __log_thread_id = thread_id; }
void ortp_zrtp_context_destroy(OrtpZrtpContext *ctx) { ortp_message("Stopping ZRTP context"); zrtp_stopZrtpEngine(ctx->zrtpContext); ortp_message("Destroying ZRTP wrapper"); zrtp_DestroyWrapper(ctx->zrtpContext); ortp_message("Destroying ORTP-ZRTP mutex"); ortp_mutex_destroy(&ctx->mutex); ortp_message("Destroying SRTP contexts"); if (ctx->srtpSend != NULL) srtp_dealloc(ctx->srtpSend); if (ctx->srtpRecv != NULL) srtp_dealloc(ctx->srtpRecv); ortp_message("ORTP-ZRTP context destroyed"); }
void ortp_network_simulator_destroy(OrtpNetworkSimulatorCtx *sim){ int drop_by_flush=sim->latency_q.q_mcount+sim->q.q_mcount; if (sim->total_count>0){ ortp_message("Network simulation: destroyed. Statistics are:" "%d/%d(%.1f%%, param=%.1f) packets dropped by loss, " "%d/%d(%.1f%%) packets dropped by congestion, " "%d/%d(%.1f%%) packets flushed." , sim->drop_by_loss, sim->total_count, sim->drop_by_loss*100.f/sim->total_count, sim->params.loss_rate , sim->drop_by_congestion, sim->total_count, sim->drop_by_congestion*100.f/sim->total_count , drop_by_flush, sim->total_count, drop_by_flush*100.f/sim->total_count ); } flushq(&sim->latency_q,0); flushq(&sim->q,0); flushq(&sim->send_q,0); if (sim->thread_started){ sim->thread_started=FALSE; ortp_thread_join(sim->thread, NULL); } ortp_mutex_destroy(&sim->mutex); ortp_free(sim); }
void ortp_ev_queue_destroy(OrtpEvQueue * qp){ ortp_ev_queue_flush(qp); ortp_mutex_destroy(&qp->mutex); ortp_free(qp); }