[MPlayer-dev-eng] [PATCH] VCD Playback via libdcio

R. Bernstein rocky at panix.com
Wed Dec 15 19:16:44 CET 2004


I've patched mplayer to use libcdio reading routines; that is at
the end of this post. I was rather surprised at how easy it was to do.

What's the difference/benefit? 

1. Image Drivers. Of the OS device drivers that mplayer provides, I
   think all are also available via libcdio. libcdio also has a cygwin
   driver. As for the image drivers, libcdio adds cdrdao and some NRG
   cd images (although some of this is buggy and will be fixed in
   time).

2. Auto VCD detection. libcdio provides auto-detection of CD-drives
   with VCDs in them on all platforms. For example if you have
   multiple CD-ROMs you can leave the drive specification blank and if
   you specify a vcd MRL all of the drives will be scanned for a VCD.

3. Simplicity. I think the operation is simpler and cleaner.  Were
   mplayer to use libcdio exclusively and I am *not* suggesting this
   right now, 6 files (vcd_read_darwin.h, vcd_read_fbsd.h,
   vcd_read_nbsd.h, vcd_read.h, cue_read.c, cue_read.h) could be
   removed. The replaced file, stream_vcdx.c (for stream_vcd.c), is
   doesn't have any OS-specific code in it.

4. Springboard for doing more. If one wants to do more sophisticated
   VCD navigation or deal with VCD-specific entities like entry
   points, or LIDs, the code is better positioned for libvcdinfo which
   requires libcdio.
   
   libcdio can also be used for CD-DA reading too. But it looks like
   mplayer supports CD paranoia while right now and that's not
   integrated into libcdio. (It is slated for the next release of
   libcdio though.)  For CD-DA using libcdio would allow for retrieval
   of CD-Text info.

Enough. Here's the patch and then the additional file libmpdemux/stream_vcdx.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: stream_vcdx.c
Type: application/octet-stream
Size: 5868 bytes
Desc: stream_vcd.c done via libcdio
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20041215/0074658f/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mplayer-libcdio.diff
Type: application/octet-stream
Size: 7671 bytes
Desc: Patch for libcdio-enabled VCD
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20041215/0074658f/attachment-0001.obj>


More information about the MPlayer-dev-eng mailing list