[gst-devel] DVD Navigation progress

David Schleef ds at schleef.org
Thu Jan 22 18:03:05 CET 2004


On Fri, Jan 23, 2004 at 11:57:35AM +1100, Jan Schmidt wrote:
> > 
> > Colour tables should be sent as init data in the GstCaps on negotiation.
> > The same needs to be done for STSS data in quicktime (MPEG-4 AAC),
> > WMAv1/2 audioheader extradata in asf and Vorbis-headers in Matroska.
> > 
> 
> I considered this. The problem is that the colour tables change through the
> lifetime of the stream, which would mean renegotiating the caps. That would
> work, it just feels messy :- 

It's not at all messy.  Caps are used to completely specify a stream
format.  In this case, if you want to define the format as colormapped
data, you need the colormap to specify the stream format.

Alternatively, you could decide that the mpeg subtitle format is
broken beyond recognition, and decide that the proper format should
be buffers containing both colormap info and subtitle data.

Eventually, some day, we may have a two-tiered caps system, where
certain data can be labelled as ancillary -- it won't be used for
negotiation, but it will be available to any downstream elements.

> The only mechanism for doing this in GStreamer at the moment is the Navigation 
> events - although I'd be happier if it weren't called that for this use case.

Navigation events are upstream only, and may only be used for navigation.

> The solution I have in mind at the moment is to have mpegdemux cache the
> subtitle colour table and issue it to any subtitle pad when it is linked -
> by sending a copy of the event onward rather than via caps.

Now _that's_ messy.  What happens when I relink between the two
identities in:

  mpegdemux ! identity ! identity ! mpeg2subt



dave...





More information about the gstreamer-devel mailing list