Changing the caps of appsink in a running pipeline

Tim Müller tim at centricular.com
Tue Sep 15 06:15:13 PDT 2015


On Tue, 2015-09-15 at 13:36 +0200, Thomas Scheuermann wrote:

Hi Thomas,

> I have a pipeline with appsink running like:
> 
> src ! decodebin ! videoconvert ! videoscale ! appsink
> 
> The pipeline is running with the caps I set in appsink (width, height,
> format).
> Now I want to change the output size of the running pipeline.
> How can I do this?
> Just setting new caps with gst_app_sink_set_caps is not enough, I still
> get frames
> with the old size.
> What do I have to do else?

appsink currently doesn't handle changing caps at runtime.

What you could do is use a capsfilter before appsink and instead of
setting caps on appsink you set them on the capsfilter. Capsfilter
should support changing caps at runtime better. It also has a
"caps-change-mode" property in recent versions, which you may want to
set to 1 (=delayed).

Cheers
 -Tim

-- 
Tim Müller, Centricular Ltd - http://www.centricular.com

Join us at the GStreamer Conference: 8-9 October 2015 in Dublin, Ireland




More information about the gstreamer-devel mailing list