[Bug 705355] RTSP pipeline freezes when set to a resume after a pause (PLAYING->PAUSED->PLAYING), with Jitterbuffer in Buffering Mode

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Aug 21 08:59:35 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=705355
  GStreamer | gst-plugins-good | 1.1.3

--- Comment #2 from vfugro at nvidia.com 2013-08-21 15:59:27 UTC ---
I tested this with a local darwin server.

The server puts a gap in the RTP timestamps when resumed from PAUSED state,
nearly equal to the time spent in PAUSED state.

This makes jitterbuffer treat this as RTP jump and reset the skew by calling
the function rtp_jitter_buffer_reset_skew(), leading to the output frames' PTS
start
from zero all over again, and getting dropped by the sink. 
Maybe sending a new segment event here might help 
(since the base_time and friends are set to -1). Haven't tried that.

Instead, if I use rtp_jitter_buffer_resync(), this issue is resolved. But then,
we need to know if the RTP jump is because the server was paused by the client
or a genuine one. 
The server does send a RTCP packet with newer RTP/NTP values, after it is
resumed.
But I guess the RTP timestamp, currently observed in the SR from last RTCP
packet is not used when inserting the new incoming RTP packet is put in the
queue, plus
we also need to make sure that the first RTCP packet must be processed before
the first RTP packet after a resume.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list