From 1f19649695c2f5c6313b33f0d40ffe5a3df70220 Mon Sep 17 00:00:00 2001 From: American Dynamics Date: Wed, 18 Aug 2010 12:34:07 +0200 Subject: [PATCH] basertpdepay: don't clear the discont flag too early Set the discont flag when we receive a DISCONT buffer and only clear the discont state when we pushed out a DISCONT buffer. Fixes #626869 --- gst-libs/gst/rtp/gstbasertpdepayload.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gst-libs/gst/rtp/gstbasertpdepayload.c b/gst-libs/gst/rtp/gstbasertpdepayload.c index 4dca0ca..1bdf523 100644 --- a/gst-libs/gst/rtp/gstbasertpdepayload.c +++ b/gst-libs/gst/rtp/gstbasertpdepayload.c @@ -278,7 +278,8 @@ gst_base_rtp_depayload_chain (GstPad * pad, GstBuffer * in) if (G_UNLIKELY (!gst_rtp_buffer_validate (in))) goto invalid_buffer; - priv->discont = GST_BUFFER_IS_DISCONT (in); + if (!priv->discont) + priv->discont = GST_BUFFER_IS_DISCONT (in); timestamp = GST_BUFFER_TIMESTAMP (in); /* convert to running_time and save the timestamp, this is the timestamp @@ -642,6 +643,7 @@ gst_base_rtp_depayload_change_state (GstElement * element, priv->play_scale = 1.0; priv->next_seqnum = -1; priv->negotiated = FALSE; + priv->discont = FALSE; break; case GST_STATE_CHANGE_PAUSED_TO_PLAYING: break; -- 2.7.4