GNOME Bugzilla – Bug 793991
rtspsrc: one of 2 udpsrc elements not linking after 2 seconds
Last modified: 2018-11-03 15:26:51 UTC
Given the following pipeline: gst-launch-1.0 -q -e matroskamux streamable=true name=m ! fdsink \ rtspsrc location=$1 name=rdummy rdummy. ! application/x-rtp,media=video ! rtpjitterbuffer ! rtph264depay ! video/x-h264, stream-format=\(string\)byte-stream, alignment=\(string\)nal ! h264parse ! m. rdummy. ! application/x-rtp,media=audio ! rtpjitterbuffer ! rtpopusdepay ! m. > /dev/null roughly 5% of the time, one of the two incoming media streams will fail after about 2 seconds (presumably after a latency query or reconfigure event?) as follows: 0:00:02.078042604 19777 0x7fc6dc026a80 LOG udpsrc gstudpsrc.c:986:gst_udpsrc_create:<udpsrc4> read packet of 93 bytes 0:00:02.078072313 19777 0x7fc6dc026a80 LOG udpsrc gstudpsrc.c:839:gst_udpsrc_create:<udpsrc4> doing select, timeout -1 0:00:02.081902970 19777 0x7fc6dc0269e0 LOG udpsrc gstudpsrc.c:986:gst_udpsrc_create:<udpsrc1> read packet of 1149 bytes 0:00:02.081942643 19777 0x7fc6dc0269e0 LOG udpsrc gstudpsrc.c:839:gst_udpsrc_create:<udpsrc1> doing select, timeout -1 0:00:02.085983387 19777 0x7fc6dc0269e0 LOG udpsrc gstudpsrc.c:986:gst_udpsrc_create:<udpsrc1> read packet of 1149 bytes 0:00:02.086292923 19777 0x7fc6dc0269e0 LOG udpsrc gstudpsrc.c:839:gst_udpsrc_create:<udpsrc1> doing select, timeout -1 0:00:02.090186233 19777 0x7fc6b4001770 DEBUG rtspsrc gstrtspsrc.c:2515:new_manager_pad:<rdummy> got new manager pad <manager:recv_rtp_src_0_4129694351_100> 0:00:02.090220701 19777 0x7fc6b4001770 DEBUG rtspsrc gstrtspsrc.c:2523:new_manager_pad:<rdummy> stream: 0, SSRC f626228f, PT 100 0:00:02.090233821 19777 0x7fc6b4001770 DEBUG rtspsrc gstrtspsrc.c:2541:new_manager_pad:<rdummy> stream 0x7fc6dc034f90, container 0, added 1, setup 1 0:00:02.090242521 19777 0x7fc6b4001770 DEBUG rtspsrc gstrtspsrc.c:2541:new_manager_pad:<rdummy> stream 0x7fc6dc039400, container 0, added 0, setup 1 0:00:02.090316801 19777 0x7fc6b4001770 DEBUG rtspsrc gstrtspsrc.c:2497:copy_sticky_events:<'':recv_rtp_src_0_4129694351_100> store sticky event stream-start event: 0x7fc6c0001ae0, time 99:99:99.999999999, seq-num 197, GstEventStreamStart, stream-id=(string)04d49d18f97e5c7c23150b858a8db0013decbe84a153717fd9b6ca9957b2015b, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)2; 0:00:02.090349086 19777 0x7fc6b4001770 DEBUG rtspsrc gstrtspsrc.c:2497:copy_sticky_events:<'':recv_rtp_src_0_4129694351_100> store sticky event caps event: 0x7fc69c004aa0, time 99:99:99.999999999, seq-num 273, GstEventCaps, caps=(GstCaps)"application/x-rtp\,\ media\=\(string\)video\,\ payload\=\(int\)100\,\ clock-rate\=\(int\)90000\,\ encoding-name\=\(string\)H264\,\ a-recvonly\=\(string\)\"\"\,\ npt-start\=\(guint64\)0\,\ play-speed\=\(double\)1\,\ play-scale\=\(double\)1"; 0:00:02.090382172 19777 0x7fc6b4001770 DEBUG rtspsrc gstrtspsrc.c:2497:copy_sticky_events:<'':recv_rtp_src_0_4129694351_100> store sticky event segment event: 0x7fc6b4001c20, time 99:99:99.999999999, seq-num 189, GstEventSegment, segment=(GstSegment)"GstSegment, flags=(GstSegmentFlags)GST_SEGMENT_FLAG_NONE, rate=(double)1, applied-rate=(double)1, format=(GstFormat)GST_FORMAT_TIME, base=(guint64)0, offset=(guint64)0, start=(guint64)0, stop=(guint64)18446744073709551615, time=(guint64)0, position=(guint64)0, duration=(guint64)18446744073709551615;"; 0:00:02.090057803 19777 0x7fc6a40024f0 DEBUG rtspsrc gstrtspsrc.c:2515:new_manager_pad:<rdummy> got new manager pad <manager:recv_rtp_src_1_2169136101_111> 0:00:02.090690826 19777 0x7fc6a40024f0 DEBUG rtspsrc gstrtspsrc.c:2523:new_manager_pad:<rdummy> stream: 1, SSRC 814a63e5, PT 111 0:00:02.090700695 19777 0x7fc6a40024f0 DEBUG rtspsrc gstrtspsrc.c:2541:new_manager_pad:<rdummy> stream 0x7fc6dc034f90, container 0, added 1, setup 1 0:00:02.090708291 19777 0x7fc6a40024f0 DEBUG rtspsrc gstrtspsrc.c:2541:new_manager_pad:<rdummy> stream 0x7fc6dc039400, container 0, added 1, setup 1 0:00:02.090714387 19777 0x7fc6dc0269e0 LOG udpsrc gstudpsrc.c:986:gst_udpsrc_create:<udpsrc1> read packet of 1150 bytes 0:00:02.091397125 19777 0x7fc6dc0269e0 LOG udpsrc gstudpsrc.c:839:gst_udpsrc_create:<udpsrc1> doing select, timeout -1 0:00:02.091431768 19777 0x7fc6a40024f0 DEBUG rtspsrc gstrtspsrc.c:2497:copy_sticky_events:<'':recv_rtp_src_1_2169136101_111> store sticky event stream-start event: 0x7fc6a4002800, time 99:99:99.999999999, seq-num 213, GstEventStreamStart, stream-id=(string)179e366b8498a8667173dfedcff39eb461f11618ae6d5b147030dc493d655258, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)4; 0:00:02.091606717 19777 0x7fc6a40024f0 DEBUG rtspsrc gstrtspsrc.c:2497:copy_sticky_events:<'':recv_rtp_src_1_2169136101_111> store sticky event caps event: 0x7fc69c004440, time 99:99:99.999999999, seq-num 270, GstEventCaps, caps=(GstCaps)"application/x-rtp\,\ media\=\(string\)audio\,\ payload\=\(int\)111\,\ clock-rate\=\(int\)48000\,\ encoding-name\=\(string\)OPUS\,\ encoding-params\=\(string\)2\,\ a-recvonly\=\(string\)\"\"\,\ npt-start\=\(guint64\)0\,\ play-speed\=\(double\)1\,\ play-scale\=\(double\)1"; 0:00:02.091685560 19777 0x7fc6a40024f0 DEBUG rtspsrc gstrtspsrc.c:2497:copy_sticky_events:<'':recv_rtp_src_1_2169136101_111> store sticky event segment event: 0x7fc6a40028e0, time 99:99:99.999999999, seq-num 201, GstEventSegment, segment=(GstSegment)"GstSegment, flags=(GstSegmentFlags)GST_SEGMENT_FLAG_NONE, rate=(double)1, applied-rate=(double)1, format=(GstFormat)GST_FORMAT_TIME, base=(guint64)0, offset=(guint64)0, start=(guint64)0, stop=(guint64)18446744073709551615, time=(guint64)0, position=(guint64)0, duration=(guint64)18446744073709551615;"; 0:00:02.091822308 19777 0x7fc6b4001770 DEBUG rtspsrc gstrtspsrc.c:2352:gst_rtspsrc_handle_src_query:<rdummy> pad rdummy:recv_rtp_src_0_4129694351_100 received query caps 0:00:02.091918005 19777 0x7fc6a40024f0 DEBUG rtspsrc gstrtspsrc.c:2352:gst_rtspsrc_handle_src_query:<rdummy> pad rdummy:recv_rtp_src_1_2169136101_111 received query caps 0:00:02.091981446 19777 0x7fc6b4001770 DEBUG rtspsrc gstrtspsrc.c:2238:gst_rtspsrc_handle_src_event:<rdummy> pad rdummy:recv_rtp_src_0_4129694351_100 received event reconfigure 0:00:02.092019689 19777 0x7fc6b4001770 DEBUG rtspsrc gstrtspsrc.c:2352:gst_rtspsrc_handle_src_query:<rdummy> pad rdummy:recv_rtp_src_0_4129694351_100 received query caps 0:00:02.091957946 19777 0x7fc6a40024f0 DEBUG rtspsrc gstrtspsrc.c:2352:gst_rtspsrc_handle_src_query:<rdummy> pad rdummy:recv_rtp_src_1_2169136101_111 received query caps 0:00:02.092692372 19777 0x7fc6b4001770 DEBUG rtspsrc gstrtspsrc.c:2352:gst_rtspsrc_handle_src_query:<rdummy> pad rdummy:recv_rtp_src_0_4129694351_100 received query caps 0:00:02.092794687 19777 0x7fc6b4001770 DEBUG rtspsrc gstrtspsrc.c:2238:gst_rtspsrc_handle_src_event:<rdummy> pad rdummy:recv_rtp_src_0_4129694351_100 received event reconfigure 0:00:02.093092101 19777 0x7fc6b4001770 DEBUG rtspsrc gstrtspsrc.c:2352:gst_rtspsrc_handle_src_query:<rdummy> pad rdummy:recv_rtp_src_1_2169136101_111 received query caps 0:00:02.093123031 19777 0x7fc6b4001770 DEBUG rtspsrc gstrtspsrc.c:2238:gst_rtspsrc_handle_src_event:<rdummy> pad rdummy:recv_rtp_src_1_2169136101_111 received event reconfigure 0:00:02.093145963 19777 0x7fc6b4001770 DEBUG rtspsrc gstrtspsrc.c:2352:gst_rtspsrc_handle_src_query:<rdummy> pad rdummy:recv_rtp_src_1_2169136101_111 received query caps 0:00:02.093179414 19777 0x7fc6b4001770 DEBUG rtspsrc gstrtspsrc.c:2352:gst_rtspsrc_handle_src_query:<rdummy> pad rdummy:recv_rtp_src_1_2169136101_111 received query caps 0:00:02.093223054 19777 0x7fc6b4001770 DEBUG rtspsrc gstrtspsrc.c:2238:gst_rtspsrc_handle_src_event:<rdummy> pad rdummy:recv_rtp_src_1_2169136101_111 received event reconfigure 0:00:02.093009008 19777 0x7fc6a40024f0 DEBUG rtspsrc gstrtspsrc.c:2352:gst_rtspsrc_handle_src_query:<rdummy> pad rdummy:recv_rtp_src_1_2169136101_111 received query caps 0:00:02.093308037 19777 0x7fc6a40024f0 DEBUG rtspsrc gstrtspsrc.c:2238:gst_rtspsrc_handle_src_event:<rdummy> pad rdummy:recv_rtp_src_1_2169136101_111 received event reconfigure 0:00:02.093388795 19777 0x7fc6a40024f0 DEBUG rtspsrc gstrtspsrc.c:2352:gst_rtspsrc_handle_src_query:<rdummy> pad rdummy:recv_rtp_src_1_2169136101_111 received query caps 0:00:02.094016160 19777 0x7fc6a40024f0 DEBUG rtspsrc gstrtspsrc.c:2565:new_manager_pad:<rdummy> We added all streams 0:00:02.095690762 19777 0x7fc6dc0269e0 LOG udpsrc gstudpsrc.c:986:gst_udpsrc_create:<udpsrc1> read packet of 1150 bytes 0:00:02.095756853 19777 0x7fc6dc0269e0 LOG udpsrc gstudpsrc.c:839:gst_udpsrc_create:<udpsrc1> doing select, timeout -1 0:00:02.098909941 19777 0x7fc6dc0269e0 LOG udpsrc gstudpsrc.c:986:gst_udpsrc_create:<udpsrc1> read packet of 1150 bytes 0:00:02.098946815 19777 0x7fc6dc0269e0 LOG udpsrc gstudpsrc.c:839:gst_udpsrc_create:<udpsrc1> doing select, timeout -1 0:00:02.099138373 19777 0x9c5d40 DEBUG rtspsrc gstrtspsrc.c:2352:gst_rtspsrc_handle_src_query:<rdummy> pad rdummy:recv_rtp_src_0_4129694351_100 received query seeking 0:00:02.099385232 19777 0x9c5d40 DEBUG rtspsrc gstrtspsrc.c:2352:gst_rtspsrc_handle_src_query:<rdummy> pad rdummy:recv_rtp_src_0_4129694351_100 received query duration 0:00:02.104513381 19777 0x7fc6dc026a80 LOG udpsrc gstudpsrc.c:986:gst_udpsrc_create:<udpsrc4> read packet of 93 bytes 0:00:02.104580298 19777 0x7fc6dc026a80 DEBUG rtspsrc gstrtspsrc.c:7604:gst_rtspsrc_handle_message:<rdummy> got error from udpsrc4 0:00:02.104589202 19777 0x7fc6dc026a80 DEBUG rtspsrc gstrtspsrc.c:7618:gst_rtspsrc_handle_message:<rdummy> combined flows: ok Further debugging revealed that the udpsrc4 errors out due to not linking. This may be pushing the limits of what one should expect from gst-launch, but the fact that this pipeline works without issue most of the time would seem to indicate that this is a bug. I've reproduced this with GStreamer 1.8.3 and 1.13.1
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/446.