libcdio: History
1
1 1 History
1 *********
1
1 As a result of the repressive Digital Millennium Copyright Act, DMCA, I
1 became aware of Video CD's (VCD's). Video CD's are not subject to the
1 DMCA and therefore enjoy the protection afforded by copyright but no
1 more. But in order for VCD's to be competitive with DVD's, good tools -
1 including GPL tools - are needed for authoring and playing them. And so
1 through VCD's I became aware of the excellent Video CD tools by Herbert
1 Valerio Riedel which form the 'vcdimager' package.
1
1 Although vcdimager is great for authoring, examining and extracting
1 parts of a Video CD, it is not a VCD player. And when I looked at the
1 state of Video CD handling in existing VCD players: 'xine', 'MPlayer',
1 and 'vlc', I was a bit disappointed. None handled playback control,
1 menu selections, or playing still frames and segments from track 1.
1
1 Version 0.7.12 of vcdimager was very impressive, however it lacked
1 exportable libraries that could be used in other projects. So with the
1 blessing and encouragement of Herbert Valerio Riedel, I took to extract
1 and create libraries from this code base. The result was two libraries:
1 one to extract information from a VCD which I called libvcdinfo, and
1 another to do the reading and control of a VCD. Well, actually, at this
1 point I should say that a Video CD is really just Video put on a
1 existing well-established Compact Disc or CD format. So the library for
1 this is called 'libcdio' rather than 'libvcdio'.
1
1 While on the topic of the name 'libcdio', I should also explain that the
1 library really doesn't handle writing or output (the final "o" in the
1 name). However it was felt that if I put 'libcdi' that might be
1 confused with a particular CD format called CD-I.
1
1 Later on, the ISO-9660 filesystem handling component from 'vcdimager'
1 was extracted, expanded and made a separate library. Next the ability
1 to add MMC commands was added, and then CD paranoia support. And from
1 there, the rest is history.
1