Hi - Thanks for the report and suggestion as to how to fix.
I don't have access to a FreeBSD box, so I can't investigate to the level of detail I'd like. <rant> I thought yesterday night or today I might be able to look at. Alas as it often happens with sourceforge, when I have a free time slot, one of their services is down, in this case it is the compile farm shell server. (It's been broken for about a week. You figure this out is *not* by not looking at the status page but the "service-request" page: https://sourceforge.net/tracker/index.php. After years of sourceforge, one learns useful stuff like this.) </rant> But if even I did have access to sourceforge's FreeBSD server, it isn't all that satisfying since I don't really have access put an audio CD into the CD-ROM would be needed here. Anyway, it was my understanding that when the CAM access mode is used on FreeBSD (rather than ioctl), a rather generic MMC read sectors routine is use, not CDIOCREADAUDIO. And it was my impression that CAM is used by default. When you run the stand-alone utility "cd-info" it shows you what access mode is used by default. For example on GNU/Linux I see: cd-info version 0.77 i686-redhat-linux-gnu ... CD location : /dev/cdrom CD driver name: GNU/Linux access mode: ioctl ^^^^^ What does your cd-info show here? >From a programming standpoint, the way to force the access mode is to use cdio_open_am() and pass in "CAM" for the 2nd parameter. You can also change access modes anytime after opening using cdio_set_arg("access-mode", "CAM") That said, if libcdio is using CDIOCREADAUDIO and that's deprecated, it should be fixed. A good way to get this fixed is to put in a patch. I hope code for doing this is al that tricky. The code for this is located in in libcdio*/lib/driver/FreeBSD/freebsd_iotcl.c in read_audio_sectors_freebsd_ioctl(). Jonne Lehtinen writes: > Hello, > > I've been trying to make a CDDA plugin for XMMS2 and have had some > success too, mainly on linux. I asked a co-developer to test it on > FreeBSD 6.1 and we ran into a lot of trouble. > > Currently the wall that's preventing us from continuing is broken > CDIOCREADAUDIO macro (I think)... > > We get this output from xmms2d when trying to play a CD.. > > DEBUG: src/xmms/xform.c:576: Plugin 'cdda' matched > DEBUG: src/plugins/cdda/cdda.c:134: Trying to open device /dev/acd0, > using ioctl access mode. > DEBUG: src/plugins/cdda/cdda.c:148: Opened default CD device. > Checking /dev/acd0 for cdrom... > CDIOCREADAUDIO: Inappropriate ioctl for device > CDIOCREADAUDIO: Inappropriate ioctl for device > CDIOCREADAUDIO: Inappropriate ioctl for device > CDIOCREADAUDIO: Inappropriate ioctl for device > CDIOCREADAUDIO: Inappropriate ioctl for device > CDIOCREADAUDIO: Inappropriate ioctl for device > CDIOCREADAUDIO: Inappropriate ioctl for device > CDIOCREADAUDIO: Inappropriate ioctl for device > CDIOCREADAUDIO: Inappropriate ioctl for device > CDIOCREADAUDIO: Inappropriate ioctl for device > CDIOCREADAUDIO: Inappropriate ioctl for device > CDIOCREADAUDIO: Inappropriate ioctl for device > CDIOCREADAUDIO: Inappropriate ioctl for device > CDIOCREADAUDIO: Inappropriate ioctl for device > DEBUG: src/plugins/cdda/cdda.c:158: Unable to open disc > > After a little googling I found that CDIOCREADAUDIO was remove around > 2002-2003 from freebsd and there's supposedly better alternative for > reading raw audio from CD. > I also found this: > http://lists.freebsd.org/pipermail/freebsd-current/2004-April/025206.html > > The problem may also be in my code: http://www.saunalahti.fi/~jukka712/cdda.c > (doesn't compile on its own, requires xmms2-devel build environment) > > We're using libcdio 0.77. > > - Jonne Lehtinen > > > _______________________________________________ > Libcdio-devel mailing list > [email protected] > http://lists.gnu.org/mailman/listinfo/libcdio-devel > _______________________________________________ Libcdio-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/libcdio-devel
