From 72879c3639f608be526359727e53f0e99d095e65 Mon Sep 17 00:00:00 2001 From: Michael Olbrich Date: Fri, 17 Jun 2016 15:11:20 +0200 Subject: [PATCH] tagdemux: preserve duration when skipping a tag at the beginning of a buffer gst_buffer_copy_region() does not copy the duration if it doesn't start with the first byte. We just skip the tag here, so the duration is still valid. https://bugzilla.gnome.org/show_bug.cgi?id=767791 --- gst-libs/gst/tag/gsttagdemux.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gst-libs/gst/tag/gsttagdemux.c b/gst-libs/gst/tag/gsttagdemux.c index e9e7aa2..e7fbe81 100644 --- a/gst-libs/gst/tag/gsttagdemux.c +++ b/gst-libs/gst/tag/gsttagdemux.c @@ -468,6 +468,8 @@ gst_tag_demux_trim_buffer (GstTagDemux * tagdemux, GstBuffer ** buf_ref, g_return_val_if_fail (sub != NULL, FALSE); if (GST_BUFFER_TIMESTAMP_IS_VALID (buf)) GST_BUFFER_TIMESTAMP (sub) = GST_BUFFER_TIMESTAMP (buf); + if (GST_BUFFER_DURATION_IS_VALID (buf)) + GST_BUFFER_DURATION (sub) = GST_BUFFER_DURATION (buf); gst_buffer_unref (buf); *buf_ref = buf = sub; *buf_size = out_size; -- 2.7.4