[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