Video pipeline occasionally freezing
Louis Simons
lousimons at gmail.com
Tue Jun 11 17:27:33 PDT 2013
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 (
http://imgur.com/a/460eY, same when working or frozen) it seems like the
graph is properly connected.
When the pipeline works, I get the following terminal output:
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
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
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
0:00:00.674592283 6088 WARN default
gstvideopool.c:171:video_buffer_pool_set_config:<videobufferpool0> no caps
in config
0:00:00.675071739 6088 WARN default
gstvideopool.c:171:video_buffer_pool_set_config:<videobufferpool1> no caps
in config
0:00:00.675642853 6088 WARN default
gstvideopool.c:171:video_buffer_pool_set_config:<videobufferpool2> no caps
in config
When it is frozen:
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
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
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
0:00:00.708171947 6109 WARN default
gstvideopool.c:171:video_buffer_pool_set_config:<videobufferpool0> no caps
in config
0:00:00.711269706 6109 WARN GST_PADS
gstpad.c:3577:gst_pad_peer_query:<videotestsrc0:src> could not send sticky
events
0:00:00.711462476 6109 WARN default
gstvideopool.c:171:video_buffer_pool_set_config:<videobufferpool1> no caps
in config
0:00:00.711749323 6109 WARN GST_PADS
gstpad.c:3577:gst_pad_peer_query:<videotestsrc2:src> could not send sticky
events
0:00:00.711973080 6109 WARN default
gstvideopool.c:171:video_buffer_pool_set_config:<videobufferpool2> no caps
in config
0:00:00.717317973 6109 WARN basesrc
gstbasesrc.c:2809:gst_base_src_loop:<videotestsrc0> error: Internal data
flow error.
0:00:00.717347425 6109 WARN basesrc
gstbasesrc.c:2809:gst_base_src_loop:<videotestsrc0> error: streaming task
paused, reason not-negotiated (-4)
0:00:00.720445073 6109 WARN basesrc
gstbasesrc.c:2809:gst_base_src_loop:<videotestsrc2> error: Internal data
flow error.
0:00:00.720553042 6109 WARN basesrc
gstbasesrc.c:2809:gst_base_src_loop:<videotestsrc2> error: streaming task
paused, reason not-negotiated (-4)
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?
Thanks,
Louis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130611/ad7770cb/attachment.html>
More information about the gstreamer-devel
mailing list