From 85b99b9077b0c3f57cd6dac0c00123ac9d487791 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 13 Aug 2008 14:31:02 +0000 Subject: gst/rtpmanager/gstrtpbin.c: Reset rtp timestamp interpollation when we detect a gap when the clock_base changed. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_associate), (gst_rtp_bin_sync_chain), (new_ssrc_pad_found): Reset rtp timestamp interpollation when we detect a gap when the clock_base changed. Don't try to adjust the ts-offset when it's too big (> 3seconds) * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_set_ssrc): * gst/rtpmanager/gstrtpsession.h: Add method to set session SSRC. * gst/rtpmanager/rtpsession.c: (check_collision), (rtp_session_set_internal_ssrc), (rtp_session_get_internal_ssrc), (rtp_session_on_timeout): * gst/rtpmanager/rtpsession.h: Added debugging for the collision checks. Add method to change the internal SSRC of the session. * gst/rtpmanager/rtpsource.c: (rtp_source_process_rtp): Reset the clock base when we detect large jumps in the seqnums. --- gst/rtpmanager/gstrtpsession.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'gst/rtpmanager/gstrtpsession.c') diff --git a/gst/rtpmanager/gstrtpsession.c b/gst/rtpmanager/gstrtpsession.c index b96a1dfc..75437977 100644 --- a/gst/rtpmanager/gstrtpsession.c +++ b/gst/rtpmanager/gstrtpsession.c @@ -237,6 +237,7 @@ struct _GstRtpSessionPrivate { GMutex *lock; GstClock *sysclock; + RTPSession *session; /* thread for sending out RTCP */ @@ -1846,3 +1847,9 @@ static void gst_rtp_session_release_pad (GstElement * element, GstPad * pad) { } + +void +gst_rtp_session_set_ssrc (GstRtpSession * sess, guint32 ssrc) +{ + rtp_session_set_internal_ssrc (sess->priv->session, ssrc); +} -- cgit v1.2.1