diff options
author | Luis de Bethencourt <luis@debethencourt.com> | 2015-08-15 14:45:34 +0100 |
---|---|---|
committer | Luis de Bethencourt <luis@debethencourt.com> | 2015-08-15 14:45:37 +0100 |
commit | 4075b1112cd00d7758b208abeab5afa5ef0bbcbe (patch) | |
tree | 3272609061664b0ed85a849ec67e620e0f859709 /gst | |
parent | 5b2ddfb90cadf5d634be1c1b4759a703f5f9e6dd (diff) | |
download | gstreamer-plugins-bad-4075b1112cd00d7758b208abeab5afa5ef0bbcbe.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
Diffstat (limited to 'gst')
-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 = |