<div dir="ltr">Hi,<br><br>I've been investigating about reconfiguration of pipelines dynamically and I run into negotiation problems while changing the caps of a stream while playing.<br><br>I've developed  a program to test the issue, you can download it here:<br>

<br><a href="https://github.com/jcaden/negotiation_test">https://github.com/jcaden/negotiation_test</a><br><br>Let me explain the test a little bit (copied from the repo README):<div><div><br></div><div>  This test creates a simple pipeline and forces caps renegotiation once the</div>

<div>  GST_MESSAGE_STREAM_START is received on bus. It terminates correctly if the</div><div>  appsink receives a buffer with the renegotiated format.</div><div><br></div><div>  This program runs a test continuously until it fails or it is executed a</div>

<div>  number of times selected by the used with -n option (1000000 by default).</div><div><br></div><div>  If option -q is given, the pipeline is this:</div><div><br></div><div><font face="courier new, monospace">    --------------      -------      ---------</font></div>

<div><font face="courier new, monospace">   | audiotestsrc | -> | queue | -> | appsink |</font></div><div><font face="courier new, monospace">    --------------      -------      ---------</font></div><div><br></div>

<div>  This test frequently fails  (1 on 15?), because audiotestsrc receive a</div><div>  not negotiated error while pushing a buffer or because no buffer with</div><div>  the new format is received.</div><div><br></div>
<div>
   If -q option is not present the pipeline is this:</div><div><br></div><div><font face="courier new, monospace">    --------------      ---------</font></div><div><font face="courier new, monospace">   | audiotestsrc | -> | appsink |</font></div>

<div><font face="courier new, monospace">    --------------      ---------</font></div><div><br></div><div>  This second pipeline works properly and renegotiates correctly.</div></div><div><br></div><div>I'd like to know if I am suppose to do something else to perform the renegotiation, currently I am blocking the appsink:sink pad to change the appsink caps and send a reconfigure event, then I unblock the pad again.</div>

<div><br></div><div>Thanks for your help.</div><div><br></div><div>Jose.</div></div>