| 1 |
http://bugs.gentoo.org/206939 |
| 2 |
|
| 3 |
http://pkgs.fedoraproject.org/cgit/cdrkit.git/tree/cdrkit-1.1.11-paranoiacdda.patch modified because |
| 4 |
we install headers to $includedir instead of $includedir/cdda |
| 5 |
|
| 6 |
--- CMakeLists.txt |
| 7 |
+++ CMakeLists.txt |
| 8 |
@@ -1,3 +1,3 @@ |
| 9 |
PROJECT (cdrkit C) |
| 10 |
-SUBDIRS(include genisoimage wodim libedc libhfs_iso libparanoia icedax libusal librols libunls readom netscsid 3rd-party/dirsplit) |
| 11 |
+SUBDIRS(include genisoimage wodim libedc libhfs_iso icedax libusal librols libunls readom netscsid 3rd-party/dirsplit) |
| 12 |
|
| 13 |
--- icedax/CMakeLists.txt |
| 14 |
+++ icedax/CMakeLists.txt |
| 15 |
@@ -1,8 +1,9 @@ |
| 16 |
PROJECT (icedax C) |
| 17 |
-INCLUDE_DIRECTORIES(../include ../wodim ../libparanoia ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/include) |
| 18 |
+INCLUDE_DIRECTORIES(../include ../wodim ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/include) |
| 19 |
include(../include/AddScgBits.cmake) |
| 20 |
include(../include/AddSchilyBits.cmake) |
| 21 |
include(../include/AddNetworkBits.cmake) |
| 22 |
+INCLUDE (CheckLibraryExists) |
| 23 |
|
| 24 |
FIND_FILE (HAVE_SYS_SOUNDCARD_H sys/soundcard.h) |
| 25 |
IF(HAVE_SYS_SOUNDCARD_H) |
| 26 |
@@ -18,12 +19,20 @@ IF(HAVE_LIBOSSAUDIO) |
| 27 |
LIST(APPEND EXTRA_LIBS "ossaudio") |
| 28 |
ENDIF(HAVE_LIBOSSAUDIO) |
| 29 |
|
| 30 |
-LIST(APPEND EXTRA_LIBS paranoia) |
| 31 |
+CHECK_INCLUDE_FILES(cdda_interface.h HAVE_CDDA_INTERFACE_H) |
| 32 |
+CHECK_LIBRARY_EXISTS (cdda_paranoia paranoia_init "" HAVE_LIBPARANOIA) |
| 33 |
+IF(HAVE_CDDA_INTERFACE_H AND HAVE_LIBPARANOIA) |
| 34 |
+ LIST(APPEND EXTRA_LIBS cdda_paranoia cdda_interface) |
| 35 |
+ELSE(HAVE_CDDA_INTERFACE_H AND HAVE_LIBPARANOIA) |
| 36 |
+ MESSAGE(FATAL_ERROR "You need cdparanoia library installed") |
| 37 |
+ENDIF(HAVE_CDDA_INTERFACE_H AND HAVE_LIBPARANOIA) |
| 38 |
+ |
| 39 |
+LIST(APPEND EXTRA_LIBS) |
| 40 |
IF (WIN32) |
| 41 |
LIST(APPEND EXTRA_LIBS winmm) |
| 42 |
ENDIF (WIN32) |
| 43 |
|
| 44 |
-LINK_DIRECTORIES(../librols ../libusal ../libparanoia) |
| 45 |
+LINK_DIRECTORIES(../librols ../libusal) |
| 46 |
ADD_EXECUTABLE (icedax aifc.c aiff.c base64.c icedax.c interface.c ioctl.c raw.c resample.c ringbuff.c scsi_cmds.c semshm.c setuid.c sha_func.c sndconfig.c sun.c toc.c wav.c) |
| 47 |
TARGET_LINK_LIBRARIES(icedax wodimstuff ${EXTRA_LIBS}) |
| 48 |
SET_TARGET_PROPERTIES(icedax PROPERTIES SKIP_BUILD_RPATH TRUE) |
| 49 |
--- icedax/global.h |
| 50 |
+++ icedax/global.h |
| 51 |
@@ -17,7 +17,8 @@ |
| 52 |
#include "md5.h" |
| 53 |
#endif |
| 54 |
#ifdef USE_PARANOIA |
| 55 |
-#include "cdda_paranoia.h" |
| 56 |
+#include <cdda_interface.h> |
| 57 |
+#include <cdda_paranoia.h> |
| 58 |
#endif |
| 59 |
|
| 60 |
typedef struct index_list |
| 61 |
@@ -102,10 +103,10 @@ typedef struct global |
| 62 |
|
| 63 |
struct paranoia_parms_t |
| 64 |
{ |
| 65 |
- Ucbit disable_paranoia:1; |
| 66 |
- Ucbit disable_extra_paranoia:1; |
| 67 |
- Ucbit disable_scratch_detect:1; |
| 68 |
- Ucbit disable_scratch_repair:1; |
| 69 |
+ char disable_paranoia:1; |
| 70 |
+ char disable_extra_paranoia:1; |
| 71 |
+ char disable_scratch_detect:1; |
| 72 |
+ char disable_scratch_repair:1; |
| 73 |
int retries; |
| 74 |
int overlap; |
| 75 |
int mindynoverlap; |
| 76 |
--- icedax/icedax.c |
| 77 |
+++ icedax/icedax.c |
| 78 |
@@ -120,6 +120,10 @@ |
| 79 |
#ifdef USE_LAME |
| 80 |
#include "mp3.h" /* mp3 file handling */ |
| 81 |
#endif |
| 82 |
+#ifdef USE_PARANOIA |
| 83 |
+#include <cdda_interface.h> |
| 84 |
+#include <cdda_paranoia.h> |
| 85 |
+#endif |
| 86 |
#include "interface.h" /* low level cdrom interfacing */ |
| 87 |
#include "icedax.h" |
| 88 |
#include "resample.h" |
| 89 |
@@ -128,9 +132,6 @@ |
| 90 |
#include "ringbuff.h" |
| 91 |
#include "global.h" |
| 92 |
#include "exitcodes.h" |
| 93 |
-#ifdef USE_PARANOIA |
| 94 |
-#include "cdda_paranoia.h" |
| 95 |
-#endif |
| 96 |
#include "defaults.h" |
| 97 |
|
| 98 |
static void RestrictPlaybackRate(long newrate); |
| 99 |
@@ -800,7 +801,7 @@ static void init_globals() |
| 100 |
global.useroverlap = -1; /* amount of overlapping sectors user override */ |
| 101 |
global.need_hostorder = 0; /* processing needs samples in host endianess */ |
| 102 |
global.in_lendian = -1; /* input endianess from SetupSCSI() */ |
| 103 |
- global.outputendianess = NONE; /* user specified output endianess */ |
| 104 |
+ global.outputendianess = NONE_EN; /* user specified output endianess */ |
| 105 |
global.findminmax = 0; /* flag find extrem amplitudes */ |
| 106 |
#ifdef HAVE_LIMITS_H |
| 107 |
global.maxamp[0] = INT_MIN; /* maximum amplitude */ |
| 108 |
@@ -2418,7 +2419,7 @@ Rate Divider Rate Divider |
| 109 |
if (bulk == -1) bulk = 0; |
| 110 |
|
| 111 |
global.need_big_endian = global.audio_out->need_big_endian; |
| 112 |
- if (global.outputendianess != NONE) |
| 113 |
+ if (global.outputendianess != NONE_EN) |
| 114 |
global.need_big_endian = global.outputendianess == BIG; |
| 115 |
|
| 116 |
if (global.no_file) global.fname_base[0] = '\0'; |
| 117 |
@@ -2602,7 +2603,7 @@ Rate Divider Rate Divider |
| 118 |
fputs( ", soundcard", stderr ); |
| 119 |
#endif |
| 120 |
#if defined USE_PARANOIA |
| 121 |
- fputs( ", libparanoia", stderr ); |
| 122 |
+ fputs( ", libcdda_paranoia", stderr ); |
| 123 |
#endif |
| 124 |
fputs( " support\n", stderr ); |
| 125 |
} |
| 126 |
@@ -2892,8 +2893,28 @@ Rate Divider Rate Divider |
| 127 |
#ifdef USE_PARANOIA |
| 128 |
if (global.paranoia_selected) { |
| 129 |
long paranoia_mode; |
| 130 |
+ cdrom_drive *tmpdrive; |
| 131 |
+ usal_close(get_scsi_p()); |
| 132 |
|
| 133 |
- global.cdp = paranoia_init(get_scsi_p(), global.nsectors); |
| 134 |
+ tmpdrive = cdda_identify(global.dev_name, 0, NULL); |
| 135 |
+ if (!tmpdrive) |
| 136 |
+ { |
| 137 |
+ fputs("Can't identify disc\n", stderr); |
| 138 |
+ return 1; |
| 139 |
+ } |
| 140 |
+ |
| 141 |
+ if(global.nsectors) |
| 142 |
+ { |
| 143 |
+ tmpdrive->nsectors = global.nsectors; |
| 144 |
+ tmpdrive->bigbuff = global.nsectors * CD_FRAMESIZE_RAW; |
| 145 |
+ } |
| 146 |
+ if (cdda_open(tmpdrive) != 0) |
| 147 |
+ { |
| 148 |
+ fputs("Can't open disc\n", stderr); |
| 149 |
+ cdda_close(tmpdrive); |
| 150 |
+ return 1; |
| 151 |
+ } |
| 152 |
+ global.cdp = paranoia_init(tmpdrive); |
| 153 |
|
| 154 |
if (global.paranoia_parms.overlap >= 0) { |
| 155 |
int overlap = global.paranoia_parms.overlap; |
| 156 |
@@ -2902,17 +2923,7 @@ Rate Divider Rate Divider |
| 157 |
overlap = global.nsectors - 1; |
| 158 |
paranoia_overlapset(global.cdp, overlap); |
| 159 |
} |
| 160 |
- /* |
| 161 |
- * Default to a minimum of dynamic overlapping == 0.5 sectors. |
| 162 |
- * If we don't do this, we get the default from libparanoia |
| 163 |
- * which is approx. 0.1. |
| 164 |
- */ |
| 165 |
- if (global.paranoia_parms.mindynoverlap < 0) |
| 166 |
- paranoia_dynoverlapset(global.cdp, CD_FRAMEWORDS/2, -1); |
| 167 |
- paranoia_dynoverlapset(global.cdp, |
| 168 |
- global.paranoia_parms.mindynoverlap * CD_FRAMEWORDS, |
| 169 |
- global.paranoia_parms.maxdynoverlap * CD_FRAMEWORDS); |
| 170 |
- |
| 171 |
+ |
| 172 |
paranoia_mode = PARANOIA_MODE_FULL ^ PARANOIA_MODE_NEVERSKIP; |
| 173 |
|
| 174 |
if (global.paranoia_parms.disable_paranoia) { |
| 175 |
--- icedax/icedax.h |
| 176 |
+++ icedax/icedax.h |
| 177 |
@@ -41,7 +41,7 @@ |
| 178 |
|
| 179 |
/* Endianess */ |
| 180 |
#define GUESS (-2) |
| 181 |
-#define NONE (-1) |
| 182 |
+#define NONE_EN (-1) |
| 183 |
#define LITTLE 0 |
| 184 |
#define BIG 1 |
| 185 |
|
| 186 |
--- icedax/interface.c |
| 187 |
+++ icedax/interface.c |
| 188 |
@@ -116,7 +116,7 @@ int (*Play_at)(SCSI *usalp, unsigned in |
| 189 |
int (*StopPlay)(SCSI *usalp); |
| 190 |
void (*trash_cache)(UINT4 *p, unsigned lSector, unsigned SectorBurstVal); |
| 191 |
|
| 192 |
-#if defined USE_PARANOIA |
| 193 |
+#if 0 //defined USE_PARANOIA |
| 194 |
long cdda_read(void *d, void *buffer, long beginsector, long sectors); |
| 195 |
|
| 196 |
long cdda_read(void *d, void *buffer, long beginsector, long sectors) |
| 197 |
--- icedax/toc.c |
| 198 |
+++ icedax/toc.c |
| 199 |
@@ -379,8 +379,7 @@ static void emit_cddb_form(char *fname_b |
| 200 |
static void emit_cdindex_form(char *fname_baseval); |
| 201 |
#endif |
| 202 |
|
| 203 |
- |
| 204 |
-typedef struct TOC { /* structure of table of contents (cdrom) */ |
| 205 |
+typedef struct TOC_t { /* structure of table of contents (cdrom) */ |
| 206 |
unsigned char reserved1; |
| 207 |
unsigned char bFlags; |
| 208 |
unsigned char bTrack; |
| 209 |
@@ -391,8 +390,7 @@ typedef struct TOC { /* structure of tab |
| 210 |
int frms; |
| 211 |
unsigned char ISRC[16]; |
| 212 |
int SCMS; |
| 213 |
-} TOC; |
| 214 |
- |
| 215 |
+} TOC_t; |
| 216 |
|
| 217 |
/* Flags contains two fields: |
| 218 |
bits 7-4 (ADR) |
| 219 |
@@ -432,7 +430,7 @@ struct iterator { |
| 220 |
int index; |
| 221 |
int startindex; |
| 222 |
void (*reset)(struct iterator *this); |
| 223 |
- struct TOC *(*getNextTrack)(struct iterator *this); |
| 224 |
+ struct TOC_t *(*getNextTrack)(struct iterator *this); |
| 225 |
int (*hasNextTrack)(struct iterator *this); |
| 226 |
}; |
| 227 |
|
| 228 |
@@ -518,7 +516,7 @@ unsigned FixupTOC(unsigned no_tracks) |
| 229 |
InitIterator(&i, 1); |
| 230 |
|
| 231 |
while (i.hasNextTrack(&i)) { |
| 232 |
- struct TOC *p = i.getNextTrack(&i); |
| 233 |
+ struct TOC_t *p = i.getNextTrack(&i); |
| 234 |
if (IS__AUDIO(p)) count_audio_tracks++; |
| 235 |
} |
| 236 |
|
| 237 |
@@ -733,7 +731,7 @@ static void emit_cddb_form(char *fname_b |
| 238 |
fprintf( cddb_form, "# Track frame offsets:\n#\n"); |
| 239 |
|
| 240 |
while (i.hasNextTrack(&i)) { |
| 241 |
- struct TOC *p = i.getNextTrack(&i); |
| 242 |
+ struct TOC_t *p = i.getNextTrack(&i); |
| 243 |
if (GETTRACK(p) == CDROM_LEADOUT) break; |
| 244 |
fprintf( cddb_form, |
| 245 |
"# %lu\n", 150 + Get_AudioStartSector(GETTRACK(p))); |
| 246 |
@@ -765,7 +763,7 @@ static void emit_cddb_form(char *fname_b |
| 247 |
|
| 248 |
i.reset(&i); |
| 249 |
while (i.hasNextTrack(&i)) { |
| 250 |
- struct TOC *p = i.getNextTrack(&i); |
| 251 |
+ struct TOC_t *p = i.getNextTrack(&i); |
| 252 |
int ii; |
| 253 |
|
| 254 |
ii = GETTRACK(p); |
| 255 |
@@ -788,7 +786,7 @@ static void emit_cddb_form(char *fname_b |
| 256 |
|
| 257 |
i.reset(&i); |
| 258 |
while (i.hasNextTrack(&i)) { |
| 259 |
- struct TOC *p = i.getNextTrack(&i); |
| 260 |
+ struct TOC_t *p = i.getNextTrack(&i); |
| 261 |
int ii; |
| 262 |
|
| 263 |
ii = GETTRACK(p); |
| 264 |
@@ -1495,7 +1493,7 @@ static int IsSingleArtist(void) |
| 265 |
InitIterator(&i, 1); |
| 266 |
|
| 267 |
while (i.hasNextTrack(&i)) { |
| 268 |
- struct TOC *p = i.getNextTrack(&i); |
| 269 |
+ struct TOC_t *p = i.getNextTrack(&i); |
| 270 |
int ii; |
| 271 |
|
| 272 |
if (IS__DATA(p) || GETTRACK(p) == CDROM_LEADOUT) continue; |
| 273 |
@@ -1681,7 +1679,7 @@ static void emit_cdindex_form(char *fnam |
| 274 |
global.creator ? ascii2html(global.creator) : ""); |
| 275 |
|
| 276 |
while (i.hasNextTrack(&i)) { |
| 277 |
- struct TOC *p = i.getNextTrack(&i); |
| 278 |
+ struct TOC_t *p = i.getNextTrack(&i); |
| 279 |
int ii = GETTRACK(p); |
| 280 |
|
| 281 |
if (ii == CDROM_LEADOUT) break; |
| 282 |
@@ -1703,7 +1701,7 @@ static void emit_cdindex_form(char *fnam |
| 283 |
fprintf( cdindex_form, " <MultipleArtistCD>\n"); |
| 284 |
|
| 285 |
while (i.hasNextTrack(&i)) { |
| 286 |
- struct TOC *p = i.getNextTrack(&i); |
| 287 |
+ struct TOC_t *p = i.getNextTrack(&i); |
| 288 |
int ii = GETTRACK(p); |
| 289 |
|
| 290 |
if (ii == CDROM_LEADOUT) break; |
| 291 |
@@ -1942,9 +1940,9 @@ static void DisplayToc_with_gui(unsigned |
| 292 |
|
| 293 |
if ((global.verbose & (SHOW_TOC | SHOW_STARTPOSITIONS | SHOW_SUMMARY | SHOW_TITLES)) != 0 |
| 294 |
&& i.hasNextTrack(&i)) { |
| 295 |
- TOC *o = i.getNextTrack(&i); |
| 296 |
+ TOC_t *o = i.getNextTrack(&i); |
| 297 |
while (i.hasNextTrack(&i)) { |
| 298 |
- TOC *p = i.getNextTrack(&i); |
| 299 |
+ TOC_t *p = i.getNextTrack(&i); |
| 300 |
int from; |
| 301 |
from = GETTRACK(o); |
| 302 |
|
| 303 |
@@ -2072,9 +2070,9 @@ static void DisplayToc_no_gui(unsigned l |
| 304 |
count_audio_trks = 0; |
| 305 |
|
| 306 |
if (i.hasNextTrack(&i)) { |
| 307 |
- TOC *o = i.getNextTrack(&i); |
| 308 |
+ TOC_t *o = i.getNextTrack(&i); |
| 309 |
while (i.hasNextTrack(&i)) { |
| 310 |
- TOC *p = i.getNextTrack(&i); |
| 311 |
+ TOC_t *p = i.getNextTrack(&i); |
| 312 |
int from; |
| 313 |
from = GETTRACK(o); |
| 314 |
|
| 315 |
@@ -2131,10 +2129,10 @@ static void DisplayToc_no_gui(unsigned l |
| 316 |
i.reset(&i); |
| 317 |
if ((global.verbose & SHOW_TOC) != 0 && |
| 318 |
i.hasNextTrack(&i)) { |
| 319 |
- TOC *o = i.getNextTrack(&i); |
| 320 |
+ TOC_t *o = i.getNextTrack(&i); |
| 321 |
|
| 322 |
for (; i.hasNextTrack(&i);) { |
| 323 |
- TOC *p = i.getNextTrack(&i); |
| 324 |
+ TOC_t *p = i.getNextTrack(&i); |
| 325 |
|
| 326 |
if ( GETTRACK(o) <= MAXTRK ) { |
| 327 |
unsigned char brace1, brace2; |
| 328 |
@@ -2189,9 +2187,9 @@ static void DisplayToc_no_gui(unsigned l |
| 329 |
ii = 0; |
| 330 |
i.reset(&i); |
| 331 |
if (i.hasNextTrack(&i)) { |
| 332 |
- TOC *o = i.getNextTrack(&i); |
| 333 |
+ TOC_t *o = i.getNextTrack(&i); |
| 334 |
for ( ; i.hasNextTrack(&i);) { |
| 335 |
- TOC *p = i.getNextTrack(&i); |
| 336 |
+ TOC_t *p = i.getNextTrack(&i); |
| 337 |
fprintf ( stderr, |
| 338 |
" %2u.(%8u)", |
| 339 |
GETTRACK(o), |
| 340 |
@@ -2248,7 +2246,7 @@ static void DisplayToc_no_gui(unsigned l |
| 341 |
|
| 342 |
i.reset(&i); |
| 343 |
for ( ; i.hasNextTrack(&i);) { |
| 344 |
- TOC *p = i.getNextTrack(&i); |
| 345 |
+ TOC_t *p = i.getNextTrack(&i); |
| 346 |
int jj = GETTRACK(p); |
| 347 |
|
| 348 |
if ( global.tracktitle[jj] != NULL ) { |
| 349 |
@@ -2260,7 +2258,7 @@ static void DisplayToc_no_gui(unsigned l |
| 350 |
|
| 351 |
i.reset(&i); |
| 352 |
for ( ; i.hasNextTrack(&i); ) { |
| 353 |
- TOC *p = i.getNextTrack(&i); |
| 354 |
+ TOC_t *p = i.getNextTrack(&i); |
| 355 |
int jj; |
| 356 |
|
| 357 |
if (IS__DATA(p)) |
| 358 |
@@ -2720,7 +2718,7 @@ void Read_MCN_ISRC(void) |
| 359 |
InitIterator(&i, 1); |
| 360 |
|
| 361 |
while (i.hasNextTrack(&i)) { |
| 362 |
- struct TOC *p = i.getNextTrack(&i); |
| 363 |
+ struct TOC_t *p = i.getNextTrack(&i); |
| 364 |
unsigned ii = GETTRACK(p); |
| 365 |
|
| 366 |
if (ii == CDROM_LEADOUT) break; |
| 367 |
@@ -3155,7 +3153,7 @@ unsigned ScanIndices(unsigned track, uns |
| 368 |
|
| 369 |
|
| 370 |
while (i.hasNextTrack(&i)) { |
| 371 |
- struct TOC *p = i.getNextTrack(&i); |
| 372 |
+ struct TOC_t *p = i.getNextTrack(&i); |
| 373 |
unsigned ii = GETTRACK(p); |
| 374 |
|
| 375 |
if ( ii < starttrack || IS__DATA(p) ) |
| 376 |
@@ -3322,7 +3320,7 @@ unsigned char *Get_MCN(void) |
| 377 |
} |
| 378 |
|
| 379 |
|
| 380 |
-static TOC g_toc [MAXTRK+1]; /* hidden track + 100 regular tracks */ |
| 381 |
+static TOC_t g_toc [MAXTRK+1]; /* hidden track + 100 regular tracks */ |
| 382 |
|
| 383 |
/*#define IS_AUDIO(i) (!(g_toc[i].bFlags & 0x40))*/ |
| 384 |
|
| 385 |
@@ -3397,10 +3395,10 @@ static int patch_cd_extra(unsigned track |
| 386 |
|
| 387 |
static int restrict_tracks_illleadout(void) |
| 388 |
{ |
| 389 |
- struct TOC *o = &g_toc[cdtracks+1]; |
| 390 |
+ struct TOC_t *o = &g_toc[cdtracks+1]; |
| 391 |
int i; |
| 392 |
for (i = cdtracks; i >= 0; i--) { |
| 393 |
- struct TOC *p = &g_toc[i]; |
| 394 |
+ struct TOC_t *p = &g_toc[i]; |
| 395 |
if (GETSTART(o) > GETSTART(p)) break; |
| 396 |
} |
| 397 |
patch_cd_extra(i+1, GETSTART(o)); |
| 398 |
@@ -3523,7 +3521,7 @@ static void it_reset(struct iterator *th |
| 399 |
|
| 400 |
|
| 401 |
static int it_hasNextTrack(struct iterator *this); |
| 402 |
-static struct TOC *it_getNextTrack(struct iterator *this); |
| 403 |
+static struct TOC_t *it_getNextTrack(struct iterator *this); |
| 404 |
|
| 405 |
static int it_hasNextTrack(struct iterator *this) |
| 406 |
{ |
| 407 |
@@ -3532,7 +3530,7 @@ static int it_hasNextTrack(struct iterat |
| 408 |
|
| 409 |
|
| 410 |
|
| 411 |
-static struct TOC *it_getNextTrack(struct iterator *this) |
| 412 |
+static struct TOC_t *it_getNextTrack(struct iterator *this) |
| 413 |
{ |
| 414 |
/* if ( (*this->hasNextTrack)(this) == 0 ) return NULL; */ |
| 415 |
if ( this->index > (int)cdtracks+1 ) return NULL; |
| 416 |
@@ -3583,7 +3581,7 @@ long Get_AudioStartSector(unsigned long |
| 417 |
if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT; |
| 418 |
|
| 419 |
while (i.hasNextTrack(&i)) { |
| 420 |
- TOC *p = i.getNextTrack(&i); |
| 421 |
+ TOC_t *p = i.getNextTrack(&i); |
| 422 |
|
| 423 |
if (GETTRACK(p) == p_track) { |
| 424 |
if (IS__DATA(p)) { |
| 425 |
@@ -3613,7 +3611,7 @@ long Get_StartSector(unsigned long p_tra |
| 426 |
if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT; |
| 427 |
|
| 428 |
while (i.hasNextTrack(&i)) { |
| 429 |
- TOC *p = i.getNextTrack(&i); |
| 430 |
+ TOC_t *p = i.getNextTrack(&i); |
| 431 |
|
| 432 |
if (GETTRACK(p) == p_track) { |
| 433 |
return GETSTART(p); |
| 434 |
@@ -3637,7 +3635,7 @@ long Get_EndSector(unsigned long p_track |
| 435 |
if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT; |
| 436 |
|
| 437 |
while (i.hasNextTrack(&i)) { |
| 438 |
- TOC *p = i.getNextTrack(&i); |
| 439 |
+ TOC_t *p = i.getNextTrack(&i); |
| 440 |
if (GETTRACK(p) == p_track) { |
| 441 |
p = i.getNextTrack(&i); |
| 442 |
if (p == NULL) { |
| 443 |
@@ -3669,7 +3667,7 @@ long FirstAudioTrack(void) |
| 444 |
else i.reset(&i); |
| 445 |
|
| 446 |
while (i.hasNextTrack(&i)) { |
| 447 |
- TOC *p = i.getNextTrack(&i); |
| 448 |
+ TOC_t *p = i.getNextTrack(&i); |
| 449 |
unsigned ii = GETTRACK(p); |
| 450 |
|
| 451 |
if (ii == CDROM_LEADOUT) break; |
| 452 |
@@ -3687,7 +3685,7 @@ long FirstDataTrack(void) |
| 453 |
else i.reset(&i); |
| 454 |
|
| 455 |
while (i.hasNextTrack(&i)) { |
| 456 |
- TOC *p = i.getNextTrack(&i); |
| 457 |
+ TOC_t *p = i.getNextTrack(&i); |
| 458 |
if (IS__DATA(p)) { |
| 459 |
return GETTRACK(p); |
| 460 |
} |
| 461 |
@@ -3708,7 +3706,7 @@ long LastAudioTrack(void) |
| 462 |
else i.reset(&i); |
| 463 |
|
| 464 |
while (i.hasNextTrack(&i)) { |
| 465 |
- TOC *p = i.getNextTrack(&i); |
| 466 |
+ TOC_t *p = i.getNextTrack(&i); |
| 467 |
if (IS__AUDIO(p) && (GETTRACK(p) != CDROM_LEADOUT)) { |
| 468 |
j = GETTRACK(p); |
| 469 |
} |
| 470 |
@@ -3730,7 +3728,7 @@ long Get_LastSectorOnCd(unsigned long p_ |
| 471 |
if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT; |
| 472 |
|
| 473 |
while (i.hasNextTrack(&i)) { |
| 474 |
- TOC *p = i.getNextTrack(&i); |
| 475 |
+ TOC_t *p = i.getNextTrack(&i); |
| 476 |
|
| 477 |
if (GETTRACK(p) < p_track) |
| 478 |
continue; |
| 479 |
@@ -3749,9 +3747,9 @@ int Get_Track(unsigned long sector) |
| 480 |
else i.reset(&i); |
| 481 |
|
| 482 |
if (i.hasNextTrack(&i)) { |
| 483 |
- TOC *o = i.getNextTrack(&i); |
| 484 |
+ TOC_t *o = i.getNextTrack(&i); |
| 485 |
while (i.hasNextTrack(&i)) { |
| 486 |
- TOC *p = i.getNextTrack(&i); |
| 487 |
+ TOC_t *p = i.getNextTrack(&i); |
| 488 |
if ((GETSTART(o) <= sector) && (GETSTART(p) > sector)) { |
| 489 |
if (IS__DATA(o)) { |
| 490 |
return -1; |
| 491 |
@@ -3772,7 +3770,7 @@ int CheckTrackrange(unsigned long from, |
| 492 |
else i.reset(&i); |
| 493 |
|
| 494 |
while (i.hasNextTrack(&i)) { |
| 495 |
- TOC *p = i.getNextTrack(&i); |
| 496 |
+ TOC_t *p = i.getNextTrack(&i); |
| 497 |
|
| 498 |
if (GETTRACK(p) < from) |
| 499 |
continue; |
| 500 |
@@ -3788,54 +3786,3 @@ int CheckTrackrange(unsigned long from, |
| 501 |
return 0; |
| 502 |
} |
| 503 |
|
| 504 |
-#ifdef USE_PARANOIA |
| 505 |
-long cdda_disc_firstsector(void *d); |
| 506 |
- |
| 507 |
-long cdda_disc_firstsector(void *d) |
| 508 |
-{ |
| 509 |
- return Get_StartSector(FirstAudioTrack()); |
| 510 |
-} |
| 511 |
- |
| 512 |
-int cdda_tracks(void *d); |
| 513 |
- |
| 514 |
-int cdda_tracks(void *d) |
| 515 |
-{ |
| 516 |
- return LastAudioTrack() - FirstAudioTrack() +1; |
| 517 |
-} |
| 518 |
- |
| 519 |
-int cdda_track_audiop(void *d, int track); |
| 520 |
- |
| 521 |
-int cdda_track_audiop(void *d, int track) |
| 522 |
-{ |
| 523 |
- return Get_Datatrack(track) == 0; |
| 524 |
-} |
| 525 |
- |
| 526 |
-long cdda_track_firstsector(void *d, int track); |
| 527 |
- |
| 528 |
-long cdda_track_firstsector(void *d, int track) |
| 529 |
-{ |
| 530 |
- return Get_AudioStartSector(track); |
| 531 |
-} |
| 532 |
- |
| 533 |
-long cdda_track_lastsector(void *d, int track); |
| 534 |
- |
| 535 |
-long cdda_track_lastsector(void *d, int track) |
| 536 |
-{ |
| 537 |
- return Get_EndSector(track); |
| 538 |
-} |
| 539 |
- |
| 540 |
-long cdda_disc_lastsector(void *d); |
| 541 |
- |
| 542 |
-long cdda_disc_lastsector(void *d) |
| 543 |
-{ |
| 544 |
- return Get_LastSectorOnCd(cdtracks) - 1; |
| 545 |
-} |
| 546 |
- |
| 547 |
-int cdda_sector_gettrack(void *d,long sector); |
| 548 |
- |
| 549 |
-int cdda_sector_gettrack(void *d, long sector) |
| 550 |
-{ |
| 551 |
- return Get_Track(sector); |
| 552 |
-} |
| 553 |
- |
| 554 |
-#endif |