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

R. Bernstein rocky at panix.com
Mon May 26 16:58:31 CEST 2003

Sigmund Augdal writes:
 > The cdda module in vlc is in part there because I was very dissapointed by
 > how xine and xmms handled this. 

Did you look at my fairly recent replacement code for cd-da which is
part of the replacement VCD plugin? 


If so, I'd be interested in what you were dissappointed in.

 > Off course this is the good thing to do, but if you want to reach that goal
 > you should start by making the library work on the needed platforms, then
 > ditch the code in the player. My suggestion whould be that you start by
 > moving code from vlc to libcdio and then integrates libcdio into vlc. 

There's a chicken-and-egg problem. Initially my goal was to provide
better Video CD support. Period. At the time there was only one decent
authoring/ripping tool: vcdimager. I had to hack on that just to
create a library that would give me information from that could be
used in the player. (Compared to say vlc's vcd.c where the code has
been hacked incompletely with in-line code). After creating an
"information retrieval" library in vcdimager, I realized that a CD
reading abstraction was needed. I looked for an existing one, and
couldn't find such a library. So I got diverted and started on that.
The CD-reading library was extracted vcdimager routines.

Both the VCD info retrieval library and the CD reading library are
used in the xine plugin listed above. When I started this work there
wasn't OSX, MSC, or BeOS support in vlc (or xine let alone
vcdimager). So as I was doing this others were adding this support to
vlc and xine and mplayer and ...

For about the same effort that went into adding OS-specific device
support into vlc, it might have been added to libcdio (or some
equivalent library) with the benefit that vcdimager would be better
supported along with any other programs that use libcdio or some other
CD-reading library. 

For the record, currently both vcdimager and libcdio will probably run
on MSC and probably OSX (using a ISO C99-compliant compiler) but it can
only read disk-image formats and not native CD drives.

Right now in CVS for libcdio you'll see for example FreeBSD code
culled from somewhere else, xine, I think. However I don't have a
FreeBSD box that I can test on and I've asked the folks who do and
claim to be the authors of such support to try it out with no response
as of yet. (Likewise I privately asked one of the people who alleges
putting OSX support in vlc to add it to libcdio with similar lack of

You see the problem? It would be way cool if the folks that added the
OS-specific code if they could do likewise for libcdio. I bet it
wouldn't take that long since we are really only talking about one
file which reads blocks, reads a CD TOC, ejects a CD sets a string to
a likely default name of a likely CD drive. Sure, I'll get around to
it. No doubt that by the time I do another OS will have been added by
changing lots of files in lots places in several independent projects;
And no doubt someone who may have even added that code will say
libcdio is no good because *that* particular OS isn't there.

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