[gst-devel] caps negotiation

Benjamin Otte in7y118 at public.uni-hamburg.de
Tue Mar 30 11:20:15 CEST 2004


On Mon, 29 Mar 2004, Daniel Gazard wrote:

> I don't know if my problem was really clear. Basically what I want is
> when the plugin behind my video sink is gstvideoscale, I give it a
> caps with a fixed resolution (equal to the maximal resolution
> supported by my videosink) to force him to scale up the video and in
> others cases (typically when the plugin on the other side of the pad
> is a video decoder) I give it a range of resolution and I adapt myself to
> video properties (by displaying just a part if the video resolution is
> higher than what the video sink can support or by displaying it in the
> center of the screen otherwise).
>
What I would do is this:
1) allow caps from 1-800x1-600.
2) provide a fixate function that fixates to 800x600.
3) after a new caps has been negotiated, the next time the chain function
is run, call gst_pad_try_set_caps with 800x600.

That should cover most cases, but it's a bit ugly, especially 3)

Benjamin





More information about the gstreamer-devel mailing list