libcdio-paranoia 10.2+2.0.2
|
Functions | |
int | data_bigendianp (cdrom_drive_t *d) |
int | FixupTOC (cdrom_drive_t *d, track_t i_tracks) |
int data_bigendianp | ( | cdrom_drive_t * | d | ) |
Determine Endian-ness of the CD-drive based on reading data from it. Some drives return audio data Big Endian while some (most) return data Little Endian. Drives known to return data bigendian are SCSI drives from Kodak, Ricoh, HP, Philips, Plasmon, Grundig CDR100IPW, and Mitsumi CD-R. ATAPI and MMC drives are little endian.
rocky: As someone who didn't write the code, I have to say this is nothing less than brilliant. An FFT is done both ways and the the transform is looked at to see which has data in the FFT (or audible) portion. (Or so that's how I understand it.)
int FixupTOC | ( | cdrom_drive_t * | d, |
track_t | i_tracks | ||
) |
Here we fix up a couple of things that will never happen. yeah, right.
The multisession stuff is from Hannu code; it assumes it knows the leadout/leadin size. [I think Hannu refers to Hannu Savolainen from GNU/Linux Kernel code.]