diff --git a/gst/rtp/gstrtph265pay.c b/gst/rtp/gstrtph265pay.c index 549deb8d97f7fc382605b4a8cfa9d451e6f50672..b17b091618d1f28e9c3976f900dc42de098f3331 100644 --- a/gst/rtp/gstrtph265pay.c +++ b/gst/rtp/gstrtph265pay.c @@ -27,6 +27,7 @@ #include #include +#include /* Included to not duplicate gst_rtp_h265_add_vps_sps_pps () */ #include "gstrtph265depay.h" @@ -1027,6 +1028,8 @@ gst_rtp_h265_pay_payload_nal (GstRTPBasePayload * basepayload, GST_BUFFER_DTS (outbuf) = dts; /* insert payload memory block */ + gst_rtp_copy_meta (GST_ELEMENT_CAST (rtph265pay), outbuf, paybuf, + g_quark_from_static_string (GST_META_TAG_VIDEO_STR)); outbuf = gst_buffer_append (outbuf, paybuf); list = gst_buffer_list_new (); @@ -1094,14 +1097,13 @@ gst_rtp_h265_pay_payload_nal (GstRTPBasePayload * basepayload, gst_rtp_buffer_unmap (&rtp); /* insert payload memory block */ - gst_buffer_append (outbuf, - gst_buffer_copy_region (paybuf, GST_BUFFER_COPY_MEMORY, pos, - limitedSize)); - + gst_rtp_copy_meta (GST_ELEMENT_CAST (rtph265pay), outbuf, paybuf, + g_quark_from_static_string (GST_META_TAG_VIDEO_STR)); + gst_buffer_copy_into (outbuf, paybuf, GST_BUFFER_COPY_MEMORY, pos, + limitedSize); /* add the buffer to the buffer list */ gst_buffer_list_add (list, outbuf); - size -= limitedSize; pos += limitedSize; ii++; @@ -1210,7 +1212,7 @@ gst_rtp_h265_pay_handle_buffer (GstRTPBasePayload * basepayload, end_of_au = TRUE; } - paybuf = gst_buffer_copy_region (buffer, GST_BUFFER_COPY_MEMORY, offset, + paybuf = gst_buffer_copy_region (buffer, GST_BUFFER_COPY_ALL, offset, nal_len); ret =