dcaparse: keep upstream buffer meta
authorDongyun Seo <dongyun.seo@lge.com>
Tue, 14 Nov 2023 06:36:34 +0000 (15:36 +0900)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Tue, 14 Nov 2023 22:21:16 +0000 (22:21 +0000)
Some audio decoders cannot decode DTS stream if there is no
valid timestamp. So, keep upstream buffer meta.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5664>

subprojects/gst-plugins-good/gst/audioparsers/gstdcaparse.c

index e9c8702..ef2dec5 100644 (file)
@@ -505,6 +505,7 @@ gst_dca_parse_chain_priv (GstPad * pad, GstObject * parent, GstBuffer * buffer)
   size = gst_buffer_get_size (buffer);
   if (size >= 2) {
     newbuf = gst_buffer_copy_region (buffer, GST_BUFFER_COPY_ALL, 2, size - 2);
+    gst_buffer_copy_into (newbuf, buffer, GST_BUFFER_COPY_METADATA, 0, -1);
     gst_buffer_unref (buffer);
     ret = dcaparse->baseparse_chainfunc (pad, parent, newbuf);
   } else {