GNOME Bugzilla – Bug 753157
TS discontinuity triggers pipeline freeze/hang
Last modified: 2015-11-13 15:37:57 UTC
When dvblast is used to extract a stream from DVB-T and multicast the stream onto a network, from time to time a "TS discontinuity" is reported: pi@raspberrypi2 ~ $ dvblast -a 0 -c ./M2.cfg -f 506000000 -m qam_64 -b 8 -e -q DVBlast 2.2 (release) info: frontend has acquired lock frontend has acquired lock warning: TS discontinuity on pid 6305 expected_cc 7 got 11 (PCR, sid 14608) warning: TS discontinuity on pid 6306 expected_cc 15 got 13 (11172-3 audio (MPEG-1), sid 14608) When this discontinuity occurs, the following gstreamer transcoding pipeline freezes/hangs and needs to be killed and restarted: pi@raspberrypi3 ~/packages/gstreamer-1.5 $ gst-launch-1.0 -v udpsrc port=5004 multicast-group=239.255.1.31 caps="application/x-rtp,media=(string)video,clock-rate=(int)90000" ! rtpbin ! rtpmp2tdepay ! tsdemux name=demux ! queue ! mpegvideoparse ! omxmpeg2videodec ! queue ! videoscale ! video/x-raw,width=384,height=256 ! omxh264enc target-bitrate=500000 control-rate=variable inline-header=true periodicty-idr=25 ! queue ! mpegtsmux name=mux ! hlssink location=/var/www/stream/segment2%05d.ts playlist-location=/var/www/stream/output2.m3u8 playlist-root=http://192.168.225.3/stream/ target-duration=1 demux. ! queue ! mpegaudioparse ! mpg123audiodec ! voaacenc ! aacparse ! queue ! mux. I do not know which part of the above pipeline hangs, are there any recommendations on what to do to introspect the pipeline while it is in the stuck state?
The use of leaky queues stopped the hangs from occurring.