mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-01 14:11:15 +00:00
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
This commit is contained in:
parent
26f63db498
commit
72879c3639
1 changed files with 2 additions and 0 deletions
|
@ -468,6 +468,8 @@ gst_tag_demux_trim_buffer (GstTagDemux * tagdemux, GstBuffer ** buf_ref,
|
||||||
g_return_val_if_fail (sub != NULL, FALSE);
|
g_return_val_if_fail (sub != NULL, FALSE);
|
||||||
if (GST_BUFFER_TIMESTAMP_IS_VALID (buf))
|
if (GST_BUFFER_TIMESTAMP_IS_VALID (buf))
|
||||||
GST_BUFFER_TIMESTAMP (sub) = GST_BUFFER_TIMESTAMP (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);
|
gst_buffer_unref (buf);
|
||||||
*buf_ref = buf = sub;
|
*buf_ref = buf = sub;
|
||||||
*buf_size = out_size;
|
*buf_size = out_size;
|
||||||
|
|
Loading…
Reference in a new issue