void rtspcl_close(struct rtspcl_data *rtspcld) { rtspcl_disconnect(rtspcld); g_queue_free(rtspcld->received_lines); rtspcl_remove_all_exthds(rtspcld); g_free(rtspcld->session); g_cond_free(rtspcld->cond); g_mutex_free(rtspcld->mutex); g_free(rtspcld); }
int rtspcl_close(rtspcl_t *p) { rtspcl_data_t *rtspcld; int ret; if(!p) return -1; rtspcld=(rtspcl_data_t *)p; if ( ( ret = rtspcl_teardown(p) ) != 0 ) { ERRMSG( "Couldn't tear down streaming connection : %d\n", ret ); } rtspcl_disconnect(p); free(rtspcld); p=NULL; rtspcl_remove_all_exthds(p); return 0; }