static long CALLBACK ISOclose(void) { int i; if (cdHandle != NULL) { fclose(cdHandle); cdHandle = NULL; } if (subHandle != NULL) { fclose(subHandle); subHandle = NULL; } stopCDDA(); cddaHandle = NULL; if (compr_img != NULL) { free(compr_img->index_table); free(compr_img); compr_img = NULL; } for (i = 1; i <= numtracks; i++) { if (ti[i].handle != NULL) { fclose(ti[i].handle); ti[i].handle = NULL; } } numtracks = 0; ti[1].type = 0; UnloadSBI(); memset(cdbuffer, 0, sizeof(cdbuffer)); CDR_getBuffer = ISOgetBuffer; return 0; }
// start the CDDA playback static void startCDDA(unsigned int offset) { if (playing) { if (initial_offset == offset) { return; } stopCDDA(); } cddaHandle = fopen(GetIsoFile(), "rb"); if (cddaHandle == NULL) { return; } initial_offset = offset; cddaCurOffset = initial_offset; fseek(cddaHandle, initial_offset, SEEK_SET); playing = TRUE; #ifdef _WIN32 threadid = (HANDLE)_beginthread(playthread, 0, NULL); #else pthread_create(&threadid, NULL, playthread, NULL); #endif }
static long ISOclose(void) { int i; if (cdHandle != NULL) { fclose(cdHandle); cdHandle = NULL; } if (subHandle != NULL) { fclose(subHandle); subHandle = NULL; } stopCDDA(); cddaHandle = NULL; if (compr_img != NULL) { free(compr_img->index_table); free(compr_img); compr_img = NULL; } for (i = 1; i <= numtracks; i++) { if (ti[i].handle != NULL) { fclose(ti[i].handle); ti[i].handle = NULL; } } numtracks = 0; UnloadSBI(); return 0; }
static long CALLBACK ISOclose(void) { if (cdHandle != NULL) { fclose(cdHandle); cdHandle = NULL; } if (subHandle != NULL) { fclose(subHandle); subHandle = NULL; } stopCDDA(); return 0; }
// start the CDDA playback static void startCDDA(void) { if (playing) { stopCDDA(); } playing = TRUE; #ifdef _WIN32 threadid = (HANDLE)_beginthread(playthread, 0, NULL); #else pthread_create(&threadid, NULL, playthread, NULL); #endif }
// start the CDDA playback static void startCDDA(unsigned int sector) { if (playing) { stopCDDA(); } cdda_cur_sector = sector; playing = TRUE; #ifdef _WIN32 threadid = (HANDLE)_beginthread(playthread, 0, NULL); #else pthread_create(&threadid, NULL, playthread, NULL); #endif }
long CDR_close(void) { int i; if (cdHandle != NULL) { fclose(cdHandle); cdHandle = NULL; } if (subHandle != NULL) { fclose(subHandle); subHandle = NULL; } stopCDDA(); cddaHandle = NULL; if (compr_img != NULL) { free(compr_img->index_table); free(compr_img); compr_img = NULL; } for (i = 1; i <= numtracks; i++) { if (ti[i].handle != NULL) { fclose(ti[i].handle); ti[i].handle = NULL; } } numtracks = 0; ti[1].type = (cd_type)0; #if 0 UnloadSBI(); #endif memset(cdbuffer, 0, sizeof(cdbuffer)); CDR_getBuffer = CDR_getBuffer_norm; return 0; }