diff options
author | Luis de Bethencourt <luis@debethencourt.com> | 2015-08-15 14:45:34 +0100 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2016-02-16 00:24:41 +0000 |
commit | 1e55d0d725c4f86fddcbbf3663f1edc65b6aae54 (patch) | |
tree | c4b661e4c3f7de6059f40dd48cf2c19a06e13849 | |
parent | 8611645af66a66326fd081adf209d025e1050a6f (diff) | |
download | gstreamer-plugins-good-1e55d0d725c4f86fddcbbf3663f1edc65b6aae54.tar.gz |
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
-rw-r--r-- | gst/rtp/gstrtph265pay.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/gst/rtp/gstrtph265pay.c b/gst/rtp/gstrtph265pay.c index 549deb8d9..b17b09161 100644 --- a/gst/rtp/gstrtph265pay.c +++ b/gst/rtp/gstrtph265pay.c @@ -27,6 +27,7 @@ #include <gst/rtp/gstrtpbuffer.h> #include <gst/pbutils/pbutils.h> +#include <gst/video/video.h> /* 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 = |