/[gentoo-x86]/app-cdr/cdrkit/files/cdrkit-1.1.11-paranoiacdda.patch
Gentoo

Contents of /app-cdr/cdrkit/files/cdrkit-1.1.11-paranoiacdda.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download)
Thu Aug 2 13:05:39 2012 UTC (10 months, 2 weeks ago) by ssuominen
Branch: MAIN
CVS Tags: HEAD
Use system media-sound/cdparanoia instead of internal copy wrt #206939 by Diego Elio Pettenò

(Portage version: 2.2.0_alpha116/cvs/Linux x86_64)

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

  ViewVC Help
Powered by ViewVC 1.1.20