gstjitterbuffer and stalled pipeline after seek
grd
grd at loganmill.net
Tue Oct 13 15:40:09 PDT 2015
I've been having difficulty getting seeking to work reliably using rtspsrc
(from git master)...sometimes it works fine, sometimes playback just stalls.
My code gets into a state where, after a seek operation, rtp packets are
still flowing from the server (gst-rtsp-server, in this case), but no
buffers are ever pushed from rtspsrc. gdb shows most if not all gsteamer
threads stalled on g_cond_wait. In my application, the stall is completely
repeatable for seeks of >30 secs or so, while shorter seeks generally work.
I tracked this down to the do_deadline_timeout() function in
gstrtspjitterbuffer.c, and have a fix that, so far at least, works reliably
for my application...it involves reverting the code from this 4-line patch,
committed in 2014:
http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=6c584bc8337da0a19287d51eaf05c608711b9ef5
The patch has this brief explanation:
"rtpjitterbuffer: avoid stall by corrupted seqnum accounting".
In my testing, the patch has the opposite effect: it introduces a stall
after seeking. Wondering if anyone else has had problems with rtsp seeking,
or if this is just a peculiarity with my application?
thanks,
-glen
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/gstjitterbuffer-and-stalled-pipeline-after-seek-tp4674067.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
More information about the gstreamer-devel
mailing list