diff --git a/gst/multipart/multipartdemux.c b/gst/multipart/multipartdemux.c index 5f6c707753..3187920e80 100644 --- a/gst/multipart/multipartdemux.c +++ b/gst/multipart/multipartdemux.c @@ -469,6 +469,7 @@ gst_multipart_demux_chain (GstPad * pad, GstBuffer * buf) { GstMultipartDemux *multipart; GstAdapter *adapter; + GstClockTime timestamp; gint size = 1; GstFlowReturn res; @@ -477,6 +478,8 @@ gst_multipart_demux_chain (GstPad * pad, GstBuffer * buf) res = GST_FLOW_OK; + timestamp = GST_BUFFER_TIMESTAMP (buf); + if (GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DISCONT)) { gst_adapter_clear (adapter); } @@ -518,7 +521,7 @@ gst_multipart_demux_chain (GstPad * pad, GstBuffer * buf) gst_pad_push_event (srcpad->pad, event); GST_BUFFER_TIMESTAMP (outbuf) = 0; } else { - GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (buf); + GST_BUFFER_TIMESTAMP (outbuf) = timestamp; } GST_DEBUG_OBJECT (multipart, "pushing buffer with timestamp %" GST_TIME_FORMAT,