Imported Upstream version 1.5.90
diff --git a/gst/rtp/gstrtpL16depay.c b/gst/rtp/gstrtpL16depay.c
index 667a64a..41a8fff 100644
--- a/gst/rtp/gstrtpL16depay.c
+++ b/gst/rtp/gstrtpL16depay.c
@@ -44,6 +44,7 @@
 
 #include "gstrtpL16depay.h"
 #include "gstrtpchannels.h"
+#include "gstrtputils.h"
 
 GST_DEBUG_CATEGORY_STATIC (rtpL16depay_debug);
 #define GST_CAT_DEFAULT (rtpL16depay_debug)
@@ -84,7 +85,7 @@
 static gboolean gst_rtp_L16_depay_setcaps (GstRTPBaseDepayload * depayload,
     GstCaps * caps);
 static GstBuffer *gst_rtp_L16_depay_process (GstRTPBaseDepayload * depayload,
-    GstBuffer * buf);
+    GstRTPBuffer * rtp);
 
 static void
 gst_rtp_L16_depay_class_init (GstRtpL16DepayClass * klass)
@@ -96,7 +97,7 @@
   gstrtpbasedepayload_class = (GstRTPBaseDepayloadClass *) klass;
 
   gstrtpbasedepayload_class->set_caps = gst_rtp_L16_depay_setcaps;
-  gstrtpbasedepayload_class->process = gst_rtp_L16_depay_process;
+  gstrtpbasedepayload_class->process_rtp_packet = gst_rtp_L16_depay_process;
 
   gst_element_class_add_pad_template (gstelement_class,
       gst_static_pad_template_get (&gst_rtp_L16_depay_src_template));
@@ -225,26 +226,24 @@
 }
 
 static GstBuffer *
-gst_rtp_L16_depay_process (GstRTPBaseDepayload * depayload, GstBuffer * buf)
+gst_rtp_L16_depay_process (GstRTPBaseDepayload * depayload, GstRTPBuffer * rtp)
 {
   GstRtpL16Depay *rtpL16depay;
   GstBuffer *outbuf;
   gint payload_len;
   gboolean marker;
-  GstRTPBuffer rtp = { NULL };
 
   rtpL16depay = GST_RTP_L16_DEPAY (depayload);
 
-  gst_rtp_buffer_map (buf, GST_MAP_READ, &rtp);
-  payload_len = gst_rtp_buffer_get_payload_len (&rtp);
+  payload_len = gst_rtp_buffer_get_payload_len (rtp);
 
   if (payload_len <= 0)
     goto empty_packet;
 
   GST_DEBUG_OBJECT (rtpL16depay, "got payload of %d bytes", payload_len);
 
-  outbuf = gst_rtp_buffer_get_payload_buffer (&rtp);
-  marker = gst_rtp_buffer_get_marker (&rtp);
+  outbuf = gst_rtp_buffer_get_payload_buffer (rtp);
+  marker = gst_rtp_buffer_get_marker (rtp);
 
   if (marker) {
     /* mark talk spurt with RESYNC */
@@ -259,7 +258,8 @@
     goto reorder_failed;
   }
 
-  gst_rtp_buffer_unmap (&rtp);
+  gst_rtp_drop_meta (GST_ELEMENT_CAST (rtpL16depay), outbuf,
+      g_quark_from_static_string (GST_META_TAG_AUDIO_STR));
 
   return outbuf;
 
@@ -268,14 +268,12 @@
   {
     GST_ELEMENT_WARNING (rtpL16depay, STREAM, DECODE,
         ("Empty Payload."), (NULL));
-    gst_rtp_buffer_unmap (&rtp);
     return NULL;
   }
 reorder_failed:
   {
     GST_ELEMENT_ERROR (rtpL16depay, STREAM, DECODE,
         ("Channel reordering failed."), (NULL));
-    gst_rtp_buffer_unmap (&rtp);
     return NULL;
   }
 }