reconfigure event

Christian Sell christian at
Wed Jun 17 00:13:00 PDT 2015

since nobody answers I will close this subject with my own conclusion:
there is no way to achieve this. Again, my goal was to re-initiate the full
negotation circle which would lead to set_caps being called on the final sink.
This should happen sonchronously. This cannot be done via
gst_event_new_reconfigure()), because
- the event as such only sets markers on the pads upstream. Actual processing
happens when the processing loop is restarted, which requires a state change
(e.g. PLAY)
- even when re-negotiation happens, it may not reach the final sink with a
set_caps call - at least it did not in my case (custom src->playsink->custom

> Christian Sell <christian at> hat am 15. Juni 2015 um 16:04
> geschrieben:
> Hello,
> in my program I have the need of re-initiating caps negotiation because the
> output window is switched. From the docs at
> I drew the conclusion that this was simply a matter of sending a RECONFIGURE
> event, which is what I did:
> gst_pad_push_event(pad, gst_event_new_reconfigure());
> where pad is my video sink pad. My expectation was that this would initiate a
> full negotiation circle, with caps being exchanged etc. However, nothing
> happened.
> Then I read this statement: "Renegotiation and the RECONFIGURE event in
> GStreamer are only "hints", not something that makes sure you immediately only
> get buffers in the new format" (from
> My investigation into the code also only showed markers being set and the
> like.
> My question: how do I re-initiate caps negotiation such that it happens
> synchronously/immediately?
> thanks,
> Christian
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list