void coolapi_close_all(void) { SAFE_MUTEX_LOCK(&demux_lock); if(!dmx_opened) { SAFE_MUTEX_UNLOCK(&demux_lock); return; } int32_t i, j; for(i = 0; i < MAX_COOL_DMX; i++) { for(j = 0; j < MAX_FILTER; j++) { if(cdemuxes[i][j].fd > 0) { coolapi_remove_filter(cdemuxes[i][j].fd, cdemuxes[i][j].filter_num); coolapi_close_device(cdemuxes[i][j].fd); } } } coolapi_dmx_close(); coolapi_stop_api(); cool_kal_opened = 0; SAFE_MUTEX_UNLOCK(&demux_lock); }
void coolapi_close_all(void) { if(dmx_opened) { int32_t result; int32_t i, j; for(i = 0; i < MAX_COOL_DMX; i++) { for(j = 0; j < MAX_FILTER; j++) { if(cdemuxes[i][j].fd > 0) { coolapi_remove_filter(cdemuxes[i][j].fd, cdemuxes[i][j].filter_num); coolapi_close_device(cdemuxes[i][j].fd); } } } for(i = 0; i < MAX_COOL_DMX; i++) { result = cnxt_dmx_close(dmx_device[i]); coolapi_check_error("cnxt_dmx_close", result); dmx_device[i] = NULL; } } cool_kal_opened = 0; cnxt_kal_terminate(); cnxt_drv_term(); }