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>
