Example #1
0
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);
}
Example #2
0
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;
}
Example #3
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();
    }
}
Example #4
0
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;
}
Example #5
0
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();
}
Example #6
0
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);
	}
}