[Paranoia-dev] C2 error support.
Kurt Roeckx
kurt at roeckx.be
Fri May 22 05:57:24 PDT 2009
Hi,
I'm looking into adding support for reading the C2 error
information, and probably some other things like CD-TEXT,
CD+MIDI, CD+G, ISRC, whatever info I can read from the disc.
It looks like I need to extend the API for this. For instance,
for the C2 error information you get 1 bit per read byte
to indicate if there was an error reading that byte or not.
I see several ways to do this:
- Create new versions of exising functions with extra parameters
(and different name)
- Create functions that return the extra info from the last
call.
- Setting reading C2/subchannel info default to off, and return
the data exactly like the drive returns it, so just after the
main data. It looks like this atleast requires a new function
to set the options.
- Read the data by default, if supported by the drive, and instead
of adding it after the main data of each sector, change it so
that the main data of all sectors are still returned first,
and then the other data.
The R-W subchannels can contain interleaved/error corrected
info like CD-TEXT, and not all drives support returning
that data deinterleaved and error corrected, but most do
support reading the RAW data. So we might need to implement
that ourself.
So I'm wondering what you think the best option is. I'm currently
in favour of the second option.
Kurt
More information about the Paranoia-dev
mailing list