From 1e55d0d725c4f86fddcbbf3663f1edc65b6aae54 Mon Sep 17 00:00:00 2001 From: Luis de Bethencourt Date: Sat, 15 Aug 2015 14:45:34 +0100 Subject: [PATCH] rtph265pay: Copy metadata in the payloader, but only the relevant ones The payloader didn't copy anything so far, the depayloader copied every possible meta. Let's make it consistent and just copy all metas without tags or with only the video tag. https://bugzilla.gnome.org/show_bug.cgi?id=751774 --- gst/rtp/gstrtph265pay.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/gst/rtp/gstrtph265pay.c b/gst/rtp/gstrtph265pay.c index 549deb8d97..b17b091618 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 =