After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 753157 - TS discontinuity triggers pipeline freeze/hang
TS discontinuity triggers pipeline freeze/hang
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: dont know
1.4.5
Other Mac OS
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-08-02 20:48 UTC by minfrin
Modified: 2015-11-13 15:37 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description minfrin 2015-08-02 20:48:32 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?
Comment 1 minfrin 2015-11-13 15:37:57 UTC
The use of leaky queues stopped the hangs from occurring.