[vlc-devel] Segments/stills via vcdimager libraries

R. Bernstein rocky at panix.com
Mon Jul 14 04:39:13 CEST 2003


Got back from a long vacation and picked up full VCD support on vlc.
Some status on that, and after that comments on Johan Bilien's
remarks. 

I can read segments and stills in the first XA track and show that. As
mentioned before, the way you refer to segments (which can contain
menus and still frames), tracks (sort of like titles), or entries (sort
of like chapters) is via a prefix letter, T, S, or E. So
vcd:///dev/cdrom@S0 is segment #0 of the VCD in /dev/cdrom.

As best as I can tell the existing vcd://...@x,y is broken for
"Chapter" y. 

In general, I've been having a lot of problems with the interface and
understanding how to get it to do what I want. When I look at what
DVD's do to handle still frames, I see some sort of thread being
created but how I'd make the VCD code do all this I'm a little
lost. The lack of documentation doesn't help. For now, I loop still
frame reading.

Johan Bilien reports:

  [ With respect to the GUI using "Title" and "Chapter" and setting @x,y ] 
  Yes I did this so that we don't have to change all the interfaces for
  VCD playing, they can use DVD controls. But I agree this should be
  changed.

Okay, great! More detail on how to change? One place I know I'd like
to see changed is input_AddArea() so it doesn't hard-code the "Title"
and "Chapter". This might also help for CD-DA's where one might want
to use the name "Track" and for those applications where "Channel" is
used.

  [ With respect to handling input numbers, such as for menu selection ] 

  Input handling is done by the interfaces and video output. Maybe a
  additional interface could be launched when playing vcd, listening to
  the numbers on the keyboard, so that we don't have to add this for every
  interface, and so that it works whether the video or the main interface
  window has the focus.

Also great. If you or someone would do and let me know what I need to
do that'd be great. 


  [ On libcdio/vcdimager ]

  This is great, the only problem as said before is portability of libcdio
  and libvcdinfo. 

I'm all for adding additional OS support on libcdio. Folks are more
than welcome to contribute. 

  Right now we could have two vcd plugins, one for
  supported systems, using those libs, and the old one for the other
  systems. 

Not a problem. 

  This would also be nice if vcdimager could release libvcdinfo.

Has been done - sort of. Release 0.7.14 of vcdimager creates
libvcdinfo.a and libvcd.a, but these are not installed. I used to link
these in statically in the xine VCD plugin. The cdio branch of
vcdimager in CVS (http://savannah.gnu.org/projects/vcdimager/) however
does install these libraries and the headers.

If you look in the download section of libcdio at
  http://savannah.nongnu.org/files/?group=libcdio

you'll find a tarball under version 0.61 for a vcdimager
(vcdimager-0.7.16-cdio.tar.gz) which installs libvcdinfo/libvcd along
with a libcdio tarball (and the xine vcd plugin which you don't have
to download if you don't want).

The next release of vcdimager will probably be called 0.7.20 and will
be the cdio branch that's in CVS. 

Thanks.
-- 
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