diff --git a/gst/rtp/gstrtpg723pay.c b/gst/rtp/gstrtpg723pay.c index ddf9075b19..0937c854ae 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 3765805f48..56c72b6aea 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 3f9ac88823..a27d95ee66 100644 --- a/gst/rtp/gstrtpklvpay.c +++ b/gst/rtp/gstrtpklvpay.c @@ -38,6 +38,7 @@ #endif #include "gstrtpklvpay.h" +#include "gstrtputils.h" #include @@ -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);