summaryrefslogtreecommitdiffstats
path: root/gst/rtpmanager/rtpsource.c
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2008-08-13 14:31:02 +0000
committerWim Taymans <wim.taymans@gmail.com>2008-08-13 14:31:02 +0000
commit85b99b9077b0c3f57cd6dac0c00123ac9d487791 (patch)
treefbb28773e7477e79b959b0a2c3eb3a405a6374d4 /gst/rtpmanager/rtpsource.c
parent601b0f1d9687981567d3a1b1fc7ac8a853573704 (diff)
downloadgst-plugins-bad-85b99b9077b0c3f57cd6dac0c00123ac9d487791.tar.gz
gst-plugins-bad-85b99b9077b0c3f57cd6dac0c00123ac9d487791.tar.bz2
gst-plugins-bad-85b99b9077b0c3f57cd6dac0c00123ac9d487791.zip
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.
Diffstat (limited to 'gst/rtpmanager/rtpsource.c')
-rw-r--r--gst/rtpmanager/rtpsource.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gst/rtpmanager/rtpsource.c b/gst/rtpmanager/rtpsource.c
index 4c01a7ad..ddbf733b 100644
--- a/gst/rtpmanager/rtpsource.c
+++ b/gst/rtpmanager/rtpsource.c
@@ -923,11 +923,13 @@ rtp_source_process_rtp (RTPSource * src, GstBuffer * buffer,
} else {
/* unacceptable jump */
stats->bad_seq = (seqnr + 1) & (RTP_SEQ_MOD - 1);
+ src->clock_base = -1;
goto bad_sequence;
}
} else {
/* duplicate or reordered packet, will be filtered by jitterbuffer. */
GST_WARNING ("duplicate or reordered packet");
+ src->clock_base = -1;
}
src->stats.octets_received += arrival->payload_len;