[gst-devel] scale-renegotiation

Ronald Bultje rbultje at ronald.bitfreak.net
Sat Nov 8 06:12:08 CET 2003


On Fri, 2003-11-07 at 22:35, David Schleef wrote:
> It does work, as long as those elements negotiate caps correctly.
> Examples of working elements are anything that subclasses videofilter
> and videotestsrc.  The getcaps() function for all the pads will
> call get_allowed_caps() on the opposite pad, adjust the properties
> that it needs to, and return those caps.  The link() function on
> each pad will call try_set_caps() on the opposite pad (with adjusted
> caps), and properly update the internal state when the caps changes.

Well, it works in theory. In practice, this won't work unless we modify
all elements to do things correctly here. That's huge, and a lot of
work. Is it worth it? I don't think so. I want this to work:

videotestsrc ! videoscale ! divxenc ! divxdec ! ximagesink

That will never work unless we do a huge lot of painful work on every
single plugin.

> And, btw, you can't call try_set_caps() with chained (i.e., non-fixed)
> caps.

Chained caps can be fixed. Anyway, that's a details and doesn't matter.
What's above does matter... Do we want to go through that whole painful
job?

Ronald

-- 
Ronald Bultje <rbultje at ronald.bitfreak.net>
Linux Video/Multimedia developer





More information about the gstreamer-devel mailing list