int main() { gblSetExitState(DVS_WORKING); // 设置当前设备的视频通道数; gblSetVideoChannels(16); //gblSetVideoChannels(8); // init ortp interface rtp_init(); // tcp listen thread create if (tcp_listen_thread_start(LOCAL_TCP_PORT) != 0) { printf("[main] open tcp listen thread failed!\n"); return -1; } // uart tcp listen thread create if (uart_tcp_listen_thread_start(UART_LOCAL_TCP_PORT) != 0) { printf("[main] open uart tcp listen thread failed!\n"); return -1; } OSA_ThrHndl sshThrHandle; if (OSA_thrCreate(&sshThrHandle,ssh_interact_thr,OSA_THR_PRI_DEFAULT,OSA_THR_STACK_SIZE_DEFAULT,NULL)) { printf("open ssh interact thread failed\n"); return -1; } if (start_all_threads() < 0) return -1; while ( gblGetExitState() == DVS_WORKING ) { sleep(1); } stop_all_threads(); // close ortp interface rtp_exit(); // close tcp listen thread clean_tcp_listen_thread(); // close uart tcp listen thread clean_uart_tcp_listen_thread(); return gblGetExitState(); }
void stop() { scoped_lock lock(mutex_); stop_all_threads(lock); }