void tuxtxt_close() { pthread_mutex_lock(&tuxtxt_control_lock); #if DEBUG printf ("cleaning up\n"); #endif tuxtxt_stop(); if (tuxtxt_cache.dmx != -1) close(tuxtxt_cache.dmx); tuxtxt_cache.dmx = -1; tuxtxt_clear_cache(); tuxtxt_initialized=0; pthread_mutex_unlock(&tuxtxt_control_lock); }
void tuxtxt_close() { #if TUXTXT_DEBUG printf ("libtuxtxt: cleaning up\n"); #endif tuxtxt_stop(); #if 0 if (tuxtxt_cache.dmx != -1) close(tuxtxt_cache.dmx); #endif tuxtxt_cache.dmx = -1; tuxtxt_clear_cache(); tuxtxt_initialized=0; }
void tuxtxt_start(int tpid) { if (tuxtxt_cache.vtxtpid != tpid) { tuxtxt_stop(); tuxtxt_clear_cache(); tuxtxt_cache.page = 0x100; tuxtxt_cache.vtxtpid = tpid; tuxtxt_start_thread(); } else if (!tuxtxt_cache.thread_starting && !tuxtxt_cache.receiving) { tuxtxt_start_thread(); } }
int tuxtxt_start(int tpid) { int ret = 1; pthread_mutex_lock(&tuxtxt_control_lock); if (tuxtxt_cache.vtxtpid != tpid) { tuxtxt_stop(); tuxtxt_clear_cache(); tuxtxt_cache.page = 0x100; tuxtxt_cache.vtxtpid = tpid; ret = tuxtxt_start_thread(); } else if (!tuxtxt_cache.thread_starting && !tuxtxt_cache.receiving) { ret = tuxtxt_start_thread(); } pthread_mutex_unlock(&tuxtxt_control_lock); return ret; }
int tuxtxt_init() { if ( tuxtxt_initialized ) return 0; tuxtxt_initialized=1; /* init data */ memset(&tuxtxt_cache.astCachetable, 0, sizeof(tuxtxt_cache.astCachetable)); memset(&tuxtxt_cache.astP29, 0, sizeof(tuxtxt_cache.astP29)); tuxtxt_clear_cache(); tuxtxt_cache.receiving = 0; tuxtxt_cache.thread_starting = 0; tuxtxt_cache.vtxtpid = -1; tuxtxt_cache.thread_id = 0; tuxtxt_cache.dmx = -1; return 1;//tuxtxt_init_demuxer(); }
void tuxtxt_start(int tpid, int source) { if (tpid < 0) { printf("tuxtxt: invalid PID!\n"); return; } if (tuxtxt_cache.vtxtpid != tpid) { tuxtxt_stop(); tuxtxt_clear_cache(); //tuxtxt_cache.page = 0x100; tuxtxt_cache.page = 0; // avoid pre-loading 0x100 (conflicts with subtitles) tuxtxt_cache.vtxtpid = tpid; tuxtxt_start_thread(source); } else if (!tuxtxt_cache.thread_starting && !tuxtxt_cache.receiving) { tuxtxt_start_thread(source); } }