diff --git a/libs/gst/base/gstbaseparse.c b/libs/gst/base/gstbaseparse.c index a43d293436..f42389af18 100644 --- a/libs/gst/base/gstbaseparse.c +++ b/libs/gst/base/gstbaseparse.c @@ -3016,8 +3016,10 @@ gst_base_parse_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer) /* already inform subclass what timestamps we have planned, * at least if provided by time-based upstream */ if (parse->priv->upstream_format == GST_FORMAT_TIME) { + tmpbuf = gst_buffer_make_writable (tmpbuf); GST_BUFFER_PTS (tmpbuf) = parse->priv->next_pts; GST_BUFFER_DTS (tmpbuf) = parse->priv->next_dts; + GST_BUFFER_DURATION (tmpbuf) = GST_CLOCK_TIME_NONE; } /* keep the adapter mapped, so keep track of what has to be flushed */