Johannes Dewender
Johannes Dewender
Not really sure why github shows this pull-request still having 6 commits. 4 of these are already in master as can also be seen in https://github.com/metabrainz/libdiscid/compare/master...isrc_raw
Found some info about the CRC: The CRC-16 is on CONTROL, ADR and DATA-Q. MSB is "first out". On disc parity bits are inverted, syndrome compared with 0, polynomial: x^16+x^12+x^5+1...
Windows code is updated now, so scsi_cmd on Windows can be implemented. I also added the test suite from master, making breakage more evident.
I implemented CRC checking and also changed to reading each sector separately. Interestingly both changes enhance the quality considerably. I didn't observe CRC mismatches after switching to separate sector reads...
Did you try the drive again on Windows after I added the debug out? I should also add this debug out to the main isrc_raw branch. Anyways, that should show...
Unfortunately I didn't read much about scsi command availability detection yet. I remember reading something about that function being part of some MMC suite and that you could check if...
Discs without ISRCs should take like 10 seconds now, rather than 5 minutes before. The spec says there should be one every 100 sectors (valid CRC or not) so we...
I merged the Windows code for raw ISRCs into this branch now. @phw: You had a drive that could find ISRCs on a disc with the normal method, but not...
@phw: We fall back to normal reads now when the scsi command doing raw ISRCs fails. Please retest. Currently warnings are printed (to stderr) for every track where raw ISRCs...
I also implemented "real" scsi feature detection now. @phw: If the command for raw read really isn't available, then only one warning is shown and non-raw isrc reads are used....