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 519005 - Resuming paused rtsp stream fails in tcp interleaved mode
Resuming paused rtsp stream fails in tcp interleaved mode
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: 0.10.7
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-02-27 08:08 UTC by Tommi Myöhänen
Modified: 2008-03-11 10:43 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
only reset skew when having valid timestamps (635 bytes, patch)
2008-03-11 09:11 UTC, Stefan Sauer (gstreamer, gtkdoc dev)
committed Details | Review

Description Tommi Myöhänen 2008-02-27 08:08:55 UTC
Steps to reproduce:
1. start playing rtsp stream using tcp interleaved transport mode
e.g. rtsp://68.251.168.13/thisislove.3gp
2. pause playback 
3. resume playback

Soon there will be missing audio and video.
Repeating steps 2 & 3 will cause more missing audio and video.

Some observations:
From basesink log I noticed that timestamps in buffers arriving to a/v sinks were reset to zero at some point. Also a few data buffers seem to be ignored/discarded when looking for a response to PAUSE request in gst_rtspsrc_try_send().
Comment 1 Tommi Myöhänen 2008-03-10 15:14:59 UTC
After step 3. rtp_jitter_buffer_reset_skew() is usually triggered:

0:00:14.607089424  6502 0x8453200 DEBUG      rtpjitterbuffer rtpjitterbuffer.c:223:calculate_skew: delta changed too quickly 0:00:01.904000000 reset skew

If there are no valid timestamps in incoming buffers, then _reset_skew() will effectively set jitterbuffer base_time to invalid too and cause timestamps of outgoing buffers to restart from zero. Maybe we shouldn't _reset_skew() without valid incoming timestamps?
Comment 2 Stefan Sauer (gstreamer, gtkdoc dev) 2008-03-11 09:11:21 UTC
Created attachment 107040 [details] [review]
only reset skew when having valid timestamps
Comment 3 Wim Taymans 2008-03-11 10:43:45 UTC
        Patch by: Stefan Kost <ensonic@users.sf.net>

        * gst/rtpmanager/rtpjitterbuffer.c: (calculate_skew):
        Don't try to reset the clock skew when we have no timestamps.
        Fixes #519005.