From d4ce960b5136aafd47e60c77876e17e37b3de18a Mon Sep 17 00:00:00 2001 From: "SND\\weimingzhi_cp" Date: Fri, 27 Nov 2009 08:19:43 +0000 Subject: git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@38307 e17a0e51-4ae3-4d35-97c3-1a29b211df97 --- plugins/dfcdrom/cdr-linux.c | 69 ++++++++++++++++++++++++++------------------- plugins/dfcdrom/cdr.h | 13 --------- 2 files changed, 40 insertions(+), 42 deletions(-) (limited to 'plugins') diff --git a/plugins/dfcdrom/cdr-linux.c b/plugins/dfcdrom/cdr-linux.c index 7860e920..9ef40039 100644 --- a/plugins/dfcdrom/cdr-linux.c +++ b/plugins/dfcdrom/cdr-linux.c @@ -30,6 +30,18 @@ int initial_time = 0; pthread_mutex_t mut = PTHREAD_MUTEX_INITIALIZER; pthread_cond_t cond = PTHREAD_COND_INITIALIZER; +CacheData *cdcache; +unsigned char *cdbuffer; +int cacheaddr; + +crdata cr; + +unsigned char lastTime[3]; +int cdHandle; +pthread_t thread; +int subqread; +volatile int stopth, found, locked, playing; + long (*ReadTrackT[])() = { ReadNormal, ReadThreaded, @@ -247,7 +259,7 @@ long ReadThreaded() { unsigned char* GetBThreaded() { PRINTF("threadc %d\n", found); - if (found == 1) { found = 0; return cdbuffer; } + if (found == 1) { /*found = 0;*/ return cdbuffer; } cdbuffer = cdcache[0].cr.buf + 12; while (btoi(cdbuffer[0]) != cr.msf.cdmsf_min0 || btoi(cdbuffer[1]) != cr.msf.cdmsf_sec0 || @@ -260,31 +272,6 @@ unsigned char* GetBThreaded() { return cdbuffer; } - -// read track -// time: -// byte 0 - minute -// byte 1 - second -// byte 2 - frame -// uses bcd format -long CDRreadTrack(unsigned char *time) { - if (cdHandle < 1) { - memset(cr.buf, 0, DATA_SIZE); - return 0; - } - - PRINTF("CDRreadTrack %d:%d:%d\n", btoi(time[0]), btoi(time[1]), btoi(time[2])); - - if (UseSubQ) memcpy(lastTime, time, 3); - subqread = 0; - - cr.msf.cdmsf_min0 = btoi(time[0]); - cr.msf.cdmsf_sec0 = btoi(time[1]); - cr.msf.cdmsf_frame0 = btoi(time[2]); - - return fReadTrack(); -} - void *CdrThread(void *arg) { unsigned char curTime[3]; int i; @@ -302,12 +289,12 @@ void *CdrThread(void *arg) { PRINTF("start thc %d:%d:%d\n", curTime[0], curTime[1], curTime[2]); - for (i=0; i