/** * @brief Remove A/V session. * * @param av Handler. * @return void */ void toxav_kill ( ToxAv *av ) { msi_terminate_session(av->msi_session); if ( av->rtp_sessions[audio_index] ) { rtp_terminate_session(av->rtp_sessions[audio_index], av->msi_session->messenger_handle); } if ( av->rtp_sessions[video_index] ) { rtp_terminate_session(av->rtp_sessions[video_index], av->msi_session->messenger_handle); } codec_terminate_session(av->cs); free(av); }
/** * @brief Remove A/V session. * * @param av Handler. * @return void */ void toxav_kill ( ToxAv *av ) { uint32_t i; for (i = 0; i < av->max_calls; i ++) { if ( av->calls[i].crtps[audio_index] ) rtp_terminate_session(av->calls[i].crtps[audio_index], av->msi_session->messenger_handle); if ( av->calls[i].crtps[video_index] ) rtp_terminate_session(av->calls[i].crtps[video_index], av->msi_session->messenger_handle); if ( av->calls[i].j_buf ) terminate_queue(av->calls[i].j_buf); if ( av->calls[i].cs ) codec_terminate_session(av->calls[i].cs); } msi_terminate_session(av->msi_session); free(av->calls); free(av); }