<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"><head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
 </head><body style=""><div>since nobody answers I will close this subject with my own conclusion:</div>
<div> </div>
<div>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</div>
<div> </div>
<div>- 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)</div>
<div>- 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 videosink)</div>
<div> </div>
<div>regards,</div>
<div>Chris</div>
<div><br>> Christian Sell <christian@gsvitec.com> hat am 15. Juni 2015 um 16:04 geschrieben:<br>> <br>> <br>> Hello,<br>> <br>> in my program I have the need of re-initiating caps negotiation because the<br>> output window is switched. From the docs at<br>> http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/chapter-negotiation.html<br>> I drew the conclusion that this was simply a matter of sending a RECONFIGURE<br>> event, which is what I did:<br>> <br>> gst_pad_push_event(pad, gst_event_new_reconfigure());<br>> <br>> where pad is my video sink pad. My expectation was that this would initiate a<br>> full negotiation circle, with caps being exchanged etc. However, nothing<br>> happened.<br>> <br>> Then I read this statement: "Renegotiation and the RECONFIGURE event in<br>> GStreamer are only "hints", not something that makes sure you immediately only<br>> get buffers in the new format" (from<br>> http://gstreamer-devel.966125.n4.nabble.com/Problems-with-renegotiation-when-using-queues-td4667389.html).<br>> My investigation into the code also only showed markers being set and the like.<br>> <br>> My question: how do I re-initiate caps negotiation such that it happens<br>> synchronously/immediately?<br>> <br>> thanks,<br>> Christian<br>> _______________________________________________<br>> gstreamer-devel mailing list<br>> gstreamer-devel@lists.freedesktop.org<br>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</div></body></html>