summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHyunjun Ko <zzoon.ko@samsung.com>2015-08-17 14:07:10 +0900
committerSebastian Dröge <sebastian@centricular.com>2015-08-17 14:12:50 +0200
commit38d269f80d074f3077801fa43c8e90e7b1df27fc (patch)
tree21d12b87f4bc73c5e27681b99e801e333ccb6475
parent5c680333ba676d86dfd66ca4e12e87868bef67f6 (diff)
rtp: copy metadata in the (de)payloaders which is missed before
https://bugzilla.gnome.org/show_bug.cgi?id=753706
-rw-r--r--gst/rtp/gstrtpg723pay.c3
-rw-r--r--gst/rtp/gstrtpgsmpay.c3
-rw-r--r--gst/rtp/gstrtpklvpay.c3
3 files changed, 8 insertions, 1 deletions
diff --git a/gst/rtp/gstrtpg723pay.c b/gst/rtp/gstrtpg723pay.c
index ddf9075b1..0937c854a 100644
--- a/gst/rtp/gstrtpg723pay.c
+++ b/gst/rtp/gstrtpg723pay.c
@@ -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);
diff --git a/gst/rtp/gstrtpgsmpay.c b/gst/rtp/gstrtpgsmpay.c
index 3765805f4..56c72b6ae 100644
--- a/gst/rtp/gstrtpgsmpay.c
+++ b/gst/rtp/gstrtpgsmpay.c
@@ -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);
diff --git a/gst/rtp/gstrtpklvpay.c b/gst/rtp/gstrtpklvpay.c
index 3f9ac8882..a27d95ee6 100644
--- a/gst/rtp/gstrtpklvpay.c
+++ b/gst/rtp/gstrtpklvpay.c
@@ -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);