<div dir="ltr">I've been working on a video pipeline to create a video switcher (multiple inputs, program and preview outputs).  It seems to work most of the time, but occasionally refuses to start playing.  Based on the pipeline graphs (<a href="http://imgur.com/a/460eY">http://imgur.com/a/460eY</a>, same when working or frozen) it seems like the graph is properly connected.<div>

<br></div><div>When the pipeline works, I get the following terminal output:</div><div><br><div>0:00:00.665432750  6088      FIXME                default gstutils.c:3622:gst_pad_create_stream_id_printf_valist:<videotestsrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id<br>

</div><div><div>0:00:00.665691820  6088      FIXME                default gstutils.c:3622:gst_pad_create_stream_id_printf_valist:<videotestsrc1:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id</div>

<div>0:00:00.666065013  6088      FIXME                default gstutils.c:3622:gst_pad_create_stream_id_printf_valist:<videotestsrc2:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id</div>

<div>0:00:00.674592283  6088      WARN                 default gstvideopool.c:171:video_buffer_pool_set_config:<videobufferpool0> no caps in config</div><div>0:00:00.675071739  6088      WARN                 default gstvideopool.c:171:video_buffer_pool_set_config:<videobufferpool1> no caps in config</div>

<div>0:00:00.675642853  6088      WARN                 default gstvideopool.c:171:video_buffer_pool_set_config:<videobufferpool2> no caps in config</div></div></div><div><br></div><div style>When it is frozen:</div>

<div style><br></div><div style><div>0:00:00.704295405  6109      FIXME                default gstutils.c:3622:gst_pad_create_stream_id_printf_valist:<videotestsrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id</div>

<div>0:00:00.704414897  6109      FIXME                default gstutils.c:3622:gst_pad_create_stream_id_printf_valist:<videotestsrc1:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id</div>

<div>0:00:00.704839956  6109      FIXME                default gstutils.c:3622:gst_pad_create_stream_id_printf_valist:<videotestsrc2:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id</div>

<div>0:00:00.708171947  6109      WARN                 default gstvideopool.c:171:video_buffer_pool_set_config:<videobufferpool0> no caps in config</div><div>0:00:00.711269706  6109      WARN                GST_PADS gstpad.c:3577:gst_pad_peer_query:<videotestsrc0:src> could not send sticky events</div>

<div>0:00:00.711462476  6109      WARN                 default gstvideopool.c:171:video_buffer_pool_set_config:<videobufferpool1> no caps in config</div><div>0:00:00.711749323  6109      WARN                GST_PADS gstpad.c:3577:gst_pad_peer_query:<videotestsrc2:src> could not send sticky events</div>

<div>0:00:00.711973080  6109      WARN                 default gstvideopool.c:171:video_buffer_pool_set_config:<videobufferpool2> no caps in config</div><div>0:00:00.717317973  6109     WARN                 basesrc gstbasesrc.c:2809:gst_base_src_loop:<videotestsrc0> error: Internal data flow error.</div>

<div>0:00:00.717347425  6109      WARN                 basesrc gstbasesrc.c:2809:gst_base_src_loop:<videotestsrc0> error: streaming task paused, reason not-negotiated (-4)</div><div>0:00:00.720445073  6109      WARN                 basesrc gstbasesrc.c:2809:gst_base_src_loop:<videotestsrc2> error: Internal data flow error.</div>

<div>0:00:00.720553042  6109      WARN                 basesrc gstbasesrc.c:2809:gst_base_src_loop:<videotestsrc2> error: streaming task paused, reason not-negotiated (-4)</div><div><br></div><div style>it sure sounds like somethings not negotiating.  I heard from tim on IRC that it might be a race condition (and that this tends to happen with videomixer), but short of randomly adding videoconvert elements (and I put in a capsfilter to try and make it more deterministic) , I'm not sure the proper way to debug where the negotiation is failing.  How does one go about finding the root so as to create a stable and efficient pipeline?</div>

<div style><br></div><div style>Thanks,</div><div style>Louis</div></div></div>