<div dir="ltr"><div><br></div>I prepared a simple test program that I could reproduce the issue. I have tested with latest stable version of GStreamer 1.18.5, using radeonsi driver, but it will probably happen with Intel drivers as well.<div>Increasing the number of  pipeline-s will increase the chance of getting one of them stuck on teardown.</div><div><br></div><div>I'm considering opening a bugreport, but I want a second opinion before I do. Maybe I'm missing something here.<br><div><br></div><div><pre style="margin-top:0px;margin-bottom:0px">#<span style="color:rgb(255,106,173)">include</span><span style="color:rgb(190,192,194)"> </span><<span style="color:rgb(214,149,69)">QApplication</span>></pre>
<pre style="margin-top:0px;margin-bottom:0px">#<span style="color:rgb(255,106,173)">include</span><span style="color:rgb(190,192,194)"> </span><<span style="color:rgb(214,149,69)">QDebug</span>></pre>
<pre style="margin-top:0px;margin-bottom:0px">#<span style="color:rgb(255,106,173)">include</span><span style="color:rgb(190,192,194)"> </span><<span style="color:rgb(214,149,69)">QWidget</span>></pre>
<pre style="margin-top:0px;margin-bottom:0px">#<span style="color:rgb(255,106,173)">include</span><span style="color:rgb(190,192,194)"> </span><<span style="color:rgb(214,149,69)">QGridLayout</span>></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px">#<span style="color:rgb(255,106,173)">include</span><span style="color:rgb(190,192,194)"> </span><<span style="color:rgb(214,149,69)">gst</span>/<span style="color:rgb(214,149,69)">gst</span>.<span style="color:rgb(214,149,69)">h</span>></pre>
<pre style="margin-top:0px;margin-bottom:0px">#<span style="color:rgb(255,106,173)">include</span><span style="color:rgb(190,192,194)"> </span><<span style="color:rgb(214,149,69)">gst</span>/<span style="color:rgb(214,149,69)">video</span>/<span style="color:rgb(214,149,69)">videooverlay</span>.<span style="color:rgb(214,149,69)">h</span>></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(214,154,167)">int</span><span style="color:rgb(190,192,194)"> </span><span style="font-weight:600">main</span>(<span style="color:rgb(214,154,167)">int</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">argc</span>,<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,154,167)">char</span><span style="color:rgb(190,192,194)"> </span>*<span style="color:rgb(214,187,154)">argv</span>[])</pre>
<pre style="margin-top:0px;margin-bottom:0px">{</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span>gst_init(<span style="color:rgb(138,96,44)">0</span>,<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(138,96,44)">0</span>);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span><span style="color:rgb(255,128,128)">QApplication</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">app</span>(<span style="font-style:italic;color:rgb(214,187,154)">argc</span>,<span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(214,187,154)">argv</span>);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span><span style="color:rgb(214,187,154)">app</span>.connect(<span style="color:rgb(214,187,154)">&</span><span style="color:rgb(214,187,154)">app</span>,<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">&</span><span style="color:rgb(255,128,128)">QApplication</span>::lastWindowClosed,<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">&</span><span style="color:rgb(214,187,154)">app</span>,<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">&</span><span style="color:rgb(255,128,128)">QApplication</span>::quit);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span><span style="font-style:italic;color:rgb(168,171,176)">//</span><span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(168,171,176)">We</span><span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(168,171,176)">will</span><span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(168,171,176)">arrenge</span><span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(168,171,176)">videoWidgets</span><span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(168,171,176)">into</span><span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(168,171,176)">the</span><span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(168,171,176)">colums</span><span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(168,171,176)">and</span><span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(168,171,176)">rows</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span><span style="color:rgb(255,128,128)">QWidget</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">mainWidget</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span><span style="color:rgb(255,128,128)">QGridLayout</span><span style="color:rgb(190,192,194)"> </span>*<span style="color:rgb(214,187,154)">layout</span><span style="color:rgb(190,192,194)"> </span>=<span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(69,198,214)">new</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(255,128,128)">QGridLayout</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span><span style="color:rgb(214,187,154)">layout</span>->setHorizontalSpacing(<span style="color:rgb(138,96,44)">0</span>);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span><span style="color:rgb(214,187,154)">mainWidget</span>.setLayout(<span style="font-style:italic;color:rgb(214,187,154)">layout</span>);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span><span style="color:rgb(214,154,167)">int</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">streamCount</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">=</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(138,96,44)">9</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span><span style="color:rgb(214,154,167)">int</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">rowCount</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">=</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(138,96,44)">3</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span><span style="color:rgb(214,154,167)">int</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">colCount</span><span style="color:rgb(190,192,194)"> </span>=<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">streamCount</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">%</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">rowCount</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">==</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(138,96,44)">0</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">?</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">streamCount</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">/</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">rowCount</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">:</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">streamCount</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">/</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">rowCount</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">+</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(138,96,44)">1</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px">  const<span style="font-family:Arial,Helvetica,sans-serif;color:rgb(190,192,194)"> </span><span style="font-family:Arial,Helvetica,sans-serif;color:rgb(214,154,167)">char</span><span style="font-family:Arial,Helvetica,sans-serif;color:rgb(190,192,194)"> </span><span style="font-family:Arial,Helvetica,sans-serif">*</span><span style="font-family:Arial,Helvetica,sans-serif;color:rgb(214,187,154)">pipelineStr</span><span style="font-family:Arial,Helvetica,sans-serif;color:rgb(190,192,194)"> </span><span style="font-family:Arial,Helvetica,sans-serif">=</span><span style="font-family:Arial,Helvetica,sans-serif;color:rgb(190,192,194)"> </span><span style="font-family:Arial,Helvetica,sans-serif;color:rgb(214,149,69)">"videotestsrc ! vaapisink name=\"thesink\""</span><span style="font-family:Arial,Helvetica,sans-serif">;</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span><span style="color:rgb(255,128,128)">QVector</span><<span style="color:rgb(255,128,128)">GstElement</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">*</span>><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">pipelines</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span><span style="font-style:italic;color:rgb(69,198,214)">for</span><span style="color:rgb(190,192,194)"> </span>(<span style="color:rgb(214,154,167)">int</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">i</span><span style="color:rgb(190,192,194)"> </span>=<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(138,96,44)">0</span>;<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">i</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">streamCount</span>;<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">++</span><span style="color:rgb(214,187,154)">i</span>)</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span>{</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="color:rgb(255,128,128)">GError</span><span style="color:rgb(190,192,194)"> </span>*<span style="color:rgb(214,187,154)">error</span><span style="color:rgb(190,192,194)"> </span>=<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(255,106,173)">NULL</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="color:rgb(255,128,128)">GstElement</span><span style="color:rgb(190,192,194)"> </span>*<span style="color:rgb(214,187,154)">pipeline</span><span style="color:rgb(190,192,194)"> </span>=<span style="color:rgb(190,192,194)"> </span>gst_parse_launch(<span style="color:rgb(214,187,154)">pipelineStr</span>,<span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(214,187,154)">&</span><span style="font-style:italic;color:rgb(214,187,154)">error</span>);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="font-style:italic;color:rgb(69,198,214)">if</span><span style="color:rgb(190,192,194)"> </span>(<span style="color:rgb(214,187,154)">error</span>)<span style="color:rgb(190,192,194)"> </span>{</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="color:rgb(255,106,173)">qInfo</span>()<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,149,69)">"Error: "</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">error</span>->message;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span>g_clear_error(<span style="font-style:italic;color:rgb(214,187,154)">&</span><span style="font-style:italic;color:rgb(214,187,154)">error</span>);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span>}</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="font-style:italic;color:rgb(69,198,214)">if</span><span style="color:rgb(190,192,194)"> </span>(<span style="color:rgb(214,187,154)">!</span><span style="color:rgb(214,187,154)">pipeline</span>)<span style="color:rgb(190,192,194)"> </span>{</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="color:rgb(255,106,173)">qInfo</span>()<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,149,69)">"Unable to create pipeline"</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="font-style:italic;color:rgb(69,198,214)">continue</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span>}</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="color:rgb(255,128,128)">GstElement</span><span style="color:rgb(190,192,194)"> </span>*<span style="color:rgb(214,187,154)">sink</span><span style="color:rgb(190,192,194)"> </span>=<span style="color:rgb(190,192,194)"> </span>gst_bin_get_by_name(<span style="color:rgb(255,106,173)">GST_BIN</span>(<span style="color:rgb(214,187,154)">pipeline</span>),<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,149,69)">"thesink"</span>);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="font-style:italic;color:rgb(69,198,214)">if</span><span style="color:rgb(190,192,194)"> </span>(<span style="color:rgb(214,187,154)">!</span><span style="color:rgb(214,187,154)">sink</span>)</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span>{</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="color:rgb(255,106,173)">qInfo</span>()<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,149,69)">"Failed to get vaapisink element"</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="font-style:italic;color:rgb(69,198,214)">continue</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span>}</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="color:rgb(255,128,128)">QWidget</span><span style="color:rgb(190,192,194)"> </span>*<span style="color:rgb(214,187,154)">videoWidget</span><span style="color:rgb(190,192,194)"> </span>=<span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(69,198,214)">new</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(255,128,128)">QWidget</span>();</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="color:rgb(214,187,154)">layout</span>->addWidget(<span style="font-style:italic;color:rgb(214,187,154)">videoWidget</span>,<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">i</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">/</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">colCount</span>,<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">i</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">%</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">colCount</span>);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="font-style:italic;color:rgb(69,198,214)">if</span><span style="color:rgb(190,192,194)"> </span>(<span style="color:rgb(214,187,154)">sink</span>)</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span>{</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span>gst_video_overlay_set_window_handle(<span style="color:rgb(255,106,173)">GST_VIDEO_OVERLAY</span>(<span style="color:rgb(214,187,154)">sink</span>),<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">videoWidget</span>->winId());</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span>g_object_unref(<span style="color:rgb(214,187,154)">sink</span>);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span>}</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="font-style:italic;color:rgb(69,198,214)">switch</span><span style="color:rgb(190,192,194)"> </span>(gst_element_set_state(<span style="font-style:italic;color:rgb(214,187,154)">pipeline</span>,<span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(102,163,52)">GST_STATE_PLAYING</span>)) // <- blocks indefinitely</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span>{</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="font-style:italic;color:rgb(69,198,214)">case</span><span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(102,163,52)">GST_STATE_CHANGE_FAILURE</span>:</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="color:rgb(255,106,173)">qInfo</span>()<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,149,69)">"Failed to start pipeline"</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">i</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="font-style:italic;color:rgb(69,198,214)">break</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="font-style:italic;color:rgb(69,198,214)">case</span><span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(102,163,52)">GST_STATE_CHANGE_SUCCESS</span>:</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="color:rgb(255,106,173)">qInfo</span>()<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,149,69)">"Pipeline"</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">i</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,149,69)">"started"</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="font-style:italic;color:rgb(69,198,214)">break</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="font-style:italic;color:rgb(69,198,214)">case</span><span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(102,163,52)">GST_STATE_CHANGE_ASYNC</span>:</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="color:rgb(255,106,173)">qInfo</span>()<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,149,69)">"Pipeline"</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">i</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,149,69)">"is starting"</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="font-style:italic;color:rgb(69,198,214)">break</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="font-style:italic;color:rgb(69,198,214)">case</span><span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(102,163,52)">GST_STATE_CHANGE_NO_PREROLL</span>:</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="color:rgb(255,106,173)">qInfo</span>()<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,149,69)">"Pipeline"</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">i</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,149,69)">"started, but no data yet"</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="font-style:italic;color:rgb(69,198,214)">break</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="font-style:italic;color:rgb(69,198,214)">default</span>:</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">       </span><span style="color:rgb(255,106,173)">qInfo</span>()<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,149,69)">"Unknown value"</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="font-style:italic;color:rgb(69,198,214)">break</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span>}</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="color:rgb(214,187,154)">pipelines</span>.append(<span style="color:rgb(214,187,154)">pipeline</span>);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span>}</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span><span style="color:rgb(214,187,154)">mainWidget</span>.resize(<span style="color:rgb(138,96,44)">1280</span>,<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(138,96,44)">720</span>);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span><span style="color:rgb(214,187,154)">mainWidget</span>.showMaximized();</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span><span style="color:rgb(214,154,167)">int</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">ret</span><span style="color:rgb(190,192,194)"> </span>=<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">app</span>.exec();</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span><span style="color:rgb(255,106,173)">qInfo</span>()<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,149,69)">"Terminating"</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span><span style="color:rgb(214,187,154)">mainWidget</span>.hide();</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span><span style="font-style:italic;color:rgb(69,198,214)">for</span><span style="color:rgb(190,192,194)"> </span>(<span style="color:rgb(214,154,167)">int</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">i</span><span style="color:rgb(190,192,194)"> </span>=<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(138,96,44)">0</span>;<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">i</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">pipelines</span>.size();<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">++</span><span style="color:rgb(214,187,154)">i</span>)<span style="color:rgb(190,192,194)"> </span>{</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="color:rgb(255,106,173)">qInfo</span>()<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,149,69)">"Stopping pipeline"</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">i</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="font-style:italic;color:rgb(69,198,214)">switch</span><span style="color:rgb(190,192,194)"> </span>(gst_element_set_state(<span style="font-style:italic;color:rgb(214,187,154)">pipelines</span>[<span style="font-style:italic;color:rgb(214,187,154)">i</span>],<span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(102,163,52)">GST_STATE_NULL</span>))</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span>{</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="font-style:italic;color:rgb(69,198,214)">case</span><span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(102,163,52)">GST_STATE_CHANGE_FAILURE</span>:</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="color:rgb(255,106,173)">qInfo</span>()<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,149,69)">"Failed to stop pipeline"</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">i</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="font-style:italic;color:rgb(69,198,214)">break</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="font-style:italic;color:rgb(69,198,214)">case</span><span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(102,163,52)">GST_STATE_CHANGE_SUCCESS</span>:</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="color:rgb(255,106,173)">qInfo</span>()<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,149,69)">"Pipeline"</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">i</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,149,69)">"stopped"</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="font-style:italic;color:rgb(69,198,214)">break</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="font-style:italic;color:rgb(69,198,214)">case</span><span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(102,163,52)">GST_STATE_CHANGE_ASYNC</span>:</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="color:rgb(255,106,173)">qInfo</span>()<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,149,69)">"Pipeline"</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">i</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,149,69)">"is stopping"</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="font-style:italic;color:rgb(69,198,214)">break</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="font-style:italic;color:rgb(69,198,214)">case</span><span style="color:rgb(190,192,194)"> </span><span style="font-style:italic;color:rgb(102,163,52)">GST_STATE_CHANGE_NO_PREROLL</span>:</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="color:rgb(255,106,173)">qInfo</span>()<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,149,69)">"Preroll"</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">i</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="font-style:italic;color:rgb(69,198,214)">break</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span><span style="font-style:italic;color:rgb(69,198,214)">default</span>:</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">       </span><span style="color:rgb(255,106,173)">qInfo</span>()<span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)"><<</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,149,69)">"Unknown value"</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">      </span><span style="font-style:italic;color:rgb(69,198,214)">break</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span>}</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">    </span>g_object_unref(<span style="color:rgb(214,187,154)">pipelines</span><span style="color:rgb(214,187,154)">[</span><span style="color:rgb(214,187,154)">i</span><span style="color:rgb(214,187,154)">]</span>);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span>}</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(190,192,194)">  </span><span style="font-style:italic;color:rgb(69,198,214)">return</span><span style="color:rgb(190,192,194)"> </span><span style="color:rgb(214,187,154)">ret</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px">}</pre><pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px">If someone could confirm the issue I would open a bug report.</pre><pre style="margin-top:0px;margin-bottom:0px"><br></pre></div></div></div>