libcdio-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Libcdio-devel] FreeBSD driver seems to be broken


From: R. Bernstein
Subject: [Libcdio-devel] FreeBSD driver seems to be broken
Date: Sat, 27 May 2006 12:01:59 -0400

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
 > address@hidden
 > http://lists.gnu.org/mailman/listinfo/libcdio-devel
 > 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]