rtp: copy metadata in the (de)payloaders which is missed before
authorHyunjun Ko <zzoon.ko@samsung.com>
Mon, 17 Aug 2015 05:07:10 +0000 (14:07 +0900)
committerSebastian Dröge <sebastian@centricular.com>
Mon, 17 Aug 2015 12:12:50 +0000 (14:12 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=753706

gst/rtp/gstrtpg723pay.c
gst/rtp/gstrtpgsmpay.c
gst/rtp/gstrtpklvpay.c

index ddf9075..0937c85 100644 (file)
@@ -164,8 +164,9 @@ gst_rtp_g723_pay_flush (GstRTPG723Pay * pay)
     pay->discont = FALSE;
   }
   gst_rtp_buffer_unmap (&rtp);
-  gst_rtp_drop_meta (GST_ELEMENT_CAST (pay), outbuf,
+  gst_rtp_copy_meta (GST_ELEMENT_CAST (pay), outbuf, payload_buf,
       g_quark_from_static_string (GST_META_TAG_AUDIO_STR));
+
   outbuf = gst_buffer_append (outbuf, payload_buf);
 
   ret = gst_rtp_base_payload_push (GST_RTP_BASE_PAYLOAD (pay), outbuf);
index 3765805..56c72b6 100644 (file)
@@ -151,6 +151,9 @@ gst_rtp_gsm_pay_handle_buffer (GstRTPBasePayload * basepayload,
   GST_BUFFER_PTS (outbuf) = timestamp;
   GST_BUFFER_DURATION (outbuf) = duration;
 
+  gst_rtp_copy_meta (GST_ELEMENT_CAST (rtpgsmpay), outbuf, buffer,
+      g_quark_from_static_string (GST_META_TAG_AUDIO_STR));
+
   /* append payload */
   outbuf = gst_buffer_append (outbuf, buffer);
 
index 3f9ac88..a27d95e 100644 (file)
@@ -38,6 +38,7 @@
 #endif
 
 #include "gstrtpklvpay.h"
+#include "gstrtputils.h"
 
 #include <string.h>
 
@@ -159,6 +160,8 @@ gst_rtp_klv_pay_handle_buffer (GstRTPBasePayload * basepayload, GstBuffer * buf)
 
     GST_LOG_OBJECT (pay, "packet with payload size %u", payload_size);
 
+    gst_rtp_copy_meta (GST_ELEMENT_CAST (pay), outbuf, buf, 0);
+
     payloadbuf = gst_buffer_copy_region (buf, GST_BUFFER_COPY_MEMORY,
         offset, payload_size);