Commit Graph

57 Commits

Author SHA1 Message Date
rocky
3a1145614b include <stdbool.h> only if not C++. 2005-09-17 20:57:19 +00:00
rocky
d97137d6ed Get device name if none supplied in cdio_cddap_indentify. Check for
more error conditions and update doc to reflect that the error return
is NULL.
2005-08-27 14:28:30 +00:00
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
20acbc8d07 Another typo 2005-02-05 23:53:06 +00:00
rocky
ec5daa5b0d Typo. 2005-02-05 23:52:20 +00:00
rocky
0e2f37193c Another "cooked" name bites the dust. Soem doxygen cleanup too. 2005-02-05 23:45:57 +00:00
rocky
187c314225 Deal with OS's that don't have a stat'able filesystem.
More SuSe spec removal.

More SuSE spec removal
2005-02-05 23:16:34 +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
b58349ba1a Make debugger-helping enums extern'd and define onces elsewhere. 2005-02-05 12:37:35 +00:00
rocky
a35a0a61d3 Remove d->interface. 2005-02-05 04:23:56 +00:00
rocky
f0708a5264 Test and workaround another Unixism - pwd.h, getuid/getpwuid. 2005-02-03 08:07:24 +00:00
rocky
5bd3a51e03 Test for presense of lstat (optionally used in scan_devices of
cdda_interface).
2005-02-03 07:52:15 +00:00
rocky
3b6c362c6e Remove a number of GNU/Linux and/or Unix #includes that probably don't
belong. #ifdef some of the others, although I think they'll likely be
there.
2005-02-03 07:28:40 +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
4fabb2857e Remove some valgrind-caught memory leaks or use of uninitialized regions. 2005-01-23 05:31:03 +00:00
rocky
971e5ae928 Nope. Didn't get it right this time either with the byteswapping.
However we've at least reduced the customness.
2005-01-23 00:27:11 +00:00
rocky
b471729aa7 Use common byte-swapping routines and remove cdparanoia-specific ones.
(This time, for sure!)
2005-01-23 00:20:43 +00:00
rocky
567e6e7775 Add jitter simulation and jitter-correction testing. 2005-01-22 18:11:32 +00:00
rocky
1062cf3c74 Add routines which allow cdio object to be opened before cdda_open.
common_interface.h: data_bigendianp() is now public (in cdio/cdda.h)
2005-01-22 03:45:18 +00:00
rocky
1b40bc3018 Even though this may not be nstrictly the way the original
cdda_interface does things, add a spaces between the vendor, model,
and revison number.
2005-01-19 17:24:58 +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
00dfa4d39a Bug in accessing via snprintf a NULL string. 2005-01-18 03:03:56 +00:00
rocky
e5bdc956e9 Add interface for setting speed and blocksize. Reinstated it in
cd-paranoia libraries and command.

Some more variable convention regularizations.
2005-01-18 00:57:19 +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
9137470a8e Redo in a way simpler way that and in a way that valgrind doesn't
think there's a memory leak.
2005-01-15 03:22:48 +00:00
rocky
a3bafd4ba7 cooked_interface.c: check for TOC-read error.
cd-paranoia.c: check that list of drives isn't just NULL list.
2005-01-15 02:23:04 +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
bcff4bc236 Reinstate more of the libcdio routines. 2005-01-14 01:36:11 +00:00
rocky
fde6bbbb1b Put back original cdparanoia byte-swapping routines until we smoke out what's
going wrong on cygwin.
2005-01-13 21:38:21 +00:00
rocky
e49e11fbc7 Had commented out bigendiap avoidance. Use - things go much faster. 2005-01-10 03:39:57 +00:00
rocky
fe0fe0a17a toc.c: don't assume first sector is 1.
cdda.h: document TOC better.
p_block.c: revise getting paranoia first/last sector
2005-01-10 02:10:46 +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
ba7d7c0684 Got BE and LE conversion backwards. Caused cdda-endianess determination
to fail.
2005-01-09 12:32:19 +00:00
rocky
b33726b00e Fix my recent breakage in adding back GNU/Linux endian determination.
Need to seet nsectors if not GNU/Linux. Some lint things for non-GNU/Linux.
2005-01-09 01:50:56 +00:00
rocky
64addbf50c Fix a bad bug where we were requesting potentially a huge number of blocks
(-1 unsigned). Fix both the driver to disallow such a nonsensical thing as well
as just don't make the request.
2005-01-09 00:47:07 +00:00
rocky
b9778d3b42 Compilation fix for non-GNU/linux 2005-01-08 20:47:03 +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
f4849ba055 Better about handling non-Unix devices. 2005-01-08 00:56:09 +00:00
rocky
b080079248 Remove a GNU/Linux includes that isn't used any more.
Move other GNU/Linux tests to the linux-specific part of configure.
2005-01-07 22:15:24 +00:00
rocky
7c2bc5e889 Initialize buff in case read doesn't do it. (But I'm no sure why the
read isn't doing this properly.)
2005-01-07 02:40:57 +00:00
rocky
8bf55e44b6 Add doxygen doc for exxternal routines. 2005-01-06 23:32:58 +00:00
rocky
9771c44e95 Remove some Unixisms in checking drive. Rely on libcdio to do the
checking - it's platform independent.

win32_ioctl.c: more detailed info message.
2005-01-06 16:37:30 +00:00
rocky
7b3a089b9f More portability fixes. I think this now does something on BSDI. 2005-01-06 03:38:58 +00:00