From ec1769b0480e60ee42ecf4a1f95ee33c94d0a3af Mon Sep 17 00:00:00 2001 From: Andrew Date: Wed, 8 Feb 2017 13:36:00 +0000 Subject: rtpjitterbuffer: Don't always reset PTS to 0 after a gap In function rtp_jitter_buffer_calculate_pts: If gap in incoming RTP timestamps is more than (3 * jbuf->clock_rate) we call rtp_jitter_buffer_reset_skew which resets pts to 0. So components down the pipeline (playes, mixers) just skip frames/samples until pts becomes equal to pts before gap. In version 1.10.2 and before this checking was bypassed for packets with "estimated dts", and gaps were handled correctly. https://bugzilla.gnome.org/show_bug.cgi?id=778341 --- gst/rtpmanager/rtpjitterbuffer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gst/rtpmanager/rtpjitterbuffer.h') diff --git a/gst/rtpmanager/rtpjitterbuffer.h b/gst/rtpmanager/rtpjitterbuffer.h index d04b5fd96..4d3c6fe16 100644 --- a/gst/rtpmanager/rtpjitterbuffer.h +++ b/gst/rtpmanager/rtpjitterbuffer.h @@ -189,7 +189,7 @@ void rtp_jitter_buffer_get_sync (RTPJitterBuffer *jbuf, guint64 *timestamp, guint32 *clock_rate, guint64 *last_rtptime); -GstClockTime rtp_jitter_buffer_calculate_pts (RTPJitterBuffer * jbuf, GstClockTime dts, +GstClockTime rtp_jitter_buffer_calculate_pts (RTPJitterBuffer * jbuf, GstClockTime dts, gboolean estimated_dts, guint32 rtptime, GstClockTime base_time); #endif /* __RTP_JITTER_BUFFER_H__ */ -- cgit v1.2.1