[vlc-devel] Re: vlc and libcdio - preliminary results

R. Bernstein rocky at panix.com
Mon May 26 06:54:55 CEST 2003

Derk-Jan Hartman writes:
 > someone just added a raw cdda module.
 > http://www.videolan.org/cgi-bin/cvsweb/vlc/modules/access/cdda.c
 > It works on all platforms.

Looks like it piggybacks on the cdrom.{c,h} code.  So it would work
with the changes I made as well. However there is one slight
simplification I made.  ioctl_Close() in CVS takes two parameters -
one is needed for the "disk image" close. However when using libcdio
this is all handled inside the cdio structure so with libcdio only one
parameter is needed.

I hope vlc doesn't repeat what I think are mistakes xine made. Soon
after cdda was initially checked in (by copying code from vcd.c rather
than using routines from cdrom.c this as a subroutine as is done here
-- so already vlc comes out ahead) someone put in inline CDDB
code. And then someone added some invented (yet another?) CD-DA over

Should it be desired to add CDDB support to the CD-DA plugin, I
suggest using the wonderful libcddb library

 > interest always, but i think that for such a function platform  
 > independence is a requirement.

I'm lost to what you are getting at here. The whole point of libcdio
is that *it* handle the OS and drive specific stuff so it doesn't have
to in vlc. A good organization I would think would be to have OS
and/or drive specific code (libcdio) in one place/library, plugin
independent code for that particular format (e.g. CD-DA routines and
Video CD routines independent say of vlc, xine, mplayer, etc.) in
another place/library and finally the parts that are needed for the
specific media player. CD-DA is generally so simple - single tracks
that much to put in a layer. For unsophisticated Video CD usage one can
treat it like CD-DA

I'm delighted that there was a conscious separation made between
cdrom.c and vcd.c which already has paid off when writing
cdda.c. However there still is the notion that both vlc-specific parts
and Video CD independent navigation are handled right now in vcd.c. If
you look at the DVD code you'll see much more of this is split out and
even a library created for navigation.

> But i'm not the person to answer your questions ;) just saw your mail  
 > and wanted to inform you of our cdda module.

This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html
If you are in trouble, please contact <postmaster at videolan.org>

More information about the vlc-devel mailing list