summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Nauwelaerts <mnauw@users.sourceforge.net>2014-05-04 13:37:46 +0200
committerMark Nauwelaerts <mnauw@users.sourceforge.net>2014-05-04 13:38:26 +0200
commit6c584bc8337da0a19287d51eaf05c608711b9ef5 (patch)
treeca8b42ab8348af019f56a59993024ae7ec983cb1
parent39bbccdf79c74de68cd47c5f8fb1dec9e688cb9f (diff)
rtpjitterbuffer: avoid stall by corrupted seqnum accounting
-rw-r--r--gst/rtpmanager/gstrtpjitterbuffer.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gst/rtpmanager/gstrtpjitterbuffer.c b/gst/rtpmanager/gstrtpjitterbuffer.c
index 1459e91c5..62d7228e7 100644
--- a/gst/rtpmanager/gstrtpjitterbuffer.c
+++ b/gst/rtpmanager/gstrtpjitterbuffer.c
@@ -2826,7 +2826,10 @@ do_deadline_timeout (GstRtpJitterBuffer * jitterbuffer, TimerData * timer,
GST_INFO_OBJECT (jitterbuffer, "got deadline timeout");
- priv->next_seqnum = timer->seqnum;
+ /* timer seqnum might have been obsoleted by caps seqnum-base,
+ * only mess with current ongoing seqnum if still unknown */
+ if (priv->next_seqnum == -1)
+ priv->next_seqnum = timer->seqnum;
remove_timer (jitterbuffer, timer);
JBUF_SIGNAL_EVENT (priv);