In Solaris the current GStreamer CDDA plugin makes use of ioctls to 
access the CD device.  This is non-ideal from a quality perspective
since the plugin has no error correction code, which is pretty standard
in most popular programs to interact with audio CD devices.

The attached patch updates the GStreamer CDDA plugin to use cdda2wav
which does support error correction.  This means that CD's played or
ripped with this new plugin should have higher quality, with fewer
errors.  Also cdda2wav tends to be better about supporting a wider array
of CD devices.

This feature depends on cdda2wav version "2.01.01a53" which was
integrated into Nevada 105.  This new version of cdda2wav supports an
interactive mode so that GStreamer can open the cdda2wav process and
interactively tell it which sectors to provide, even if they are in
non-sequential order.  This is needed so that you can rewind/fastforward
(or move the time sldier around) without performance issues.

This patch was written by Joerg Schilling and myself.  I wrote the
initial plugin code in January, 2008.  This used the old cdda2wav which
did not have the interactive feature mentioned above.  Due to
performance issues with rewind/fastforward, Joerg then implemented the
interactive mode feature into cdda2wav and updated the plugin to use
this new feature.  This work was finished around June, 2008.  However,
since the updated version of cdda2wav did not integrate into Nevada
until build 105, we are now finally able to integrate this.

So, this has been a long work in progress.

Brian

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: gst-plugins-good-02-cdda.diff
URL: 
<http://mail.opensolaris.org/pipermail/jds-review/attachments/20090108/f6bec6ac/attachment.ksh>

Reply via email to