[gst-devel] caps nego

Andy Wingo wingo at pobox.com
Sat Jul 17 01:55:08 CEST 2004

Howdy again,

On Fri, 2004-07-16 at 10:18 +0200, Wim Taymans wrote:
> I'm not really interested in global pipeline optimisation with
> end-to-end optimal formats. Just something that runs, where each element
> is able to find a format it can use to talk to the next element.

Allow me to offer an example. The default fixating behaviour, as we
know, it ridiclously to fixate to the lowest value. Thus buffer-frames
gets fixated to one if I have a problem in my elements and connections.
It is still correct; the output will be the same bytestream. However,
it's slow as Jesus coming back down to terra firma! A LOT of overhead.
Not optimal, and also not acceptable. Plugins must fixate to a
reasonable amount, end of story.

[re capsnego]
> Does it involve feedback loops?

Can I declare myself (i.e. me, Andy Wingo) to be the clearinghouse to
such statements? I'm the only one that's pushing gst to weird
topological extremes. Thus Benjamin, while your concern is appreciated,
I think the link context idea that you already have is sufficent to
solve any recursive capsnego issues. And for now, the recursive case is
dealt with properly.

> something like this? :
> -----> mixer --> delay -------->
>         !          !
>         <----------<

Use soundscrape as a test bed if you want.

> First I want to know what specific use cases the current system solves
> that are really hard, please provide something concrete. Dave?

Gstreamer is interesting because it takes on an extremely difficult
problem domain. It is not a procedural library. It is an object-oriented
library that allows not only extension of the data types that it deals
with, but also extensions of the operations it uses to operate on the
data types.

Specification of the behaviour of an extensible library is difficult.
The new capsnego system greatly helped the specification problem by
specifying the behaviour of the capnego system under various
circumstances, whereas with the old system, it was very difficult to say
with certainty what would happen when a procedure was called.

I would invite you instead to say what aspect the old system dealt with
better. Thereby we can know what to improve with the new system.

Andy Wingo <wingo at pobox.com>

More information about the gstreamer-devel mailing list