Just a warning for sarami, when dumping Main + C2 + Sub you have to correct the offset of main channel and the offset of the C2 pointers.
For example, if the autodetected offset correction for the main channel is +48 samples / + 192 bytes, you have to apply 192 bits (192 bytes / 8) offset correction to the C2 pointers provided by the drive.
@F1ReB4LL: what's about the method used by the dBpoweramp CD Ripper? And perhaps is useful as inspiration for sarami. It's the commercial program (I bought a licence a year ago) I use to rip my music CDs into my music library.
Roughly it does this:
-Read one given track once. If no C2 error reported, encode to the final file. If C2 errors are detected, will make rereads taking into account the C2 pointers.
-It will try to get 10 identical reads and not marked as bad by the C2 pointers, until it can get those identical 10 reads not marked as bad or reach the maximum number of rereads allowed (you can configure any extreme numbers of rereads, like 2000/5000/10000 rereads, the developer suggests 750 if you own a drive with decent C2 error reporting). If cannot obtain 10 identical rereads not marked as bad, but could obtain a certain reread not marked as bad, it will use this one.
-Of course, the program needs to know the ammount of audio that the drive caches (can autodetect that) to defeat properly the cache when performing the rereads. Or if you own a real Plextor drive, you can enable the FUA mode to defeat fastly the cache without rereading useless data.
For example, ripping this music track detected 10 bad sectors (according to C2 pointers), and reread these ones until it could obtain 10 identical rereads not marked as bad. c2 dropped n means the number of rereads discarded because at least there is one corrupted byte.
Code: Select all
Track 4: Ripped LBA 71463 to 94145 (5:02) in 9:07. Filename: C:\Extraído\Prodigy, The\Music for the Jilted Generation\04.wav
Secure (Warning) [Pass 1, Ultra 1 to 1, Re-Rip 10 Frames]
CRC32: A7A75304
Re-rip Frame: 72283 (00:00:10,920) matched 10 / 12 (c2 dropped 156)
Re-rip Frame: 74723 (00:00:43,453) matched 10 / 12 (c2 dropped 4)
Re-rip Frame: 81020 (00:02:07,413) matched 10 / 12 (c2 dropped 473)
Re-rip Frame: 81021 (00:02:07,426) matched 10 / 12 (c2 dropped 763)
Re-rip Frame: 81480 (00:02:13,546) matched 10 / 12 (c2 dropped 5460)
Re-rip Frame: 81876 (00:02:18,826) matched 10 / 11 (c2 dropped 1)
Re-rip Frame: 82211 (00:02:23,293) matched 10 / 11
Re-rip Frame: 83303 (00:02:37,853) matched 10 / 11 (c2 dropped 2)
Re-rip Frame: 84605 (00:02:55,213) matched 10 / 12 (c2 dropped 123)
Re-rip Frame: 90379 (00:04:12,200) matched 10 / 12 (c2 dropped 75)