From 859501af277062c7a6eab91fe68ed6ce93277815 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 28 Sep 2007 11:17:35 +0000 Subject: gst/rtpmanager/gstrtpjitterbuffer.c: Remove jitter correction code, it's now in the lower level object. Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (apply_latency), (gst_rtp_jitter_buffer_loop), (gst_rtp_jitter_buffer_query): Remove jitter correction code, it's now in the lower level object. Use new -core method for doing a peer query. * gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_init), (calculate_skew), (rtp_jitter_buffer_insert): * gst/rtpmanager/rtpjitterbuffer.h: Move jitter correction to the lowlevel jitterbuffer. Increase the max window size. When filling the window, already start estimating the skew using a parabolic weighting factor so that we have a much better startup behaviour that gets more accurate with the more samples we have. Increase the default weighting factor for the steady state to get smoother timestamps. --- gst/rtpmanager/rtpjitterbuffer.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gst/rtpmanager/rtpjitterbuffer.h') diff --git a/gst/rtpmanager/rtpjitterbuffer.h b/gst/rtpmanager/rtpjitterbuffer.h index 1db07059..fdc8d488 100644 --- a/gst/rtpmanager/rtpjitterbuffer.h +++ b/gst/rtpmanager/rtpjitterbuffer.h @@ -43,6 +43,7 @@ typedef struct _RTPJitterBufferClass RTPJitterBufferClass; */ typedef void (*RTPTailChanged) (RTPJitterBuffer *jbuf, gpointer user_data); +#define RTP_JITTER_BUFFER_MAX_WINDOW 512 /** * RTPJitterBuffer: * @@ -59,7 +60,7 @@ struct _RTPJitterBuffer { GstClockTime base_time; GstClockTime base_rtptime; guint64 ext_rtptime; - gint64 window[100]; + gint64 window[RTP_JITTER_BUFFER_MAX_WINDOW]; guint window_pos; guint window_size; gboolean window_filling; -- cgit v1.2.1