[gst-devel] DVD menu support
David I. Lehn
dlehn at vt.edu
Thu Jun 12 17:09:19 CEST 2003
* Martin Soto <soto at informatik.uni-kl.de> [20030612 17:56]:
> I hacked the dvdnavsrc element to
> support a number of features that were missing in order to completely
> support the DVD menus. Basically, I added support for DVD still frames
> (commonly used as menu backgrounds) and for subpicture highlights.
> Together with my DXR3 elements (already in gstreamer CVS), a number of
> changes to the mpegdemux element (also already in CVS) and a python
> script based on David Lehn's most excellent gst-python, I can play DVDs
> with (almost) full menu support.
Great!
> The DVD menu highligths are based on the
> subpicture mechanism (the same thing used for the DVD subtitles), and
> require that a number of information bits travel from the dvd decoder
> element to the subpicture decoding unit:
>
> - The actual encoded pictures.
> - The Color LookUp Table (CLUT).
> - The highlighted regions and corresponding color palettes.
> - The information contained in DVD nav packets (PCI and DSI structures).
<snip>
I'm not sure doing this with events is the best idea. And I see you
have sync issues with the app level handling method. Another option is
lots of streams. Pack structures into buffers and send them off on
various source pads. A loop based sink can use gst_pad_select() to grab
buffers as they arrive to multiple src pads. This probably has the same
timing issues as application level handling. A sync barrier for
multiple streams is probably hard to construct and would basically make
the system end up looking like a mux/demux on one stream of tagged
buffers. Could also pass some of this info with caps on the pads. It's
probably overloading the concept too far though.
wtay, omega: did you guys have some overall vision of how to handle
these sorts of sync issues for multiple streams of data/events?
If you want to collaborate on a dvd application it would be great to
have both hardware and software support with some shared common code in
VDV: http://vdv.sourceforge.net/. python + gtk/pygtk +
gstreamer/gst-python is nice. It's in a fairly sorry state right now
but it has been working for me for quite a while. Many many
improvements could be made.
-dave
More information about the gstreamer-devel
mailing list