gstjitterbuffer and stalled pipeline after seek

grd grd at
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 involves reverting the code from this 4-line patch,
committed in 2014:

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? 


View this message in context:
Sent from the GStreamer-devel mailing list archive at

More information about the gstreamer-devel mailing list