[gst-devel] more caps
Ronald Bultje
rbultje at ronald.bitfreak.net
Wed Dec 24 08:41:59 CET 2003
Hi,
Now, while we're at it, I'd like to add something to Benjamin's email
with questions:
- is gst_pad_get_allowed_caps() broken? Is it intended to return the
currently allowed caps given by the intersection of both getcaps()
functions of the two pads in a link or something else? I mentioned this
on IRC already but it's no obvious to me.
- I actually like Benjamin's idea of deprecating try_set_caps(). Not for
0.8.0, but still, we can make a start for 0.8 (simply allowing it, but
not recommending it) and complete it in 0.10. It forces correct element
writing which is a good thing.
- How is ownership of caps done? I see a lot of gst_caps_copy() around
in various places (e.g. try_set_caps(pad, caps) copies the caps before
using it), has anyone valgrind'ed this yet or ensured that this works
correctly? Was there a strong reason to remove caps ref()'ing or is this
just "part of the job" (in which case I think it's a bad idea)?
- is fixate() supposed to be used by the application instead of 'plain
simple' filtered caps in a pad link? This is lovely (really!). I also
think the function is broken:
while (!gst_caps_is_fixed (caps)) {
if (app->fixate) {
..
continue;
}
..
}
This will loop endlessly if the app fixate function doesn't fixate it
fully.
- Benjamin mentioned this but I want to re-stress it: GST_PAD_CAPS() is
broken and there's no obvious replacement.
- Why is GstPadLink private? (It seems like link->caps is what
GST_PAD_CAPS() should use?)
I probably have some more when I've looked better at it. That'll come
later.
Ronald
--
Ronald Bultje <rbultje at ronald.bitfreak.net>
Linux Video/Multimedia developer
More information about the gstreamer-devel
mailing list