From 9285e110ccb5b062926557f4ca5e682ea796267e Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 25 Apr 2008 08:15:58 +0000 Subject: gst/rtpmanager/: Also keep track of the first buffer timestamp together with the first Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_associate), (gst_rtp_bin_sync_chain): * gst/rtpmanager/rtpsession.c: (update_arrival_stats), (rtp_session_process_sr), (rtp_session_on_timeout): * gst/rtpmanager/rtpsource.c: (rtp_source_init), (calculate_jitter): * gst/rtpmanager/rtpsource.h: * gst/rtpmanager/rtpstats.h: Also keep track of the first buffer timestamp together with the first RTP timestamp as they both are needed to construct the timing of outgoing packets in the jitterbuffer and are therefore also needed to manage lip-sync. This fixes lip-sync if the first RTP packets arrive with a wildly different gap. --- gst/rtpmanager/rtpstats.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gst/rtpmanager/rtpstats.h') diff --git a/gst/rtpmanager/rtpstats.h b/gst/rtpmanager/rtpstats.h index c0d3a512..f82c9585 100644 --- a/gst/rtpmanager/rtpstats.h +++ b/gst/rtpmanager/rtpstats.h @@ -56,7 +56,8 @@ typedef struct { /** * RTPArrivalStats: - * @time: arrival time of a packet + * @time: arrival time of a packet according to the system clock + * @timestamp: arrival time of a packet as buffer timestamp * @address: address of the sender of the packet * @bytes: bytes of the packet including lowlevel overhead * @payload_len: bytes of the RTP payload @@ -65,6 +66,7 @@ typedef struct { */ typedef struct { GstClockTime time; + GstClockTime timestamp; guint64 ntpnstime; gboolean have_address; GstNetAddress address; -- cgit v1.2.1