mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-25 11:11:08 +00:00
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
This commit is contained in:
parent
c3a519494b
commit
1f19649695
1 changed files with 3 additions and 1 deletions
|
@ -278,7 +278,8 @@ gst_base_rtp_depayload_chain (GstPad * pad, GstBuffer * in)
|
||||||
if (G_UNLIKELY (!gst_rtp_buffer_validate (in)))
|
if (G_UNLIKELY (!gst_rtp_buffer_validate (in)))
|
||||||
goto invalid_buffer;
|
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);
|
timestamp = GST_BUFFER_TIMESTAMP (in);
|
||||||
/* convert to running_time and save the timestamp, this is the timestamp
|
/* 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->play_scale = 1.0;
|
||||||
priv->next_seqnum = -1;
|
priv->next_seqnum = -1;
|
||||||
priv->negotiated = FALSE;
|
priv->negotiated = FALSE;
|
||||||
|
priv->discont = FALSE;
|
||||||
break;
|
break;
|
||||||
case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
|
case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue