Commit Graph

24 Commits

Author SHA1 Message Date
rocky
5a515d9140 Simplify endian determination - thanks to suggestions of Steve Schultz
Remove recently added field is_scsi which isn't in cdparanoia
2005-04-30 07:15:51 +00:00
rocky
54e0e9a52f An ATAPI drive (_NEC , DVD_RW ND-3520A, 1.04, SCSI CD-ROM) was getting
set as big endian although it appeared not to, possibly because of
SCSI emulation.

We now test for SCSIness in addition to ATAPIness as both can occur.

Added field in cdrom_device structure for SCSIness and that's tested
before unconditionally setting drive bigendian-ness.
2005-04-28 01:25:53 +00:00
rocky
8296df8b3d Add generic mode_sense(), add cdio_have_atapi() and use these.
API number bumped
Add bool_3way_t (yes, nope, dunno)
2005-02-10 01:59:05 +00:00
rocky
2860cea4cb lib/drivermmc.{c,h}: Add mmc_have_interface() to see if we've got SCSI
or ATAPI or whatever.

cdda_interface: Use mmc_have_inteface() we don't have anything for
this except in GNU/Linux. May reduce the unnecessary data_bigendianp()
calls which cause lots of disc reading.

Turn #defines for MMC Profiles into enumeration.
Add enumeration for "core" interface types

#include <cdio/scsi_mmc.h> -> #include <cdio/mmc.h>
2005-02-07 03:36:01 +00:00
rocky
840330127a cooked -> cddap. It has been observed that the use of "cooked" causes
confusion and derision among the small-minded; and the code doesn't
use cooked reading anyway.
2005-02-05 16:25:51 +00:00
rocky
a35a0a61d3 Remove d->interface. 2005-02-05 04:23:56 +00:00
rocky
9e2eaf7546 cdparanoia: add ability to disable byte swapping
configure.ac: remove AIX driver for now - it doesn't really work
remove some (but not all) of the valgrind errors in cd-text
Some stylistic things, doxygen comment improvements typos, etc.
2005-01-27 03:10:06 +00:00
rocky
d7b87a6fad Add a cdda_close that doesn't free the p_cdio pointer for those cases
where an application may want to keep that pointer open.

All routines now are distinct from parnaoia routines with suitable
#defines for compatibility.
2005-01-26 01:03:16 +00:00
rocky
266cb9a65d libcdio_cdda.pc.in: had wrong cdda_interface library
Rename paranoia routines to cdio-specific names so both libraries can
coexist.  And I think it makes debugging a little easier if not
clearer.
2005-01-25 11:04:45 +00:00
rocky
bdf0d1a6c4 Work around problem where we were accessing outside of an allocate
range when the drive endian was different than the CD-ROM
endianness. We do this by always allocating an extra block, but it
would be better to understand whether this is correct or whether some
logic needs to be fixed.
2005-01-23 14:05:19 +00:00
rocky
634ac3f979 Do not try to process if we got errors. More needs to be done, but this is a start. 2005-01-18 16:05:29 +00:00
rocky
aa50f5e09a Add regression-test mechanism. Right now we only have underrun testing.
Perhaps more later...
cd-paranoia: -x option added to specify what to test.
2005-01-15 16:05:44 +00:00
rocky
deaa91326f Looked at WAV spec format. Probably (but I'm not certain) the thing
that was wrong was the test program which needs to byte swap. What
confuses me now is how the media players sort this out.
2005-01-14 04:09:30 +00:00
rocky
165363409d The sense I'm getting is that while the bigendianp detection is
clever, it isn't complete. It may be that we need to use this along in
conjunctin with the endianness of the OS. That is instead of
big/little endian, what's needed is same/not same endian.

For now, the simplest thing is to just disable all of this and wait to
discover a CD-ROM drive where we have a problem.
2005-01-14 03:41:11 +00:00
rocky
e49e11fbc7 Had commented out bigendiap avoidance. Use - things go much faster. 2005-01-10 03:39:57 +00:00
rocky
6f7e9e182b cdio.{c,h}: moved various reading and device/driver routines out into the below
read.{c,h}: separate include for the reading routines.
disc.{c,h}: more moved here from corresponding cdio.
device.c: a place for device/driver related routines.
interface.c: break up line to make debugging easier.
2005-01-09 16:07:46 +00:00
rocky
c6e33b1a1c Put back some of the GNU/Linux-ism for detecting drive endian-ness.
The data-driven endian correction isn't working correctly.

Ultimately though this code should move down into libcdio (and get
removed from here.)
2005-01-08 20:39:40 +00:00
rocky
7b3a089b9f More portability fixes. I think this now does something on BSDI. 2005-01-06 03:38:58 +00:00
rocky
97af0343c5 Lots of portability fixes to make non GNU/Linux-specific. Now runs on Solaris! 2005-01-06 03:09:11 +00:00
rocky
f939e73e52 First working all-libcdio cd-paranoia (modulo various omissions and
memory leaks).
2005-01-06 01:15:51 +00:00
rocky
7a2a44a814 The first all libcdio cdda_interface. There are some gaps could be
filled.

cdda_inteface.h renamed to cdda.h

cdio_destroy moved from cdio.h to device.h
2005-01-05 04:16:11 +00:00
rocky
0c35a965fc More integration/cleanup. Now uses cdio bytesex.h's BE/LE routines.
copystring -> strdup.

Some int's changed to track_t. But I need to be careful *not* to change
cdda_interface.h.
2004-12-19 01:43:38 +00:00
rocky
81d0304b7e test/*, configure.ac:
First paranoia regression test. It's run automatically as it assumes
  that you have a *flawless* CD-DA in a drive.

*.{c,h}: more integration toward libcdio routines. In particular remove
swap16 and swap32.
2004-12-19 00:02:09 +00:00
rocky
6c14d28918 BIG REORGANIZATION.
Reorganize directory structure for inclusion of cd-paranoia. Works for
GNU/Linux. Other OS's may be broken. Regression test output needs to
be adjusted too.

Move:
lib/driver (split off of lib)
lib/iso9660 (split off of lib)

Add from paranoia:
lib/cdda_interface
lib/paranoia
src/paranoia

Also made some small changes to capability indentification to show
more reading capabilties and show that.

cd-info now shows the total disc size.
2004-12-18 17:29:32 +00:00