diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2015-08-04 20:59:17 +0300 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2015-08-11 12:47:23 +0200 |
commit | b1089fb5207697ba26edb4ff66ed0f465c6df3cf (patch) | |
tree | f9ae899c9cf4707d142500b1b05deb9c530f4525 /gst/rtp/gstrtpg726depay.c | |
parent | 288b0bbb38c75b77bf22e6a21139167292beb233 (diff) | |
download | gstreamer-plugins-good-b1089fb5207697ba26edb4ff66ed0f465c6df3cf.tar.gz |
rtp: Copy metadata in the (de)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/rtp/gstrtpg726depay.c')
-rw-r--r-- | gst/rtp/gstrtpg726depay.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gst/rtp/gstrtpg726depay.c b/gst/rtp/gstrtpg726depay.c index 7bab5be7b..efaadea5f 100644 --- a/gst/rtp/gstrtpg726depay.c +++ b/gst/rtp/gstrtpg726depay.c @@ -28,8 +28,10 @@ #include <stdlib.h> #include <string.h> #include <gst/rtp/gstrtpbuffer.h> +#include <gst/audio/audio.h> #include "gstrtpg726depay.h" +#include "gstrtputils.h" GST_DEBUG_CATEGORY_STATIC (rtpg726depay_debug); #define GST_CAT_DEFAULT (rtpg726depay_debug) @@ -226,6 +228,8 @@ gst_rtp_g726_depay_process (GstRTPBaseDepayload * depayload, GstRTPBuffer * rtp) outbuf = gst_rtp_buffer_get_payload_buffer (rtp); if (!outbuf) goto bad_len; + gst_rtp_drop_meta (GST_ELEMENT_CAST (depay), outbuf, + g_quark_from_static_string (GST_META_TAG_AUDIO_STR)); } else { guint8 *in, *out, tmp; guint len; @@ -239,6 +243,9 @@ gst_rtp_g726_depay_process (GstRTPBaseDepayload * depayload, GstRTPBuffer * rtp) goto bad_len; outbuf = gst_buffer_make_writable (outbuf); + gst_rtp_drop_meta (GST_ELEMENT_CAST (depay), outbuf, + g_quark_from_static_string (GST_META_TAG_AUDIO_STR)); + gst_buffer_map (outbuf, &map, GST_MAP_WRITE); out = map.data; |