[gst-devel] auto-detecting sinks

David Schleef ds at schleef.org
Wed Apr 30 14:04:09 CEST 2003

On Mon, Apr 28, 2003 at 01:36:20PM +0200, Benjamin Otte wrote:
> On 27 Apr 2003, Steve Baker wrote:
> > It would be nice if rescale worked but it will be left out until it
> > does. Couldn't xvideosink change its caps when it gets resized?
> >
> It would be possible to call try_set_caps with new sizes and see if the
> peer of xvideosink accepts them.
> I don't know if this might cause issues with other plugins that can't
> change sizes (imagine using mpeg2dec ! xvideosink) but you might try.

If it doesn't work, it's a bug. :)  It should work for videoscale
since I recently rewrote it.

> And it has the problem that resizing inside the pipeline would always be
> preferred to resizing by the videosink. That is  videotestsrc ! rescale !
> xvideosink would be rescaled by the rescale plugin even if xvideo was
> enabled.

Not really.  If xvideosink can rescale internally, it should always
advertise a range of sizes, and videoscale will work as an identity.
The problem arises when xvideosink can't scale.  Then you have to
add an extra parameter -- do you prefer 1) the x window to resize to
the size of the video, 2) the video be scaled to the size of the
window, or 3) the video be centered, with black around the borders.
Each of these _individual_ cases have well-defined capabilities,
being 1) height,width=range 2) height,width=size of window, and 3)
height,width=range.  Trying to mix these policies is where the
problems arise, I think.


More information about the gstreamer-devel mailing list