Do burger's rename for rtp payloaders and depayloaders

Original commit message from CVS:
Do burger's rename for rtp payloaders and depayloaders
diff --git a/ChangeLog b/ChangeLog
index 5dc7625..5740ada 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,78 @@
+2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
+
+	* gst/rtp/Makefile.am:
+	* gst/rtp/gstasteriskh263.c:
+	* gst/rtp/gstrtp.c:
+	* gst/rtp/gstrtpL16enc.c:
+	* gst/rtp/gstrtpL16enc.h:
+	* gst/rtp/gstrtpL16parse.c:
+	* gst/rtp/gstrtpL16parse.h:
+	* gst/rtp/gstrtpL16pay.c:
+	* gst/rtp/gstrtpL16pay.h:
+	* gst/rtp/gstrtpamrdec.c:
+	* gst/rtp/gstrtpamrdec.h:
+	* gst/rtp/gstrtpamrdepay.c:
+	* gst/rtp/gstrtpamrdepay.h:
+	* gst/rtp/gstrtpamrenc.c:
+	* gst/rtp/gstrtpamrenc.h:
+	* gst/rtp/gstrtpamrpay.c:
+	* gst/rtp/gstrtpamrpay.h:
+	* gst/rtp/gstrtpdec.c:
+	* gst/rtp/gstrtpdec.h:
+	* gst/rtp/gstrtpdepay.c:
+	* gst/rtp/gstrtpdepay.h:
+	* gst/rtp/gstrtpg711dec.c:
+	* gst/rtp/gstrtpg711dec.h:
+	* gst/rtp/gstrtpg711depay.c:
+	* gst/rtp/gstrtpg711depay.h:
+	* gst/rtp/gstrtpg711enc.c:
+	* gst/rtp/gstrtpg711enc.h:
+	* gst/rtp/gstrtpg711pay.c:
+	* gst/rtp/gstrtpg711pay.h:
+	* gst/rtp/gstrtpgsmenc.c:
+	* gst/rtp/gstrtpgsmenc.h:
+	* gst/rtp/gstrtpgsmparse.c:
+	* gst/rtp/gstrtpgsmparse.h:
+	* gst/rtp/gstrtpgsmpay.c:
+	* gst/rtp/gstrtpgsmpay.h:
+	* gst/rtp/gstrtph263enc.c:
+	* gst/rtp/gstrtph263enc.h:
+	* gst/rtp/gstrtph263pay.c:
+	* gst/rtp/gstrtph263pay.h:
+	* gst/rtp/gstrtph263pdec.c:
+	* gst/rtp/gstrtph263pdec.h:
+	* gst/rtp/gstrtph263pdepay.c:
+	* gst/rtp/gstrtph263pdepay.h:
+	* gst/rtp/gstrtph263penc.c:
+	* gst/rtp/gstrtph263penc.h:
+	* gst/rtp/gstrtph263ppay.c:
+	* gst/rtp/gstrtph263ppay.h:
+	* gst/rtp/gstrtpmp4vdec.c:
+	* gst/rtp/gstrtpmp4vdec.h:
+	* gst/rtp/gstrtpmp4vdepay.c:
+	* gst/rtp/gstrtpmp4vdepay.h:
+	* gst/rtp/gstrtpmp4venc.c:
+	* gst/rtp/gstrtpmp4venc.h:
+	* gst/rtp/gstrtpmp4vpay.c:
+	* gst/rtp/gstrtpmp4vpay.h:
+	* gst/rtp/gstrtpmpadec.c:
+	* gst/rtp/gstrtpmpadec.h:
+	* gst/rtp/gstrtpmpadepay.c:
+	* gst/rtp/gstrtpmpadepay.h:
+	* gst/rtp/gstrtpmpaenc.c:
+	* gst/rtp/gstrtpmpaenc.h:
+	* gst/rtp/gstrtpmpapay.c:
+	* gst/rtp/gstrtpmpapay.h:
+	* gst/rtp/gstrtpspeexdec.c:
+	* gst/rtp/gstrtpspeexdec.h:
+	* gst/rtp/gstrtpspeexdepay.c:
+	* gst/rtp/gstrtpspeexdepay.h:
+	* gst/rtp/gstrtpspeexenc.c:
+	* gst/rtp/gstrtpspeexenc.h:
+	* gst/rtp/gstrtpspeexpay.c:
+	* gst/rtp/gstrtpspeexpay.h:
+	  Do burger's rename for rtp payloaders and depayloaders
+
 2005-11-30  Wim Taymans  <wim@fluendo.com>
 
 	* ext/dv/gstdvdec.c: (gst_dvdec_chain):
diff --git a/common b/common
index f9f5f06..54bb21c 160000
--- a/common
+++ b/common
@@ -1 +1 @@
-Subproject commit f9f5f063728688cf455a1512d492b632c43963d7
+Subproject commit 54bb21c57bb86941d80c15590e0a121405173156
diff --git a/gst/rtp/Makefile.am b/gst/rtp/Makefile.am
index d1c98e9..35c18fa 100644
--- a/gst/rtp/Makefile.am
+++ b/gst/rtp/Makefile.am
@@ -2,25 +2,25 @@
 
 libgstrtp_la_SOURCES = \
 	gstrtp.c \
-	gstrtpdec.c \
-	gstrtpmpadec.c \
-	gstrtpmpaenc.c \
-	gstrtpg711enc.c \
-	gstrtpg711dec.c \
-	gstrtpgsmenc.c \
+	gstrtpdepay.c \
+	gstrtpmpadepay.c \
+	gstrtpmpapay.c \
+	gstrtpg711pay.c \
+	gstrtpg711depay.c \
+	gstrtpgsmpay.c \
 	gstrtpgsmparse.c \
-	gstrtpamrdec.c \
-	gstrtpamrenc.c \
-	gstrtph263pdec.c \
-	gstrtph263penc.c \
-	gstrtph263enc.c \
+	gstrtpamrdepay.c \
+	gstrtpamrpay.c \
+	gstrtph263pdepay.c \
+	gstrtph263ppay.c \
+	gstrtph263pay.c \
 	gstasteriskh263.c \
-	gstrtpmp4venc.c \
-	gstrtpmp4vdec.c \
-	gstrtpspeexenc.c \
-	gstrtpspeexdec.c
+	gstrtpmp4vpay.c \
+	gstrtpmp4vdepay.c \
+	gstrtpspeexpay.c \
+	gstrtpspeexdepay.c
 	
-#gstrtpL16enc.c gstrtpL16parse.c gstrtpgsmenc.c gstrtpgsmparse.c 
+#gstrtpL16pay.c gstrtpL16parse.c gstrtpgsmpay.c gstrtpgsmparse.c 
 
 if HAVE_WINSOCK2_H
 WINSOCK2_LIBS = -lws2_32
@@ -33,23 +33,23 @@
                 -lgstrtp-@GST_MAJORMINOR@ $(WINSOCK2_LIBS)
 libgstrtp_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) 
 
-noinst_HEADERS = gstrtpL16enc.h 	\
+noinst_HEADERS = gstrtpL16pay.h 	\
 		 gstrtpL16parse.h 	\
-		 gstrtpamrdec.h 	\
-		 gstrtpamrenc.h 	\
-		 gstrtpg711enc.h 	\
-		 gstrtpg711dec.h 	\
-		 gstrtpgsmenc.h 	\
+		 gstrtpamrdepay.h 	\
+		 gstrtpamrpay.h 	\
+		 gstrtpg711pay.h 	\
+		 gstrtpg711depay.h 	\
+		 gstrtpgsmpay.h 	\
 		 gstrtpgsmparse.h 	\
-		 gstrtpmpadec.h 	\
-		 gstrtpmpaenc.h 	\
-		 gstrtph263pdec.h 	\
-		 gstrtph263penc.h 	\
-		 gstrtph263enc.h 	\
-		 gstrtpmp4venc.h	\
-		 gstrtpmp4vdec.h	\
-		 gstrtpdec.h		\
-		 gstrtph263enc.h	\
+		 gstrtpmpadepay.h 	\
+		 gstrtpmpapay.h 	\
+		 gstrtph263pdepay.h 	\
+		 gstrtph263ppay.h 	\
+		 gstrtph263pay.h 	\
+		 gstrtpmp4vpay.h	\
+		 gstrtpmp4vdepay.h	\
+		 gstrtpdepay.h		\
+		 gstrtph263pay.h	\
 		 gstasteriskh263.h  \
-		 gstrtpspeexenc.h	\
-		 gstrtpspeexdec.h
+		 gstrtpspeexpay.h	\
+		 gstrtpspeexdepay.h
diff --git a/gst/rtp/gstasteriskh263.c b/gst/rtp/gstasteriskh263.c
index e38abea..8f0d62a 100644
--- a/gst/rtp/gstasteriskh263.c
+++ b/gst/rtp/gstasteriskh263.c
@@ -41,7 +41,7 @@
 #define GST_ASTERISKH263_HEADER_LENGTH(buf) (((GstAsteriskH263Header *)(GST_BUFFER_DATA (buf)))->length)
 
 /* elementfactory information */
-static GstElementDetails gst_rtp_h263pdec_details = {
+static GstElementDetails gst_rtp_h263p_depaydetails = {
   "RTP packet parser",
   "Codec/Parser/Network",
   "Extracts H263 video from RTP and encodes in Asterisk H263 format",
@@ -130,7 +130,7 @@
   gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&gst_asteriskh263_sink_template));
 
-  gst_element_class_set_details (element_class, &gst_rtp_h263pdec_details);
+  gst_element_class_set_details (element_class, &gst_rtp_h263p_depaydetails);
 }
 
 static void
@@ -191,7 +191,7 @@
 
   asteriskh263 = GST_ASTERISK_H263 (GST_OBJECT_PARENT (pad));
 
-  if (!gst_rtpbuffer_validate (buf))
+  if (!gst_rtp_buffer_validate (buf))
     goto bad_packet;
 
   {
@@ -202,11 +202,11 @@
     guint32 samples;
     guint16 asterisk_len;
 
-    payload_len = gst_rtpbuffer_get_payload_len (buf);
-    payload = gst_rtpbuffer_get_payload (buf);
+    payload_len = gst_rtp_buffer_get_payload_len (buf);
+    payload = gst_rtp_buffer_get_payload (buf);
 
-    M = gst_rtpbuffer_get_marker (buf);
-    timestamp = gst_rtpbuffer_get_timestamp (buf);
+    M = gst_rtp_buffer_get_marker (buf);
+    timestamp = gst_rtp_buffer_get_timestamp (buf);
 
     outbuf = gst_buffer_new_and_alloc (payload_len +
         GST_ASTERISKH263_HEADER_LEN);
diff --git a/gst/rtp/gstrtp.c b/gst/rtp/gstrtp.c
index 889e374..900dc5c 100644
--- a/gst/rtp/gstrtp.c
+++ b/gst/rtp/gstrtp.c
@@ -21,76 +21,76 @@
 #include "config.h"
 #endif
 
-#include "gstrtpdec.h"
-#include "gstrtpg711enc.h"
-#include "gstrtpg711dec.h"
-#include "gstrtpgsmenc.h"
+#include "gstrtpdepay.h"
+#include "gstrtpg711pay.h"
+#include "gstrtpg711depay.h"
+#include "gstrtpgsmpay.h"
 #include "gstrtpgsmparse.h"
-#include "gstrtpamrenc.h"
-#include "gstrtpamrdec.h"
-#include "gstrtpmpaenc.h"
-#include "gstrtpmpadec.h"
-#include "gstrtph263pdec.h"
-#include "gstrtph263penc.h"
-#include "gstrtph263enc.h"
+#include "gstrtpamrpay.h"
+#include "gstrtpamrdepay.h"
+#include "gstrtpmpapay.h"
+#include "gstrtpmpadepay.h"
+#include "gstrtph263pdepay.h"
+#include "gstrtph263ppay.h"
+#include "gstrtph263pay.h"
 #include "gstasteriskh263.h"
-#include "gstrtpmp4venc.h"
-#include "gstrtpmp4vdec.h"
-#include "gstrtpspeexenc.h"
-#include "gstrtpspeexdec.h"
+#include "gstrtpmp4vpay.h"
+#include "gstrtpmp4vdepay.h"
+#include "gstrtpspeexpay.h"
+#include "gstrtpspeexdepay.h"
 
 static gboolean
 plugin_init (GstPlugin * plugin)
 {
-  if (!gst_rtpdec_plugin_init (plugin))
+  if (!gst_rtp_depay_plugin_init (plugin))
     return FALSE;
 
-  if (!gst_rtpgsmparse_plugin_init (plugin))
+  if (!gst_rtp_gsm_parse_plugin_init (plugin))
     return FALSE;
 
-  if (!gst_rtpgsmenc_plugin_init (plugin))
+  if (!gst_rtp_gsm_pay_plugin_init (plugin))
     return FALSE;
 
-  if (!gst_rtpamrdec_plugin_init (plugin))
+  if (!gst_rtp_amr_depay_plugin_init (plugin))
     return FALSE;
 
-  if (!gst_rtpamrenc_plugin_init (plugin))
+  if (!gst_rtp_amr_pay_plugin_init (plugin))
     return FALSE;
 
-  if (!gst_rtpg711dec_plugin_init (plugin))
+  if (!gst_rtp_g711_depay_plugin_init (plugin))
     return FALSE;
 
-  if (!gst_rtpg711enc_plugin_init (plugin))
+  if (!gst_rtp_g711_pay_plugin_init (plugin))
     return FALSE;
 
-  if (!gst_rtpmpadec_plugin_init (plugin))
+  if (!gst_rtp_mpa_depay_plugin_init (plugin))
     return FALSE;
 
-  if (!gst_rtpmpaenc_plugin_init (plugin))
+  if (!gst_rtp_mpa_pay_plugin_init (plugin))
     return FALSE;
 
-  if (!gst_rtph263penc_plugin_init (plugin))
+  if (!gst_rtp_h263p_pay_plugin_init (plugin))
     return FALSE;
 
-  if (!gst_rtph263pdec_plugin_init (plugin))
+  if (!gst_rtp_h263p_depay_plugin_init (plugin))
     return FALSE;
 
-  if (!gst_rtph263enc_plugin_init (plugin))
+  if (!gst_rtp_h263_pay_plugin_init (plugin))
     return FALSE;
 
   if (!gst_asteriskh263_plugin_init (plugin))
     return FALSE;
 
-  if (!gst_rtpmp4venc_plugin_init (plugin))
+  if (!gst_rtp_mp4v_pay_plugin_init (plugin))
     return FALSE;
 
-  if (!gst_rtpmp4vdec_plugin_init (plugin))
+  if (!gst_rtp_mp4v_depay_plugin_init (plugin))
     return FALSE;
 
-  if (!gst_rtpspeexenc_plugin_init (plugin))
+  if (!gst_rtp_speex_pay_plugin_init (plugin))
     return FALSE;
 
-  if (!gst_rtpspeexdec_plugin_init (plugin))
+  if (!gst_rtp_speex_depay_plugin_init (plugin))
     return FALSE;
 
   return TRUE;
@@ -100,4 +100,4 @@
     GST_VERSION_MINOR,
     "rtp",
     "Real-time protocol plugins",
-    plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
+    plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN);
diff --git a/gst/rtp/gstrtpL16depay.c b/gst/rtp/gstrtpL16depay.c
index 2caf350..25a37db 100644
--- a/gst/rtp/gstrtpL16depay.c
+++ b/gst/rtp/gstrtpL16depay.c
@@ -41,7 +41,7 @@
   ARG_PAYLOAD_TYPE
 };
 
-static GstStaticPadTemplate gst_rtpL16parse_src_template =
+static GstStaticPadTemplate gst_rtp_L16parse_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
@@ -53,43 +53,44 @@
         "rate = (int) [ 1000, 48000 ], " "channels = (int) [ 1, 2 ]")
     );
 
-static GstStaticPadTemplate gst_rtpL16parse_sink_template =
+static GstStaticPadTemplate gst_rtp_L16parse_sink_template =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("application/x-rtp")
     );
 
-static void gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass);
-static void gst_rtpL16parse_base_init (GstRtpL16ParseClass * klass);
-static void gst_rtpL16parse_init (GstRtpL16Parse * rtpL16parse);
+static void gst_rtp_L16parse_class_init (GstRtpL16ParseClass * klass);
+static void gst_rtp_L16parse_base_init (GstRtpL16ParseClass * klass);
+static void gst_rtp_L16parse_init (GstRtpL16Parse * rtpL16parse);
 
-static void gst_rtpL16parse_chain (GstPad * pad, GstData * _data);
+static void gst_rtp_L16parse_chain (GstPad * pad, GstData * _data);
 
-static void gst_rtpL16parse_set_property (GObject * object, guint prop_id,
+static void gst_rtp_L16parse_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec);
-static void gst_rtpL16parse_get_property (GObject * object, guint prop_id,
+static void gst_rtp_L16parse_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec);
-static GstStateChangeReturn gst_rtpL16parse_change_state (GstElement * element);
+static GstStateChangeReturn gst_rtp_L16parse_change_state (GstElement *
+    element);
 
 static GstElementClass *parent_class = NULL;
 
 static GType
-gst_rtpL16parse_get_type (void)
+gst_rtp_L16parse_get_type (void)
 {
   static GType rtpL16parse_type = 0;
 
   if (!rtpL16parse_type) {
     static const GTypeInfo rtpL16parse_info = {
       sizeof (GstRtpL16ParseClass),
-      (GBaseInitFunc) gst_rtpL16parse_base_init,
+      (GBaseInitFunc) gst_rtp_L16parse_base_init,
       NULL,
-      (GClassInitFunc) gst_rtpL16parse_class_init,
+      (GClassInitFunc) gst_rtp_L16parse_class_init,
       NULL,
       NULL,
       sizeof (GstRtpL16Parse),
       0,
-      (GInstanceInitFunc) gst_rtpL16parse_init,
+      (GInstanceInitFunc) gst_rtp_L16parse_init,
     };
 
     rtpL16parse_type =
@@ -100,19 +101,19 @@
 }
 
 static void
-gst_rtpL16parse_base_init (GstRtpL16ParseClass * klass)
+gst_rtp_L16parse_base_init (GstRtpL16ParseClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpL16parse_src_template));
+      gst_static_pad_template_get (&gst_rtp_L16parse_src_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpL16parse_sink_template));
+      gst_static_pad_template_get (&gst_rtp_L16parse_sink_template));
   gst_element_class_set_details (element_class, &gst_rtp_L16parse_details);
 }
 
 static void
-gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass)
+gst_rtp_L16parse_class_init (GstRtpL16ParseClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -129,24 +130,24 @@
       g_param_spec_int ("frequency", "frequency", "frequency",
           G_MININT, G_MAXINT, 44100, G_PARAM_READWRITE));
 
-  gobject_class->set_property = gst_rtpL16parse_set_property;
-  gobject_class->get_property = gst_rtpL16parse_get_property;
+  gobject_class->set_property = gst_rtp_L16parse_set_property;
+  gobject_class->get_property = gst_rtp_L16parse_get_property;
 
-  gstelement_class->change_state = gst_rtpL16parse_change_state;
+  gstelement_class->change_state = gst_rtp_L16parse_change_state;
 }
 
 static void
-gst_rtpL16parse_init (GstRtpL16Parse * rtpL16parse)
+gst_rtp_L16parse_init (GstRtpL16Parse * rtpL16parse)
 {
   rtpL16parse->srcpad =
       gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpL16parse_src_template), "src");
+      (&gst_rtp_L16parse_src_template), "src");
   rtpL16parse->sinkpad =
       gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpL16parse_sink_template), "sink");
+      (&gst_rtp_L16parse_sink_template), "sink");
   gst_element_add_pad (GST_ELEMENT (rtpL16parse), rtpL16parse->srcpad);
   gst_element_add_pad (GST_ELEMENT (rtpL16parse), rtpL16parse->sinkpad);
-  gst_pad_set_chain_function (rtpL16parse->sinkpad, gst_rtpL16parse_chain);
+  gst_pad_set_chain_function (rtpL16parse->sinkpad, gst_rtp_L16parse_chain);
 
   rtpL16parse->frequency = 44100;
   rtpL16parse->channels = 2;
@@ -155,7 +156,7 @@
 }
 
 void
-gst_rtpL16parse_ntohs (GstBuffer * buf)
+gst_rtp_L16parse_ntohs (GstBuffer * buf)
 {
   gint16 *i, *len;
 
@@ -169,12 +170,12 @@
 }
 
 void
-gst_rtpL16_caps_nego (GstRtpL16Parse * rtpL16parse)
+gst_rtp_L16_caps_nego (GstRtpL16Parse * rtpL16parse)
 {
   GstCaps *caps;
 
   caps =
-      gst_caps_copy (gst_static_caps_get (&gst_rtpL16parse_src_template.
+      gst_caps_copy (gst_static_caps_get (&gst_rtp_L16parse_src_template.
           static_caps));
 
   gst_caps_set_simple (caps,
@@ -185,7 +186,7 @@
 }
 
 void
-gst_rtpL16parse_payloadtype_change (GstRtpL16Parse * rtpL16parse,
+gst_rtp_L16parse_payloadtype_change (GstRtpL16Parse * rtpL16parse,
     rtp_payload_t pt)
 {
   rtpL16parse->payload_type = pt;
@@ -201,11 +202,11 @@
       g_warning ("unknown payload_t %d\n", pt);
   }
 
-  gst_rtpL16_caps_nego (rtpL16parse);
+  gst_rtp_L16_caps_nego (rtpL16parse);
 }
 
 static void
-gst_rtpL16parse_chain (GstPad * pad, GstData * _data)
+gst_rtp_L16parse_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstRtpL16Parse *rtpL16parse;
@@ -231,7 +232,7 @@
   }
 
   if (GST_PAD_CAPS (rtpL16parse->srcpad) == NULL) {
-    gst_rtpL16_caps_nego (rtpL16parse);
+    gst_rtp_L16_caps_nego (rtpL16parse);
   }
 
   packet =
@@ -240,7 +241,7 @@
   pt = rtp_packet_get_payload_type (packet);
 
   if (pt != rtpL16parse->payload_type) {
-    gst_rtpL16parse_payloadtype_change (rtpL16parse, pt);
+    gst_rtp_L16parse_payloadtype_change (rtpL16parse, pt);
   }
 
   outbuf = gst_buffer_new ();
@@ -252,12 +253,12 @@
   memcpy (GST_BUFFER_DATA (outbuf), rtp_packet_get_payload (packet),
       GST_BUFFER_SIZE (outbuf));
 
-  GST_DEBUG ("gst_rtpL16parse_chain: pushing buffer of size %d",
+  GST_DEBUG ("gst_rtp_L16parse_chain: pushing buffer of size %d",
       GST_BUFFER_SIZE (outbuf));
 
   /* FIXME: According to RFC 1890, this is required, right? */
 #if G_BYTE_ORDER == G_LITTLE_ENDIAN
-  gst_rtpL16parse_ntohs (outbuf);
+  gst_rtp_L16parse_ntohs (outbuf);
 #endif
 
   gst_pad_push (rtpL16parse->srcpad, GST_DATA (outbuf));
@@ -267,7 +268,7 @@
 }
 
 static void
-gst_rtpL16parse_set_property (GObject * object, guint prop_id,
+gst_rtp_L16parse_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec)
 {
   GstRtpL16Parse *rtpL16parse;
@@ -277,7 +278,8 @@
 
   switch (prop_id) {
     case ARG_PAYLOAD_TYPE:
-      gst_rtpL16parse_payloadtype_change (rtpL16parse, g_value_get_int (value));
+      gst_rtp_L16parse_payloadtype_change (rtpL16parse,
+          g_value_get_int (value));
       break;
     case ARG_FREQUENCY:
       rtpL16parse->frequency = g_value_get_int (value);
@@ -288,7 +290,7 @@
 }
 
 static void
-gst_rtpL16parse_get_property (GObject * object, guint prop_id, GValue * value,
+gst_rtp_L16parse_get_property (GObject * object, guint prop_id, GValue * value,
     GParamSpec * pspec)
 {
   GstRtpL16Parse *rtpL16parse;
@@ -310,7 +312,7 @@
 }
 
 static GstStateChangeReturn
-gst_rtpL16parse_change_state (GstElement * element, GstStateChange transition)
+gst_rtp_L16parse_change_state (GstElement * element, GstStateChange transition)
 {
   GstRtpL16Parse *rtpL16parse;
 
@@ -338,7 +340,7 @@
 }
 
 gboolean
-gst_rtpL16parse_plugin_init (GstPlugin * plugin)
+gst_rtp_L16parse_plugin_init (GstPlugin * plugin)
 {
   return gst_element_register (plugin, "rtpL16parse",
       GST_RANK_NONE, GST_TYPE_RTP_L16_PARSE);
diff --git a/gst/rtp/gstrtpL16depay.h b/gst/rtp/gstrtpL16depay.h
index dad467b..04cc3a8 100644
--- a/gst/rtp/gstrtpL16depay.h
+++ b/gst/rtp/gstrtpL16depay.h
@@ -53,7 +53,7 @@
 
 /* Standard macros for defining types for this element.  */
 #define GST_TYPE_RTP_L16_PARSE \
-  (gst_rtpL16parse_get_type())
+  (gst_rtp_L16parse_get_type())
 #define GST_RTP_L16_PARSE(obj) \
   (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_L16_PARSE,GstRtpL16Parse))
 #define GST_RTP_L16_PARSE_CLASS(klass) \
@@ -63,7 +63,7 @@
 #define GST_IS_RTP_L16_PARSE_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_L16_PARSE))
 
-gboolean gst_rtpL16parse_plugin_init (GstPlugin * plugin);
+gboolean gst_rtp_L16parse_plugin_init (GstPlugin * plugin);
 
 #ifdef __cplusplus
 }
diff --git a/gst/rtp/gstrtpL16enc.c b/gst/rtp/gstrtpL16enc.c
deleted file mode 100644
index aecd21a..0000000
--- a/gst/rtp/gstrtpL16enc.c
+++ /dev/null
@@ -1,345 +0,0 @@
-/* GStreamer
- * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include <string.h>
-#include <stdlib.h>
-#include "gstrtpL16enc.h"
-
-/* elementfactory information */
-static GstElementDetails gst_rtpL16enc_details = {
-  "RTP RAW Audio Encoder",
-  "Codec/Encoder/Network",
-  "Encodes Raw Audio into a RTP packet",
-  "Zeeshan Ali <zak147@yahoo.com>"
-};
-
-/* RtpL16Enc signals and args */
-enum
-{
-  /* FILL ME */
-  LAST_SIGNAL
-};
-
-enum
-{
-  /* FILL ME */
-  ARG_0
-};
-
-static GstStaticPadTemplate gst_rtpL16enc_sink_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("audio/x-raw-int, "
-        "endianness = (int) BYTE_ORDER, "
-        "signed = (boolean) true, "
-        "width = (int) 16, "
-        "depth = (int) 16, "
-        "rate = (int) [ 1000, 48000 ], " "channels = (int) [ 1, 2 ]")
-    );
-
-static GstStaticPadTemplate gst_rtpL16enc_src_template =
-GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-rtp")
-    );
-
-static void gst_rtpL16enc_class_init (GstRtpL16EncClass * klass);
-static void gst_rtpL16enc_base_init (GstRtpL16EncClass * klass);
-static void gst_rtpL16enc_init (GstRtpL16Enc * rtpL16enc);
-static void gst_rtpL16enc_chain (GstPad * pad, GstData * _data);
-static void gst_rtpL16enc_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec);
-static void gst_rtpL16enc_get_property (GObject * object, guint prop_id,
-    GValue * value, GParamSpec * pspec);
-static GstPadLinkReturn gst_rtpL16enc_sinkconnect (GstPad * pad,
-    const GstCaps * caps);
-static GstStateChangeReturn gst_rtpL16enc_change_state (GstElement * element,
-    GstStateChange transition);
-
-static GstElementClass *parent_class = NULL;
-
-static GType
-gst_rtpL16enc_get_type (void)
-{
-  static GType rtpL16enc_type = 0;
-
-  if (!rtpL16enc_type) {
-    static const GTypeInfo rtpL16enc_info = {
-      sizeof (GstRtpL16EncClass),
-      (GBaseInitFunc) gst_rtpL16enc_base_init,
-      NULL,
-      (GClassInitFunc) gst_rtpL16enc_class_init,
-      NULL,
-      NULL,
-      sizeof (GstRtpL16Enc),
-      0,
-      (GInstanceInitFunc) gst_rtpL16enc_init,
-    };
-
-    rtpL16enc_type =
-        g_type_register_static (GST_TYPE_ELEMENT, "GstRtpL16Enc",
-        &rtpL16enc_info, 0);
-  }
-  return rtpL16enc_type;
-}
-
-static void
-gst_rtpL16enc_base_init (GstRtpL16EncClass * klass)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpL16enc_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpL16enc_src_template));
-  gst_element_class_set_details (element_class, &gst_rtpL16enc_details);
-}
-
-static void
-gst_rtpL16enc_class_init (GstRtpL16EncClass * klass)
-{
-  GObjectClass *gobject_class;
-  GstElementClass *gstelement_class;
-
-  gobject_class = (GObjectClass *) klass;
-  gstelement_class = (GstElementClass *) klass;
-
-  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
-
-  gobject_class->set_property = gst_rtpL16enc_set_property;
-  gobject_class->get_property = gst_rtpL16enc_get_property;
-
-  gstelement_class->change_state = gst_rtpL16enc_change_state;
-}
-
-static void
-gst_rtpL16enc_init (GstRtpL16Enc * rtpL16enc)
-{
-  rtpL16enc->sinkpad =
-      gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpL16enc_sink_template), "sink");
-  rtpL16enc->srcpad =
-      gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpL16enc_src_template), "src");
-  gst_element_add_pad (GST_ELEMENT (rtpL16enc), rtpL16enc->sinkpad);
-  gst_element_add_pad (GST_ELEMENT (rtpL16enc), rtpL16enc->srcpad);
-  gst_pad_set_chain_function (rtpL16enc->sinkpad, gst_rtpL16enc_chain);
-  gst_pad_set_link_function (rtpL16enc->sinkpad, gst_rtpL16enc_sinkconnect);
-
-  rtpL16enc->frequency = 44100;
-  rtpL16enc->channels = 2;
-
-  rtpL16enc->next_time = 0;
-  rtpL16enc->time_interval = 0;
-
-  rtpL16enc->seq = 0;
-  rtpL16enc->ssrc = random ();
-}
-
-static GstPadLinkReturn
-gst_rtpL16enc_sinkconnect (GstPad * pad, const GstCaps * caps)
-{
-  GstRtpL16Enc *rtpL16enc;
-  GstStructure *structure;
-  gboolean ret;
-
-  rtpL16enc = GST_RTP_L16_ENC (gst_pad_get_parent (pad));
-
-  structure = gst_caps_get_structure (caps, 0);
-
-  ret = gst_structure_get_int (structure, "rate", &rtpL16enc->frequency);
-  ret &= gst_structure_get_int (structure, "channels", &rtpL16enc->channels);
-
-  if (!ret)
-    return GST_PAD_LINK_REFUSED;
-
-  /* Pre-calculate what we can */
-  rtpL16enc->time_interval =
-      GST_SECOND / (2 * rtpL16enc->channels * rtpL16enc->frequency);
-
-  return GST_PAD_LINK_OK;
-}
-
-
-void
-gst_rtpL16enc_htons (GstBuffer * buf)
-{
-  gint16 *i, *len;
-
-  /* FIXME: is this code correct or even sane at all? */
-  i = (gint16 *) GST_BUFFER_DATA (buf);
-  len = i + GST_BUFFER_SIZE (buf) / sizeof (gint16 *);
-
-  for (; i < len; i++) {
-    *i = g_htons (*i);
-  }
-}
-
-static void
-gst_rtpL16enc_chain (GstPad * pad, GstData * _data)
-{
-  GstBuffer *buf = GST_BUFFER (_data);
-  GstRtpL16Enc *rtpL16enc;
-  GstBuffer *outbuf;
-  Rtp_Packet packet;
-
-  g_return_if_fail (pad != NULL);
-  g_return_if_fail (GST_IS_PAD (pad));
-  g_return_if_fail (buf != NULL);
-
-  rtpL16enc = GST_RTP_L16_ENC (GST_OBJECT_PARENT (pad));
-
-  g_return_if_fail (rtpL16enc != NULL);
-  g_return_if_fail (GST_IS_RTP_L16_ENC (rtpL16enc));
-
-  if (GST_IS_EVENT (buf)) {
-    GstEvent *event = GST_EVENT (buf);
-
-    switch (GST_EVENT_TYPE (event)) {
-      case GST_EVENT_DISCONTINUOUS:
-        GST_DEBUG ("discont");
-        rtpL16enc->next_time = 0;
-        gst_pad_event_default (pad, event);
-        return;
-      default:
-        gst_pad_event_default (pad, event);
-        return;
-    }
-  }
-
-  /* We only need the header */
-  packet = rtp_packet_new_allocate (0, 0, 0);
-
-  rtp_packet_set_csrc_count (packet, 0);
-  rtp_packet_set_extension (packet, 0);
-  rtp_packet_set_padding (packet, 0);
-  rtp_packet_set_version (packet, RTP_VERSION);
-  rtp_packet_set_marker (packet, 0);
-  rtp_packet_set_ssrc (packet, g_htonl (rtpL16enc->ssrc));
-  rtp_packet_set_seq (packet, g_htons (rtpL16enc->seq));
-  rtp_packet_set_timestamp (packet,
-      g_htonl ((guint32) rtpL16enc->next_time / GST_SECOND));
-
-  if (rtpL16enc->channels == 1) {
-    rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_L16_MONO);
-  }
-
-  else {
-    rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_L16_STEREO);
-  }
-
-  /* FIXME: According to RFC 1890, this is required, right? */
-#if G_BYTE_ORDER == G_LITTLE_ENDIAN
-  gst_rtpL16enc_htons (buf);
-#endif
-
-  outbuf = gst_buffer_new ();
-  GST_BUFFER_SIZE (outbuf) =
-      rtp_packet_get_packet_len (packet) + GST_BUFFER_SIZE (buf);
-  GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (outbuf));
-  GST_BUFFER_TIMESTAMP (outbuf) = rtpL16enc->next_time;
-
-  memcpy (GST_BUFFER_DATA (outbuf), packet->data,
-      rtp_packet_get_packet_len (packet));
-  memcpy (GST_BUFFER_DATA (outbuf) + rtp_packet_get_packet_len (packet),
-      GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
-
-  GST_DEBUG ("gst_rtpL16enc_chain: pushing buffer of size %d",
-      GST_BUFFER_SIZE (outbuf));
-  gst_pad_push (rtpL16enc->srcpad, GST_DATA (outbuf));
-
-  ++rtpL16enc->seq;
-  rtpL16enc->next_time += rtpL16enc->time_interval * GST_BUFFER_SIZE (buf);
-
-  rtp_packet_free (packet);
-  gst_buffer_unref (buf);
-}
-
-static void
-gst_rtpL16enc_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec)
-{
-  GstRtpL16Enc *rtpL16enc;
-
-  g_return_if_fail (GST_IS_RTP_L16_ENC (object));
-  rtpL16enc = GST_RTP_L16_ENC (object);
-
-  switch (prop_id) {
-    default:
-      break;
-  }
-}
-
-static void
-gst_rtpL16enc_get_property (GObject * object, guint prop_id, GValue * value,
-    GParamSpec * pspec)
-{
-  GstRtpL16Enc *rtpL16enc;
-
-  g_return_if_fail (GST_IS_RTP_L16_ENC (object));
-  rtpL16enc = GST_RTP_L16_ENC (object);
-
-  switch (prop_id) {
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-}
-
-static GstStateChangeReturn
-gst_rtpL16enc_change_state (GstElement * element, GstStateChange transition)
-{
-  GstRtpL16Enc *rtpL16enc;
-
-  g_return_val_if_fail (GST_IS_RTP_L16_ENC (element), GST_STATE_CHANGE_FAILURE);
-
-  rtpL16enc = GST_RTP_L16_ENC (element);
-
-  GST_DEBUG ("state pending %d\n", GST_STATE_PENDING (element));
-
-  /* if going down into NULL state, close the file if it's open */
-  switch (transition) {
-    case GST_STATE_CHANGE_NULL_TO_READY:
-      break;
-
-    case GST_STATE_CHANGE_READY_TO_NULL:
-      break;
-
-    default:
-      break;
-  }
-
-  /* if we haven't failed already, give the parent class a chance to ;-) */
-  if (GST_ELEMENT_CLASS (parent_class)->change_state)
-    return GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
-
-  return GST_STATE_CHANGE_SUCCESS;
-}
-
-gboolean
-gst_rtpL16enc_plugin_init (GstPlugin * plugin)
-{
-  return gst_element_register (plugin, "rtpL16enc",
-      GST_RANK_NONE, GST_TYPE_RTP_L16_ENC);
-}
diff --git a/gst/rtp/gstrtpL16enc.h b/gst/rtp/gstrtpL16enc.h
deleted file mode 100644
index 31332ea..0000000
--- a/gst/rtp/gstrtpL16enc.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Gnome-Streamer
- * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-
-#ifndef __GST_RTP_L16_ENC_H__
-#define __GST_RTP_L16_ENC_H__
-
-#include <gst/gst.h>
-
-G_BEGIN_DECLS
-
-/* Definition of structure storing data for this element. */
-typedef struct _GstRtpL16Enc GstRtpL16Enc;
-struct _GstRtpL16Enc
-{
-  GstElement element;
-
-  GstPad *sinkpad;
-  GstPad *srcpad;
-
-  guint frequency;
-  guint channels;
-
-  /* the timestamp of the next frame */
-  guint64 next_time;
-  /* the interval between frames */
-  guint64 time_interval;
-  
-  guint32 ssrc;
-  guint16 seq;
-};
-
-/* Standard definition defining a class for this element. */
-typedef struct _GstRtpL16EncClass GstRtpL16EncClass;
-struct _GstRtpL16EncClass
-{
-  GstElementClass parent_class;
-};
-
-/* Standard macros for defining types for this element.  */
-#define GST_TYPE_RTP_L16_ENC \
-  (gst_rtpL16enc_get_type())
-#define GST_RTP_L16_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_L16_ENC,GstRtpL16Enc))
-#define GST_RTP_L16_ENC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_L16_ENC,GstRtpL16Enc))
-#define GST_IS_RTP_L16_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_L16_ENC))
-#define GST_IS_RTP_L16_ENC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_L16_ENC))
-
-gboolean gst_rtpL16enc_plugin_init (GstPlugin * plugin);
-
-G_END_DECLS
-
-#endif				/* __GST_RTP_L16_ENC_H__ */
diff --git a/gst/rtp/gstrtpL16parse.c b/gst/rtp/gstrtpL16parse.c
index 2caf350..25a37db 100644
--- a/gst/rtp/gstrtpL16parse.c
+++ b/gst/rtp/gstrtpL16parse.c
@@ -41,7 +41,7 @@
   ARG_PAYLOAD_TYPE
 };
 
-static GstStaticPadTemplate gst_rtpL16parse_src_template =
+static GstStaticPadTemplate gst_rtp_L16parse_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
@@ -53,43 +53,44 @@
         "rate = (int) [ 1000, 48000 ], " "channels = (int) [ 1, 2 ]")
     );
 
-static GstStaticPadTemplate gst_rtpL16parse_sink_template =
+static GstStaticPadTemplate gst_rtp_L16parse_sink_template =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("application/x-rtp")
     );
 
-static void gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass);
-static void gst_rtpL16parse_base_init (GstRtpL16ParseClass * klass);
-static void gst_rtpL16parse_init (GstRtpL16Parse * rtpL16parse);
+static void gst_rtp_L16parse_class_init (GstRtpL16ParseClass * klass);
+static void gst_rtp_L16parse_base_init (GstRtpL16ParseClass * klass);
+static void gst_rtp_L16parse_init (GstRtpL16Parse * rtpL16parse);
 
-static void gst_rtpL16parse_chain (GstPad * pad, GstData * _data);
+static void gst_rtp_L16parse_chain (GstPad * pad, GstData * _data);
 
-static void gst_rtpL16parse_set_property (GObject * object, guint prop_id,
+static void gst_rtp_L16parse_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec);
-static void gst_rtpL16parse_get_property (GObject * object, guint prop_id,
+static void gst_rtp_L16parse_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec);
-static GstStateChangeReturn gst_rtpL16parse_change_state (GstElement * element);
+static GstStateChangeReturn gst_rtp_L16parse_change_state (GstElement *
+    element);
 
 static GstElementClass *parent_class = NULL;
 
 static GType
-gst_rtpL16parse_get_type (void)
+gst_rtp_L16parse_get_type (void)
 {
   static GType rtpL16parse_type = 0;
 
   if (!rtpL16parse_type) {
     static const GTypeInfo rtpL16parse_info = {
       sizeof (GstRtpL16ParseClass),
-      (GBaseInitFunc) gst_rtpL16parse_base_init,
+      (GBaseInitFunc) gst_rtp_L16parse_base_init,
       NULL,
-      (GClassInitFunc) gst_rtpL16parse_class_init,
+      (GClassInitFunc) gst_rtp_L16parse_class_init,
       NULL,
       NULL,
       sizeof (GstRtpL16Parse),
       0,
-      (GInstanceInitFunc) gst_rtpL16parse_init,
+      (GInstanceInitFunc) gst_rtp_L16parse_init,
     };
 
     rtpL16parse_type =
@@ -100,19 +101,19 @@
 }
 
 static void
-gst_rtpL16parse_base_init (GstRtpL16ParseClass * klass)
+gst_rtp_L16parse_base_init (GstRtpL16ParseClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpL16parse_src_template));
+      gst_static_pad_template_get (&gst_rtp_L16parse_src_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpL16parse_sink_template));
+      gst_static_pad_template_get (&gst_rtp_L16parse_sink_template));
   gst_element_class_set_details (element_class, &gst_rtp_L16parse_details);
 }
 
 static void
-gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass)
+gst_rtp_L16parse_class_init (GstRtpL16ParseClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -129,24 +130,24 @@
       g_param_spec_int ("frequency", "frequency", "frequency",
           G_MININT, G_MAXINT, 44100, G_PARAM_READWRITE));
 
-  gobject_class->set_property = gst_rtpL16parse_set_property;
-  gobject_class->get_property = gst_rtpL16parse_get_property;
+  gobject_class->set_property = gst_rtp_L16parse_set_property;
+  gobject_class->get_property = gst_rtp_L16parse_get_property;
 
-  gstelement_class->change_state = gst_rtpL16parse_change_state;
+  gstelement_class->change_state = gst_rtp_L16parse_change_state;
 }
 
 static void
-gst_rtpL16parse_init (GstRtpL16Parse * rtpL16parse)
+gst_rtp_L16parse_init (GstRtpL16Parse * rtpL16parse)
 {
   rtpL16parse->srcpad =
       gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpL16parse_src_template), "src");
+      (&gst_rtp_L16parse_src_template), "src");
   rtpL16parse->sinkpad =
       gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpL16parse_sink_template), "sink");
+      (&gst_rtp_L16parse_sink_template), "sink");
   gst_element_add_pad (GST_ELEMENT (rtpL16parse), rtpL16parse->srcpad);
   gst_element_add_pad (GST_ELEMENT (rtpL16parse), rtpL16parse->sinkpad);
-  gst_pad_set_chain_function (rtpL16parse->sinkpad, gst_rtpL16parse_chain);
+  gst_pad_set_chain_function (rtpL16parse->sinkpad, gst_rtp_L16parse_chain);
 
   rtpL16parse->frequency = 44100;
   rtpL16parse->channels = 2;
@@ -155,7 +156,7 @@
 }
 
 void
-gst_rtpL16parse_ntohs (GstBuffer * buf)
+gst_rtp_L16parse_ntohs (GstBuffer * buf)
 {
   gint16 *i, *len;
 
@@ -169,12 +170,12 @@
 }
 
 void
-gst_rtpL16_caps_nego (GstRtpL16Parse * rtpL16parse)
+gst_rtp_L16_caps_nego (GstRtpL16Parse * rtpL16parse)
 {
   GstCaps *caps;
 
   caps =
-      gst_caps_copy (gst_static_caps_get (&gst_rtpL16parse_src_template.
+      gst_caps_copy (gst_static_caps_get (&gst_rtp_L16parse_src_template.
           static_caps));
 
   gst_caps_set_simple (caps,
@@ -185,7 +186,7 @@
 }
 
 void
-gst_rtpL16parse_payloadtype_change (GstRtpL16Parse * rtpL16parse,
+gst_rtp_L16parse_payloadtype_change (GstRtpL16Parse * rtpL16parse,
     rtp_payload_t pt)
 {
   rtpL16parse->payload_type = pt;
@@ -201,11 +202,11 @@
       g_warning ("unknown payload_t %d\n", pt);
   }
 
-  gst_rtpL16_caps_nego (rtpL16parse);
+  gst_rtp_L16_caps_nego (rtpL16parse);
 }
 
 static void
-gst_rtpL16parse_chain (GstPad * pad, GstData * _data)
+gst_rtp_L16parse_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstRtpL16Parse *rtpL16parse;
@@ -231,7 +232,7 @@
   }
 
   if (GST_PAD_CAPS (rtpL16parse->srcpad) == NULL) {
-    gst_rtpL16_caps_nego (rtpL16parse);
+    gst_rtp_L16_caps_nego (rtpL16parse);
   }
 
   packet =
@@ -240,7 +241,7 @@
   pt = rtp_packet_get_payload_type (packet);
 
   if (pt != rtpL16parse->payload_type) {
-    gst_rtpL16parse_payloadtype_change (rtpL16parse, pt);
+    gst_rtp_L16parse_payloadtype_change (rtpL16parse, pt);
   }
 
   outbuf = gst_buffer_new ();
@@ -252,12 +253,12 @@
   memcpy (GST_BUFFER_DATA (outbuf), rtp_packet_get_payload (packet),
       GST_BUFFER_SIZE (outbuf));
 
-  GST_DEBUG ("gst_rtpL16parse_chain: pushing buffer of size %d",
+  GST_DEBUG ("gst_rtp_L16parse_chain: pushing buffer of size %d",
       GST_BUFFER_SIZE (outbuf));
 
   /* FIXME: According to RFC 1890, this is required, right? */
 #if G_BYTE_ORDER == G_LITTLE_ENDIAN
-  gst_rtpL16parse_ntohs (outbuf);
+  gst_rtp_L16parse_ntohs (outbuf);
 #endif
 
   gst_pad_push (rtpL16parse->srcpad, GST_DATA (outbuf));
@@ -267,7 +268,7 @@
 }
 
 static void
-gst_rtpL16parse_set_property (GObject * object, guint prop_id,
+gst_rtp_L16parse_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec)
 {
   GstRtpL16Parse *rtpL16parse;
@@ -277,7 +278,8 @@
 
   switch (prop_id) {
     case ARG_PAYLOAD_TYPE:
-      gst_rtpL16parse_payloadtype_change (rtpL16parse, g_value_get_int (value));
+      gst_rtp_L16parse_payloadtype_change (rtpL16parse,
+          g_value_get_int (value));
       break;
     case ARG_FREQUENCY:
       rtpL16parse->frequency = g_value_get_int (value);
@@ -288,7 +290,7 @@
 }
 
 static void
-gst_rtpL16parse_get_property (GObject * object, guint prop_id, GValue * value,
+gst_rtp_L16parse_get_property (GObject * object, guint prop_id, GValue * value,
     GParamSpec * pspec)
 {
   GstRtpL16Parse *rtpL16parse;
@@ -310,7 +312,7 @@
 }
 
 static GstStateChangeReturn
-gst_rtpL16parse_change_state (GstElement * element, GstStateChange transition)
+gst_rtp_L16parse_change_state (GstElement * element, GstStateChange transition)
 {
   GstRtpL16Parse *rtpL16parse;
 
@@ -338,7 +340,7 @@
 }
 
 gboolean
-gst_rtpL16parse_plugin_init (GstPlugin * plugin)
+gst_rtp_L16parse_plugin_init (GstPlugin * plugin)
 {
   return gst_element_register (plugin, "rtpL16parse",
       GST_RANK_NONE, GST_TYPE_RTP_L16_PARSE);
diff --git a/gst/rtp/gstrtpL16parse.h b/gst/rtp/gstrtpL16parse.h
index dad467b..04cc3a8 100644
--- a/gst/rtp/gstrtpL16parse.h
+++ b/gst/rtp/gstrtpL16parse.h
@@ -53,7 +53,7 @@
 
 /* Standard macros for defining types for this element.  */
 #define GST_TYPE_RTP_L16_PARSE \
-  (gst_rtpL16parse_get_type())
+  (gst_rtp_L16parse_get_type())
 #define GST_RTP_L16_PARSE(obj) \
   (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_L16_PARSE,GstRtpL16Parse))
 #define GST_RTP_L16_PARSE_CLASS(klass) \
@@ -63,7 +63,7 @@
 #define GST_IS_RTP_L16_PARSE_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_L16_PARSE))
 
-gboolean gst_rtpL16parse_plugin_init (GstPlugin * plugin);
+gboolean gst_rtp_L16parse_plugin_init (GstPlugin * plugin);
 
 #ifdef __cplusplus
 }
diff --git a/gst/rtp/gstrtpL16pay.c b/gst/rtp/gstrtpL16pay.c
index aecd21a..3ad1939 100644
--- a/gst/rtp/gstrtpL16pay.c
+++ b/gst/rtp/gstrtpL16pay.c
@@ -22,17 +22,17 @@
 #endif
 #include <string.h>
 #include <stdlib.h>
-#include "gstrtpL16enc.h"
+#include "gstrtpL16pay.h"
 
 /* elementfactory information */
-static GstElementDetails gst_rtpL16enc_details = {
-  "RTP RAW Audio Encoder",
-  "Codec/Encoder/Network",
-  "Encodes Raw Audio into a RTP packet",
+static GstElementDetails gst_rtpL16pay_details = {
+  "RTP RAW Audio Payloader",
+  "Codec/Payloader/Network",
+  "Payodes Raw Audio into a RTP packet",
   "Zeeshan Ali <zak147@yahoo.com>"
 };
 
-/* RtpL16Enc signals and args */
+/* RtpL16Pay signals and args */
 enum
 {
   /* FILL ME */
@@ -45,7 +45,7 @@
   ARG_0
 };
 
-static GstStaticPadTemplate gst_rtpL16enc_sink_template =
+static GstStaticPadTemplate gst_rtpL16pay_sink_template =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
@@ -57,67 +57,67 @@
         "rate = (int) [ 1000, 48000 ], " "channels = (int) [ 1, 2 ]")
     );
 
-static GstStaticPadTemplate gst_rtpL16enc_src_template =
+static GstStaticPadTemplate gst_rtpL16pay_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("application/x-rtp")
     );
 
-static void gst_rtpL16enc_class_init (GstRtpL16EncClass * klass);
-static void gst_rtpL16enc_base_init (GstRtpL16EncClass * klass);
-static void gst_rtpL16enc_init (GstRtpL16Enc * rtpL16enc);
-static void gst_rtpL16enc_chain (GstPad * pad, GstData * _data);
-static void gst_rtpL16enc_set_property (GObject * object, guint prop_id,
+static void gst_rtpL16pay_class_init (GstRtpL16PayClass * klass);
+static void gst_rtpL16pay_base_init (GstRtpL16PayClass * klass);
+static void gst_rtpL16pay_init (GstRtpL16Pay * rtpL16enc);
+static void gst_rtpL16pay_chain (GstPad * pad, GstData * _data);
+static void gst_rtpL16pay_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec);
-static void gst_rtpL16enc_get_property (GObject * object, guint prop_id,
+static void gst_rtpL16pay_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec);
-static GstPadLinkReturn gst_rtpL16enc_sinkconnect (GstPad * pad,
+static GstPadLinkReturn gst_rtpL16pay_sinkconnect (GstPad * pad,
     const GstCaps * caps);
-static GstStateChangeReturn gst_rtpL16enc_change_state (GstElement * element,
+static GstStateChangeReturn gst_rtpL16pay_change_state (GstElement * element,
     GstStateChange transition);
 
 static GstElementClass *parent_class = NULL;
 
 static GType
-gst_rtpL16enc_get_type (void)
+gst_rtpL16pay_get_type (void)
 {
-  static GType rtpL16enc_type = 0;
+  static GType rtpL16pay_type = 0;
 
-  if (!rtpL16enc_type) {
-    static const GTypeInfo rtpL16enc_info = {
-      sizeof (GstRtpL16EncClass),
-      (GBaseInitFunc) gst_rtpL16enc_base_init,
+  if (!rtpL16pay_type) {
+    static const GTypeInfo rtpL16pay_info = {
+      sizeof (GstRtpL16PayClass),
+      (GBaseInitFunc) gst_rtpL16pay_base_init,
       NULL,
-      (GClassInitFunc) gst_rtpL16enc_class_init,
+      (GClassInitFunc) gst_rtpL16pay_class_init,
       NULL,
       NULL,
-      sizeof (GstRtpL16Enc),
+      sizeof (GstRtpL16Pay),
       0,
-      (GInstanceInitFunc) gst_rtpL16enc_init,
+      (GInstanceInitFunc) gst_rtpL16pay_init,
     };
 
-    rtpL16enc_type =
-        g_type_register_static (GST_TYPE_ELEMENT, "GstRtpL16Enc",
-        &rtpL16enc_info, 0);
+    rtpL16pay_type =
+        g_type_register_static (GST_TYPE_ELEMENT, "GstRtpL16Pay",
+        &rtpL16pay_info, 0);
   }
-  return rtpL16enc_type;
+  return rtpL16pay_type;
 }
 
 static void
-gst_rtpL16enc_base_init (GstRtpL16EncClass * klass)
+gst_rtpL16pay_base_init (GstRtpL16PayClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpL16enc_sink_template));
+      gst_static_pad_template_get (&gst_rtpL16pay_sink_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpL16enc_src_template));
-  gst_element_class_set_details (element_class, &gst_rtpL16enc_details);
+      gst_static_pad_template_get (&gst_rtpL16pay_src_template));
+  gst_element_class_set_details (element_class, &gst_rtpL16pay_details);
 }
 
 static void
-gst_rtpL16enc_class_init (GstRtpL16EncClass * klass)
+gst_rtpL16pay_class_init (GstRtpL16PayClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -127,25 +127,25 @@
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
-  gobject_class->set_property = gst_rtpL16enc_set_property;
-  gobject_class->get_property = gst_rtpL16enc_get_property;
+  gobject_class->set_property = gst_rtpL16pay_set_property;
+  gobject_class->get_property = gst_rtpL16pay_get_property;
 
-  gstelement_class->change_state = gst_rtpL16enc_change_state;
+  gstelement_class->change_state = gst_rtpL16pay_change_state;
 }
 
 static void
-gst_rtpL16enc_init (GstRtpL16Enc * rtpL16enc)
+gst_rtpL16pay_init (GstRtpL16Pay * rtpL16enc)
 {
   rtpL16enc->sinkpad =
       gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpL16enc_sink_template), "sink");
+      (&gst_rtpL16pay_sink_template), "sink");
   rtpL16enc->srcpad =
       gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpL16enc_src_template), "src");
+      (&gst_rtpL16pay_src_template), "src");
   gst_element_add_pad (GST_ELEMENT (rtpL16enc), rtpL16enc->sinkpad);
   gst_element_add_pad (GST_ELEMENT (rtpL16enc), rtpL16enc->srcpad);
-  gst_pad_set_chain_function (rtpL16enc->sinkpad, gst_rtpL16enc_chain);
-  gst_pad_set_link_function (rtpL16enc->sinkpad, gst_rtpL16enc_sinkconnect);
+  gst_pad_set_chain_function (rtpL16enc->sinkpad, gst_rtpL16pay_chain);
+  gst_pad_set_link_function (rtpL16enc->sinkpad, gst_rtpL16pay_sinkconnect);
 
   rtpL16enc->frequency = 44100;
   rtpL16enc->channels = 2;
@@ -158,13 +158,13 @@
 }
 
 static GstPadLinkReturn
-gst_rtpL16enc_sinkconnect (GstPad * pad, const GstCaps * caps)
+gst_rtpL16pay_sinkconnect (GstPad * pad, const GstCaps * caps)
 {
-  GstRtpL16Enc *rtpL16enc;
+  GstRtpL16Pay *rtpL16enc;
   GstStructure *structure;
   gboolean ret;
 
-  rtpL16enc = GST_RTP_L16_ENC (gst_pad_get_parent (pad));
+  rtpL16enc = GST_RTP_L16_PAY (gst_pad_get_parent (pad));
 
   structure = gst_caps_get_structure (caps, 0);
 
@@ -183,7 +183,7 @@
 
 
 void
-gst_rtpL16enc_htons (GstBuffer * buf)
+gst_rtpL16pay_htons (GstBuffer * buf)
 {
   gint16 *i, *len;
 
@@ -197,10 +197,10 @@
 }
 
 static void
-gst_rtpL16enc_chain (GstPad * pad, GstData * _data)
+gst_rtpL16pay_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
-  GstRtpL16Enc *rtpL16enc;
+  GstRtpL16Pay *rtpL16enc;
   GstBuffer *outbuf;
   Rtp_Packet packet;
 
@@ -208,10 +208,10 @@
   g_return_if_fail (GST_IS_PAD (pad));
   g_return_if_fail (buf != NULL);
 
-  rtpL16enc = GST_RTP_L16_ENC (GST_OBJECT_PARENT (pad));
+  rtpL16enc = GST_RTP_L16_PAY (GST_OBJECT_PARENT (pad));
 
   g_return_if_fail (rtpL16enc != NULL);
-  g_return_if_fail (GST_IS_RTP_L16_ENC (rtpL16enc));
+  g_return_if_fail (GST_IS_RTP_L16_PAY (rtpL16enc));
 
   if (GST_IS_EVENT (buf)) {
     GstEvent *event = GST_EVENT (buf);
@@ -251,7 +251,7 @@
 
   /* FIXME: According to RFC 1890, this is required, right? */
 #if G_BYTE_ORDER == G_LITTLE_ENDIAN
-  gst_rtpL16enc_htons (buf);
+  gst_rtpL16pay_htons (buf);
 #endif
 
   outbuf = gst_buffer_new ();
@@ -265,7 +265,7 @@
   memcpy (GST_BUFFER_DATA (outbuf) + rtp_packet_get_packet_len (packet),
       GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
 
-  GST_DEBUG ("gst_rtpL16enc_chain: pushing buffer of size %d",
+  GST_DEBUG ("gst_rtpL16pay_chain: pushing buffer of size %d",
       GST_BUFFER_SIZE (outbuf));
   gst_pad_push (rtpL16enc->srcpad, GST_DATA (outbuf));
 
@@ -277,13 +277,13 @@
 }
 
 static void
-gst_rtpL16enc_set_property (GObject * object, guint prop_id,
+gst_rtpL16pay_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec)
 {
-  GstRtpL16Enc *rtpL16enc;
+  GstRtpL16Pay *rtpL16enc;
 
-  g_return_if_fail (GST_IS_RTP_L16_ENC (object));
-  rtpL16enc = GST_RTP_L16_ENC (object);
+  g_return_if_fail (GST_IS_RTP_L16_PAY (object));
+  rtpL16enc = GST_RTP_L16_PAY (object);
 
   switch (prop_id) {
     default:
@@ -292,13 +292,13 @@
 }
 
 static void
-gst_rtpL16enc_get_property (GObject * object, guint prop_id, GValue * value,
+gst_rtpL16pay_get_property (GObject * object, guint prop_id, GValue * value,
     GParamSpec * pspec)
 {
-  GstRtpL16Enc *rtpL16enc;
+  GstRtpL16Pay *rtpL16enc;
 
-  g_return_if_fail (GST_IS_RTP_L16_ENC (object));
-  rtpL16enc = GST_RTP_L16_ENC (object);
+  g_return_if_fail (GST_IS_RTP_L16_PAY (object));
+  rtpL16enc = GST_RTP_L16_PAY (object);
 
   switch (prop_id) {
     default:
@@ -308,13 +308,13 @@
 }
 
 static GstStateChangeReturn
-gst_rtpL16enc_change_state (GstElement * element, GstStateChange transition)
+gst_rtpL16pay_change_state (GstElement * element, GstStateChange transition)
 {
-  GstRtpL16Enc *rtpL16enc;
+  GstRtpL16Pay *rtpL16enc;
 
-  g_return_val_if_fail (GST_IS_RTP_L16_ENC (element), GST_STATE_CHANGE_FAILURE);
+  g_return_val_if_fail (GST_IS_RTP_L16_PAY (element), GST_STATE_CHANGE_FAILURE);
 
-  rtpL16enc = GST_RTP_L16_ENC (element);
+  rtpL16enc = GST_RTP_L16_PAY (element);
 
   GST_DEBUG ("state pending %d\n", GST_STATE_PENDING (element));
 
@@ -338,8 +338,8 @@
 }
 
 gboolean
-gst_rtpL16enc_plugin_init (GstPlugin * plugin)
+gst_rtpL16pay_plugin_init (GstPlugin * plugin)
 {
   return gst_element_register (plugin, "rtpL16enc",
-      GST_RANK_NONE, GST_TYPE_RTP_L16_ENC);
+      GST_RANK_NONE, GST_TYPE_RTP_L16_PAY);
 }
diff --git a/gst/rtp/gstrtpL16pay.h b/gst/rtp/gstrtpL16pay.h
index 31332ea..def345b 100644
--- a/gst/rtp/gstrtpL16pay.h
+++ b/gst/rtp/gstrtpL16pay.h
@@ -18,16 +18,16 @@
  */
 
 
-#ifndef __GST_RTP_L16_ENC_H__
-#define __GST_RTP_L16_ENC_H__
+#ifndef __GST_RTP_L16_PAY_H__
+#define __GST_RTP_L16_PAY_H__
 
 #include <gst/gst.h>
 
 G_BEGIN_DECLS
 
 /* Definition of structure storing data for this element. */
-typedef struct _GstRtpL16Enc GstRtpL16Enc;
-struct _GstRtpL16Enc
+typedef struct _GstRtpL16Pay GstRtpL16Pay;
+struct _GstRtpL16Pay
 {
   GstElement element;
 
@@ -47,26 +47,26 @@
 };
 
 /* Standard definition defining a class for this element. */
-typedef struct _GstRtpL16EncClass GstRtpL16EncClass;
-struct _GstRtpL16EncClass
+typedef struct _GstRtpL16PayClass GstRtpL16PayClass;
+struct _GstRtpL16PayClass
 {
   GstElementClass parent_class;
 };
 
 /* Standard macros for defining types for this element.  */
-#define GST_TYPE_RTP_L16_ENC \
-  (gst_rtpL16enc_get_type())
-#define GST_RTP_L16_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_L16_ENC,GstRtpL16Enc))
-#define GST_RTP_L16_ENC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_L16_ENC,GstRtpL16Enc))
-#define GST_IS_RTP_L16_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_L16_ENC))
-#define GST_IS_RTP_L16_ENC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_L16_ENC))
+#define GST_TYPE_RTP_L16_PAY \
+  (gst_rtpL16pay_get_type())
+#define GST_RTP_L16_PAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_L16_PAY,GstRtpL16Pay))
+#define GST_RTP_L16_PAY_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_L16_PAY,GstRtpL16Pay))
+#define GST_IS_RTP_L16_PAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_L16_PAY))
+#define GST_IS_RTP_L16_PAY_CLASS(obj) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_L16_PAY))
 
-gboolean gst_rtpL16enc_plugin_init (GstPlugin * plugin);
+gboolean gst_rtpL16pay_plugin_init (GstPlugin * plugin);
 
 G_END_DECLS
 
-#endif				/* __GST_RTP_L16_ENC_H__ */
+#endif				/* __GST_RTP_L16_PAY_H__ */
diff --git a/gst/rtp/gstrtpamrdec.c b/gst/rtp/gstrtpamrdec.c
deleted file mode 100644
index 216c3d5..0000000
--- a/gst/rtp/gstrtpamrdec.c
+++ /dev/null
@@ -1,486 +0,0 @@
-/* GStreamer
- * Copyright (C) <2005> Wim Taymans <wim@fluendo.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more 
- */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include <gst/rtp/gstrtpbuffer.h>
-
-#include <string.h>
-#include "gstrtpamrdec.h"
-
-/* references:
- *
- * RFC 3267 - Real-Time Transport Protocol (RTP) Payload Format and File Storage Format 
- *   for the Adaptive Multi-Rate (AMR) and Adaptive Multi-Rate Wideband (AMR-WB) Audio 
- *   Codecs.
- */
-
-/* elementfactory information */
-static GstElementDetails gst_rtp_amrdec_details = {
-  "RTP packet parser",
-  "Codec/Parser/Network",
-  "Extracts AMR audio from RTP packets (RFC 3267)",
-  "Wim Taymans <wim@fluendo.com>"
-};
-
-/* RtpAMRDec signals and args */
-enum
-{
-  /* FILL ME */
-  LAST_SIGNAL
-};
-
-enum
-{
-  ARG_0,
-  ARG_FREQUENCY
-};
-
-/* input is an RTP packet 
- *
- * params see RFC 3267, section 8.1
- */
-static GstStaticPadTemplate gst_rtpamrdec_sink_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-rtp, "
-        "media = (string) \"audio\", "
-        "payload = (int) [ 96, 255 ], "
-        "clock-rate = (int) 8000, "
-        "encoding-name = (string) \"AMR\", "
-        "encoding-params = (string) \"1\", "
-        "octet-align = (string) \"1\", "
-        "crc = (string) { \"0\", \"1\" }, "
-        "robust-sorting = (string) \"0\", " "interleaving = (string) \"0\""
-        /* following options are not needed for a decoder 
-         *
-         "mode-set = (int) [ 0, 7 ], "
-         "mode-change-period = (int) [ 1, MAX ], "
-         "mode-change-neighbor = (boolean) { TRUE, FALSE }, "
-         "maxptime = (int) [ 20, MAX ], "
-         "ptime = (int) [ 20, MAX ]"
-         */
-    )
-    );
-
-static GstStaticPadTemplate gst_rtpamrdec_src_template =
-GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("audio/AMR, " "channels = (int) 1," "rate = (int) 8000")
-    );
-
-static void gst_rtpamrdec_class_init (GstRtpAMRDecClass * klass);
-static void gst_rtpamrdec_base_init (GstRtpAMRDecClass * klass);
-static void gst_rtpamrdec_init (GstRtpAMRDec * rtpamrdec);
-
-static gboolean gst_rtpamrdec_sink_setcaps (GstPad * pad, GstCaps * caps);
-static GstFlowReturn gst_rtpamrdec_chain (GstPad * pad, GstBuffer * buffer);
-
-static void gst_rtpamrdec_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec);
-static void gst_rtpamrdec_get_property (GObject * object, guint prop_id,
-    GValue * value, GParamSpec * pspec);
-
-static GstStateChangeReturn gst_rtpamrdec_change_state (GstElement * element,
-    GstStateChange transition);
-
-static GstElementClass *parent_class = NULL;
-
-static GType
-gst_rtpamrdec_get_type (void)
-{
-  static GType rtpamrdec_type = 0;
-
-  if (!rtpamrdec_type) {
-    static const GTypeInfo rtpamrdec_info = {
-      sizeof (GstRtpAMRDecClass),
-      (GBaseInitFunc) gst_rtpamrdec_base_init,
-      NULL,
-      (GClassInitFunc) gst_rtpamrdec_class_init,
-      NULL,
-      NULL,
-      sizeof (GstRtpAMRDec),
-      0,
-      (GInstanceInitFunc) gst_rtpamrdec_init,
-    };
-
-    rtpamrdec_type =
-        g_type_register_static (GST_TYPE_ELEMENT, "GstRtpAMRDec",
-        &rtpamrdec_info, 0);
-  }
-  return rtpamrdec_type;
-}
-
-static void
-gst_rtpamrdec_base_init (GstRtpAMRDecClass * klass)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpamrdec_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpamrdec_sink_template));
-
-  gst_element_class_set_details (element_class, &gst_rtp_amrdec_details);
-}
-
-static void
-gst_rtpamrdec_class_init (GstRtpAMRDecClass * klass)
-{
-  GObjectClass *gobject_class;
-  GstElementClass *gstelement_class;
-
-  gobject_class = (GObjectClass *) klass;
-  gstelement_class = (GstElementClass *) klass;
-
-  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
-
-  gobject_class->set_property = gst_rtpamrdec_set_property;
-  gobject_class->get_property = gst_rtpamrdec_get_property;
-
-  gstelement_class->change_state = gst_rtpamrdec_change_state;
-}
-
-static void
-gst_rtpamrdec_init (GstRtpAMRDec * rtpamrdec)
-{
-  rtpamrdec->srcpad =
-      gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpamrdec_src_template), "src");
-
-  gst_element_add_pad (GST_ELEMENT (rtpamrdec), rtpamrdec->srcpad);
-
-  rtpamrdec->sinkpad =
-      gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpamrdec_sink_template), "sink");
-  gst_pad_set_setcaps_function (rtpamrdec->sinkpad, gst_rtpamrdec_sink_setcaps);
-  gst_pad_set_chain_function (rtpamrdec->sinkpad, gst_rtpamrdec_chain);
-  gst_element_add_pad (GST_ELEMENT (rtpamrdec), rtpamrdec->sinkpad);
-}
-
-static gboolean
-gst_rtpamrdec_sink_setcaps (GstPad * pad, GstCaps * caps)
-{
-  GstStructure *structure;
-  GstCaps *srccaps;
-  GstRtpAMRDec *rtpamrdec;
-  const gchar *params;
-  const gchar *str;
-
-  rtpamrdec = GST_RTP_AMR_DEC (GST_OBJECT_PARENT (pad));
-
-  structure = gst_caps_get_structure (caps, 0);
-
-  if (!(str = gst_structure_get_string (structure, "octet-align")))
-    rtpamrdec->octet_align = FALSE;
-  else
-    rtpamrdec->octet_align = (atoi (str) == 1);
-
-  if (!(str = gst_structure_get_string (structure, "crc")))
-    rtpamrdec->crc = FALSE;
-  else
-    rtpamrdec->crc = (atoi (str) == 1);
-
-  if (rtpamrdec->crc) {
-    /* crc mode implies octet aligned mode */
-    rtpamrdec->octet_align = TRUE;
-  }
-
-  if (!(str = gst_structure_get_string (structure, "robust-sorting")))
-    rtpamrdec->robust_sorting = FALSE;
-  else
-    rtpamrdec->robust_sorting = (atoi (str) == 1);
-
-  if (rtpamrdec->robust_sorting) {
-    /* robust_sorting mode implies octet aligned mode */
-    rtpamrdec->octet_align = TRUE;
-  }
-
-  if (!(str = gst_structure_get_string (structure, "interleaving")))
-    rtpamrdec->interleaving = FALSE;
-  else
-    rtpamrdec->interleaving = (atoi (str) == 1);
-
-  if (rtpamrdec->interleaving) {
-    /* interleaving mode implies octet aligned mode */
-    rtpamrdec->octet_align = TRUE;
-  }
-
-  if (!(params = gst_structure_get_string (structure, "encoding-params")))
-    rtpamrdec->channels = 1;
-  else {
-    rtpamrdec->channels = atoi (params);
-  }
-
-  if (!gst_structure_get_int (structure, "clock-rate", &rtpamrdec->rate))
-    rtpamrdec->rate = 8000;
-
-  /* we require 1 channel, 8000 Hz, octet aligned, no CRC,
-   * no robust sorting, no interleaving for now */
-  if (rtpamrdec->channels != 1)
-    return FALSE;
-  if (rtpamrdec->rate != 8000)
-    return FALSE;
-  if (rtpamrdec->octet_align != TRUE)
-    return FALSE;
-  if (rtpamrdec->robust_sorting != FALSE)
-    return FALSE;
-  if (rtpamrdec->interleaving != FALSE)
-    return FALSE;
-
-  srccaps = gst_caps_new_simple ("audio/AMR",
-      "channels", G_TYPE_INT, rtpamrdec->channels,
-      "rate", G_TYPE_INT, rtpamrdec->rate, NULL);
-  gst_pad_set_caps (rtpamrdec->srcpad, srccaps);
-  gst_caps_unref (srccaps);
-
-  rtpamrdec->negotiated = TRUE;
-
-  return TRUE;
-}
-
-/* -1 is invalid */
-static gint frame_size[16] = {
-  12, 13, 15, 17, 19, 20, 26, 31,
-  5, -1, -1, -1, -1, -1, -1, 0
-};
-
-static GstFlowReturn
-gst_rtpamrdec_chain (GstPad * pad, GstBuffer * buf)
-{
-  GstRtpAMRDec *rtpamrdec;
-  GstBuffer *outbuf;
-  GstFlowReturn ret;
-
-  rtpamrdec = GST_RTP_AMR_DEC (GST_OBJECT_PARENT (pad));
-
-  if (!rtpamrdec->negotiated)
-    goto not_negotiated;
-
-  if (!gst_rtpbuffer_validate (buf))
-    goto bad_packet;
-
-  /* when we get here, 1 channel, 8000 Hz, octet aligned, no CRC, 
-   * no robust sorting, no interleaving data is to be parsed */
-  {
-    gint payload_len;
-    guint8 *payload, *p, *dp;
-    guint32 timestamp;
-    guint8 CMR;
-    gint i, num_packets, num_nonempty_packets;
-    gint amr_len;
-    gint ILL, ILP;
-
-    payload_len = gst_rtpbuffer_get_payload_len (buf);
-
-    /* need at least 2 bytes for the header */
-    if (payload_len < 2)
-      goto bad_packet;
-
-    payload = gst_rtpbuffer_get_payload (buf);
-
-    /* parse CMR. The CMR is used by the sender to request
-     * a new encoding mode.
-     *
-     *  0 1 2 3 4 5 6 7 
-     * +-+-+-+-+-+-+-+-+
-     * | CMR   |R|R|R|R|
-     * +-+-+-+-+-+-+-+-+
-     */
-    CMR = (payload[0] & 0xf0) >> 4;
-
-    /* strip CMR header now, pack FT and the data for the decoder */
-    payload_len -= 1;
-    payload += 1;
-
-    if (rtpamrdec->interleaving) {
-      ILL = (payload[0] & 0xf0) >> 4;
-      ILP = (payload[0] & 0x0f);
-
-      payload_len -= 1;
-      payload += 1;
-
-      if (ILP > ILL)
-        goto bad_packet;
-    }
-
-    /* 
-     *  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 
-     * +-+-+-+-+-+-+-+-+..
-     * |F|  FT   |Q|P|P| more FT..
-     * +-+-+-+-+-+-+-+-+..
-     */
-    /* count number of packets by counting the FTs. Also
-     * count number of amr data bytes and number of non-empty
-     * packets (this is also the number of CRCs if present). */
-    amr_len = 0;
-    num_nonempty_packets = 0;
-    num_packets = 0;
-    for (i = 0; i < payload_len; i++) {
-      gint fr_size;
-      guint8 FT;
-
-      FT = (payload[i] & 0x78) >> 3;
-
-      fr_size = frame_size[FT];
-      if (fr_size == -1)
-        goto bad_packet;
-
-      if (fr_size > 0) {
-        amr_len += fr_size;
-        num_nonempty_packets++;
-      }
-      num_packets++;
-
-      if ((payload[i] & 0x80) == 0)
-        break;
-    }
-
-    /* this is impossible */
-    if (num_packets == payload_len)
-      goto bad_packet;
-
-    if (rtpamrdec->crc) {
-      /* data len + CRC len + header bytes should be smaller than payload_len */
-      if (num_packets + num_nonempty_packets + amr_len > payload_len)
-        goto bad_packet;
-    } else {
-      /* data len + header bytes should be smaller than payload_len */
-      if (num_packets + amr_len > payload_len)
-        goto bad_packet;
-    }
-
-    timestamp = gst_rtpbuffer_get_timestamp (buf);
-
-    outbuf = gst_buffer_new_and_alloc (payload_len);
-    GST_BUFFER_TIMESTAMP (outbuf) = timestamp * GST_SECOND / rtpamrdec->rate;
-
-    /* point to destination */
-    p = GST_BUFFER_DATA (outbuf);
-    /* point to first data packet */
-    dp = payload + num_packets;
-    if (rtpamrdec->crc) {
-      /* skip CRC if present */
-      dp += num_nonempty_packets;
-    }
-
-    for (i = 0; i < num_packets; i++) {
-      gint fr_size;
-
-      fr_size = frame_size[(payload[i] & 0x78) >> 3];
-      if (fr_size > 0) {
-        /* copy FT */
-        *p++ = payload[i];
-        /* copy data packet, FIXME, calc CRC here. */
-        memcpy (p, dp, fr_size);
-
-        p += fr_size;
-        dp += fr_size;
-      }
-    }
-    gst_buffer_set_caps (outbuf, GST_PAD_CAPS (rtpamrdec->srcpad));
-
-    GST_DEBUG ("gst_rtpamrdec_chain: pushing buffer of size %d",
-        GST_BUFFER_SIZE (outbuf));
-    ret = gst_pad_push (rtpamrdec->srcpad, outbuf);
-
-    gst_buffer_unref (buf);
-  }
-
-  return ret;
-
-not_negotiated:
-  {
-    GST_ELEMENT_ERROR (rtpamrdec, STREAM, NOT_IMPLEMENTED,
-        ("not negotiated"), (NULL));
-    gst_buffer_unref (buf);
-    return GST_FLOW_NOT_NEGOTIATED;
-  }
-bad_packet:
-  {
-    GST_ELEMENT_WARNING (rtpamrdec, STREAM, DECODE,
-        ("amr packet did not validate"), (NULL));
-    gst_buffer_unref (buf);
-    return GST_FLOW_OK;
-  }
-}
-
-static void
-gst_rtpamrdec_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec)
-{
-  GstRtpAMRDec *rtpamrdec;
-
-  rtpamrdec = GST_RTP_AMR_DEC (object);
-
-  switch (prop_id) {
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-}
-
-static void
-gst_rtpamrdec_get_property (GObject * object, guint prop_id, GValue * value,
-    GParamSpec * pspec)
-{
-  GstRtpAMRDec *rtpamrdec;
-
-  rtpamrdec = GST_RTP_AMR_DEC (object);
-
-  switch (prop_id) {
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-}
-
-static GstStateChangeReturn
-gst_rtpamrdec_change_state (GstElement * element, GstStateChange transition)
-{
-  GstRtpAMRDec *rtpamrdec;
-  GstStateChangeReturn ret;
-
-  rtpamrdec = GST_RTP_AMR_DEC (element);
-
-  switch (transition) {
-    case GST_STATE_CHANGE_NULL_TO_READY:
-      break;
-    case GST_STATE_CHANGE_READY_TO_PAUSED:
-      break;
-    default:
-      break;
-  }
-
-  ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
-
-  switch (transition) {
-    case GST_STATE_CHANGE_READY_TO_NULL:
-      break;
-    default:
-      break;
-  }
-  return ret;
-}
-
-gboolean
-gst_rtpamrdec_plugin_init (GstPlugin * plugin)
-{
-  return gst_element_register (plugin, "rtpamrdec",
-      GST_RANK_NONE, GST_TYPE_RTP_AMR_DEC);
-}
diff --git a/gst/rtp/gstrtpamrdec.h b/gst/rtp/gstrtpamrdec.h
deleted file mode 100644
index 265b5fe..0000000
--- a/gst/rtp/gstrtpamrdec.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Gnome-Streamer
- * Copyright (C) <2005> Wim Taymans <wim@fluendo.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GST_RTP_AMR_DEC_H__
-#define __GST_RTP_AMR_DEC_H__
-
-#include <gst/gst.h>
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_RTP_AMR_DEC \
-  (gst_rtpamrdec_get_type())
-#define GST_RTP_AMR_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_AMR_DEC,GstRtpAMRDec))
-#define GST_RTP_AMR_DEC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_AMR_DEC,GstRtpAMRDec))
-#define GST_IS_RTP_AMR_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_AMR_DEC))
-#define GST_IS_RTP_AMR_DEC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_AMR_DEC))
-
-typedef struct _GstRtpAMRDec GstRtpAMRDec;
-typedef struct _GstRtpAMRDecClass GstRtpAMRDecClass;
-
-struct _GstRtpAMRDec
-{
-  GstElement element;
-
-  GstPad *sinkpad;
-  GstPad *srcpad;
-
-  gboolean negotiated;
-
-  gboolean octet_align;
-  guint8   mode_set;
-  gint     mode_change_period;
-  gboolean mode_change_neighbor;
-  gint     maxptime;
-  gboolean crc;
-  gboolean robust_sorting;
-  gboolean interleaving;
-  gint     ptime;
-  gint     channels;
-  gint     rate;
-};
-
-struct _GstRtpAMRDecClass
-{
-  GstElementClass parent_class;
-};
-
-gboolean gst_rtpamrdec_plugin_init (GstPlugin * plugin);
-
-G_END_DECLS
-
-#endif /* __GST_RTP_AMR_DEC_H__ */
diff --git a/gst/rtp/gstrtpamrdepay.c b/gst/rtp/gstrtpamrdepay.c
index 216c3d5..bec5b83 100644
--- a/gst/rtp/gstrtpamrdepay.c
+++ b/gst/rtp/gstrtpamrdepay.c
@@ -19,7 +19,7 @@
 #include <gst/rtp/gstrtpbuffer.h>
 
 #include <string.h>
-#include "gstrtpamrdec.h"
+#include "gstrtpamrdepay.h"
 
 /* references:
  *
@@ -29,14 +29,14 @@
  */
 
 /* elementfactory information */
-static GstElementDetails gst_rtp_amrdec_details = {
+static GstElementDetails gst_rtp_amrdepay_details = {
   "RTP packet parser",
   "Codec/Parser/Network",
   "Extracts AMR audio from RTP packets (RFC 3267)",
   "Wim Taymans <wim@fluendo.com>"
 };
 
-/* RtpAMRDec signals and args */
+/* RtpAMRDepay signals and args */
 enum
 {
   /* FILL ME */
@@ -53,7 +53,7 @@
  *
  * params see RFC 3267, section 8.1
  */
-static GstStaticPadTemplate gst_rtpamrdec_sink_template =
+static GstStaticPadTemplate gst_rtp_amr_depay_sink_template =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
@@ -77,70 +77,70 @@
     )
     );
 
-static GstStaticPadTemplate gst_rtpamrdec_src_template =
+static GstStaticPadTemplate gst_rtp_amr_depay_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("audio/AMR, " "channels = (int) 1," "rate = (int) 8000")
     );
 
-static void gst_rtpamrdec_class_init (GstRtpAMRDecClass * klass);
-static void gst_rtpamrdec_base_init (GstRtpAMRDecClass * klass);
-static void gst_rtpamrdec_init (GstRtpAMRDec * rtpamrdec);
+static void gst_rtp_amr_depay_class_init (GstRtpAMRDepayClass * klass);
+static void gst_rtp_amr_depay_base_init (GstRtpAMRDepayClass * klass);
+static void gst_rtp_amr_depay_init (GstRtpAMRDepay * rtpamrdepay);
 
-static gboolean gst_rtpamrdec_sink_setcaps (GstPad * pad, GstCaps * caps);
-static GstFlowReturn gst_rtpamrdec_chain (GstPad * pad, GstBuffer * buffer);
+static gboolean gst_rtp_amr_depay_sink_setcaps (GstPad * pad, GstCaps * caps);
+static GstFlowReturn gst_rtp_amr_depay_chain (GstPad * pad, GstBuffer * buffer);
 
-static void gst_rtpamrdec_set_property (GObject * object, guint prop_id,
+static void gst_rtp_amr_depay_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec);
-static void gst_rtpamrdec_get_property (GObject * object, guint prop_id,
+static void gst_rtp_amr_depay_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec);
 
-static GstStateChangeReturn gst_rtpamrdec_change_state (GstElement * element,
-    GstStateChange transition);
+static GstStateChangeReturn gst_rtp_amr_depay_change_state (GstElement *
+    element, GstStateChange transition);
 
 static GstElementClass *parent_class = NULL;
 
 static GType
-gst_rtpamrdec_get_type (void)
+gst_rtp_amr_depay_get_type (void)
 {
-  static GType rtpamrdec_type = 0;
+  static GType rtpamrdepay_type = 0;
 
-  if (!rtpamrdec_type) {
-    static const GTypeInfo rtpamrdec_info = {
-      sizeof (GstRtpAMRDecClass),
-      (GBaseInitFunc) gst_rtpamrdec_base_init,
+  if (!rtpamrdepay_type) {
+    static const GTypeInfo rtpamrdepay_info = {
+      sizeof (GstRtpAMRDepayClass),
+      (GBaseInitFunc) gst_rtp_amr_depay_base_init,
       NULL,
-      (GClassInitFunc) gst_rtpamrdec_class_init,
+      (GClassInitFunc) gst_rtp_amr_depay_class_init,
       NULL,
       NULL,
-      sizeof (GstRtpAMRDec),
+      sizeof (GstRtpAMRDepay),
       0,
-      (GInstanceInitFunc) gst_rtpamrdec_init,
+      (GInstanceInitFunc) gst_rtp_amr_depay_init,
     };
 
-    rtpamrdec_type =
-        g_type_register_static (GST_TYPE_ELEMENT, "GstRtpAMRDec",
-        &rtpamrdec_info, 0);
+    rtpamrdepay_type =
+        g_type_register_static (GST_TYPE_ELEMENT, "GstRtpAMRDepay",
+        &rtpamrdepay_info, 0);
   }
-  return rtpamrdec_type;
+  return rtpamrdepay_type;
 }
 
 static void
-gst_rtpamrdec_base_init (GstRtpAMRDecClass * klass)
+gst_rtp_amr_depay_base_init (GstRtpAMRDepayClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpamrdec_src_template));
+      gst_static_pad_template_get (&gst_rtp_amr_depay_src_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpamrdec_sink_template));
+      gst_static_pad_template_get (&gst_rtp_amr_depay_sink_template));
 
-  gst_element_class_set_details (element_class, &gst_rtp_amrdec_details);
+  gst_element_class_set_details (element_class, &gst_rtp_amrdepay_details);
 }
 
 static void
-gst_rtpamrdec_class_init (GstRtpAMRDecClass * klass)
+gst_rtp_amr_depay_class_init (GstRtpAMRDepayClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -150,106 +150,107 @@
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
-  gobject_class->set_property = gst_rtpamrdec_set_property;
-  gobject_class->get_property = gst_rtpamrdec_get_property;
+  gobject_class->set_property = gst_rtp_amr_depay_set_property;
+  gobject_class->get_property = gst_rtp_amr_depay_get_property;
 
-  gstelement_class->change_state = gst_rtpamrdec_change_state;
+  gstelement_class->change_state = gst_rtp_amr_depay_change_state;
 }
 
 static void
-gst_rtpamrdec_init (GstRtpAMRDec * rtpamrdec)
+gst_rtp_amr_depay_init (GstRtpAMRDepay * rtpamrdepay)
 {
-  rtpamrdec->srcpad =
+  rtpamrdepay->srcpad =
       gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpamrdec_src_template), "src");
+      (&gst_rtp_amr_depay_src_template), "src");
 
-  gst_element_add_pad (GST_ELEMENT (rtpamrdec), rtpamrdec->srcpad);
+  gst_element_add_pad (GST_ELEMENT (rtpamrdepay), rtpamrdepay->srcpad);
 
-  rtpamrdec->sinkpad =
+  rtpamrdepay->sinkpad =
       gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpamrdec_sink_template), "sink");
-  gst_pad_set_setcaps_function (rtpamrdec->sinkpad, gst_rtpamrdec_sink_setcaps);
-  gst_pad_set_chain_function (rtpamrdec->sinkpad, gst_rtpamrdec_chain);
-  gst_element_add_pad (GST_ELEMENT (rtpamrdec), rtpamrdec->sinkpad);
+      (&gst_rtp_amr_depay_sink_template), "sink");
+  gst_pad_set_setcaps_function (rtpamrdepay->sinkpad,
+      gst_rtp_amr_depay_sink_setcaps);
+  gst_pad_set_chain_function (rtpamrdepay->sinkpad, gst_rtp_amr_depay_chain);
+  gst_element_add_pad (GST_ELEMENT (rtpamrdepay), rtpamrdepay->sinkpad);
 }
 
 static gboolean
-gst_rtpamrdec_sink_setcaps (GstPad * pad, GstCaps * caps)
+gst_rtp_amr_depay_sink_setcaps (GstPad * pad, GstCaps * caps)
 {
   GstStructure *structure;
   GstCaps *srccaps;
-  GstRtpAMRDec *rtpamrdec;
+  GstRtpAMRDepay *rtpamrdepay;
   const gchar *params;
   const gchar *str;
 
-  rtpamrdec = GST_RTP_AMR_DEC (GST_OBJECT_PARENT (pad));
+  rtpamrdepay = GST_RTP_AMR_DEPAY (GST_OBJECT_PARENT (pad));
 
   structure = gst_caps_get_structure (caps, 0);
 
   if (!(str = gst_structure_get_string (structure, "octet-align")))
-    rtpamrdec->octet_align = FALSE;
+    rtpamrdepay->octet_align = FALSE;
   else
-    rtpamrdec->octet_align = (atoi (str) == 1);
+    rtpamrdepay->octet_align = (atoi (str) == 1);
 
   if (!(str = gst_structure_get_string (structure, "crc")))
-    rtpamrdec->crc = FALSE;
+    rtpamrdepay->crc = FALSE;
   else
-    rtpamrdec->crc = (atoi (str) == 1);
+    rtpamrdepay->crc = (atoi (str) == 1);
 
-  if (rtpamrdec->crc) {
+  if (rtpamrdepay->crc) {
     /* crc mode implies octet aligned mode */
-    rtpamrdec->octet_align = TRUE;
+    rtpamrdepay->octet_align = TRUE;
   }
 
   if (!(str = gst_structure_get_string (structure, "robust-sorting")))
-    rtpamrdec->robust_sorting = FALSE;
+    rtpamrdepay->robust_sorting = FALSE;
   else
-    rtpamrdec->robust_sorting = (atoi (str) == 1);
+    rtpamrdepay->robust_sorting = (atoi (str) == 1);
 
-  if (rtpamrdec->robust_sorting) {
+  if (rtpamrdepay->robust_sorting) {
     /* robust_sorting mode implies octet aligned mode */
-    rtpamrdec->octet_align = TRUE;
+    rtpamrdepay->octet_align = TRUE;
   }
 
   if (!(str = gst_structure_get_string (structure, "interleaving")))
-    rtpamrdec->interleaving = FALSE;
+    rtpamrdepay->interleaving = FALSE;
   else
-    rtpamrdec->interleaving = (atoi (str) == 1);
+    rtpamrdepay->interleaving = (atoi (str) == 1);
 
-  if (rtpamrdec->interleaving) {
+  if (rtpamrdepay->interleaving) {
     /* interleaving mode implies octet aligned mode */
-    rtpamrdec->octet_align = TRUE;
+    rtpamrdepay->octet_align = TRUE;
   }
 
   if (!(params = gst_structure_get_string (structure, "encoding-params")))
-    rtpamrdec->channels = 1;
+    rtpamrdepay->channels = 1;
   else {
-    rtpamrdec->channels = atoi (params);
+    rtpamrdepay->channels = atoi (params);
   }
 
-  if (!gst_structure_get_int (structure, "clock-rate", &rtpamrdec->rate))
-    rtpamrdec->rate = 8000;
+  if (!gst_structure_get_int (structure, "clock-rate", &rtpamrdepay->rate))
+    rtpamrdepay->rate = 8000;
 
   /* we require 1 channel, 8000 Hz, octet aligned, no CRC,
    * no robust sorting, no interleaving for now */
-  if (rtpamrdec->channels != 1)
+  if (rtpamrdepay->channels != 1)
     return FALSE;
-  if (rtpamrdec->rate != 8000)
+  if (rtpamrdepay->rate != 8000)
     return FALSE;
-  if (rtpamrdec->octet_align != TRUE)
+  if (rtpamrdepay->octet_align != TRUE)
     return FALSE;
-  if (rtpamrdec->robust_sorting != FALSE)
+  if (rtpamrdepay->robust_sorting != FALSE)
     return FALSE;
-  if (rtpamrdec->interleaving != FALSE)
+  if (rtpamrdepay->interleaving != FALSE)
     return FALSE;
 
   srccaps = gst_caps_new_simple ("audio/AMR",
-      "channels", G_TYPE_INT, rtpamrdec->channels,
-      "rate", G_TYPE_INT, rtpamrdec->rate, NULL);
-  gst_pad_set_caps (rtpamrdec->srcpad, srccaps);
+      "channels", G_TYPE_INT, rtpamrdepay->channels,
+      "rate", G_TYPE_INT, rtpamrdepay->rate, NULL);
+  gst_pad_set_caps (rtpamrdepay->srcpad, srccaps);
   gst_caps_unref (srccaps);
 
-  rtpamrdec->negotiated = TRUE;
+  rtpamrdepay->negotiated = TRUE;
 
   return TRUE;
 }
@@ -261,18 +262,18 @@
 };
 
 static GstFlowReturn
-gst_rtpamrdec_chain (GstPad * pad, GstBuffer * buf)
+gst_rtp_amr_depay_chain (GstPad * pad, GstBuffer * buf)
 {
-  GstRtpAMRDec *rtpamrdec;
+  GstRtpAMRDepay *rtpamrdepay;
   GstBuffer *outbuf;
   GstFlowReturn ret;
 
-  rtpamrdec = GST_RTP_AMR_DEC (GST_OBJECT_PARENT (pad));
+  rtpamrdepay = GST_RTP_AMR_DEPAY (GST_OBJECT_PARENT (pad));
 
-  if (!rtpamrdec->negotiated)
+  if (!rtpamrdepay->negotiated)
     goto not_negotiated;
 
-  if (!gst_rtpbuffer_validate (buf))
+  if (!gst_rtp_buffer_validate (buf))
     goto bad_packet;
 
   /* when we get here, 1 channel, 8000 Hz, octet aligned, no CRC, 
@@ -286,13 +287,13 @@
     gint amr_len;
     gint ILL, ILP;
 
-    payload_len = gst_rtpbuffer_get_payload_len (buf);
+    payload_len = gst_rtp_buffer_get_payload_len (buf);
 
     /* need at least 2 bytes for the header */
     if (payload_len < 2)
       goto bad_packet;
 
-    payload = gst_rtpbuffer_get_payload (buf);
+    payload = gst_rtp_buffer_get_payload (buf);
 
     /* parse CMR. The CMR is used by the sender to request
      * a new encoding mode.
@@ -308,7 +309,7 @@
     payload_len -= 1;
     payload += 1;
 
-    if (rtpamrdec->interleaving) {
+    if (rtpamrdepay->interleaving) {
       ILL = (payload[0] & 0xf0) >> 4;
       ILP = (payload[0] & 0x0f);
 
@@ -355,7 +356,7 @@
     if (num_packets == payload_len)
       goto bad_packet;
 
-    if (rtpamrdec->crc) {
+    if (rtpamrdepay->crc) {
       /* data len + CRC len + header bytes should be smaller than payload_len */
       if (num_packets + num_nonempty_packets + amr_len > payload_len)
         goto bad_packet;
@@ -365,16 +366,16 @@
         goto bad_packet;
     }
 
-    timestamp = gst_rtpbuffer_get_timestamp (buf);
+    timestamp = gst_rtp_buffer_get_timestamp (buf);
 
     outbuf = gst_buffer_new_and_alloc (payload_len);
-    GST_BUFFER_TIMESTAMP (outbuf) = timestamp * GST_SECOND / rtpamrdec->rate;
+    GST_BUFFER_TIMESTAMP (outbuf) = timestamp * GST_SECOND / rtpamrdepay->rate;
 
     /* point to destination */
     p = GST_BUFFER_DATA (outbuf);
     /* point to first data packet */
     dp = payload + num_packets;
-    if (rtpamrdec->crc) {
+    if (rtpamrdepay->crc) {
       /* skip CRC if present */
       dp += num_nonempty_packets;
     }
@@ -393,11 +394,11 @@
         dp += fr_size;
       }
     }
-    gst_buffer_set_caps (outbuf, GST_PAD_CAPS (rtpamrdec->srcpad));
+    gst_buffer_set_caps (outbuf, GST_PAD_CAPS (rtpamrdepay->srcpad));
 
-    GST_DEBUG ("gst_rtpamrdec_chain: pushing buffer of size %d",
+    GST_DEBUG ("gst_rtp_amr_depay_chain: pushing buffer of size %d",
         GST_BUFFER_SIZE (outbuf));
-    ret = gst_pad_push (rtpamrdec->srcpad, outbuf);
+    ret = gst_pad_push (rtpamrdepay->srcpad, outbuf);
 
     gst_buffer_unref (buf);
   }
@@ -406,14 +407,14 @@
 
 not_negotiated:
   {
-    GST_ELEMENT_ERROR (rtpamrdec, STREAM, NOT_IMPLEMENTED,
+    GST_ELEMENT_ERROR (rtpamrdepay, STREAM, NOT_IMPLEMENTED,
         ("not negotiated"), (NULL));
     gst_buffer_unref (buf);
     return GST_FLOW_NOT_NEGOTIATED;
   }
 bad_packet:
   {
-    GST_ELEMENT_WARNING (rtpamrdec, STREAM, DECODE,
+    GST_ELEMENT_WARNING (rtpamrdepay, STREAM, DECODE,
         ("amr packet did not validate"), (NULL));
     gst_buffer_unref (buf);
     return GST_FLOW_OK;
@@ -421,12 +422,12 @@
 }
 
 static void
-gst_rtpamrdec_set_property (GObject * object, guint prop_id,
+gst_rtp_amr_depay_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec)
 {
-  GstRtpAMRDec *rtpamrdec;
+  GstRtpAMRDepay *rtpamrdepay;
 
-  rtpamrdec = GST_RTP_AMR_DEC (object);
+  rtpamrdepay = GST_RTP_AMR_DEPAY (object);
 
   switch (prop_id) {
     default:
@@ -436,12 +437,12 @@
 }
 
 static void
-gst_rtpamrdec_get_property (GObject * object, guint prop_id, GValue * value,
+gst_rtp_amr_depay_get_property (GObject * object, guint prop_id, GValue * value,
     GParamSpec * pspec)
 {
-  GstRtpAMRDec *rtpamrdec;
+  GstRtpAMRDepay *rtpamrdepay;
 
-  rtpamrdec = GST_RTP_AMR_DEC (object);
+  rtpamrdepay = GST_RTP_AMR_DEPAY (object);
 
   switch (prop_id) {
     default:
@@ -451,12 +452,12 @@
 }
 
 static GstStateChangeReturn
-gst_rtpamrdec_change_state (GstElement * element, GstStateChange transition)
+gst_rtp_amr_depay_change_state (GstElement * element, GstStateChange transition)
 {
-  GstRtpAMRDec *rtpamrdec;
+  GstRtpAMRDepay *rtpamrdepay;
   GstStateChangeReturn ret;
 
-  rtpamrdec = GST_RTP_AMR_DEC (element);
+  rtpamrdepay = GST_RTP_AMR_DEPAY (element);
 
   switch (transition) {
     case GST_STATE_CHANGE_NULL_TO_READY:
@@ -479,8 +480,8 @@
 }
 
 gboolean
-gst_rtpamrdec_plugin_init (GstPlugin * plugin)
+gst_rtp_amr_depay_plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "rtpamrdec",
-      GST_RANK_NONE, GST_TYPE_RTP_AMR_DEC);
+  return gst_element_register (plugin, "rtpamrdepay",
+      GST_RANK_NONE, GST_TYPE_RTP_AMR_DEPAY);
 }
diff --git a/gst/rtp/gstrtpamrdepay.h b/gst/rtp/gstrtpamrdepay.h
index 265b5fe..dc382ef 100644
--- a/gst/rtp/gstrtpamrdepay.h
+++ b/gst/rtp/gstrtpamrdepay.h
@@ -17,28 +17,28 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#ifndef __GST_RTP_AMR_DEC_H__
-#define __GST_RTP_AMR_DEC_H__
+#ifndef __GST_RTP_AMR_DEPAY_H__
+#define __GST_RTP_AMR_DEPAY_H__
 
 #include <gst/gst.h>
 
 G_BEGIN_DECLS
 
-#define GST_TYPE_RTP_AMR_DEC \
-  (gst_rtpamrdec_get_type())
-#define GST_RTP_AMR_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_AMR_DEC,GstRtpAMRDec))
-#define GST_RTP_AMR_DEC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_AMR_DEC,GstRtpAMRDec))
-#define GST_IS_RTP_AMR_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_AMR_DEC))
-#define GST_IS_RTP_AMR_DEC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_AMR_DEC))
+#define GST_TYPE_RTP_AMR_DEPAY \
+  (gst_rtp_amr_depay_get_type())
+#define GST_RTP_AMR_DEPAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_AMR_DEPAY,GstRtpAMRDepay))
+#define GST_RTP_AMR_DEPAY_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_AMR_DEPAY,GstRtpAMRDepay))
+#define GST_IS_RTP_AMR_DEPAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_AMR_DEPAY))
+#define GST_IS_RTP_AMR_DEPAY_CLASS(obj) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_AMR_DEPAY))
 
-typedef struct _GstRtpAMRDec GstRtpAMRDec;
-typedef struct _GstRtpAMRDecClass GstRtpAMRDecClass;
+typedef struct _GstRtpAMRDepay GstRtpAMRDepay;
+typedef struct _GstRtpAMRDepayClass GstRtpAMRDepayClass;
 
-struct _GstRtpAMRDec
+struct _GstRtpAMRDepay
 {
   GstElement element;
 
@@ -60,13 +60,13 @@
   gint     rate;
 };
 
-struct _GstRtpAMRDecClass
+struct _GstRtpAMRDepayClass
 {
   GstElementClass parent_class;
 };
 
-gboolean gst_rtpamrdec_plugin_init (GstPlugin * plugin);
+gboolean gst_rtp_amr_depay_plugin_init (GstPlugin * plugin);
 
 G_END_DECLS
 
-#endif /* __GST_RTP_AMR_DEC_H__ */
+#endif /* __GST_RTP_AMR_DEPAY_H__ */
diff --git a/gst/rtp/gstrtpamrenc.c b/gst/rtp/gstrtpamrenc.c
deleted file mode 100644
index 2528a8c..0000000
--- a/gst/rtp/gstrtpamrenc.c
+++ /dev/null
@@ -1,225 +0,0 @@
-/* GStreamer
- * Copyright (C) <2005> Wim Taymans <wim@fluendo.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more 
- */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include <string.h>
-
-#include <gst/rtp/gstrtpbuffer.h>
-
-#include "gstrtpamrenc.h"
-
-/* references:
- *
- * RFC 3267 - Real-Time Transport Protocol (RTP) Payload Format and File 
- *    Storage Format for the Adaptive Multi-Rate (AMR) and Adaptive 
- *    Multi-Rate Wideband (AMR-WB) Audio Codecs.
- */
-
-/* elementfactory information */
-static GstElementDetails gst_rtp_amrenc_details = {
-  "RTP packet parser",
-  "Codec/Encoder/Network",
-  "Encode AMR audio into RTP packets (RFC 3267)",
-  "Wim Taymans <wim@fluendo.com>"
-};
-
-static GstStaticPadTemplate gst_rtpamrenc_sink_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("audio/AMR, channels=(int)1, rate=(int)8000")
-    );
-
-static GstStaticPadTemplate gst_rtpamrenc_src_template =
-GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-rtp, "
-        "media = (string) \"audio\", "
-        "payload = (int) [ 96, 255 ], "
-        "clock-rate = (int) 8000, "
-        "encoding-name = (string) \"AMR\", "
-        "encoding-params = (string) \"1\", "
-        "octet-align = (string) \"1\", "
-        "crc = (string) \"0\", "
-        "robust-sorting = (string) \"0\", "
-        "interleaving = (string) \"0\", "
-        "mode-set = (int) [ 0, 7 ], "
-        "mode-change-period = (int) [ 1, MAX ], "
-        "mode-change-neighbor = (string) { \"0\", \"1\" }, "
-        "maxptime = (int) [ 20, MAX ], " "ptime = (int) [ 20, MAX ]")
-    );
-
-static void gst_rtpamrenc_class_init (GstRtpAMREncClass * klass);
-static void gst_rtpamrenc_base_init (GstRtpAMREncClass * klass);
-static void gst_rtpamrenc_init (GstRtpAMREnc * rtpamrenc);
-
-static gboolean gst_rtpamrenc_setcaps (GstBaseRTPPayload * basepayload,
-    GstCaps * caps);
-static GstFlowReturn gst_rtpamrenc_handle_buffer (GstBaseRTPPayload * pad,
-    GstBuffer * buffer);
-
-static GstBaseRTPPayloadClass *parent_class = NULL;
-
-static GType
-gst_rtpamrenc_get_type (void)
-{
-  static GType rtpamrenc_type = 0;
-
-  if (!rtpamrenc_type) {
-    static const GTypeInfo rtpamrenc_info = {
-      sizeof (GstRtpAMREncClass),
-      (GBaseInitFunc) gst_rtpamrenc_base_init,
-      NULL,
-      (GClassInitFunc) gst_rtpamrenc_class_init,
-      NULL,
-      NULL,
-      sizeof (GstRtpAMREnc),
-      0,
-      (GInstanceInitFunc) gst_rtpamrenc_init,
-    };
-
-    rtpamrenc_type =
-        g_type_register_static (GST_TYPE_BASE_RTP_PAYLOAD, "GstRtpAMREnc",
-        &rtpamrenc_info, 0);
-  }
-  return rtpamrenc_type;
-}
-
-static void
-gst_rtpamrenc_base_init (GstRtpAMREncClass * klass)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpamrenc_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpamrenc_sink_template));
-
-  gst_element_class_set_details (element_class, &gst_rtp_amrenc_details);
-}
-
-static void
-gst_rtpamrenc_class_init (GstRtpAMREncClass * klass)
-{
-  GObjectClass *gobject_class;
-  GstElementClass *gstelement_class;
-  GstBaseRTPPayloadClass *gstbasertppayload_class;
-
-  gobject_class = (GObjectClass *) klass;
-  gstelement_class = (GstElementClass *) klass;
-  gstbasertppayload_class = (GstBaseRTPPayloadClass *) klass;
-
-  parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_PAYLOAD);
-
-  gstbasertppayload_class->set_caps = gst_rtpamrenc_setcaps;
-  gstbasertppayload_class->handle_buffer = gst_rtpamrenc_handle_buffer;
-}
-
-static void
-gst_rtpamrenc_init (GstRtpAMREnc * rtpamrenc)
-{
-}
-
-static gboolean
-gst_rtpamrenc_setcaps (GstBaseRTPPayload * basepayload, GstCaps * caps)
-{
-  GstRtpAMREnc *rtpamrenc;
-
-  rtpamrenc = GST_RTP_AMR_ENC (basepayload);
-
-  gst_basertppayload_set_options (basepayload, "audio", TRUE, "AMR", 8000);
-  gst_basertppayload_set_outcaps (basepayload,
-      "encoding-params", G_TYPE_STRING, "1", "octet-align", G_TYPE_STRING, "1",
-      /* don't set the defaults 
-       * 
-       * "crc", G_TYPE_STRING, "0",
-       * "robust-sorting", G_TYPE_STRING, "0",
-       * "interleaving", G_TYPE_STRING, "0", 
-       */
-      NULL);
-
-  return TRUE;
-}
-
-static GstFlowReturn
-gst_rtpamrenc_handle_buffer (GstBaseRTPPayload * basepayload,
-    GstBuffer * buffer)
-{
-  GstRtpAMREnc *rtpamrenc;
-  GstFlowReturn ret;
-  guint size, payload_len;
-  GstBuffer *outbuf;
-  guint8 *payload, *data;
-  GstClockTime timestamp;
-
-  rtpamrenc = GST_RTP_AMR_ENC (basepayload);
-
-  size = GST_BUFFER_SIZE (buffer);
-  timestamp = GST_BUFFER_TIMESTAMP (buffer);
-
-  /* FIXME, only one AMR frame per RTP packet for now, 
-   * octet aligned, no interleaving, single channel, no CRC,
-   * no robust-sorting. */
-
-  /* we need one extra byte for the CMR, the ToC is in the input
-   * data */
-  payload_len = size + 1;
-
-  outbuf = gst_rtpbuffer_new_allocate (payload_len, 0, 0);
-  /* FIXME, assert for now */
-  g_assert (GST_BUFFER_SIZE (outbuf) < GST_BASE_RTP_PAYLOAD_MTU (rtpamrenc));
-
-  /* copy timestamp */
-  GST_BUFFER_TIMESTAMP (outbuf) = timestamp;
-
-  /* get payload */
-  payload = gst_rtpbuffer_get_payload (outbuf);
-
-  /*   0 1 2 3 4 5 6 7 
-   *  +-+-+-+-+-+-+-+-+
-   *  |  CMR  |R|R|R|R|
-   *  +-+-+-+-+-+-+-+-+
-   */
-  payload[0] = 0xF0;            /* CMR, no specific mode requested */
-
-  data = GST_BUFFER_DATA (buffer);
-
-  /* copy data in payload */
-  memcpy (&payload[1], data, size);
-
-  /*   0 1 2 3 4 5 6 7
-   *  +-+-+-+-+-+-+-+-+
-   *  |F|  FT   |Q|P|P|
-   *  +-+-+-+-+-+-+-+-+
-   */
-  /* clear F flag */
-  payload[1] = payload[1] & 0x7f;
-
-  gst_buffer_unref (buffer);
-
-  ret = gst_basertppayload_push (basepayload, outbuf);
-
-  return ret;
-}
-
-gboolean
-gst_rtpamrenc_plugin_init (GstPlugin * plugin)
-{
-  return gst_element_register (plugin, "rtpamrenc",
-      GST_RANK_NONE, GST_TYPE_RTP_AMR_ENC);
-}
diff --git a/gst/rtp/gstrtpamrenc.h b/gst/rtp/gstrtpamrenc.h
deleted file mode 100644
index 719cffa..0000000
--- a/gst/rtp/gstrtpamrenc.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Gnome-Streamer
- * Copyright (C) <2005> Wim Taymans <wim@fluendo.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GST_RTP_AMR_ENC_H__
-#define __GST_RTP_AMR_ENC_H__
-
-#include <gst/gst.h>
-#include <gst/rtp/gstbasertppayload.h>
-#include <gst/base/gstadapter.h>
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_RTP_AMR_ENC \
-  (gst_rtpamrenc_get_type())
-#define GST_RTP_AMR_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_AMR_ENC,GstRtpAMREnc))
-#define GST_RTP_AMR_ENC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_AMR_ENC,GstRtpAMREnc))
-#define GST_IS_RTP_AMR_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_AMR_ENC))
-#define GST_IS_RTP_AMR_ENC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_AMR_ENC))
-
-typedef struct _GstRtpAMREnc GstRtpAMREnc;
-typedef struct _GstRtpAMREncClass GstRtpAMREncClass;
-
-struct _GstRtpAMREnc
-{
-  GstBaseRTPPayload payload;
-};
-
-struct _GstRtpAMREncClass
-{
-  GstBaseRTPPayloadClass parent_class;
-};
-
-gboolean gst_rtpamrenc_plugin_init (GstPlugin * plugin);
-
-G_END_DECLS
-
-#endif /* __GST_RTP_AMR_ENC_H__ */
diff --git a/gst/rtp/gstrtpamrpay.c b/gst/rtp/gstrtpamrpay.c
index 2528a8c..80f4b85 100644
--- a/gst/rtp/gstrtpamrpay.c
+++ b/gst/rtp/gstrtpamrpay.c
@@ -20,7 +20,7 @@
 
 #include <gst/rtp/gstrtpbuffer.h>
 
-#include "gstrtpamrenc.h"
+#include "gstrtpamrpay.h"
 
 /* references:
  *
@@ -30,21 +30,21 @@
  */
 
 /* elementfactory information */
-static GstElementDetails gst_rtp_amrenc_details = {
+static GstElementDetails gst_rtp_amrpay_details = {
   "RTP packet parser",
-  "Codec/Encoder/Network",
-  "Encode AMR audio into RTP packets (RFC 3267)",
+  "Codec/Payloader/Network",
+  "Payode AMR audio into RTP packets (RFC 3267)",
   "Wim Taymans <wim@fluendo.com>"
 };
 
-static GstStaticPadTemplate gst_rtpamrenc_sink_template =
+static GstStaticPadTemplate gst_rtp_amr_pay_sink_template =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("audio/AMR, channels=(int)1, rate=(int)8000")
     );
 
-static GstStaticPadTemplate gst_rtpamrenc_src_template =
+static GstStaticPadTemplate gst_rtp_amr_pay_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
@@ -64,57 +64,57 @@
         "maxptime = (int) [ 20, MAX ], " "ptime = (int) [ 20, MAX ]")
     );
 
-static void gst_rtpamrenc_class_init (GstRtpAMREncClass * klass);
-static void gst_rtpamrenc_base_init (GstRtpAMREncClass * klass);
-static void gst_rtpamrenc_init (GstRtpAMREnc * rtpamrenc);
+static void gst_rtp_amr_pay_class_init (GstRtpAMRPayClass * klass);
+static void gst_rtp_amr_pay_base_init (GstRtpAMRPayClass * klass);
+static void gst_rtp_amr_pay_init (GstRtpAMRPay * rtpamrpay);
 
-static gboolean gst_rtpamrenc_setcaps (GstBaseRTPPayload * basepayload,
+static gboolean gst_rtp_amr_pay_setcaps (GstBaseRTPPayload * basepayload,
     GstCaps * caps);
-static GstFlowReturn gst_rtpamrenc_handle_buffer (GstBaseRTPPayload * pad,
+static GstFlowReturn gst_rtp_amr_pay_handle_buffer (GstBaseRTPPayload * pad,
     GstBuffer * buffer);
 
 static GstBaseRTPPayloadClass *parent_class = NULL;
 
 static GType
-gst_rtpamrenc_get_type (void)
+gst_rtp_amr_pay_get_type (void)
 {
-  static GType rtpamrenc_type = 0;
+  static GType rtpamrpay_type = 0;
 
-  if (!rtpamrenc_type) {
-    static const GTypeInfo rtpamrenc_info = {
-      sizeof (GstRtpAMREncClass),
-      (GBaseInitFunc) gst_rtpamrenc_base_init,
+  if (!rtpamrpay_type) {
+    static const GTypeInfo rtpamrpay_info = {
+      sizeof (GstRtpAMRPayClass),
+      (GBaseInitFunc) gst_rtp_amr_pay_base_init,
       NULL,
-      (GClassInitFunc) gst_rtpamrenc_class_init,
+      (GClassInitFunc) gst_rtp_amr_pay_class_init,
       NULL,
       NULL,
-      sizeof (GstRtpAMREnc),
+      sizeof (GstRtpAMRPay),
       0,
-      (GInstanceInitFunc) gst_rtpamrenc_init,
+      (GInstanceInitFunc) gst_rtp_amr_pay_init,
     };
 
-    rtpamrenc_type =
-        g_type_register_static (GST_TYPE_BASE_RTP_PAYLOAD, "GstRtpAMREnc",
-        &rtpamrenc_info, 0);
+    rtpamrpay_type =
+        g_type_register_static (GST_TYPE_BASE_RTP_PAYLOAD, "GstRtpAMRPay",
+        &rtpamrpay_info, 0);
   }
-  return rtpamrenc_type;
+  return rtpamrpay_type;
 }
 
 static void
-gst_rtpamrenc_base_init (GstRtpAMREncClass * klass)
+gst_rtp_amr_pay_base_init (GstRtpAMRPayClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpamrenc_src_template));
+      gst_static_pad_template_get (&gst_rtp_amr_pay_src_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpamrenc_sink_template));
+      gst_static_pad_template_get (&gst_rtp_amr_pay_sink_template));
 
-  gst_element_class_set_details (element_class, &gst_rtp_amrenc_details);
+  gst_element_class_set_details (element_class, &gst_rtp_amrpay_details);
 }
 
 static void
-gst_rtpamrenc_class_init (GstRtpAMREncClass * klass)
+gst_rtp_amr_pay_class_init (GstRtpAMRPayClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -126,21 +126,21 @@
 
   parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_PAYLOAD);
 
-  gstbasertppayload_class->set_caps = gst_rtpamrenc_setcaps;
-  gstbasertppayload_class->handle_buffer = gst_rtpamrenc_handle_buffer;
+  gstbasertppayload_class->set_caps = gst_rtp_amr_pay_setcaps;
+  gstbasertppayload_class->handle_buffer = gst_rtp_amr_pay_handle_buffer;
 }
 
 static void
-gst_rtpamrenc_init (GstRtpAMREnc * rtpamrenc)
+gst_rtp_amr_pay_init (GstRtpAMRPay * rtpamrpay)
 {
 }
 
 static gboolean
-gst_rtpamrenc_setcaps (GstBaseRTPPayload * basepayload, GstCaps * caps)
+gst_rtp_amr_pay_setcaps (GstBaseRTPPayload * basepayload, GstCaps * caps)
 {
-  GstRtpAMREnc *rtpamrenc;
+  GstRtpAMRPay *rtpamrpay;
 
-  rtpamrenc = GST_RTP_AMR_ENC (basepayload);
+  rtpamrpay = GST_RTP_AMR_PAY (basepayload);
 
   gst_basertppayload_set_options (basepayload, "audio", TRUE, "AMR", 8000);
   gst_basertppayload_set_outcaps (basepayload,
@@ -157,17 +157,17 @@
 }
 
 static GstFlowReturn
-gst_rtpamrenc_handle_buffer (GstBaseRTPPayload * basepayload,
+gst_rtp_amr_pay_handle_buffer (GstBaseRTPPayload * basepayload,
     GstBuffer * buffer)
 {
-  GstRtpAMREnc *rtpamrenc;
+  GstRtpAMRPay *rtpamrpay;
   GstFlowReturn ret;
   guint size, payload_len;
   GstBuffer *outbuf;
   guint8 *payload, *data;
   GstClockTime timestamp;
 
-  rtpamrenc = GST_RTP_AMR_ENC (basepayload);
+  rtpamrpay = GST_RTP_AMR_PAY (basepayload);
 
   size = GST_BUFFER_SIZE (buffer);
   timestamp = GST_BUFFER_TIMESTAMP (buffer);
@@ -180,15 +180,15 @@
    * data */
   payload_len = size + 1;
 
-  outbuf = gst_rtpbuffer_new_allocate (payload_len, 0, 0);
+  outbuf = gst_rtp_buffer_new_allocate (payload_len, 0, 0);
   /* FIXME, assert for now */
-  g_assert (GST_BUFFER_SIZE (outbuf) < GST_BASE_RTP_PAYLOAD_MTU (rtpamrenc));
+  g_assert (GST_BUFFER_SIZE (outbuf) < GST_BASE_RTP_PAYLOAD_MTU (rtpamrpay));
 
   /* copy timestamp */
   GST_BUFFER_TIMESTAMP (outbuf) = timestamp;
 
   /* get payload */
-  payload = gst_rtpbuffer_get_payload (outbuf);
+  payload = gst_rtp_buffer_get_payload (outbuf);
 
   /*   0 1 2 3 4 5 6 7 
    *  +-+-+-+-+-+-+-+-+
@@ -218,8 +218,8 @@
 }
 
 gboolean
-gst_rtpamrenc_plugin_init (GstPlugin * plugin)
+gst_rtp_amr_pay_plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "rtpamrenc",
-      GST_RANK_NONE, GST_TYPE_RTP_AMR_ENC);
+  return gst_element_register (plugin, "rtpamrpay",
+      GST_RANK_NONE, GST_TYPE_RTP_AMR_PAY);
 }
diff --git a/gst/rtp/gstrtpamrpay.h b/gst/rtp/gstrtpamrpay.h
index 719cffa..f531b86 100644
--- a/gst/rtp/gstrtpamrpay.h
+++ b/gst/rtp/gstrtpamrpay.h
@@ -17,8 +17,8 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#ifndef __GST_RTP_AMR_ENC_H__
-#define __GST_RTP_AMR_ENC_H__
+#ifndef __GST_RTP_AMR_PAY_H__
+#define __GST_RTP_AMR_PAY_H__
 
 #include <gst/gst.h>
 #include <gst/rtp/gstbasertppayload.h>
@@ -26,32 +26,32 @@
 
 G_BEGIN_DECLS
 
-#define GST_TYPE_RTP_AMR_ENC \
-  (gst_rtpamrenc_get_type())
-#define GST_RTP_AMR_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_AMR_ENC,GstRtpAMREnc))
-#define GST_RTP_AMR_ENC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_AMR_ENC,GstRtpAMREnc))
-#define GST_IS_RTP_AMR_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_AMR_ENC))
-#define GST_IS_RTP_AMR_ENC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_AMR_ENC))
+#define GST_TYPE_RTP_AMR_PAY \
+  (gst_rtp_amr_pay_get_type())
+#define GST_RTP_AMR_PAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_AMR_PAY,GstRtpAMRPay))
+#define GST_RTP_AMR_PAY_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_AMR_PAY,GstRtpAMRPay))
+#define GST_IS_RTP_AMR_PAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_AMR_PAY))
+#define GST_IS_RTP_AMR_PAY_CLASS(obj) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_AMR_PAY))
 
-typedef struct _GstRtpAMREnc GstRtpAMREnc;
-typedef struct _GstRtpAMREncClass GstRtpAMREncClass;
+typedef struct _GstRtpAMRPay GstRtpAMRPay;
+typedef struct _GstRtpAMRPayClass GstRtpAMRPayClass;
 
-struct _GstRtpAMREnc
+struct _GstRtpAMRPay
 {
   GstBaseRTPPayload payload;
 };
 
-struct _GstRtpAMREncClass
+struct _GstRtpAMRPayClass
 {
   GstBaseRTPPayloadClass parent_class;
 };
 
-gboolean gst_rtpamrenc_plugin_init (GstPlugin * plugin);
+gboolean gst_rtp_amr_pay_plugin_init (GstPlugin * plugin);
 
 G_END_DECLS
 
-#endif /* __GST_RTP_AMR_ENC_H__ */
+#endif /* __GST_RTP_AMR_PAY_H__ */
diff --git a/gst/rtp/gstrtpdec.c b/gst/rtp/gstrtpdec.c
deleted file mode 100644
index 95065a2..0000000
--- a/gst/rtp/gstrtpdec.c
+++ /dev/null
@@ -1,284 +0,0 @@
-/* GStreamer
- * Copyright (C) <2005> Wim Taymans <wim@fluendo.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-/* Element-Checklist-Version: 5 */
-
-#include "gstrtpdec.h"
-
-GST_DEBUG_CATEGORY (rtpdec_debug);
-#define GST_CAT_DEFAULT (rtpdec_debug)
-
-/* elementfactory information */
-static GstElementDetails rtpdec_details = GST_ELEMENT_DETAILS ("RTP Decoder",
-    "Codec/Parser/Network",
-    "Accepts raw RTP and RTCP packets and sends them forward",
-    "Wim Taymans <wim@fluendo.com>");
-
-/* GstRTPDec signals and args */
-enum
-{
-  /* FILL ME */
-  LAST_SIGNAL
-};
-
-enum
-{
-  ARG_0,
-  ARG_SKIP
-      /* FILL ME */
-};
-
-static GstStaticPadTemplate gst_rtpdec_src_rtp_template =
-GST_STATIC_PAD_TEMPLATE ("srcrtp",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-rtp")
-    );
-
-static GstStaticPadTemplate gst_rtpdec_src_rtcp_template =
-GST_STATIC_PAD_TEMPLATE ("srcrtcp",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-rtcp")
-    );
-
-static GstStaticPadTemplate gst_rtpdec_sink_rtp_template =
-GST_STATIC_PAD_TEMPLATE ("sinkrtp",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-rtp")
-    );
-
-static GstStaticPadTemplate gst_rtpdec_sink_rtcp_template =
-GST_STATIC_PAD_TEMPLATE ("sinkrtcp",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-rtcp")
-    );
-
-static void gst_rtpdec_class_init (gpointer g_class);
-static void gst_rtpdec_init (GstRTPDec * rtpdec);
-
-static GstCaps *gst_rtpdec_getcaps (GstPad * pad);
-static GstFlowReturn gst_rtpdec_chain_rtp (GstPad * pad, GstBuffer * buffer);
-static GstFlowReturn gst_rtpdec_chain_rtcp (GstPad * pad, GstBuffer * buffer);
-
-static void gst_rtpdec_set_property (GObject * object,
-    guint prop_id, const GValue * value, GParamSpec * pspec);
-static void gst_rtpdec_get_property (GObject * object,
-    guint prop_id, GValue * value, GParamSpec * pspec);
-
-static GstStateChangeReturn gst_rtpdec_change_state (GstElement * element,
-    GstStateChange transition);
-
-static GstElementClass *parent_class = NULL;
-
-/*static guint gst_rtpdec_signals[LAST_SIGNAL] = { 0 };*/
-
-GType
-gst_rtpdec_get_type (void)
-{
-  static GType rtpdec_type = 0;
-
-  if (!rtpdec_type) {
-    static const GTypeInfo rtpdec_info = {
-      sizeof (GstRTPDecClass), NULL,
-      NULL,
-      (GClassInitFunc) gst_rtpdec_class_init,
-      NULL,
-      NULL,
-      sizeof (GstRTPDec),
-      0,
-      (GInstanceInitFunc) gst_rtpdec_init,
-    };
-
-    rtpdec_type =
-        g_type_register_static (GST_TYPE_ELEMENT, "GstRTPDec", &rtpdec_info, 0);
-  }
-  return rtpdec_type;
-}
-
-static void
-gst_rtpdec_class_init (gpointer g_class)
-{
-  GObjectClass *gobject_class;
-  GstElementClass *gstelement_class;
-  GstRTPDecClass *klass;
-
-  klass = (GstRTPDecClass *) g_class;
-  gobject_class = (GObjectClass *) klass;
-  gstelement_class = (GstElementClass *) klass;
-
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_rtpdec_src_rtp_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_rtpdec_src_rtcp_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_rtpdec_sink_rtp_template));
-  gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_rtpdec_sink_rtcp_template));
-  gst_element_class_set_details (gstelement_class, &rtpdec_details);
-
-  gobject_class->set_property = gst_rtpdec_set_property;
-  gobject_class->get_property = gst_rtpdec_get_property;
-
-  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SKIP, g_param_spec_int ("skip", "skip", "skip", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE));      /* CHECKME */
-
-  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
-
-  gstelement_class->change_state = gst_rtpdec_change_state;
-
-  GST_DEBUG_CATEGORY_INIT (rtpdec_debug, "rtpdec", 0, "RTP decoder");
-}
-
-static void
-gst_rtpdec_init (GstRTPDec * rtpdec)
-{
-  /* the input rtp pad */
-  rtpdec->sink_rtp =
-      gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpdec_sink_rtp_template), "sinkrtp");
-  gst_element_add_pad (GST_ELEMENT (rtpdec), rtpdec->sink_rtp);
-  gst_pad_set_getcaps_function (rtpdec->sink_rtp, gst_rtpdec_getcaps);
-  gst_pad_set_chain_function (rtpdec->sink_rtp, gst_rtpdec_chain_rtp);
-
-  /* the input rtcp pad */
-  rtpdec->sink_rtcp =
-      gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpdec_sink_rtcp_template), "sinkrtcp");
-  gst_element_add_pad (GST_ELEMENT (rtpdec), rtpdec->sink_rtcp);
-  gst_pad_set_chain_function (rtpdec->sink_rtcp, gst_rtpdec_chain_rtcp);
-
-  /* the output rtp pad */
-  rtpdec->src_rtp =
-      gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpdec_src_rtp_template), "srcrtp");
-  gst_pad_set_getcaps_function (rtpdec->src_rtp, gst_rtpdec_getcaps);
-  gst_element_add_pad (GST_ELEMENT (rtpdec), rtpdec->src_rtp);
-
-  /* the output rtcp pad */
-  rtpdec->src_rtcp =
-      gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpdec_src_rtcp_template), "srcrtcp");
-  gst_element_add_pad (GST_ELEMENT (rtpdec), rtpdec->src_rtcp);
-}
-
-static GstCaps *
-gst_rtpdec_getcaps (GstPad * pad)
-{
-  GstRTPDec *src;
-  GstPad *other;
-  GstCaps *caps;
-
-  src = GST_RTPDEC (GST_PAD_PARENT (pad));
-
-  other = pad == src->src_rtp ? src->sink_rtp : src->src_rtp;
-
-  caps = gst_pad_peer_get_caps (other);
-
-  if (caps == NULL)
-    caps = gst_caps_copy (gst_pad_get_pad_template_caps (pad));
-
-  return caps;
-}
-
-static GstFlowReturn
-gst_rtpdec_chain_rtp (GstPad * pad, GstBuffer * buffer)
-{
-  GstRTPDec *src;
-
-  src = GST_RTPDEC (GST_PAD_PARENT (pad));
-
-  GST_DEBUG ("got rtp packet");
-  return gst_pad_push (src->src_rtp, buffer);
-}
-
-static GstFlowReturn
-gst_rtpdec_chain_rtcp (GstPad * pad, GstBuffer * buffer)
-{
-  GST_DEBUG ("got rtcp packet");
-
-  gst_buffer_unref (buffer);
-  return GST_FLOW_OK;
-}
-
-static void
-gst_rtpdec_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec)
-{
-  GstRTPDec *src;
-
-  src = GST_RTPDEC (object);
-
-  switch (prop_id) {
-    case ARG_SKIP:
-      break;
-    default:
-      break;
-  }
-}
-
-static void
-gst_rtpdec_get_property (GObject * object, guint prop_id, GValue * value,
-    GParamSpec * pspec)
-{
-  GstRTPDec *src;
-
-  src = GST_RTPDEC (object);
-
-  switch (prop_id) {
-    case ARG_SKIP:
-      break;
-    default:
-      break;
-  }
-}
-
-static GstStateChangeReturn
-gst_rtpdec_change_state (GstElement * element, GstStateChange transition)
-{
-  GstStateChangeReturn ret;
-  GstRTPDec *rtpdec;
-
-  rtpdec = GST_RTPDEC (element);
-
-  switch (transition) {
-    case GST_STATE_CHANGE_PAUSED_TO_READY:
-      break;
-    default:
-      break;
-  }
-
-  ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
-
-  switch (transition) {
-    case GST_STATE_CHANGE_PAUSED_TO_READY:
-      break;
-    default:
-      break;
-  }
-
-  return ret;
-}
-
-gboolean
-gst_rtpdec_plugin_init (GstPlugin * plugin)
-{
-  return gst_element_register (plugin, "rtpdec",
-      GST_RANK_NONE, GST_TYPE_RTPDEC);
-}
diff --git a/gst/rtp/gstrtpdec.h b/gst/rtp/gstrtpdec.h
deleted file mode 100644
index 5d75e46..0000000
--- a/gst/rtp/gstrtpdec.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* GStreamer
- * Copyright (C) <2005> Wim Taymans <wim@fluendo.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GST_RTPDEC_H__
-#define __GST_RTPDEC_H__
-
-#include <gst/gst.h>
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_RTPDEC  		(gst_rtpdec_get_type())
-#define GST_IS_RTPDEC(obj)  		(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTPDEC))
-#define GST_IS_RTPDEC_CLASS(obj) 	(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTPDEC))
-#define GST_RTPDEC(obj)  		(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTPDEC, GstRTPDec))
-#define GST_RTPDEC_CLASS(klass)  	(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTPDEC, GstRTPDecClass))
-
-typedef struct _GstRTPDec GstRTPDec;
-typedef struct _GstRTPDecClass GstRTPDecClass;
-
-struct _GstRTPDec {
-  GstElement element;
-
-  GstPad *sink_rtp;
-  GstPad *sink_rtcp;
-  GstPad *src_rtp;
-  GstPad *src_rtcp;
-};
-
-struct _GstRTPDecClass {
-  GstElementClass parent_class;
-};
-
-gboolean gst_rtpdec_plugin_init (GstPlugin * plugin);
-
-GType gst_rtpdec_get_type(void);
-
-G_END_DECLS
-
-#endif /* __GST_RTPDEC_H__ */
diff --git a/gst/rtp/gstrtpdepay.c b/gst/rtp/gstrtpdepay.c
index 95065a2..1adb7ed 100644
--- a/gst/rtp/gstrtpdepay.c
+++ b/gst/rtp/gstrtpdepay.c
@@ -18,18 +18,19 @@
  */
 /* Element-Checklist-Version: 5 */
 
-#include "gstrtpdec.h"
+#include "gstrtpdepay.h"
 
-GST_DEBUG_CATEGORY (rtpdec_debug);
-#define GST_CAT_DEFAULT (rtpdec_debug)
+GST_DEBUG_CATEGORY (rtpdepay_debug);
+#define GST_CAT_DEFAULT (rtpdepay_debug)
 
 /* elementfactory information */
-static GstElementDetails rtpdec_details = GST_ELEMENT_DETAILS ("RTP Decoder",
+static GstElementDetails rtpdepay_details =
+GST_ELEMENT_DETAILS ("RTP Payloader",
     "Codec/Parser/Network",
     "Accepts raw RTP and RTCP packets and sends them forward",
     "Wim Taymans <wim@fluendo.com>");
 
-/* GstRTPDec signals and args */
+/* GstRTPDepay signals and args */
 enum
 {
   /* FILL ME */
@@ -43,149 +44,151 @@
       /* FILL ME */
 };
 
-static GstStaticPadTemplate gst_rtpdec_src_rtp_template =
+static GstStaticPadTemplate gst_rtp_depay_src_rtp_template =
 GST_STATIC_PAD_TEMPLATE ("srcrtp",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("application/x-rtp")
     );
 
-static GstStaticPadTemplate gst_rtpdec_src_rtcp_template =
+static GstStaticPadTemplate gst_rtp_depay_src_rtcp_template =
 GST_STATIC_PAD_TEMPLATE ("srcrtcp",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("application/x-rtcp")
     );
 
-static GstStaticPadTemplate gst_rtpdec_sink_rtp_template =
+static GstStaticPadTemplate gst_rtp_depay_sink_rtp_template =
 GST_STATIC_PAD_TEMPLATE ("sinkrtp",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("application/x-rtp")
     );
 
-static GstStaticPadTemplate gst_rtpdec_sink_rtcp_template =
+static GstStaticPadTemplate gst_rtp_depay_sink_rtcp_template =
 GST_STATIC_PAD_TEMPLATE ("sinkrtcp",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("application/x-rtcp")
     );
 
-static void gst_rtpdec_class_init (gpointer g_class);
-static void gst_rtpdec_init (GstRTPDec * rtpdec);
+static void gst_rtp_depay_class_init (gpointer g_class);
+static void gst_rtp_depay_init (GstRTPDepay * rtpdepay);
 
-static GstCaps *gst_rtpdec_getcaps (GstPad * pad);
-static GstFlowReturn gst_rtpdec_chain_rtp (GstPad * pad, GstBuffer * buffer);
-static GstFlowReturn gst_rtpdec_chain_rtcp (GstPad * pad, GstBuffer * buffer);
+static GstCaps *gst_rtp_depay_getcaps (GstPad * pad);
+static GstFlowReturn gst_rtp_depay_chain_rtp (GstPad * pad, GstBuffer * buffer);
+static GstFlowReturn gst_rtp_depay_chain_rtcp (GstPad * pad,
+    GstBuffer * buffer);
 
-static void gst_rtpdec_set_property (GObject * object,
+static void gst_rtp_depay_set_property (GObject * object,
     guint prop_id, const GValue * value, GParamSpec * pspec);
-static void gst_rtpdec_get_property (GObject * object,
+static void gst_rtp_depay_get_property (GObject * object,
     guint prop_id, GValue * value, GParamSpec * pspec);
 
-static GstStateChangeReturn gst_rtpdec_change_state (GstElement * element,
+static GstStateChangeReturn gst_rtp_depay_change_state (GstElement * element,
     GstStateChange transition);
 
 static GstElementClass *parent_class = NULL;
 
-/*static guint gst_rtpdec_signals[LAST_SIGNAL] = { 0 };*/
+/*static guint gst_rtp_depay_signals[LAST_SIGNAL] = { 0 };*/
 
 GType
-gst_rtpdec_get_type (void)
+gst_rtp_depay_get_type (void)
 {
-  static GType rtpdec_type = 0;
+  static GType rtpdepay_type = 0;
 
-  if (!rtpdec_type) {
-    static const GTypeInfo rtpdec_info = {
-      sizeof (GstRTPDecClass), NULL,
+  if (!rtpdepay_type) {
+    static const GTypeInfo rtpdepay_info = {
+      sizeof (GstRTPDepayClass), NULL,
       NULL,
-      (GClassInitFunc) gst_rtpdec_class_init,
+      (GClassInitFunc) gst_rtp_depay_class_init,
       NULL,
       NULL,
-      sizeof (GstRTPDec),
+      sizeof (GstRTPDepay),
       0,
-      (GInstanceInitFunc) gst_rtpdec_init,
+      (GInstanceInitFunc) gst_rtp_depay_init,
     };
 
-    rtpdec_type =
-        g_type_register_static (GST_TYPE_ELEMENT, "GstRTPDec", &rtpdec_info, 0);
+    rtpdepay_type =
+        g_type_register_static (GST_TYPE_ELEMENT, "GstRTPDepay", &rtpdepay_info,
+        0);
   }
-  return rtpdec_type;
+  return rtpdepay_type;
 }
 
 static void
-gst_rtpdec_class_init (gpointer g_class)
+gst_rtp_depay_class_init (gpointer g_class)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
-  GstRTPDecClass *klass;
+  GstRTPDepayClass *klass;
 
-  klass = (GstRTPDecClass *) g_class;
+  klass = (GstRTPDepayClass *) g_class;
   gobject_class = (GObjectClass *) klass;
   gstelement_class = (GstElementClass *) klass;
 
   gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_rtpdec_src_rtp_template));
+      gst_static_pad_template_get (&gst_rtp_depay_src_rtp_template));
   gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_rtpdec_src_rtcp_template));
+      gst_static_pad_template_get (&gst_rtp_depay_src_rtcp_template));
   gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_rtpdec_sink_rtp_template));
+      gst_static_pad_template_get (&gst_rtp_depay_sink_rtp_template));
   gst_element_class_add_pad_template (gstelement_class,
-      gst_static_pad_template_get (&gst_rtpdec_sink_rtcp_template));
-  gst_element_class_set_details (gstelement_class, &rtpdec_details);
+      gst_static_pad_template_get (&gst_rtp_depay_sink_rtcp_template));
+  gst_element_class_set_details (gstelement_class, &rtpdepay_details);
 
-  gobject_class->set_property = gst_rtpdec_set_property;
-  gobject_class->get_property = gst_rtpdec_get_property;
+  gobject_class->set_property = gst_rtp_depay_set_property;
+  gobject_class->get_property = gst_rtp_depay_get_property;
 
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SKIP, g_param_spec_int ("skip", "skip", "skip", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE));      /* CHECKME */
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
-  gstelement_class->change_state = gst_rtpdec_change_state;
+  gstelement_class->change_state = gst_rtp_depay_change_state;
 
-  GST_DEBUG_CATEGORY_INIT (rtpdec_debug, "rtpdec", 0, "RTP decoder");
+  GST_DEBUG_CATEGORY_INIT (rtpdepay_debug, "rtpdepay", 0, "RTP decoder");
 }
 
 static void
-gst_rtpdec_init (GstRTPDec * rtpdec)
+gst_rtp_depay_init (GstRTPDepay * rtpdepay)
 {
   /* the input rtp pad */
-  rtpdec->sink_rtp =
+  rtpdepay->sink_rtp =
       gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpdec_sink_rtp_template), "sinkrtp");
-  gst_element_add_pad (GST_ELEMENT (rtpdec), rtpdec->sink_rtp);
-  gst_pad_set_getcaps_function (rtpdec->sink_rtp, gst_rtpdec_getcaps);
-  gst_pad_set_chain_function (rtpdec->sink_rtp, gst_rtpdec_chain_rtp);
+      (&gst_rtp_depay_sink_rtp_template), "sinkrtp");
+  gst_element_add_pad (GST_ELEMENT (rtpdepay), rtpdepay->sink_rtp);
+  gst_pad_set_getcaps_function (rtpdepay->sink_rtp, gst_rtp_depay_getcaps);
+  gst_pad_set_chain_function (rtpdepay->sink_rtp, gst_rtp_depay_chain_rtp);
 
   /* the input rtcp pad */
-  rtpdec->sink_rtcp =
+  rtpdepay->sink_rtcp =
       gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpdec_sink_rtcp_template), "sinkrtcp");
-  gst_element_add_pad (GST_ELEMENT (rtpdec), rtpdec->sink_rtcp);
-  gst_pad_set_chain_function (rtpdec->sink_rtcp, gst_rtpdec_chain_rtcp);
+      (&gst_rtp_depay_sink_rtcp_template), "sinkrtcp");
+  gst_element_add_pad (GST_ELEMENT (rtpdepay), rtpdepay->sink_rtcp);
+  gst_pad_set_chain_function (rtpdepay->sink_rtcp, gst_rtp_depay_chain_rtcp);
 
   /* the output rtp pad */
-  rtpdec->src_rtp =
+  rtpdepay->src_rtp =
       gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpdec_src_rtp_template), "srcrtp");
-  gst_pad_set_getcaps_function (rtpdec->src_rtp, gst_rtpdec_getcaps);
-  gst_element_add_pad (GST_ELEMENT (rtpdec), rtpdec->src_rtp);
+      (&gst_rtp_depay_src_rtp_template), "srcrtp");
+  gst_pad_set_getcaps_function (rtpdepay->src_rtp, gst_rtp_depay_getcaps);
+  gst_element_add_pad (GST_ELEMENT (rtpdepay), rtpdepay->src_rtp);
 
   /* the output rtcp pad */
-  rtpdec->src_rtcp =
+  rtpdepay->src_rtcp =
       gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpdec_src_rtcp_template), "srcrtcp");
-  gst_element_add_pad (GST_ELEMENT (rtpdec), rtpdec->src_rtcp);
+      (&gst_rtp_depay_src_rtcp_template), "srcrtcp");
+  gst_element_add_pad (GST_ELEMENT (rtpdepay), rtpdepay->src_rtcp);
 }
 
 static GstCaps *
-gst_rtpdec_getcaps (GstPad * pad)
+gst_rtp_depay_getcaps (GstPad * pad)
 {
-  GstRTPDec *src;
+  GstRTPDepay *src;
   GstPad *other;
   GstCaps *caps;
 
-  src = GST_RTPDEC (GST_PAD_PARENT (pad));
+  src = GST_RTP_DEPAY (GST_PAD_PARENT (pad));
 
   other = pad == src->src_rtp ? src->sink_rtp : src->src_rtp;
 
@@ -198,18 +201,18 @@
 }
 
 static GstFlowReturn
-gst_rtpdec_chain_rtp (GstPad * pad, GstBuffer * buffer)
+gst_rtp_depay_chain_rtp (GstPad * pad, GstBuffer * buffer)
 {
-  GstRTPDec *src;
+  GstRTPDepay *src;
 
-  src = GST_RTPDEC (GST_PAD_PARENT (pad));
+  src = GST_RTP_DEPAY (GST_PAD_PARENT (pad));
 
   GST_DEBUG ("got rtp packet");
   return gst_pad_push (src->src_rtp, buffer);
 }
 
 static GstFlowReturn
-gst_rtpdec_chain_rtcp (GstPad * pad, GstBuffer * buffer)
+gst_rtp_depay_chain_rtcp (GstPad * pad, GstBuffer * buffer)
 {
   GST_DEBUG ("got rtcp packet");
 
@@ -218,12 +221,12 @@
 }
 
 static void
-gst_rtpdec_set_property (GObject * object, guint prop_id,
+gst_rtp_depay_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec)
 {
-  GstRTPDec *src;
+  GstRTPDepay *src;
 
-  src = GST_RTPDEC (object);
+  src = GST_RTP_DEPAY (object);
 
   switch (prop_id) {
     case ARG_SKIP:
@@ -234,12 +237,12 @@
 }
 
 static void
-gst_rtpdec_get_property (GObject * object, guint prop_id, GValue * value,
+gst_rtp_depay_get_property (GObject * object, guint prop_id, GValue * value,
     GParamSpec * pspec)
 {
-  GstRTPDec *src;
+  GstRTPDepay *src;
 
-  src = GST_RTPDEC (object);
+  src = GST_RTP_DEPAY (object);
 
   switch (prop_id) {
     case ARG_SKIP:
@@ -250,12 +253,12 @@
 }
 
 static GstStateChangeReturn
-gst_rtpdec_change_state (GstElement * element, GstStateChange transition)
+gst_rtp_depay_change_state (GstElement * element, GstStateChange transition)
 {
   GstStateChangeReturn ret;
-  GstRTPDec *rtpdec;
+  GstRTPDepay *rtpdepay;
 
-  rtpdec = GST_RTPDEC (element);
+  rtpdepay = GST_RTP_DEPAY (element);
 
   switch (transition) {
     case GST_STATE_CHANGE_PAUSED_TO_READY:
@@ -277,8 +280,8 @@
 }
 
 gboolean
-gst_rtpdec_plugin_init (GstPlugin * plugin)
+gst_rtp_depay_plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "rtpdec",
-      GST_RANK_NONE, GST_TYPE_RTPDEC);
+  return gst_element_register (plugin, "rtpdepay",
+      GST_RANK_NONE, GST_TYPE_RTP_DEPAY);
 }
diff --git a/gst/rtp/gstrtpdepay.h b/gst/rtp/gstrtpdepay.h
index 5d75e46..8f035c6 100644
--- a/gst/rtp/gstrtpdepay.h
+++ b/gst/rtp/gstrtpdepay.h
@@ -17,23 +17,23 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#ifndef __GST_RTPDEC_H__
-#define __GST_RTPDEC_H__
+#ifndef __GST_RTP_DEPAY_H__
+#define __GST_RTP_DEPAY_H__
 
 #include <gst/gst.h>
 
 G_BEGIN_DECLS
 
-#define GST_TYPE_RTPDEC  		(gst_rtpdec_get_type())
-#define GST_IS_RTPDEC(obj)  		(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTPDEC))
-#define GST_IS_RTPDEC_CLASS(obj) 	(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTPDEC))
-#define GST_RTPDEC(obj)  		(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTPDEC, GstRTPDec))
-#define GST_RTPDEC_CLASS(klass)  	(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTPDEC, GstRTPDecClass))
+#define GST_TYPE_RTP_DEPAY  		(gst_rtp_depay_get_type())
+#define GST_IS_RTP_DEPAY(obj)  		(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_DEPAY))
+#define GST_IS_RTP_DEPAY_CLASS(obj) 	(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_DEPAY))
+#define GST_RTP_DEPAY(obj)  		(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_DEPAY, GstRTPDepay))
+#define GST_RTP_DEPAY_CLASS(klass)  	(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_DEPAY, GstRTPDepayClass))
 
-typedef struct _GstRTPDec GstRTPDec;
-typedef struct _GstRTPDecClass GstRTPDecClass;
+typedef struct _GstRTPDepay GstRTPDepay;
+typedef struct _GstRTPDepayClass GstRTPDepayClass;
 
-struct _GstRTPDec {
+struct _GstRTPDepay {
   GstElement element;
 
   GstPad *sink_rtp;
@@ -42,14 +42,14 @@
   GstPad *src_rtcp;
 };
 
-struct _GstRTPDecClass {
+struct _GstRTPDepayClass {
   GstElementClass parent_class;
 };
 
-gboolean gst_rtpdec_plugin_init (GstPlugin * plugin);
+gboolean gst_rtp_depay_plugin_init (GstPlugin * plugin);
 
-GType gst_rtpdec_get_type(void);
+GType gst_rtp_depay_get_type(void);
 
 G_END_DECLS
 
-#endif /* __GST_RTPDEC_H__ */
+#endif /* __GST_RTP_DEPAY_H__ */
diff --git a/gst/rtp/gstrtpg711dec.c b/gst/rtp/gstrtpg711dec.c
deleted file mode 100644
index 216dc38..0000000
--- a/gst/rtp/gstrtpg711dec.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/* GStreamer
- * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
- * Copyright (C) <2005> Edgard Lima <edgard.lima@indt.org.br>
- * Copyright (C) <2005> Zeeshan Ali <zeenix@gmail.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more 
- */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include <string.h>
-#include <gst/rtp/gstrtpbuffer.h>
-#include "gstrtpg711dec.h"
-
-/* elementfactory information */
-static GstElementDetails gst_rtp_g711dec_details = {
-  "RTP packet parser",
-  "Codec/Parser/Network",
-  "Extracts PCMU/PCMA audio from RTP packets",
-  "Edgard Lima <edgard.lima@indt.org.br>, Zeeshan Ali <zeenix@gmail.com>"
-};
-
-/* RtpG711Dec signals and args */
-enum
-{
-  /* FILL ME */
-  LAST_SIGNAL
-};
-
-enum
-{
-  ARG_0
-};
-
-static GstStaticPadTemplate gst_rtpg711dec_sink_template =
-    GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-rtp, "
-        "media = (string) \"audio\", "
-        "payload = (int) [ 0, 255 ], "
-        "clock-rate = (int) 8000, "
-        "encoding-name = (string) \"PCMU\"; "
-        "application/x-rtp, "
-        "media = (string) \"audio\", "
-        "payload = (int) [ 0, 255 ], "
-        "clock-rate = (int) 8000, " "encoding-name = (string) \"PCMA\"")
-
-    );
-
-static GstStaticPadTemplate gst_rtpg711dec_src_template =
-    GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("audio/x-mulaw, "
-        "channels = (int) 1; " "audio/x-alaw, " "channels = (int) 1")
-    );
-
-static GstBuffer *gst_rtpg711dec_process (GstBaseRTPDepayload * depayload,
-    GstBuffer * buf);
-static gboolean gst_rtpg711dec_setcaps (GstBaseRTPDepayload * depayload,
-    GstCaps * caps);
-
-GST_BOILERPLATE (GstRtpG711Dec, gst_rtpg711dec, GstBaseRTPDepayload,
-    GST_TYPE_BASE_RTP_DEPAYLOAD);
-
-static void
-gst_rtpg711dec_base_init (gpointer klass)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpg711dec_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpg711dec_sink_template));
-  gst_element_class_set_details (element_class, &gst_rtp_g711dec_details);
-}
-
-static void
-gst_rtpg711dec_class_init (GstRtpG711DecClass * klass)
-{
-  GObjectClass *gobject_class;
-  GstElementClass *gstelement_class;
-  GstBaseRTPDepayloadClass *gstbasertpdepayload_class;
-
-  gobject_class = (GObjectClass *) klass;
-  gstelement_class = (GstElementClass *) klass;
-  gstbasertpdepayload_class = (GstBaseRTPDepayloadClass *) klass;
-
-  parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_DEPAYLOAD);
-
-  gstbasertpdepayload_class->process = gst_rtpg711dec_process;
-  gstbasertpdepayload_class->set_caps = gst_rtpg711dec_setcaps;
-}
-
-static void
-gst_rtpg711dec_init (GstRtpG711Dec * rtpg711dec, GstRtpG711DecClass * klass)
-{
-  GstBaseRTPDepayload *depayload;
-
-  depayload = GST_BASE_RTP_DEPAYLOAD (rtpg711dec);
-
-  depayload->clock_rate = 8000;
-  gst_pad_use_fixed_caps (GST_BASE_RTP_DEPAYLOAD_SRCPAD (depayload));
-}
-
-static gboolean
-gst_rtpg711dec_setcaps (GstBaseRTPDepayload * depayload, GstCaps * caps)
-{
-  GstCaps *srccaps;
-  const gchar *enc_name;
-  GstStructure *structure;
-  gboolean ret;
-
-  structure = gst_caps_get_structure (caps, 0);
-  enc_name = gst_structure_get_string (structure, "encoding-name");
-
-  if (NULL == enc_name) {
-    return FALSE;
-  }
-
-  if (0 == strcmp ("PCMU", enc_name)) {
-    srccaps = gst_caps_new_simple ("audio/x-mulaw",
-        "channels", G_TYPE_INT, 1, "rate", G_TYPE_INT, 8000, NULL);
-  } else if (0 == strcmp ("PCMA", enc_name)) {
-    srccaps = gst_caps_new_simple ("audio/x-alaw",
-        "channels", G_TYPE_INT, 1, "rate", G_TYPE_INT, 8000, NULL);
-  } else {
-    return FALSE;
-  }
-
-  ret = gst_pad_set_caps (GST_BASE_RTP_DEPAYLOAD_SRCPAD (depayload), srccaps);
-  gst_caps_unref (srccaps);
-
-  return ret;
-}
-
-static GstBuffer *
-gst_rtpg711dec_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
-{
-  GstCaps *srccaps;
-  GstBuffer *outbuf = NULL;
-  gint payload_len;
-  guint8 *payload;
-
-  GST_DEBUG ("process : got %d bytes, mark %d ts %u seqn %d",
-      GST_BUFFER_SIZE (buf),
-      gst_rtpbuffer_get_marker (buf),
-      gst_rtpbuffer_get_timestamp (buf), gst_rtpbuffer_get_seq (buf));
-
-  srccaps = GST_PAD_CAPS (GST_BASE_RTP_DEPAYLOAD_SRCPAD (depayload));
-  if (!srccaps) {
-    /* Set the default caps */
-    srccaps = gst_caps_new_simple ("audio/x-mulaw",
-        "channels", G_TYPE_INT, 1, "rate", G_TYPE_INT, 8000, NULL);
-    gst_pad_set_caps (GST_BASE_RTP_DEPAYLOAD_SRCPAD (depayload), srccaps);
-    gst_caps_unref (srccaps);
-  }
-
-  payload_len = gst_rtpbuffer_get_payload_len (buf);
-  payload = gst_rtpbuffer_get_payload (buf);
-
-  outbuf = gst_buffer_new_and_alloc (payload_len);
-  memcpy (GST_BUFFER_DATA (outbuf), payload, payload_len);
-  return outbuf;
-}
-
-gboolean
-gst_rtpg711dec_plugin_init (GstPlugin * plugin)
-{
-  return gst_element_register (plugin, "rtpg711dec",
-      GST_RANK_NONE, GST_TYPE_RTP_G711_DEC);
-}
diff --git a/gst/rtp/gstrtpg711dec.h b/gst/rtp/gstrtpg711dec.h
deleted file mode 100644
index 51dcdbd..0000000
--- a/gst/rtp/gstrtpg711dec.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* GStreamer
- * Copyright (C) <2005> Edgard Lima <edgard.lima@indt.org.br>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more 
- */
- 
-#ifndef __GST_RTP_G711_DEC_H__
-#define __GST_RTP_G711_DEC_H__
-
-#include <gst/gst.h>
-#include <gst/rtp/gstbasertpdepayload.h>
-
-G_BEGIN_DECLS
-
-typedef struct _GstRtpG711Dec GstRtpG711Dec;
-typedef struct _GstRtpG711DecClass GstRtpG711DecClass;
-
-#define GST_TYPE_RTP_G711_DEC \
-  (gst_rtpg711dec_get_type())
-#define GST_RTP_G711_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_G711_DEC,GstRtpG711Dec))
-#define GST_RTP_G711_DEC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_G711_DEC,GstRtpG711Dec))
-#define GST_IS_RTP_G711_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_G711_DEC))
-#define GST_IS_RTP_G711_DEC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_G711_DEC))
-
-struct _GstRtpG711Dec
-{
-  GstBaseRTPDepayload depayload;
-};
-
-struct _GstRtpG711DecClass
-{
-  GstBaseRTPDepayloadClass parent_class;
-};
-
-gboolean gst_rtpg711dec_plugin_init (GstPlugin * plugin);
-
-G_END_DECLS
-
-#endif /* __GST_RTP_G711_DEC_H__ */
diff --git a/gst/rtp/gstrtpg711depay.c b/gst/rtp/gstrtpg711depay.c
index 216dc38..05194e2 100644
--- a/gst/rtp/gstrtpg711depay.c
+++ b/gst/rtp/gstrtpg711depay.c
@@ -20,17 +20,17 @@
 
 #include <string.h>
 #include <gst/rtp/gstrtpbuffer.h>
-#include "gstrtpg711dec.h"
+#include "gstrtpg711depay.h"
 
 /* elementfactory information */
-static GstElementDetails gst_rtp_g711dec_details = {
+static GstElementDetails gst_rtp_g711depay_details = {
   "RTP packet parser",
   "Codec/Parser/Network",
   "Extracts PCMU/PCMA audio from RTP packets",
   "Edgard Lima <edgard.lima@indt.org.br>, Zeeshan Ali <zeenix@gmail.com>"
 };
 
-/* RtpG711Dec signals and args */
+/* RtpG711Depay signals and args */
 enum
 {
   /* FILL ME */
@@ -42,7 +42,7 @@
   ARG_0
 };
 
-static GstStaticPadTemplate gst_rtpg711dec_sink_template =
+static GstStaticPadTemplate gst_rtp_g711_depay_sink_template =
     GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
@@ -58,7 +58,7 @@
 
     );
 
-static GstStaticPadTemplate gst_rtpg711dec_src_template =
+static GstStaticPadTemplate gst_rtp_g711_depay_src_template =
     GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
@@ -66,28 +66,28 @@
         "channels = (int) 1; " "audio/x-alaw, " "channels = (int) 1")
     );
 
-static GstBuffer *gst_rtpg711dec_process (GstBaseRTPDepayload * depayload,
+static GstBuffer *gst_rtp_g711_depay_process (GstBaseRTPDepayload * depayload,
     GstBuffer * buf);
-static gboolean gst_rtpg711dec_setcaps (GstBaseRTPDepayload * depayload,
+static gboolean gst_rtp_g711_depay_setcaps (GstBaseRTPDepayload * depayload,
     GstCaps * caps);
 
-GST_BOILERPLATE (GstRtpG711Dec, gst_rtpg711dec, GstBaseRTPDepayload,
+GST_BOILERPLATE (GstRtpG711Depay, gst_rtp_g711_depay, GstBaseRTPDepayload,
     GST_TYPE_BASE_RTP_DEPAYLOAD);
 
 static void
-gst_rtpg711dec_base_init (gpointer klass)
+gst_rtp_g711_depay_base_init (gpointer klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpg711dec_src_template));
+      gst_static_pad_template_get (&gst_rtp_g711_depay_src_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpg711dec_sink_template));
-  gst_element_class_set_details (element_class, &gst_rtp_g711dec_details);
+      gst_static_pad_template_get (&gst_rtp_g711_depay_sink_template));
+  gst_element_class_set_details (element_class, &gst_rtp_g711depay_details);
 }
 
 static void
-gst_rtpg711dec_class_init (GstRtpG711DecClass * klass)
+gst_rtp_g711_depay_class_init (GstRtpG711DepayClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -99,40 +99,41 @@
 
   parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_DEPAYLOAD);
 
-  gstbasertpdepayload_class->process = gst_rtpg711dec_process;
-  gstbasertpdepayload_class->set_caps = gst_rtpg711dec_setcaps;
+  gstbasertpdepayload_class->process = gst_rtp_g711_depay_process;
+  gstbasertpdepayload_class->set_caps = gst_rtp_g711_depay_setcaps;
 }
 
 static void
-gst_rtpg711dec_init (GstRtpG711Dec * rtpg711dec, GstRtpG711DecClass * klass)
+gst_rtp_g711_depay_init (GstRtpG711Depay * rtpg711depay,
+    GstRtpG711DepayClass * klass)
 {
   GstBaseRTPDepayload *depayload;
 
-  depayload = GST_BASE_RTP_DEPAYLOAD (rtpg711dec);
+  depayload = GST_BASE_RTP_DEPAYLOAD (rtpg711depay);
 
   depayload->clock_rate = 8000;
   gst_pad_use_fixed_caps (GST_BASE_RTP_DEPAYLOAD_SRCPAD (depayload));
 }
 
 static gboolean
-gst_rtpg711dec_setcaps (GstBaseRTPDepayload * depayload, GstCaps * caps)
+gst_rtp_g711_depay_setcaps (GstBaseRTPDepayload * depayload, GstCaps * caps)
 {
   GstCaps *srccaps;
-  const gchar *enc_name;
+  const gchar *pay_name;
   GstStructure *structure;
   gboolean ret;
 
   structure = gst_caps_get_structure (caps, 0);
-  enc_name = gst_structure_get_string (structure, "encoding-name");
+  pay_name = gst_structure_get_string (structure, "encoding-name");
 
-  if (NULL == enc_name) {
+  if (NULL == pay_name) {
     return FALSE;
   }
 
-  if (0 == strcmp ("PCMU", enc_name)) {
+  if (0 == strcmp ("PCMU", pay_name)) {
     srccaps = gst_caps_new_simple ("audio/x-mulaw",
         "channels", G_TYPE_INT, 1, "rate", G_TYPE_INT, 8000, NULL);
-  } else if (0 == strcmp ("PCMA", enc_name)) {
+  } else if (0 == strcmp ("PCMA", pay_name)) {
     srccaps = gst_caps_new_simple ("audio/x-alaw",
         "channels", G_TYPE_INT, 1, "rate", G_TYPE_INT, 8000, NULL);
   } else {
@@ -146,7 +147,7 @@
 }
 
 static GstBuffer *
-gst_rtpg711dec_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
+gst_rtp_g711_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
 {
   GstCaps *srccaps;
   GstBuffer *outbuf = NULL;
@@ -155,8 +156,8 @@
 
   GST_DEBUG ("process : got %d bytes, mark %d ts %u seqn %d",
       GST_BUFFER_SIZE (buf),
-      gst_rtpbuffer_get_marker (buf),
-      gst_rtpbuffer_get_timestamp (buf), gst_rtpbuffer_get_seq (buf));
+      gst_rtp_buffer_get_marker (buf),
+      gst_rtp_buffer_get_timestamp (buf), gst_rtp_buffer_get_seq (buf));
 
   srccaps = GST_PAD_CAPS (GST_BASE_RTP_DEPAYLOAD_SRCPAD (depayload));
   if (!srccaps) {
@@ -167,8 +168,8 @@
     gst_caps_unref (srccaps);
   }
 
-  payload_len = gst_rtpbuffer_get_payload_len (buf);
-  payload = gst_rtpbuffer_get_payload (buf);
+  payload_len = gst_rtp_buffer_get_payload_len (buf);
+  payload = gst_rtp_buffer_get_payload (buf);
 
   outbuf = gst_buffer_new_and_alloc (payload_len);
   memcpy (GST_BUFFER_DATA (outbuf), payload, payload_len);
@@ -176,8 +177,8 @@
 }
 
 gboolean
-gst_rtpg711dec_plugin_init (GstPlugin * plugin)
+gst_rtp_g711_depay_plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "rtpg711dec",
-      GST_RANK_NONE, GST_TYPE_RTP_G711_DEC);
+  return gst_element_register (plugin, "rtpg711depay",
+      GST_RANK_NONE, GST_TYPE_RTP_G711_DEPAY);
 }
diff --git a/gst/rtp/gstrtpg711depay.h b/gst/rtp/gstrtpg711depay.h
index 51dcdbd..d4ca5fc 100644
--- a/gst/rtp/gstrtpg711depay.h
+++ b/gst/rtp/gstrtpg711depay.h
@@ -12,40 +12,40 @@
  * Library General Public License for more 
  */
  
-#ifndef __GST_RTP_G711_DEC_H__
-#define __GST_RTP_G711_DEC_H__
+#ifndef __GST_RTP_G711_DEPAY_H__
+#define __GST_RTP_G711_DEPAY_H__
 
 #include <gst/gst.h>
 #include <gst/rtp/gstbasertpdepayload.h>
 
 G_BEGIN_DECLS
 
-typedef struct _GstRtpG711Dec GstRtpG711Dec;
-typedef struct _GstRtpG711DecClass GstRtpG711DecClass;
+typedef struct _GstRtpG711Depay GstRtpG711Depay;
+typedef struct _GstRtpG711DepayClass GstRtpG711DepayClass;
 
-#define GST_TYPE_RTP_G711_DEC \
-  (gst_rtpg711dec_get_type())
-#define GST_RTP_G711_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_G711_DEC,GstRtpG711Dec))
-#define GST_RTP_G711_DEC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_G711_DEC,GstRtpG711Dec))
-#define GST_IS_RTP_G711_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_G711_DEC))
-#define GST_IS_RTP_G711_DEC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_G711_DEC))
+#define GST_TYPE_RTP_G711_DEPAY \
+  (gst_rtp_g711_depay_get_type())
+#define GST_RTP_G711_DEPAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_G711_DEPAY,GstRtpG711Depay))
+#define GST_RTP_G711_DEPAY_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_G711_DEPAY,GstRtpG711Depay))
+#define GST_IS_RTP_G711_DEPAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_G711_DEPAY))
+#define GST_IS_RTP_G711_DEPAY_CLASS(obj) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_G711_DEPAY))
 
-struct _GstRtpG711Dec
+struct _GstRtpG711Depay
 {
   GstBaseRTPDepayload depayload;
 };
 
-struct _GstRtpG711DecClass
+struct _GstRtpG711DepayClass
 {
   GstBaseRTPDepayloadClass parent_class;
 };
 
-gboolean gst_rtpg711dec_plugin_init (GstPlugin * plugin);
+gboolean gst_rtp_g711_depay_plugin_init (GstPlugin * plugin);
 
 G_END_DECLS
 
-#endif /* __GST_RTP_G711_DEC_H__ */
+#endif /* __GST_RTP_G711_DEPAY_H__ */
diff --git a/gst/rtp/gstrtpg711enc.c b/gst/rtp/gstrtpg711enc.c
deleted file mode 100644
index e83c888..0000000
--- a/gst/rtp/gstrtpg711enc.c
+++ /dev/null
@@ -1,234 +0,0 @@
-/* GStreamer
- * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
- * Copyright (C) <2005> Edgard Lima <edgard.lima@indt.org.br>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more 
- */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <gst/rtp/gstrtpbuffer.h>
-
-#include "gstrtpg711enc.h"
-
-/* elementfactory information */
-static GstElementDetails gst_rtpg711enc_details = {
-  "RTP packet parser",
-  "Codec/Encoder/Network",
-  "Encodes PCMU/PCMA audio into a RTP packet",
-  "Edgard Lima <edgard.lima@indt.org.br>"
-};
-
-static GstStaticPadTemplate gst_rtpg711enc_sink_template =
-    GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("audio/x-mulaw, channels=(int)1, rate=(int)8000 ;"
-        "audio/x-alaw, channels=(int)1, rate=(int)8000")
-    );
-
-static GstStaticPadTemplate gst_rtpg711enc_src_template =
-    GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-rtp, "
-        "media = (string) \"audio\", "
-        "payload = (int) " GST_RTP_PAYLOAD_PCMU_STRING ", "
-        "clock-rate = (int) 8000, "
-        "encoding-name = (string) \"PCMU\"; "
-        "application/x-rtp, "
-        "media = (string) \"audio\", "
-        "payload = (int) " GST_RTP_PAYLOAD_PCMA_STRING ", "
-        "clock-rate = (int) 8000, " "encoding-name = (string) \"PCMA\"")
-    );
-
-static gboolean gst_rtpg711enc_setcaps (GstBaseRTPPayload * payload,
-    GstCaps * caps);
-static GstFlowReturn gst_rtpg711enc_handle_buffer (GstBaseRTPPayload * payload,
-    GstBuffer * buffer);
-static void gst_rtpg711enc_finalize (GObject * object);
-
-GST_BOILERPLATE (GstRtpG711Enc, gst_rtpg711enc, GstBaseRTPPayload,
-    GST_TYPE_BASE_RTP_PAYLOAD);
-
-static void
-gst_rtpg711enc_base_init (gpointer klass)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpg711enc_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpg711enc_src_template));
-  gst_element_class_set_details (element_class, &gst_rtpg711enc_details);
-}
-
-static void
-gst_rtpg711enc_class_init (GstRtpG711EncClass * klass)
-{
-  GObjectClass *gobject_class;
-  GstElementClass *gstelement_class;
-  GstBaseRTPPayloadClass *gstbasertppayload_class;
-
-  gobject_class = (GObjectClass *) klass;
-  gstelement_class = (GstElementClass *) klass;
-  gstbasertppayload_class = (GstBaseRTPPayloadClass *) klass;
-
-  parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_PAYLOAD);
-  gobject_class->finalize = gst_rtpg711enc_finalize;
-
-  gstbasertppayload_class->set_caps = gst_rtpg711enc_setcaps;
-  gstbasertppayload_class->handle_buffer = gst_rtpg711enc_handle_buffer;
-}
-
-static void
-gst_rtpg711enc_init (GstRtpG711Enc * rtpg711enc, GstRtpG711EncClass * klass)
-{
-  rtpg711enc->adapter = gst_adapter_new ();
-  GST_BASE_RTP_PAYLOAD (rtpg711enc)->clock_rate = 8000;
-}
-
-static void
-gst_rtpg711enc_finalize (GObject * object)
-{
-  GstRtpG711Enc *rtpg711enc;
-
-  rtpg711enc = GST_RTP_G711_ENC (object);
-
-  g_object_unref (rtpg711enc->adapter);
-  rtpg711enc->adapter = NULL;
-
-  G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-static gboolean
-gst_rtpg711enc_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
-{
-
-  const char *stname;
-  GstStructure *structure;
-
-  structure = gst_caps_get_structure (caps, 0);
-
-  stname = gst_structure_get_name (structure);
-
-  if (0 == strcmp ("audio/x-mulaw", stname)) {
-    payload->pt = GST_RTP_PAYLOAD_PCMU;
-    gst_basertppayload_set_options (payload, "audio", FALSE, "PCMU", 8000);
-  } else if (0 == strcmp ("audio/x-alaw", stname)) {
-    payload->pt = GST_RTP_PAYLOAD_PCMA;
-    gst_basertppayload_set_options (payload, "audio", FALSE, "PCMA", 8000);
-  } else {
-    return FALSE;
-  }
-
-  gst_basertppayload_set_outcaps (payload, NULL);
-
-  return TRUE;
-}
-
-static GstFlowReturn
-gst_rtpg711enc_flush (GstRtpG711Enc * rtpg711enc)
-{
-  guint avail;
-  GstBuffer *outbuf;
-  GstFlowReturn ret;
-
-  /* the data available in the adapter is either smaller
-   * than the MTU or bigger. In the case it is smaller, the complete
-   * adapter contents can be put in one packet.  */
-  avail = gst_adapter_available (rtpg711enc->adapter);
-
-  ret = GST_FLOW_OK;
-
-  while (avail > 0) {
-    guint towrite;
-    guint8 *payload;
-    guint8 *data;
-    guint payload_len;
-    guint packet_len;
-
-    /* this will be the total lenght of the packet */
-    packet_len = gst_rtpbuffer_calc_packet_len (avail, 0, 0);
-    /* fill one MTU or all available bytes */
-    towrite = MIN (packet_len, GST_BASE_RTP_PAYLOAD_MTU (rtpg711enc));
-    /* this is the payload length */
-    payload_len = gst_rtpbuffer_calc_payload_len (towrite, 0, 0);
-    /* create buffer to hold the payload */
-    outbuf = gst_rtpbuffer_new_allocate (payload_len, 0, 0);
-
-    /* copy payload */
-    gst_rtpbuffer_set_payload_type (outbuf,
-        GST_BASE_RTP_PAYLOAD_PT (rtpg711enc));
-    payload = gst_rtpbuffer_get_payload (outbuf);
-    data = (guint8 *) gst_adapter_peek (rtpg711enc->adapter, payload_len);
-    memcpy (payload, data, payload_len);
-    gst_adapter_flush (rtpg711enc->adapter, payload_len);
-
-    avail -= payload_len;
-
-    GST_BUFFER_TIMESTAMP (outbuf) = rtpg711enc->first_ts;
-    ret = gst_basertppayload_push (GST_BASE_RTP_PAYLOAD (rtpg711enc), outbuf);
-  }
-
-  return ret;
-}
-
-static GstFlowReturn
-gst_rtpg711enc_handle_buffer (GstBaseRTPPayload * basepayload,
-    GstBuffer * buffer)
-{
-  GstRtpG711Enc *rtpg711enc;
-  guint size, packet_len, avail;
-  GstFlowReturn ret;
-  GstClockTime duration;
-
-  rtpg711enc = GST_RTP_G711_ENC (basepayload);
-
-  size = GST_BUFFER_SIZE (buffer);
-  duration = GST_BUFFER_TIMESTAMP (buffer);
-
-  avail = gst_adapter_available (rtpg711enc->adapter);
-  if (avail == 0) {
-    rtpg711enc->first_ts = GST_BUFFER_TIMESTAMP (buffer);
-    rtpg711enc->duration = 0;
-  }
-
-  /* get packet length of data and see if we exceeded MTU. */
-  packet_len = gst_rtpbuffer_calc_packet_len (avail + size, 0, 0);
-
-  /* if this buffer is going to overflow the packet, flush what we
-   * have. */
-  if (gst_basertppayload_is_filled (basepayload,
-          packet_len, rtpg711enc->duration + duration)) {
-    ret = gst_rtpg711enc_flush (rtpg711enc);
-    rtpg711enc->first_ts = GST_BUFFER_TIMESTAMP (buffer);
-    rtpg711enc->duration = 0;
-  } else {
-    ret = GST_FLOW_OK;
-  }
-
-  gst_adapter_push (rtpg711enc->adapter, buffer);
-  rtpg711enc->duration += duration;
-
-  return ret;
-}
-
-gboolean
-gst_rtpg711enc_plugin_init (GstPlugin * plugin)
-{
-  return gst_element_register (plugin, "rtpg711enc",
-      GST_RANK_NONE, GST_TYPE_RTP_G711_ENC);
-}
diff --git a/gst/rtp/gstrtpg711enc.h b/gst/rtp/gstrtpg711enc.h
deleted file mode 100644
index f8ca6dd..0000000
--- a/gst/rtp/gstrtpg711enc.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* GStreamer
- * Copyright (C) <2005> Edgard Lima <edgard.lima@indt.org.br>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more 
- */
-
-
-#ifndef __GST_RTP_G711_ENC_H__
-#define __GST_RTP_G711_ENC_H__
-
-#include <gst/gst.h>
-#include <gst/rtp/gstbasertppayload.h>
-#include <gst/base/gstadapter.h>
-
-G_BEGIN_DECLS
-
-typedef struct _GstRtpG711Enc GstRtpG711Enc;
-typedef struct _GstRtpG711EncClass GstRtpG711EncClass;
-
-#define GST_TYPE_RTP_G711_ENC \
-  (gst_rtpg711enc_get_type())
-#define GST_RTP_G711_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_G711_ENC,GstRtpG711Enc))
-#define GST_RTP_G711_ENC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_G711_ENC,GstRtpG711Enc))
-#define GST_IS_RTP_G711_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_G711_ENC))
-#define GST_IS_RTP_G711_ENC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_G711_ENC))
-
-struct _GstRtpG711Enc
-{
-  GstBaseRTPPayload payload;
-  GstAdapter *adapter;
-  
-  GstClockTime first_ts;
-  GstClockTime duration;  
-};
-
-struct _GstRtpG711EncClass
-{
-  GstBaseRTPPayloadClass parent_class;
-};
-
-gboolean gst_rtpg711enc_plugin_init (GstPlugin * plugin);
-
-G_END_DECLS
-
-#endif /* __GST_RTP_G711_ENC_H__ */
diff --git a/gst/rtp/gstrtpg711pay.c b/gst/rtp/gstrtpg711pay.c
index e83c888..59c357e 100644
--- a/gst/rtp/gstrtpg711pay.c
+++ b/gst/rtp/gstrtpg711pay.c
@@ -21,17 +21,17 @@
 #include <string.h>
 #include <gst/rtp/gstrtpbuffer.h>
 
-#include "gstrtpg711enc.h"
+#include "gstrtpg711pay.h"
 
 /* elementfactory information */
-static GstElementDetails gst_rtpg711enc_details = {
+static GstElementDetails gst_rtp_g711_pay_details = {
   "RTP packet parser",
-  "Codec/Encoder/Network",
-  "Encodes PCMU/PCMA audio into a RTP packet",
+  "Codec/Payloader/Network",
+  "Payodes PCMU/PCMA audio into a RTP packet",
   "Edgard Lima <edgard.lima@indt.org.br>"
 };
 
-static GstStaticPadTemplate gst_rtpg711enc_sink_template =
+static GstStaticPadTemplate gst_rtp_g711_pay_sink_template =
     GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
@@ -39,7 +39,7 @@
         "audio/x-alaw, channels=(int)1, rate=(int)8000")
     );
 
-static GstStaticPadTemplate gst_rtpg711enc_src_template =
+static GstStaticPadTemplate gst_rtp_g711_pay_src_template =
     GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
@@ -54,29 +54,29 @@
         "clock-rate = (int) 8000, " "encoding-name = (string) \"PCMA\"")
     );
 
-static gboolean gst_rtpg711enc_setcaps (GstBaseRTPPayload * payload,
+static gboolean gst_rtp_g711_pay_setcaps (GstBaseRTPPayload * payload,
     GstCaps * caps);
-static GstFlowReturn gst_rtpg711enc_handle_buffer (GstBaseRTPPayload * payload,
-    GstBuffer * buffer);
-static void gst_rtpg711enc_finalize (GObject * object);
+static GstFlowReturn gst_rtp_g711_pay_handle_buffer (GstBaseRTPPayload *
+    payload, GstBuffer * buffer);
+static void gst_rtp_g711_pay_finalize (GObject * object);
 
-GST_BOILERPLATE (GstRtpG711Enc, gst_rtpg711enc, GstBaseRTPPayload,
+GST_BOILERPLATE (GstRtpG711Pay, gst_rtp_g711_pay, GstBaseRTPPayload,
     GST_TYPE_BASE_RTP_PAYLOAD);
 
 static void
-gst_rtpg711enc_base_init (gpointer klass)
+gst_rtp_g711_pay_base_init (gpointer klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpg711enc_sink_template));
+      gst_static_pad_template_get (&gst_rtp_g711_pay_sink_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpg711enc_src_template));
-  gst_element_class_set_details (element_class, &gst_rtpg711enc_details);
+      gst_static_pad_template_get (&gst_rtp_g711_pay_src_template));
+  gst_element_class_set_details (element_class, &gst_rtp_g711_pay_details);
 }
 
 static void
-gst_rtpg711enc_class_init (GstRtpG711EncClass * klass)
+gst_rtp_g711_pay_class_init (GstRtpG711PayClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -87,34 +87,34 @@
   gstbasertppayload_class = (GstBaseRTPPayloadClass *) klass;
 
   parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_PAYLOAD);
-  gobject_class->finalize = gst_rtpg711enc_finalize;
+  gobject_class->finalize = gst_rtp_g711_pay_finalize;
 
-  gstbasertppayload_class->set_caps = gst_rtpg711enc_setcaps;
-  gstbasertppayload_class->handle_buffer = gst_rtpg711enc_handle_buffer;
+  gstbasertppayload_class->set_caps = gst_rtp_g711_pay_setcaps;
+  gstbasertppayload_class->handle_buffer = gst_rtp_g711_pay_handle_buffer;
 }
 
 static void
-gst_rtpg711enc_init (GstRtpG711Enc * rtpg711enc, GstRtpG711EncClass * klass)
+gst_rtp_g711_pay_init (GstRtpG711Pay * rtpg711pay, GstRtpG711PayClass * klass)
 {
-  rtpg711enc->adapter = gst_adapter_new ();
-  GST_BASE_RTP_PAYLOAD (rtpg711enc)->clock_rate = 8000;
+  rtpg711pay->adapter = gst_adapter_new ();
+  GST_BASE_RTP_PAYLOAD (rtpg711pay)->clock_rate = 8000;
 }
 
 static void
-gst_rtpg711enc_finalize (GObject * object)
+gst_rtp_g711_pay_finalize (GObject * object)
 {
-  GstRtpG711Enc *rtpg711enc;
+  GstRtpG711Pay *rtpg711pay;
 
-  rtpg711enc = GST_RTP_G711_ENC (object);
+  rtpg711pay = GST_RTP_G711_PAY (object);
 
-  g_object_unref (rtpg711enc->adapter);
-  rtpg711enc->adapter = NULL;
+  g_object_unref (rtpg711pay->adapter);
+  rtpg711pay->adapter = NULL;
 
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
 static gboolean
-gst_rtpg711enc_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
+gst_rtp_g711_pay_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
 {
 
   const char *stname;
@@ -140,7 +140,7 @@
 }
 
 static GstFlowReturn
-gst_rtpg711enc_flush (GstRtpG711Enc * rtpg711enc)
+gst_rtp_g711_pay_flush (GstRtpG711Pay * rtpg711pay)
 {
   guint avail;
   GstBuffer *outbuf;
@@ -149,7 +149,7 @@
   /* the data available in the adapter is either smaller
    * than the MTU or bigger. In the case it is smaller, the complete
    * adapter contents can be put in one packet.  */
-  avail = gst_adapter_available (rtpg711enc->adapter);
+  avail = gst_adapter_available (rtpg711pay->adapter);
 
   ret = GST_FLOW_OK;
 
@@ -161,74 +161,74 @@
     guint packet_len;
 
     /* this will be the total lenght of the packet */
-    packet_len = gst_rtpbuffer_calc_packet_len (avail, 0, 0);
+    packet_len = gst_rtp_buffer_calc_packet_len (avail, 0, 0);
     /* fill one MTU or all available bytes */
-    towrite = MIN (packet_len, GST_BASE_RTP_PAYLOAD_MTU (rtpg711enc));
+    towrite = MIN (packet_len, GST_BASE_RTP_PAYLOAD_MTU (rtpg711pay));
     /* this is the payload length */
-    payload_len = gst_rtpbuffer_calc_payload_len (towrite, 0, 0);
+    payload_len = gst_rtp_buffer_calc_payload_len (towrite, 0, 0);
     /* create buffer to hold the payload */
-    outbuf = gst_rtpbuffer_new_allocate (payload_len, 0, 0);
+    outbuf = gst_rtp_buffer_new_allocate (payload_len, 0, 0);
 
     /* copy payload */
-    gst_rtpbuffer_set_payload_type (outbuf,
-        GST_BASE_RTP_PAYLOAD_PT (rtpg711enc));
-    payload = gst_rtpbuffer_get_payload (outbuf);
-    data = (guint8 *) gst_adapter_peek (rtpg711enc->adapter, payload_len);
+    gst_rtp_buffer_set_payload_type (outbuf,
+        GST_BASE_RTP_PAYLOAD_PT (rtpg711pay));
+    payload = gst_rtp_buffer_get_payload (outbuf);
+    data = (guint8 *) gst_adapter_peek (rtpg711pay->adapter, payload_len);
     memcpy (payload, data, payload_len);
-    gst_adapter_flush (rtpg711enc->adapter, payload_len);
+    gst_adapter_flush (rtpg711pay->adapter, payload_len);
 
     avail -= payload_len;
 
-    GST_BUFFER_TIMESTAMP (outbuf) = rtpg711enc->first_ts;
-    ret = gst_basertppayload_push (GST_BASE_RTP_PAYLOAD (rtpg711enc), outbuf);
+    GST_BUFFER_TIMESTAMP (outbuf) = rtpg711pay->first_ts;
+    ret = gst_basertppayload_push (GST_BASE_RTP_PAYLOAD (rtpg711pay), outbuf);
   }
 
   return ret;
 }
 
 static GstFlowReturn
-gst_rtpg711enc_handle_buffer (GstBaseRTPPayload * basepayload,
+gst_rtp_g711_pay_handle_buffer (GstBaseRTPPayload * basepayload,
     GstBuffer * buffer)
 {
-  GstRtpG711Enc *rtpg711enc;
+  GstRtpG711Pay *rtpg711pay;
   guint size, packet_len, avail;
   GstFlowReturn ret;
   GstClockTime duration;
 
-  rtpg711enc = GST_RTP_G711_ENC (basepayload);
+  rtpg711pay = GST_RTP_G711_PAY (basepayload);
 
   size = GST_BUFFER_SIZE (buffer);
   duration = GST_BUFFER_TIMESTAMP (buffer);
 
-  avail = gst_adapter_available (rtpg711enc->adapter);
+  avail = gst_adapter_available (rtpg711pay->adapter);
   if (avail == 0) {
-    rtpg711enc->first_ts = GST_BUFFER_TIMESTAMP (buffer);
-    rtpg711enc->duration = 0;
+    rtpg711pay->first_ts = GST_BUFFER_TIMESTAMP (buffer);
+    rtpg711pay->duration = 0;
   }
 
   /* get packet length of data and see if we exceeded MTU. */
-  packet_len = gst_rtpbuffer_calc_packet_len (avail + size, 0, 0);
+  packet_len = gst_rtp_buffer_calc_packet_len (avail + size, 0, 0);
 
   /* if this buffer is going to overflow the packet, flush what we
    * have. */
   if (gst_basertppayload_is_filled (basepayload,
-          packet_len, rtpg711enc->duration + duration)) {
-    ret = gst_rtpg711enc_flush (rtpg711enc);
-    rtpg711enc->first_ts = GST_BUFFER_TIMESTAMP (buffer);
-    rtpg711enc->duration = 0;
+          packet_len, rtpg711pay->duration + duration)) {
+    ret = gst_rtp_g711_pay_flush (rtpg711pay);
+    rtpg711pay->first_ts = GST_BUFFER_TIMESTAMP (buffer);
+    rtpg711pay->duration = 0;
   } else {
     ret = GST_FLOW_OK;
   }
 
-  gst_adapter_push (rtpg711enc->adapter, buffer);
-  rtpg711enc->duration += duration;
+  gst_adapter_push (rtpg711pay->adapter, buffer);
+  rtpg711pay->duration += duration;
 
   return ret;
 }
 
 gboolean
-gst_rtpg711enc_plugin_init (GstPlugin * plugin)
+gst_rtp_g711_pay_plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "rtpg711enc",
-      GST_RANK_NONE, GST_TYPE_RTP_G711_ENC);
+  return gst_element_register (plugin, "rtpg711pay",
+      GST_RANK_NONE, GST_TYPE_RTP_G711_PAY);
 }
diff --git a/gst/rtp/gstrtpg711pay.h b/gst/rtp/gstrtpg711pay.h
index f8ca6dd..c43c66b 100644
--- a/gst/rtp/gstrtpg711pay.h
+++ b/gst/rtp/gstrtpg711pay.h
@@ -13,8 +13,8 @@
  */
 
 
-#ifndef __GST_RTP_G711_ENC_H__
-#define __GST_RTP_G711_ENC_H__
+#ifndef __GST_RTP_G711_PAY_H__
+#define __GST_RTP_G711_PAY_H__
 
 #include <gst/gst.h>
 #include <gst/rtp/gstbasertppayload.h>
@@ -22,21 +22,21 @@
 
 G_BEGIN_DECLS
 
-typedef struct _GstRtpG711Enc GstRtpG711Enc;
-typedef struct _GstRtpG711EncClass GstRtpG711EncClass;
+typedef struct _GstRtpG711Pay GstRtpG711Pay;
+typedef struct _GstRtpG711PayClass GstRtpG711PayClass;
 
-#define GST_TYPE_RTP_G711_ENC \
-  (gst_rtpg711enc_get_type())
-#define GST_RTP_G711_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_G711_ENC,GstRtpG711Enc))
-#define GST_RTP_G711_ENC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_G711_ENC,GstRtpG711Enc))
-#define GST_IS_RTP_G711_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_G711_ENC))
-#define GST_IS_RTP_G711_ENC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_G711_ENC))
+#define GST_TYPE_RTP_G711_PAY \
+  (gst_rtp_g711_pay_get_type())
+#define GST_RTP_G711_PAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_G711_PAY,GstRtpG711Pay))
+#define GST_RTP_G711_PAY_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_G711_PAY,GstRtpG711Pay))
+#define GST_IS_RTP_G711_PAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_G711_PAY))
+#define GST_IS_RTP_G711_PAY_CLASS(obj) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_G711_PAY))
 
-struct _GstRtpG711Enc
+struct _GstRtpG711Pay
 {
   GstBaseRTPPayload payload;
   GstAdapter *adapter;
@@ -45,13 +45,13 @@
   GstClockTime duration;  
 };
 
-struct _GstRtpG711EncClass
+struct _GstRtpG711PayClass
 {
   GstBaseRTPPayloadClass parent_class;
 };
 
-gboolean gst_rtpg711enc_plugin_init (GstPlugin * plugin);
+gboolean gst_rtp_g711_pay_plugin_init (GstPlugin * plugin);
 
 G_END_DECLS
 
-#endif /* __GST_RTP_G711_ENC_H__ */
+#endif /* __GST_RTP_G711_PAY_H__ */
diff --git a/gst/rtp/gstrtpgsmdepay.c b/gst/rtp/gstrtpgsmdepay.c
index 79a8b7b..7a0e4d9 100644
--- a/gst/rtp/gstrtpgsmdepay.c
+++ b/gst/rtp/gstrtpgsmdepay.c
@@ -36,14 +36,14 @@
   LAST_SIGNAL
 };
 
-static GstStaticPadTemplate gst_rtpgsmparse_src_template =
+static GstStaticPadTemplate gst_rtp_gsm_parse_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("audio/x-gsm, " "rate = (int) 8000, " "channels = 1")
     );
 
-static GstStaticPadTemplate gst_rtpgsmparse_sink_template =
+static GstStaticPadTemplate gst_rtp_gsm_parse_sink_template =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
@@ -53,64 +53,65 @@
         "clock-rate = (int) 8000, " "encoding-name = (string) \"GSM\"")
     );
 
-static GstBuffer *gst_rtpgsmparse_process (GstBaseRTPDepayload * depayload,
+static GstBuffer *gst_rtp_gsm_parse_process (GstBaseRTPDepayload * _depayload,
     GstBuffer * buf);
-static gboolean gst_rtpgsmparse_setcaps (GstBaseRTPDepayload * depayload,
+static gboolean gst_rtp_gsm_parse_setcaps (GstBaseRTPDepayload * _depayload,
     GstCaps * caps);
 
-GST_BOILERPLATE (GstRTPGSMParse, gst_rtpgsmparse, GstBaseRTPDepayload,
+GST_BOILERPLATE (GstRTPGSMParse, gst_rtp_gsm_parse, GstBaseRTPDepayload,
     GST_TYPE_BASE_RTP_DEPAYLOAD);
 
 static void
-gst_rtpgsmparse_base_init (gpointer klass)
+gst_rtp_gsm_parse_base_init (gpointer klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpgsmparse_src_template));
+      gst_static_pad_template_get (&gst_rtp_gsm_parse_src_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpgsmparse_sink_template));
+      gst_static_pad_template_get (&gst_rtp_gsm_parse_sink_template));
   gst_element_class_set_details (element_class, &gst_rtp_gsmparse_details);
 }
 
 static void
-gst_rtpgsmparse_class_init (GstRTPGSMParseClass * klass)
+gst_rtp_gsm_parse_class_init (GstRTPGSMParseClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
-  GstBaseRTPDepayloadClass *gstbasertpdepayload_class;
+  GstBaseRTPDepayloadClass *gstbasertp_depayload_class;
 
   gobject_class = (GObjectClass *) klass;
   gstelement_class = (GstElementClass *) klass;
-  gstbasertpdepayload_class = (GstBaseRTPDepayloadClass *) klass;
+  gstbasertp_depayload_class = (GstBaseRTPDepayloadClass *) klass;
 
   parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_DEPAYLOAD);
 
-  gstbasertpdepayload_class->process = gst_rtpgsmparse_process;
-  gstbasertpdepayload_class->set_caps = gst_rtpgsmparse_setcaps;
+  gstbasertp_depayload_class->process = gst_rtp_gsm_parse_process;
+  gstbasertp_depayload_class->set_caps = gst_rtp_gsm_parse_setcaps;
 }
 
 static void
-gst_rtpgsmparse_init (GstRTPGSMParse * rtpgsmparse, GstRTPGSMParseClass * klass)
+gst_rtp_gsm_parse_init (GstRTPGSMParse * rtpgsmparse,
+    GstRTPGSMParseClass * klass)
 {
   GST_BASE_RTP_DEPAYLOAD (rtpgsmparse)->clock_rate = 8000;
 }
 
 static gboolean
-gst_rtpgsmparse_setcaps (GstBaseRTPDepayload * depayload, GstCaps * caps)
+gst_rtp_gsm_parse_setcaps (GstBaseRTPDepayload * _depayload, GstCaps * caps)
 {
   GstCaps *srccaps;
   gboolean ret;
 
-  srccaps = gst_static_pad_template_get_caps (&gst_rtpgsmparse_src_template);
-  ret = gst_pad_set_caps (GST_BASE_RTP_DEPAYLOAD_SRCPAD (depayload), srccaps);
+  srccaps = gst_static_pad_template_get_caps (&gst_rtp_gsm_parse_src_template);
+  ret = gst_pad_set_caps (GST_BASE_RTP_DEPAYLOAD_SRCPAD (_depayload), srccaps);
 
   gst_caps_unref (srccaps);
   return ret;
 }
 
 static GstBuffer *
-gst_rtpgsmparse_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
+gst_rtp_gsm_parse_process (GstBaseRTPDepayload * _depayload, GstBuffer * buf)
 {
   GstBuffer *outbuf = NULL;
   gint payload_len;
@@ -118,11 +119,11 @@
 
   GST_DEBUG ("process : got %d bytes, mark %d ts %u seqn %d",
       GST_BUFFER_SIZE (buf),
-      gst_rtpbuffer_get_marker (buf),
-      gst_rtpbuffer_get_timestamp (buf), gst_rtpbuffer_get_seq (buf));
+      gst_rtp_buffer_get_marker (buf),
+      gst_rtp_buffer_get_timestamp (buf), gst_rtp_buffer_get_seq (buf));
 
-  payload_len = gst_rtpbuffer_get_payload_len (buf);
-  payload = gst_rtpbuffer_get_payload (buf);
+  payload_len = gst_rtp_buffer_get_payload_len (buf);
+  payload = gst_rtp_buffer_get_payload (buf);
 
   outbuf = gst_buffer_new_and_alloc (payload_len);
   memcpy (GST_BUFFER_DATA (outbuf), payload, payload_len);
@@ -130,7 +131,7 @@
 }
 
 gboolean
-gst_rtpgsmparse_plugin_init (GstPlugin * plugin)
+gst_rtp_gsm_parse_plugin_init (GstPlugin * plugin)
 {
   return gst_element_register (plugin, "rtpgsmparse",
       GST_RANK_NONE, GST_TYPE_RTP_GSM_PARSE);
diff --git a/gst/rtp/gstrtpgsmdepay.h b/gst/rtp/gstrtpgsmdepay.h
index e588209..ebc93a2 100644
--- a/gst/rtp/gstrtpgsmdepay.h
+++ b/gst/rtp/gstrtpgsmdepay.h
@@ -29,7 +29,7 @@
 typedef struct _GstRTPGSMParseClass GstRTPGSMParseClass;
 
 #define GST_TYPE_RTP_GSM_PARSE \
-  (gst_rtpgsmparse_get_type())
+  (gst_rtp_gsm_parse_get_type())
 #define GST_RTP_GSM_PARSE(obj) \
   (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_GSM_PARSE,GstRTPGSMParse))
 #define GST_RTP_GSM_PARSE_CLASS(klass) \
@@ -41,7 +41,7 @@
 
 struct _GstRTPGSMParse
 {
-  GstBaseRTPDepayload depayload;
+  GstBaseRTPDepayload _depayload;
 };
 
 struct _GstRTPGSMParseClass
@@ -49,7 +49,7 @@
   GstBaseRTPDepayloadClass parent_class;
 };
 
-gboolean gst_rtpgsmparse_plugin_init (GstPlugin * plugin);
+gboolean gst_rtp_gsm_parse_plugin_init (GstPlugin * plugin);
 
 G_END_DECLS
 
diff --git a/gst/rtp/gstrtpgsmenc.c b/gst/rtp/gstrtpgsmenc.c
deleted file mode 100644
index 1a7d272..0000000
--- a/gst/rtp/gstrtpgsmenc.c
+++ /dev/null
@@ -1,170 +0,0 @@
-/* GStreamer
- * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
- * Copyright (C) <2005> Zeeshan Ali <zeenix@gmail.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <gst/rtp/gstrtpbuffer.h>
-
-#include "gstrtpgsmenc.h"
-
-/* elementfactory information */
-static GstElementDetails gst_rtpgsmenc_details = {
-  "RTP GSM Audio Encoder",
-  "Codec/Encoder/Network",
-  "Encodes GSM audio into a RTP packet",
-  "Zeeshan Ali <zeenix@gmail.com>"
-};
-
-static GstStaticPadTemplate gst_rtpgsmenc_sink_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("audio/x-gsm, " "rate = (int) 8000, " "channels = (int) 1")
-    );
-
-static GstStaticPadTemplate gst_rtpgsmenc_src_template =
-GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-rtp, "
-        "media = (string) \"audio\", "
-        "payload = (int) " GST_RTP_PAYLOAD_GSM_STRING ", "
-        "clock-rate = (int) 8000, " "encoding-name = (string) \"GSM\"")
-    );
-
-static gboolean gst_rtpgsmenc_setcaps (GstBaseRTPPayload * payload,
-    GstCaps * caps);
-static GstFlowReturn gst_rtpgsmenc_handle_buffer (GstBaseRTPPayload * payload,
-    GstBuffer * buffer);
-
-GST_BOILERPLATE (GstRTPGSMEnc, gst_rtpgsmenc, GstBaseRTPPayload,
-    GST_TYPE_BASE_RTP_PAYLOAD);
-
-static void
-gst_rtpgsmenc_base_init (gpointer klass)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpgsmenc_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpgsmenc_src_template));
-  gst_element_class_set_details (element_class, &gst_rtpgsmenc_details);
-}
-
-static void
-gst_rtpgsmenc_class_init (GstRTPGSMEncClass * klass)
-{
-  GObjectClass *gobject_class;
-  GstElementClass *gstelement_class;
-  GstBaseRTPPayloadClass *gstbasertppayload_class;
-
-  gobject_class = (GObjectClass *) klass;
-  gstelement_class = (GstElementClass *) klass;
-  gstbasertppayload_class = (GstBaseRTPPayloadClass *) klass;
-
-  parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_PAYLOAD);
-
-  gstbasertppayload_class->set_caps = gst_rtpgsmenc_setcaps;
-  gstbasertppayload_class->handle_buffer = gst_rtpgsmenc_handle_buffer;
-}
-
-static void
-gst_rtpgsmenc_init (GstRTPGSMEnc * rtpgsmenc, GstRTPGSMEncClass * klass)
-{
-  GST_BASE_RTP_PAYLOAD (rtpgsmenc)->clock_rate = 8000;
-  GST_BASE_RTP_PAYLOAD_PT (rtpgsmenc) = GST_RTP_PAYLOAD_GSM;
-}
-
-static gboolean
-gst_rtpgsmenc_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
-{
-  const char *stname;
-  GstStructure *structure;
-
-  structure = gst_caps_get_structure (caps, 0);
-
-  stname = gst_structure_get_name (structure);
-
-  if (0 == strcmp ("audio/x-gsm", stname)) {
-    gst_basertppayload_set_options (payload, "audio", FALSE, "GSM", 8000);
-  } else {
-    return FALSE;
-  }
-
-  gst_basertppayload_set_outcaps (payload, NULL);
-
-  return TRUE;
-}
-
-static GstFlowReturn
-gst_rtpgsmenc_handle_buffer (GstBaseRTPPayload * basepayload,
-    GstBuffer * buffer)
-{
-  GstRTPGSMEnc *rtpgsmenc;
-  guint size, payload_len;
-  GstBuffer *outbuf;
-  guint8 *payload, *data;
-  GstClockTime timestamp;
-  GstFlowReturn ret;
-
-  rtpgsmenc = GST_RTP_GSM_ENC (basepayload);
-
-  size = GST_BUFFER_SIZE (buffer);
-  timestamp = GST_BUFFER_TIMESTAMP (buffer);
-
-  /* FIXME, only one GSM frame per RTP packet for now */
-  payload_len = size;
-
-  outbuf = gst_rtpbuffer_new_allocate (payload_len, 0, 0);
-  /* FIXME, assert for now */
-  g_assert (payload_len <= GST_BASE_RTP_PAYLOAD_MTU (rtpgsmenc));
-
-  /* copy timestamp */
-  GST_BUFFER_TIMESTAMP (outbuf) = timestamp;
-
-  /* get payload */
-  payload = gst_rtpbuffer_get_payload (outbuf);
-
-  data = GST_BUFFER_DATA (buffer);
-
-  /* copy data in payload */
-  memcpy (&payload[0], data, size);
-
-  gst_buffer_unref (buffer);
-
-  GST_DEBUG ("gst_rtpgsmenc_chain: pushing buffer of size %d",
-      GST_BUFFER_SIZE (outbuf));
-
-  ret = gst_basertppayload_push (basepayload, outbuf);
-
-  return ret;
-}
-
-gboolean
-gst_rtpgsmenc_plugin_init (GstPlugin * plugin)
-{
-  return gst_element_register (plugin, "rtpgsmenc",
-      GST_RANK_NONE, GST_TYPE_RTP_GSM_ENC);
-}
diff --git a/gst/rtp/gstrtpgsmenc.h b/gst/rtp/gstrtpgsmenc.h
deleted file mode 100644
index 3b4ccab..0000000
--- a/gst/rtp/gstrtpgsmenc.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Gnome-Streamer
- * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-
-#ifndef __GST_RTP_GSM_ENC_H__
-#define __GST_RTP_GSM_ENC_H__
-
-#include <gst/gst.h>
-#include <gst/rtp/gstbasertppayload.h>
-
-G_BEGIN_DECLS
-
-typedef struct _GstRTPGSMEnc GstRTPGSMEnc;
-typedef struct _GstRTPGSMEncClass GstRTPGSMEncClass;
-
-#define GST_TYPE_RTP_GSM_ENC \
-  (gst_rtpgsmenc_get_type())
-#define GST_RTP_GSM_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_GSM_ENC,GstRTPGSMEnc))
-#define GST_RTP_GSM_ENC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_GSM_ENC,GstRTPGSMEnc))
-#define GST_IS_RTP_GSM_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_GSM_ENC))
-#define GST_IS_RTP_GSM_ENC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_GSM_ENC))
-
-struct _GstRTPGSMEnc
-{
-  GstBaseRTPPayload payload;
-};
-
-struct _GstRTPGSMEncClass
-{
-  GstBaseRTPPayloadClass parent_class;
-};
-
-gboolean gst_rtpgsmenc_plugin_init (GstPlugin * plugin);
-
-G_END_DECLS
-
-#endif /* __GST_RTP_GSM_ENC_H__ */
diff --git a/gst/rtp/gstrtpgsmparse.c b/gst/rtp/gstrtpgsmparse.c
index 79a8b7b..7a0e4d9 100644
--- a/gst/rtp/gstrtpgsmparse.c
+++ b/gst/rtp/gstrtpgsmparse.c
@@ -36,14 +36,14 @@
   LAST_SIGNAL
 };
 
-static GstStaticPadTemplate gst_rtpgsmparse_src_template =
+static GstStaticPadTemplate gst_rtp_gsm_parse_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("audio/x-gsm, " "rate = (int) 8000, " "channels = 1")
     );
 
-static GstStaticPadTemplate gst_rtpgsmparse_sink_template =
+static GstStaticPadTemplate gst_rtp_gsm_parse_sink_template =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
@@ -53,64 +53,65 @@
         "clock-rate = (int) 8000, " "encoding-name = (string) \"GSM\"")
     );
 
-static GstBuffer *gst_rtpgsmparse_process (GstBaseRTPDepayload * depayload,
+static GstBuffer *gst_rtp_gsm_parse_process (GstBaseRTPDepayload * _depayload,
     GstBuffer * buf);
-static gboolean gst_rtpgsmparse_setcaps (GstBaseRTPDepayload * depayload,
+static gboolean gst_rtp_gsm_parse_setcaps (GstBaseRTPDepayload * _depayload,
     GstCaps * caps);
 
-GST_BOILERPLATE (GstRTPGSMParse, gst_rtpgsmparse, GstBaseRTPDepayload,
+GST_BOILERPLATE (GstRTPGSMParse, gst_rtp_gsm_parse, GstBaseRTPDepayload,
     GST_TYPE_BASE_RTP_DEPAYLOAD);
 
 static void
-gst_rtpgsmparse_base_init (gpointer klass)
+gst_rtp_gsm_parse_base_init (gpointer klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpgsmparse_src_template));
+      gst_static_pad_template_get (&gst_rtp_gsm_parse_src_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpgsmparse_sink_template));
+      gst_static_pad_template_get (&gst_rtp_gsm_parse_sink_template));
   gst_element_class_set_details (element_class, &gst_rtp_gsmparse_details);
 }
 
 static void
-gst_rtpgsmparse_class_init (GstRTPGSMParseClass * klass)
+gst_rtp_gsm_parse_class_init (GstRTPGSMParseClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
-  GstBaseRTPDepayloadClass *gstbasertpdepayload_class;
+  GstBaseRTPDepayloadClass *gstbasertp_depayload_class;
 
   gobject_class = (GObjectClass *) klass;
   gstelement_class = (GstElementClass *) klass;
-  gstbasertpdepayload_class = (GstBaseRTPDepayloadClass *) klass;
+  gstbasertp_depayload_class = (GstBaseRTPDepayloadClass *) klass;
 
   parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_DEPAYLOAD);
 
-  gstbasertpdepayload_class->process = gst_rtpgsmparse_process;
-  gstbasertpdepayload_class->set_caps = gst_rtpgsmparse_setcaps;
+  gstbasertp_depayload_class->process = gst_rtp_gsm_parse_process;
+  gstbasertp_depayload_class->set_caps = gst_rtp_gsm_parse_setcaps;
 }
 
 static void
-gst_rtpgsmparse_init (GstRTPGSMParse * rtpgsmparse, GstRTPGSMParseClass * klass)
+gst_rtp_gsm_parse_init (GstRTPGSMParse * rtpgsmparse,
+    GstRTPGSMParseClass * klass)
 {
   GST_BASE_RTP_DEPAYLOAD (rtpgsmparse)->clock_rate = 8000;
 }
 
 static gboolean
-gst_rtpgsmparse_setcaps (GstBaseRTPDepayload * depayload, GstCaps * caps)
+gst_rtp_gsm_parse_setcaps (GstBaseRTPDepayload * _depayload, GstCaps * caps)
 {
   GstCaps *srccaps;
   gboolean ret;
 
-  srccaps = gst_static_pad_template_get_caps (&gst_rtpgsmparse_src_template);
-  ret = gst_pad_set_caps (GST_BASE_RTP_DEPAYLOAD_SRCPAD (depayload), srccaps);
+  srccaps = gst_static_pad_template_get_caps (&gst_rtp_gsm_parse_src_template);
+  ret = gst_pad_set_caps (GST_BASE_RTP_DEPAYLOAD_SRCPAD (_depayload), srccaps);
 
   gst_caps_unref (srccaps);
   return ret;
 }
 
 static GstBuffer *
-gst_rtpgsmparse_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
+gst_rtp_gsm_parse_process (GstBaseRTPDepayload * _depayload, GstBuffer * buf)
 {
   GstBuffer *outbuf = NULL;
   gint payload_len;
@@ -118,11 +119,11 @@
 
   GST_DEBUG ("process : got %d bytes, mark %d ts %u seqn %d",
       GST_BUFFER_SIZE (buf),
-      gst_rtpbuffer_get_marker (buf),
-      gst_rtpbuffer_get_timestamp (buf), gst_rtpbuffer_get_seq (buf));
+      gst_rtp_buffer_get_marker (buf),
+      gst_rtp_buffer_get_timestamp (buf), gst_rtp_buffer_get_seq (buf));
 
-  payload_len = gst_rtpbuffer_get_payload_len (buf);
-  payload = gst_rtpbuffer_get_payload (buf);
+  payload_len = gst_rtp_buffer_get_payload_len (buf);
+  payload = gst_rtp_buffer_get_payload (buf);
 
   outbuf = gst_buffer_new_and_alloc (payload_len);
   memcpy (GST_BUFFER_DATA (outbuf), payload, payload_len);
@@ -130,7 +131,7 @@
 }
 
 gboolean
-gst_rtpgsmparse_plugin_init (GstPlugin * plugin)
+gst_rtp_gsm_parse_plugin_init (GstPlugin * plugin)
 {
   return gst_element_register (plugin, "rtpgsmparse",
       GST_RANK_NONE, GST_TYPE_RTP_GSM_PARSE);
diff --git a/gst/rtp/gstrtpgsmparse.h b/gst/rtp/gstrtpgsmparse.h
index e588209..ebc93a2 100644
--- a/gst/rtp/gstrtpgsmparse.h
+++ b/gst/rtp/gstrtpgsmparse.h
@@ -29,7 +29,7 @@
 typedef struct _GstRTPGSMParseClass GstRTPGSMParseClass;
 
 #define GST_TYPE_RTP_GSM_PARSE \
-  (gst_rtpgsmparse_get_type())
+  (gst_rtp_gsm_parse_get_type())
 #define GST_RTP_GSM_PARSE(obj) \
   (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_GSM_PARSE,GstRTPGSMParse))
 #define GST_RTP_GSM_PARSE_CLASS(klass) \
@@ -41,7 +41,7 @@
 
 struct _GstRTPGSMParse
 {
-  GstBaseRTPDepayload depayload;
+  GstBaseRTPDepayload _depayload;
 };
 
 struct _GstRTPGSMParseClass
@@ -49,7 +49,7 @@
   GstBaseRTPDepayloadClass parent_class;
 };
 
-gboolean gst_rtpgsmparse_plugin_init (GstPlugin * plugin);
+gboolean gst_rtp_gsm_parse_plugin_init (GstPlugin * plugin);
 
 G_END_DECLS
 
diff --git a/gst/rtp/gstrtpgsmpay.c b/gst/rtp/gstrtpgsmpay.c
index 1a7d272..b85f985 100644
--- a/gst/rtp/gstrtpgsmpay.c
+++ b/gst/rtp/gstrtpgsmpay.c
@@ -26,24 +26,24 @@
 #include <string.h>
 #include <gst/rtp/gstrtpbuffer.h>
 
-#include "gstrtpgsmenc.h"
+#include "gstrtpgsmpay.h"
 
 /* elementfactory information */
-static GstElementDetails gst_rtpgsmenc_details = {
-  "RTP GSM Audio Encoder",
-  "Codec/Encoder/Network",
-  "Encodes GSM audio into a RTP packet",
+static GstElementDetails gst_rtp_gsm_pay_details = {
+  "RTP GSM Audio Payloader",
+  "Codec/Payloader/Network",
+  "Payodes GSM audio into a RTP packet",
   "Zeeshan Ali <zeenix@gmail.com>"
 };
 
-static GstStaticPadTemplate gst_rtpgsmenc_sink_template =
+static GstStaticPadTemplate gst_rtp_gsm_pay_sink_template =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("audio/x-gsm, " "rate = (int) 8000, " "channels = (int) 1")
     );
 
-static GstStaticPadTemplate gst_rtpgsmenc_src_template =
+static GstStaticPadTemplate gst_rtp_gsm_pay_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
@@ -53,28 +53,28 @@
         "clock-rate = (int) 8000, " "encoding-name = (string) \"GSM\"")
     );
 
-static gboolean gst_rtpgsmenc_setcaps (GstBaseRTPPayload * payload,
+static gboolean gst_rtp_gsm_pay_setcaps (GstBaseRTPPayload * payload,
     GstCaps * caps);
-static GstFlowReturn gst_rtpgsmenc_handle_buffer (GstBaseRTPPayload * payload,
+static GstFlowReturn gst_rtp_gsm_pay_handle_buffer (GstBaseRTPPayload * payload,
     GstBuffer * buffer);
 
-GST_BOILERPLATE (GstRTPGSMEnc, gst_rtpgsmenc, GstBaseRTPPayload,
+GST_BOILERPLATE (GstRTPGSMPay, gst_rtp_gsm_pay, GstBaseRTPPayload,
     GST_TYPE_BASE_RTP_PAYLOAD);
 
 static void
-gst_rtpgsmenc_base_init (gpointer klass)
+gst_rtp_gsm_pay_base_init (gpointer klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpgsmenc_sink_template));
+      gst_static_pad_template_get (&gst_rtp_gsm_pay_sink_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpgsmenc_src_template));
-  gst_element_class_set_details (element_class, &gst_rtpgsmenc_details);
+      gst_static_pad_template_get (&gst_rtp_gsm_pay_src_template));
+  gst_element_class_set_details (element_class, &gst_rtp_gsm_pay_details);
 }
 
 static void
-gst_rtpgsmenc_class_init (GstRTPGSMEncClass * klass)
+gst_rtp_gsm_pay_class_init (GstRTPGSMPayClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -86,19 +86,19 @@
 
   parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_PAYLOAD);
 
-  gstbasertppayload_class->set_caps = gst_rtpgsmenc_setcaps;
-  gstbasertppayload_class->handle_buffer = gst_rtpgsmenc_handle_buffer;
+  gstbasertppayload_class->set_caps = gst_rtp_gsm_pay_setcaps;
+  gstbasertppayload_class->handle_buffer = gst_rtp_gsm_pay_handle_buffer;
 }
 
 static void
-gst_rtpgsmenc_init (GstRTPGSMEnc * rtpgsmenc, GstRTPGSMEncClass * klass)
+gst_rtp_gsm_pay_init (GstRTPGSMPay * rtpgsmpay, GstRTPGSMPayClass * klass)
 {
-  GST_BASE_RTP_PAYLOAD (rtpgsmenc)->clock_rate = 8000;
-  GST_BASE_RTP_PAYLOAD_PT (rtpgsmenc) = GST_RTP_PAYLOAD_GSM;
+  GST_BASE_RTP_PAYLOAD (rtpgsmpay)->clock_rate = 8000;
+  GST_BASE_RTP_PAYLOAD_PT (rtpgsmpay) = GST_RTP_PAYLOAD_GSM;
 }
 
 static gboolean
-gst_rtpgsmenc_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
+gst_rtp_gsm_pay_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
 {
   const char *stname;
   GstStructure *structure;
@@ -119,17 +119,17 @@
 }
 
 static GstFlowReturn
-gst_rtpgsmenc_handle_buffer (GstBaseRTPPayload * basepayload,
+gst_rtp_gsm_pay_handle_buffer (GstBaseRTPPayload * basepayload,
     GstBuffer * buffer)
 {
-  GstRTPGSMEnc *rtpgsmenc;
+  GstRTPGSMPay *rtpgsmpay;
   guint size, payload_len;
   GstBuffer *outbuf;
   guint8 *payload, *data;
   GstClockTime timestamp;
   GstFlowReturn ret;
 
-  rtpgsmenc = GST_RTP_GSM_ENC (basepayload);
+  rtpgsmpay = GST_RTP_GSM_PAY (basepayload);
 
   size = GST_BUFFER_SIZE (buffer);
   timestamp = GST_BUFFER_TIMESTAMP (buffer);
@@ -137,15 +137,15 @@
   /* FIXME, only one GSM frame per RTP packet for now */
   payload_len = size;
 
-  outbuf = gst_rtpbuffer_new_allocate (payload_len, 0, 0);
+  outbuf = gst_rtp_buffer_new_allocate (payload_len, 0, 0);
   /* FIXME, assert for now */
-  g_assert (payload_len <= GST_BASE_RTP_PAYLOAD_MTU (rtpgsmenc));
+  g_assert (payload_len <= GST_BASE_RTP_PAYLOAD_MTU (rtpgsmpay));
 
   /* copy timestamp */
   GST_BUFFER_TIMESTAMP (outbuf) = timestamp;
 
   /* get payload */
-  payload = gst_rtpbuffer_get_payload (outbuf);
+  payload = gst_rtp_buffer_get_payload (outbuf);
 
   data = GST_BUFFER_DATA (buffer);
 
@@ -154,7 +154,7 @@
 
   gst_buffer_unref (buffer);
 
-  GST_DEBUG ("gst_rtpgsmenc_chain: pushing buffer of size %d",
+  GST_DEBUG ("gst_rtp_gsm_pay_chain: pushing buffer of size %d",
       GST_BUFFER_SIZE (outbuf));
 
   ret = gst_basertppayload_push (basepayload, outbuf);
@@ -163,8 +163,8 @@
 }
 
 gboolean
-gst_rtpgsmenc_plugin_init (GstPlugin * plugin)
+gst_rtp_gsm_pay_plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "rtpgsmenc",
-      GST_RANK_NONE, GST_TYPE_RTP_GSM_ENC);
+  return gst_element_register (plugin, "rtpgsmpay",
+      GST_RANK_NONE, GST_TYPE_RTP_GSM_PAY);
 }
diff --git a/gst/rtp/gstrtpgsmpay.h b/gst/rtp/gstrtpgsmpay.h
index 3b4ccab..40cf37b 100644
--- a/gst/rtp/gstrtpgsmpay.h
+++ b/gst/rtp/gstrtpgsmpay.h
@@ -18,40 +18,40 @@
  */
 
 
-#ifndef __GST_RTP_GSM_ENC_H__
-#define __GST_RTP_GSM_ENC_H__
+#ifndef __GST_RTP_GSM_PAY_H__
+#define __GST_RTP_GSM_PAY_H__
 
 #include <gst/gst.h>
 #include <gst/rtp/gstbasertppayload.h>
 
 G_BEGIN_DECLS
 
-typedef struct _GstRTPGSMEnc GstRTPGSMEnc;
-typedef struct _GstRTPGSMEncClass GstRTPGSMEncClass;
+typedef struct _GstRTPGSMPay GstRTPGSMPay;
+typedef struct _GstRTPGSMPayClass GstRTPGSMPayClass;
 
-#define GST_TYPE_RTP_GSM_ENC \
-  (gst_rtpgsmenc_get_type())
-#define GST_RTP_GSM_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_GSM_ENC,GstRTPGSMEnc))
-#define GST_RTP_GSM_ENC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_GSM_ENC,GstRTPGSMEnc))
-#define GST_IS_RTP_GSM_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_GSM_ENC))
-#define GST_IS_RTP_GSM_ENC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_GSM_ENC))
+#define GST_TYPE_RTP_GSM_PAY \
+  (gst_rtp_gsm_pay_get_type())
+#define GST_RTP_GSM_PAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_GSM_PAY,GstRTPGSMPay))
+#define GST_RTP_GSM_PAY_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_GSM_PAY,GstRTPGSMPay))
+#define GST_IS_RTP_GSM_PAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_GSM_PAY))
+#define GST_IS_RTP_GSM_PAY_CLASS(obj) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_GSM_PAY))
 
-struct _GstRTPGSMEnc
+struct _GstRTPGSMPay
 {
   GstBaseRTPPayload payload;
 };
 
-struct _GstRTPGSMEncClass
+struct _GstRTPGSMPayClass
 {
   GstBaseRTPPayloadClass parent_class;
 };
 
-gboolean gst_rtpgsmenc_plugin_init (GstPlugin * plugin);
+gboolean gst_rtp_gsm_pay_plugin_init (GstPlugin * plugin);
 
 G_END_DECLS
 
-#endif /* __GST_RTP_GSM_ENC_H__ */
+#endif /* __GST_RTP_GSM_PAY_H__ */
diff --git a/gst/rtp/gstrtph263enc.c b/gst/rtp/gstrtph263enc.c
deleted file mode 100644
index c2caa06..0000000
--- a/gst/rtp/gstrtph263enc.c
+++ /dev/null
@@ -1,380 +0,0 @@
-/* GStreamer
- * Copyright (C) <2005> Wim Taymans <wim@fluendo.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more
- */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include <string.h>
-
-#include <gst/rtp/gstrtpbuffer.h>
-
-#include "gstrtph263enc.h"
-
-#define GST_RFC2190A_HEADER_LEN 4
-
-typedef struct _GstRFC2190AHeader
-{
-#if G_BYTE_ORDER == G_LITTLE_ENDIAN
-  unsigned int ebit:3;          /* End position */
-  unsigned int sbit:3;          /* Start position */
-  unsigned int p:1;             /* PB-frames mode */
-  unsigned int f:1;             /* flag bit */
-
-  unsigned int r1:1;            /* Reserved */
-  unsigned int a:1;             /* Advanced Prediction */
-  unsigned int s:1;             /* syntax based arithmetic coding */
-  unsigned int u:1;             /* Unrestricted motion vector */
-  unsigned int i:1;             /* Picture coding type */
-  unsigned int src:3;           /* Source format */
-
-  unsigned int trb:3;           /* Temporal ref for B frame */
-  unsigned int dbq:2;           /* Differential Quantisation parameter */
-  unsigned int r2:3;            /* Reserved */
-#elif G_BYTE_ORDER == G_BIG_ENDIAN
-  unsigned int f:1;             /* flag bit */
-  unsigned int p:1;             /* PB-frames mode */
-  unsigned int sbit:3;          /* Start position */
-  unsigned int ebit:3;          /* End position */
-
-  unsigned int src:3;           /* Source format */
-  unsigned int i:1;             /* Picture coding type */
-  unsigned int u:1;             /* Unrestricted motion vector */
-  unsigned int s:1;             /* syntax based arithmetic coding */
-  unsigned int a:1;             /* Advanced Prediction */
-  unsigned int r1:1;            /* Reserved */
-
-  unsigned int r2:3;            /* Reserved */
-  unsigned int dbq:2;           /* Differential Quantisation parameter */
-  unsigned int trb:3;           /* Temporal ref for B frame */
-#else
-#error "G_BYTE_ORDER should be big or little endian."
-#endif
-  guint8 tr;                    /* Temporal ref for P frame */
-} GstRFC2190AHeader;
-
-
-#define GST_RFC2190A_HEADER_F(buf) (((GstRFC2190AHeader *)(buf))->f)
-#define GST_RFC2190A_HEADER_P(buf) (((GstRFC2190AHeader *)(buf))->p)
-#define GST_RFC2190A_HEADER_SBIT(buf) (((GstRFC2190AHeader *)(buf))->sbit)
-#define GST_RFC2190A_HEADER_EBIT(buf) (((GstRFC2190AHeader *)(buf))->ebit)
-#define GST_RFC2190A_HEADER_SRC(buf) (((GstRFC2190AHeader *)(buf))->src)
-#define GST_RFC2190A_HEADER_I(buf) (((GstRFC2190AHeader *)(buf))->i)
-#define GST_RFC2190A_HEADER_U(buf) (((GstRFC2190AHeader *)(buf))->u)
-#define GST_RFC2190A_HEADER_S(buf) (((GstRFC2190AHeader *)(buf))->s)
-#define GST_RFC2190A_HEADER_A(buf) (((GstRFC2190AHeader *)(buf))->a)
-#define GST_RFC2190A_HEADER_R1(buf) (((GstRFC2190AHeader *)(buf))->r1)
-#define GST_RFC2190A_HEADER_R2(buf) (((GstRFC2190AHeader *)(buf))->r2)
-#define GST_RFC2190A_HEADER_DBQ(buf) (((GstRFC2190AHeader *)(buf))->dbq)
-#define GST_RFC2190A_HEADER_TRB(buf) (((GstRFC2190AHeader *)(buf))->trb)
-#define GST_RFC2190A_HEADER_TR(buf) (((GstRFC2190AHeader *)(buf))->tr)
-
-
-typedef struct _GstH263PictureLayer
-{
-#if G_BYTE_ORDER == G_LITTLE_ENDIAN
-  unsigned int psc1:16;
-
-  unsigned int tr1:2;
-  unsigned int psc2:6;
-
-  unsigned int ptype_263:1;
-  unsigned int ptype_start:1;
-  unsigned int tr2:6;
-
-  unsigned int ptype_umvmode:1;
-  unsigned int ptype_pictype:1;
-  unsigned int ptype_srcformat:3;
-  unsigned int ptype_freeze:1;
-  unsigned int ptype_camera:1;
-  unsigned int ptype_split:1;
-
-  unsigned int chaff:5;
-  unsigned int ptype_pbmode:1;
-  unsigned int ptype_apmode:1;
-  unsigned int ptype_sacmode:1;
-#elif G_BYTE_ORDER == G_BIG_ENDIAN
-  unsigned int psc1:16;
-
-  unsigned int psc2:6;
-  unsigned int tr1:2;
-
-  unsigned int tr2:6;
-  unsigned int ptype_start:1;
-  unsigned int ptype_263:1;
-
-  unsigned int ptype_split:1;
-  unsigned int ptype_camera:1;
-  unsigned int ptype_freeze:1;
-  unsigned int ptype_srcformat:3;
-  unsigned int ptype_pictype:1;
-  unsigned int ptype_umvmode:1;
-
-  unsigned int ptype_sacmode:1;
-  unsigned int ptype_apmode:1;
-  unsigned int ptype_pbmode:1;
-  unsigned int chaff:5;
-#else
-#error "G_BYTE_ORDER should be big or little endian."
-#endif
-} GstH263PictureLayer;
-
-#define GST_H263_PICTURELAYER_PLSRC(buf) (((GstH263PictureLayer *)(buf))->ptype_srcformat)
-#define GST_H263_PICTURELAYER_PLTYPE(buf) (((GstH263PictureLayer *)(buf))->ptype_pictype)
-#define GST_H263_PICTURELAYER_PLUMV(buf) (((GstH263PictureLayer *)(buf))->ptype_umvmode)
-#define GST_H263_PICTURELAYER_PLSAC(buf) (((GstH263PictureLayer *)(buf))->ptype_sacmode)
-#define GST_H263_PICTURELAYER_PLAP(buf) (((GstH263PictureLayer *)(buf))->ptype_apmode)
-
-
-
-/* elementfactory information */
-static GstElementDetails gst_rtp_h263enc_details = {
-  "RTP packet parser",
-  "Codec/Encoder/Network",
-  "Encodes H263 video in RTP packets (RFC 2190)",
-  "Neil Stratford <neils@vipadia.com>"
-};
-
-static GstStaticPadTemplate gst_rtph263enc_sink_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("video/x-h263")
-    );
-
-static GstStaticPadTemplate gst_rtph263enc_src_template =
-GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-rtp, "
-        "media = (string) \"video\", "
-        "payload = (int) [ 96, 255 ], "
-        "clock-rate = (int) 90000, " "encoding-name = (string) \"H263-1998\"")
-    );
-
-static void gst_rtph263enc_class_init (GstRtpH263EncClass * klass);
-static void gst_rtph263enc_base_init (GstRtpH263EncClass * klass);
-static void gst_rtph263enc_init (GstRtpH263Enc * rtph263enc);
-static void gst_rtph263enc_finalize (GObject * object);
-
-static gboolean gst_rtph263enc_setcaps (GstBaseRTPPayload * payload,
-    GstCaps * caps);
-static GstFlowReturn gst_rtph263enc_handle_buffer (GstBaseRTPPayload * payload,
-    GstBuffer * buffer);
-
-static GstBaseRTPPayloadClass *parent_class = NULL;
-
-static GType
-gst_rtph263enc_get_type (void)
-{
-  static GType rtph263enc_type = 0;
-
-  if (!rtph263enc_type) {
-    static const GTypeInfo rtph263enc_info = {
-      sizeof (GstRtpH263EncClass),
-      (GBaseInitFunc) gst_rtph263enc_base_init,
-      NULL,
-      (GClassInitFunc) gst_rtph263enc_class_init,
-      NULL,
-      NULL,
-      sizeof (GstRtpH263Enc),
-      0,
-      (GInstanceInitFunc) gst_rtph263enc_init,
-    };
-
-    rtph263enc_type =
-        g_type_register_static (GST_TYPE_BASE_RTP_PAYLOAD, "GstRtpH263Enc",
-        &rtph263enc_info, 0);
-  }
-  return rtph263enc_type;
-}
-
-static void
-gst_rtph263enc_base_init (GstRtpH263EncClass * klass)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtph263enc_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtph263enc_sink_template));
-
-  gst_element_class_set_details (element_class, &gst_rtp_h263enc_details);
-}
-
-static void
-gst_rtph263enc_class_init (GstRtpH263EncClass * klass)
-{
-  GObjectClass *gobject_class;
-  GstElementClass *gstelement_class;
-  GstBaseRTPPayloadClass *gstbasertppayload_class;
-
-  gobject_class = (GObjectClass *) klass;
-  gstelement_class = (GstElementClass *) klass;
-  gstbasertppayload_class = (GstBaseRTPPayloadClass *) klass;
-
-  parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_PAYLOAD);
-
-  gobject_class->finalize = gst_rtph263enc_finalize;
-
-  gstbasertppayload_class->set_caps = gst_rtph263enc_setcaps;
-  gstbasertppayload_class->handle_buffer = gst_rtph263enc_handle_buffer;
-}
-
-static void
-gst_rtph263enc_init (GstRtpH263Enc * rtph263enc)
-{
-  rtph263enc->adapter = gst_adapter_new ();
-}
-
-static void
-gst_rtph263enc_finalize (GObject * object)
-{
-  GstRtpH263Enc *rtph263enc;
-
-  rtph263enc = GST_RTP_H263_ENC (object);
-
-  g_object_unref (rtph263enc->adapter);
-  rtph263enc->adapter = NULL;
-
-  G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-static gboolean
-gst_rtph263enc_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
-{
-  gst_basertppayload_set_options (payload, "video", TRUE, "H263-1998", 90000);
-  gst_basertppayload_set_outcaps (payload, NULL);
-
-  return TRUE;
-}
-
-static guint
-gst_rtph263enc_gobfiner (guint8 * data, guint len, guint curpos)
-{
-  guint16 test = 0xffff;
-  guint i;
-
-  /* If we are past the end, stop */
-  if (curpos >= len)
-    return 0;
-
-  /* start at curpos and loop looking for next gob start */
-  for (i = curpos; i < len; i++) {
-    test = (test << 8) | data[i];
-    if ((test == 0) && (i > curpos + 4)) {
-      return i - 3;
-    }
-  }
-  return len;
-}
-
-static GstFlowReturn
-gst_rtph263enc_flush (GstRtpH263Enc * rtph263enc)
-{
-  guint avail;
-  GstBuffer *outbuf;
-  GstFlowReturn ret = 0;
-  gboolean fragmented;
-  guint8 *data, *header;
-  GstH263PictureLayer *piclayer;
-  guint8 *payload;
-  guint payload_len, total_len;
-  guint curpos, nextgobpos;
-
-  avail = gst_adapter_available (rtph263enc->adapter);
-  if (avail == 0)
-    return GST_FLOW_OK;
-
-  fragmented = FALSE;
-
-  /* Get a pointer to all the data for the frame */
-  data = (guint8 *) gst_adapter_peek (rtph263enc->adapter, avail);
-
-  /* Start at the begining and loop looking for gobs */
-  curpos = 0;
-
-  /* Picture header */
-  piclayer = (GstH263PictureLayer *) data;
-
-  while ((nextgobpos = gst_rtph263enc_gobfiner (data, avail, curpos)) > 0) {
-
-    payload_len = nextgobpos - curpos;
-    total_len = payload_len + GST_RFC2190A_HEADER_LEN;
-
-    outbuf = gst_rtpbuffer_new_allocate (total_len, 0, 0);
-
-    header = gst_rtpbuffer_get_payload (outbuf);
-    payload = header + GST_RFC2190A_HEADER_LEN;
-
-    /* Build the headers */
-    GST_RFC2190A_HEADER_F (header) = 0;
-    GST_RFC2190A_HEADER_P (header) = 0;
-    GST_RFC2190A_HEADER_SBIT (header) = 0;
-    GST_RFC2190A_HEADER_EBIT (header) = 0;
-
-    GST_RFC2190A_HEADER_SRC (header) = GST_H263_PICTURELAYER_PLSRC (piclayer);
-    GST_RFC2190A_HEADER_I (header) = GST_H263_PICTURELAYER_PLTYPE (piclayer);
-    GST_RFC2190A_HEADER_U (header) = GST_H263_PICTURELAYER_PLUMV (piclayer);
-    GST_RFC2190A_HEADER_S (header) = GST_H263_PICTURELAYER_PLSAC (piclayer);
-    GST_RFC2190A_HEADER_A (header) = GST_H263_PICTURELAYER_PLAP (piclayer);
-    GST_RFC2190A_HEADER_R1 (header) = 0;
-    GST_RFC2190A_HEADER_R2 (header) = 0;
-    GST_RFC2190A_HEADER_DBQ (header) = 0;
-    GST_RFC2190A_HEADER_TRB (header) = 0;
-    GST_RFC2190A_HEADER_TR (header) = 0;
-
-    /* last fragment gets the marker bit set */
-    gst_rtpbuffer_set_marker (outbuf, nextgobpos < avail ? 0 : 1);
-
-    memcpy (payload, data + curpos, payload_len);
-
-    GST_BUFFER_TIMESTAMP (outbuf) = rtph263enc->first_ts;
-
-    ret = gst_basertppayload_push (GST_BASE_RTP_PAYLOAD (rtph263enc), outbuf);
-
-    curpos = nextgobpos;
-  }
-
-  /* Flush the whole packet */
-  gst_adapter_flush (rtph263enc->adapter, avail);
-
-  return ret;
-}
-
-static GstFlowReturn
-gst_rtph263enc_handle_buffer (GstBaseRTPPayload * payload, GstBuffer * buffer)
-{
-  GstRtpH263Enc *rtph263enc;
-  GstFlowReturn ret;
-  guint size;
-
-  rtph263enc = GST_RTP_H263_ENC (payload);
-
-  size = GST_BUFFER_SIZE (buffer);
-  rtph263enc->first_ts = GST_BUFFER_TIMESTAMP (buffer);
-
-  /* we always encode and flush a full picture */
-  gst_adapter_push (rtph263enc->adapter, buffer);
-  ret = gst_rtph263enc_flush (rtph263enc);
-
-  return ret;
-}
-
-gboolean
-gst_rtph263enc_plugin_init (GstPlugin * plugin)
-{
-  return gst_element_register (plugin, "rtph263enc",
-      GST_RANK_NONE, GST_TYPE_RTP_H263_ENC);
-}
diff --git a/gst/rtp/gstrtph263enc.h b/gst/rtp/gstrtph263enc.h
deleted file mode 100644
index 1f3fb1c..0000000
--- a/gst/rtp/gstrtph263enc.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Gnome-Streamer
- * Copyright (C) <2005> Wim Taymans <wim@fluendo.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GST_RTP_H263_ENC_H__
-#define __GST_RTP_H263_ENC_H__
-
-#include <gst/gst.h>
-#include <gst/rtp/gstbasertppayload.h>
-#include <gst/base/gstadapter.h>
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_RTP_H263_ENC \
-  (gst_rtph263enc_get_type())
-#define GST_RTP_H263_ENC(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_H263_ENC,GstRtpH263Enc))
-#define GST_RTP_H263_ENC_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_H263_ENC,GstRtpH263Enc))
-#define GST_IS_RTP_H263_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_H263_ENC))
-#define GST_IS_RTP_H263_ENC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_H263_ENC))
-
-typedef struct _GstRtpH263Enc GstRtpH263Enc;
-typedef struct _GstRtpH263EncClass GstRtpH263EncClass;
-
-struct _GstRtpH263Enc
-{
-  GstBaseRTPPayload payload;
-
-  GstAdapter *adapter;
-  GstClockTime first_ts;
-};
-
-struct _GstRtpH263EncClass
-{
-  GstBaseRTPPayloadClass parent_class;
-};
-
-gboolean gst_rtph263enc_plugin_init (GstPlugin * plugin);
-
-G_END_DECLS
-
-#endif /* __GST_RTP_H263_ENC_H__ */
diff --git a/gst/rtp/gstrtph263pay.c b/gst/rtp/gstrtph263pay.c
index c2caa06..25df31e 100644
--- a/gst/rtp/gstrtph263pay.c
+++ b/gst/rtp/gstrtph263pay.c
@@ -20,7 +20,7 @@
 
 #include <gst/rtp/gstrtpbuffer.h>
 
-#include "gstrtph263enc.h"
+#include "gstrtph263pay.h"
 
 #define GST_RFC2190A_HEADER_LEN 4
 
@@ -139,21 +139,21 @@
 
 
 /* elementfactory information */
-static GstElementDetails gst_rtp_h263enc_details = {
+static GstElementDetails gst_rtp_h263pay_details = {
   "RTP packet parser",
-  "Codec/Encoder/Network",
-  "Encodes H263 video in RTP packets (RFC 2190)",
+  "Codec/Payloader/Network",
+  "Payodes H263 video in RTP packets (RFC 2190)",
   "Neil Stratford <neils@vipadia.com>"
 };
 
-static GstStaticPadTemplate gst_rtph263enc_sink_template =
+static GstStaticPadTemplate gst_rtp_h263_pay_sink_template =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("video/x-h263")
     );
 
-static GstStaticPadTemplate gst_rtph263enc_src_template =
+static GstStaticPadTemplate gst_rtp_h263_pay_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
@@ -163,58 +163,58 @@
         "clock-rate = (int) 90000, " "encoding-name = (string) \"H263-1998\"")
     );
 
-static void gst_rtph263enc_class_init (GstRtpH263EncClass * klass);
-static void gst_rtph263enc_base_init (GstRtpH263EncClass * klass);
-static void gst_rtph263enc_init (GstRtpH263Enc * rtph263enc);
-static void gst_rtph263enc_finalize (GObject * object);
+static void gst_rtp_h263_pay_class_init (GstRtpH263PayClass * klass);
+static void gst_rtp_h263_pay_base_init (GstRtpH263PayClass * klass);
+static void gst_rtp_h263_pay_init (GstRtpH263Pay * rtph263pay);
+static void gst_rtp_h263_pay_finalize (GObject * object);
 
-static gboolean gst_rtph263enc_setcaps (GstBaseRTPPayload * payload,
+static gboolean gst_rtp_h263_pay_setcaps (GstBaseRTPPayload * payload,
     GstCaps * caps);
-static GstFlowReturn gst_rtph263enc_handle_buffer (GstBaseRTPPayload * payload,
-    GstBuffer * buffer);
+static GstFlowReturn gst_rtp_h263_pay_handle_buffer (GstBaseRTPPayload *
+    payload, GstBuffer * buffer);
 
 static GstBaseRTPPayloadClass *parent_class = NULL;
 
 static GType
-gst_rtph263enc_get_type (void)
+gst_rtp_h263_pay_get_type (void)
 {
-  static GType rtph263enc_type = 0;
+  static GType rtph263pay_type = 0;
 
-  if (!rtph263enc_type) {
-    static const GTypeInfo rtph263enc_info = {
-      sizeof (GstRtpH263EncClass),
-      (GBaseInitFunc) gst_rtph263enc_base_init,
+  if (!rtph263pay_type) {
+    static const GTypeInfo rtph263pay_info = {
+      sizeof (GstRtpH263PayClass),
+      (GBaseInitFunc) gst_rtp_h263_pay_base_init,
       NULL,
-      (GClassInitFunc) gst_rtph263enc_class_init,
+      (GClassInitFunc) gst_rtp_h263_pay_class_init,
       NULL,
       NULL,
-      sizeof (GstRtpH263Enc),
+      sizeof (GstRtpH263Pay),
       0,
-      (GInstanceInitFunc) gst_rtph263enc_init,
+      (GInstanceInitFunc) gst_rtp_h263_pay_init,
     };
 
-    rtph263enc_type =
-        g_type_register_static (GST_TYPE_BASE_RTP_PAYLOAD, "GstRtpH263Enc",
-        &rtph263enc_info, 0);
+    rtph263pay_type =
+        g_type_register_static (GST_TYPE_BASE_RTP_PAYLOAD, "GstRtpH263Pay",
+        &rtph263pay_info, 0);
   }
-  return rtph263enc_type;
+  return rtph263pay_type;
 }
 
 static void
-gst_rtph263enc_base_init (GstRtpH263EncClass * klass)
+gst_rtp_h263_pay_base_init (GstRtpH263PayClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtph263enc_src_template));
+      gst_static_pad_template_get (&gst_rtp_h263_pay_src_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtph263enc_sink_template));
+      gst_static_pad_template_get (&gst_rtp_h263_pay_sink_template));
 
-  gst_element_class_set_details (element_class, &gst_rtp_h263enc_details);
+  gst_element_class_set_details (element_class, &gst_rtp_h263pay_details);
 }
 
 static void
-gst_rtph263enc_class_init (GstRtpH263EncClass * klass)
+gst_rtp_h263_pay_class_init (GstRtpH263PayClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -226,33 +226,33 @@
 
   parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_PAYLOAD);
 
-  gobject_class->finalize = gst_rtph263enc_finalize;
+  gobject_class->finalize = gst_rtp_h263_pay_finalize;
 
-  gstbasertppayload_class->set_caps = gst_rtph263enc_setcaps;
-  gstbasertppayload_class->handle_buffer = gst_rtph263enc_handle_buffer;
+  gstbasertppayload_class->set_caps = gst_rtp_h263_pay_setcaps;
+  gstbasertppayload_class->handle_buffer = gst_rtp_h263_pay_handle_buffer;
 }
 
 static void
-gst_rtph263enc_init (GstRtpH263Enc * rtph263enc)
+gst_rtp_h263_pay_init (GstRtpH263Pay * rtph263pay)
 {
-  rtph263enc->adapter = gst_adapter_new ();
+  rtph263pay->adapter = gst_adapter_new ();
 }
 
 static void
-gst_rtph263enc_finalize (GObject * object)
+gst_rtp_h263_pay_finalize (GObject * object)
 {
-  GstRtpH263Enc *rtph263enc;
+  GstRtpH263Pay *rtph263pay;
 
-  rtph263enc = GST_RTP_H263_ENC (object);
+  rtph263pay = GST_RTP_H263_PAY (object);
 
-  g_object_unref (rtph263enc->adapter);
-  rtph263enc->adapter = NULL;
+  g_object_unref (rtph263pay->adapter);
+  rtph263pay->adapter = NULL;
 
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
 static gboolean
-gst_rtph263enc_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
+gst_rtp_h263_pay_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
 {
   gst_basertppayload_set_options (payload, "video", TRUE, "H263-1998", 90000);
   gst_basertppayload_set_outcaps (payload, NULL);
@@ -261,7 +261,7 @@
 }
 
 static guint
-gst_rtph263enc_gobfiner (guint8 * data, guint len, guint curpos)
+gst_rtp_h263_pay_gobfiner (guint8 * data, guint len, guint curpos)
 {
   guint16 test = 0xffff;
   guint i;
@@ -281,7 +281,7 @@
 }
 
 static GstFlowReturn
-gst_rtph263enc_flush (GstRtpH263Enc * rtph263enc)
+gst_rtp_h263_pay_flush (GstRtpH263Pay * rtph263pay)
 {
   guint avail;
   GstBuffer *outbuf;
@@ -293,14 +293,14 @@
   guint payload_len, total_len;
   guint curpos, nextgobpos;
 
-  avail = gst_adapter_available (rtph263enc->adapter);
+  avail = gst_adapter_available (rtph263pay->adapter);
   if (avail == 0)
     return GST_FLOW_OK;
 
   fragmented = FALSE;
 
   /* Get a pointer to all the data for the frame */
-  data = (guint8 *) gst_adapter_peek (rtph263enc->adapter, avail);
+  data = (guint8 *) gst_adapter_peek (rtph263pay->adapter, avail);
 
   /* Start at the begining and loop looking for gobs */
   curpos = 0;
@@ -308,14 +308,14 @@
   /* Picture header */
   piclayer = (GstH263PictureLayer *) data;
 
-  while ((nextgobpos = gst_rtph263enc_gobfiner (data, avail, curpos)) > 0) {
+  while ((nextgobpos = gst_rtp_h263_pay_gobfiner (data, avail, curpos)) > 0) {
 
     payload_len = nextgobpos - curpos;
     total_len = payload_len + GST_RFC2190A_HEADER_LEN;
 
-    outbuf = gst_rtpbuffer_new_allocate (total_len, 0, 0);
+    outbuf = gst_rtp_buffer_new_allocate (total_len, 0, 0);
 
-    header = gst_rtpbuffer_get_payload (outbuf);
+    header = gst_rtp_buffer_get_payload (outbuf);
     payload = header + GST_RFC2190A_HEADER_LEN;
 
     /* Build the headers */
@@ -336,45 +336,45 @@
     GST_RFC2190A_HEADER_TR (header) = 0;
 
     /* last fragment gets the marker bit set */
-    gst_rtpbuffer_set_marker (outbuf, nextgobpos < avail ? 0 : 1);
+    gst_rtp_buffer_set_marker (outbuf, nextgobpos < avail ? 0 : 1);
 
     memcpy (payload, data + curpos, payload_len);
 
-    GST_BUFFER_TIMESTAMP (outbuf) = rtph263enc->first_ts;
+    GST_BUFFER_TIMESTAMP (outbuf) = rtph263pay->first_ts;
 
-    ret = gst_basertppayload_push (GST_BASE_RTP_PAYLOAD (rtph263enc), outbuf);
+    ret = gst_basertppayload_push (GST_BASE_RTP_PAYLOAD (rtph263pay), outbuf);
 
     curpos = nextgobpos;
   }
 
   /* Flush the whole packet */
-  gst_adapter_flush (rtph263enc->adapter, avail);
+  gst_adapter_flush (rtph263pay->adapter, avail);
 
   return ret;
 }
 
 static GstFlowReturn
-gst_rtph263enc_handle_buffer (GstBaseRTPPayload * payload, GstBuffer * buffer)
+gst_rtp_h263_pay_handle_buffer (GstBaseRTPPayload * payload, GstBuffer * buffer)
 {
-  GstRtpH263Enc *rtph263enc;
+  GstRtpH263Pay *rtph263pay;
   GstFlowReturn ret;
   guint size;
 
-  rtph263enc = GST_RTP_H263_ENC (payload);
+  rtph263pay = GST_RTP_H263_PAY (payload);
 
   size = GST_BUFFER_SIZE (buffer);
-  rtph263enc->first_ts = GST_BUFFER_TIMESTAMP (buffer);
+  rtph263pay->first_ts = GST_BUFFER_TIMESTAMP (buffer);
 
   /* we always encode and flush a full picture */
-  gst_adapter_push (rtph263enc->adapter, buffer);
-  ret = gst_rtph263enc_flush (rtph263enc);
+  gst_adapter_push (rtph263pay->adapter, buffer);
+  ret = gst_rtp_h263_pay_flush (rtph263pay);
 
   return ret;
 }
 
 gboolean
-gst_rtph263enc_plugin_init (GstPlugin * plugin)
+gst_rtp_h263_pay_plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "rtph263enc",
-      GST_RANK_NONE, GST_TYPE_RTP_H263_ENC);
+  return gst_element_register (plugin, "rtph263pay",
+      GST_RANK_NONE, GST_TYPE_RTP_H263_PAY);
 }
diff --git a/gst/rtp/gstrtph263pay.h b/gst/rtp/gstrtph263pay.h
index 1f3fb1c..e7b53ee 100644
--- a/gst/rtp/gstrtph263pay.h
+++ b/gst/rtp/gstrtph263pay.h
@@ -17,8 +17,8 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#ifndef __GST_RTP_H263_ENC_H__
-#define __GST_RTP_H263_ENC_H__
+#ifndef __GST_RTP_H263_PAY_H__
+#define __GST_RTP_H263_PAY_H__
 
 #include <gst/gst.h>
 #include <gst/rtp/gstbasertppayload.h>
@@ -26,21 +26,21 @@
 
 G_BEGIN_DECLS
 
-#define GST_TYPE_RTP_H263_ENC \
-  (gst_rtph263enc_get_type())
-#define GST_RTP_H263_ENC(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_H263_ENC,GstRtpH263Enc))
-#define GST_RTP_H263_ENC_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_H263_ENC,GstRtpH263Enc))
-#define GST_IS_RTP_H263_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_H263_ENC))
-#define GST_IS_RTP_H263_ENC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_H263_ENC))
+#define GST_TYPE_RTP_H263_PAY \
+  (gst_rtp_h263_pay_get_type())
+#define GST_RTP_H263_PAY(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_H263_PAY,GstRtpH263Pay))
+#define GST_RTP_H263_PAY_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_H263_PAY,GstRtpH263Pay))
+#define GST_IS_RTP_H263_PAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_H263_PAY))
+#define GST_IS_RTP_H263_PAY_CLASS(obj) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_H263_PAY))
 
-typedef struct _GstRtpH263Enc GstRtpH263Enc;
-typedef struct _GstRtpH263EncClass GstRtpH263EncClass;
+typedef struct _GstRtpH263Pay GstRtpH263Pay;
+typedef struct _GstRtpH263PayClass GstRtpH263PayClass;
 
-struct _GstRtpH263Enc
+struct _GstRtpH263Pay
 {
   GstBaseRTPPayload payload;
 
@@ -48,13 +48,13 @@
   GstClockTime first_ts;
 };
 
-struct _GstRtpH263EncClass
+struct _GstRtpH263PayClass
 {
   GstBaseRTPPayloadClass parent_class;
 };
 
-gboolean gst_rtph263enc_plugin_init (GstPlugin * plugin);
+gboolean gst_rtp_h263_pay_plugin_init (GstPlugin * plugin);
 
 G_END_DECLS
 
-#endif /* __GST_RTP_H263_ENC_H__ */
+#endif /* __GST_RTP_H263_PAY_H__ */
diff --git a/gst/rtp/gstrtph263pdec.c b/gst/rtp/gstrtph263pdec.c
deleted file mode 100644
index 4a7467b..0000000
--- a/gst/rtp/gstrtph263pdec.c
+++ /dev/null
@@ -1,342 +0,0 @@
-/* GStreamer
- * Copyright (C) <2005> Wim Taymans <wim@fluendo.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more 
- */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include <string.h>
-
-#include <gst/rtp/gstrtpbuffer.h>
-#include "gstrtph263pdec.h"
-
-/* elementfactory information */
-static GstElementDetails gst_rtp_h263pdec_details = {
-  "RTP packet parser",
-  "Codec/Parser/Network",
-  "Extracts H263+ video from RTP packets (RFC 2429)",
-  "Wim Taymans <wim@fluendo.com>"
-};
-
-/* RtpH263PDec signals and args */
-enum
-{
-  /* FILL ME */
-  LAST_SIGNAL
-};
-
-enum
-{
-  ARG_0,
-  ARG_FREQUENCY
-};
-
-static GstStaticPadTemplate gst_rtph263pdec_src_template =
-GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("video/x-h263")
-    );
-
-static GstStaticPadTemplate gst_rtph263pdec_sink_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-rtp, "
-        "media = (string) \"video\", "
-        "payload = (int) [ 96, 255 ], "
-        "clock-rate = (int) 90000, " "encoding-name = (string) \"H263-1998\"")
-    );
-
-
-static void gst_rtph263pdec_class_init (GstRtpH263PDecClass * klass);
-static void gst_rtph263pdec_base_init (GstRtpH263PDecClass * klass);
-static void gst_rtph263pdec_init (GstRtpH263PDec * rtph263pdec);
-static void gst_rtph263pdec_finalize (GObject * object);
-
-static GstFlowReturn gst_rtph263pdec_chain (GstPad * pad, GstBuffer * buffer);
-
-static void gst_rtph263pdec_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec);
-static void gst_rtph263pdec_get_property (GObject * object, guint prop_id,
-    GValue * value, GParamSpec * pspec);
-
-static GstStateChangeReturn gst_rtph263pdec_change_state (GstElement *
-    element, GstStateChange transition);
-
-static GstElementClass *parent_class = NULL;
-
-static GType
-gst_rtph263pdec_get_type (void)
-{
-  static GType rtph263pdec_type = 0;
-
-  if (!rtph263pdec_type) {
-    static const GTypeInfo rtph263pdec_info = {
-      sizeof (GstRtpH263PDecClass),
-      (GBaseInitFunc) gst_rtph263pdec_base_init,
-      NULL,
-      (GClassInitFunc) gst_rtph263pdec_class_init,
-      NULL,
-      NULL,
-      sizeof (GstRtpH263PDec),
-      0,
-      (GInstanceInitFunc) gst_rtph263pdec_init,
-    };
-
-    rtph263pdec_type =
-        g_type_register_static (GST_TYPE_ELEMENT, "GstRtpH263PDec",
-        &rtph263pdec_info, 0);
-  }
-  return rtph263pdec_type;
-}
-
-static void
-gst_rtph263pdec_base_init (GstRtpH263PDecClass * klass)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtph263pdec_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtph263pdec_sink_template));
-
-  gst_element_class_set_details (element_class, &gst_rtp_h263pdec_details);
-}
-
-static void
-gst_rtph263pdec_class_init (GstRtpH263PDecClass * klass)
-{
-  GObjectClass *gobject_class;
-  GstElementClass *gstelement_class;
-
-  gobject_class = (GObjectClass *) klass;
-  gstelement_class = (GstElementClass *) klass;
-
-  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
-
-  gobject_class->finalize = gst_rtph263pdec_finalize;
-
-  gobject_class->set_property = gst_rtph263pdec_set_property;
-  gobject_class->get_property = gst_rtph263pdec_get_property;
-
-  gstelement_class->change_state = gst_rtph263pdec_change_state;
-}
-
-static void
-gst_rtph263pdec_init (GstRtpH263PDec * rtph263pdec)
-{
-  rtph263pdec->srcpad =
-      gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtph263pdec_src_template), "src");
-  gst_element_add_pad (GST_ELEMENT (rtph263pdec), rtph263pdec->srcpad);
-
-  rtph263pdec->sinkpad =
-      gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtph263pdec_sink_template), "sink");
-  gst_pad_set_chain_function (rtph263pdec->sinkpad, gst_rtph263pdec_chain);
-  gst_element_add_pad (GST_ELEMENT (rtph263pdec), rtph263pdec->sinkpad);
-
-  rtph263pdec->adapter = gst_adapter_new ();
-}
-
-static void
-gst_rtph263pdec_finalize (GObject * object)
-{
-  GstRtpH263PDec *rtph263pdec;
-
-  rtph263pdec = GST_RTP_H263P_DEC (object);
-
-  g_object_unref (rtph263pdec->adapter);
-  rtph263pdec->adapter = NULL;
-
-  G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-static GstFlowReturn
-gst_rtph263pdec_chain (GstPad * pad, GstBuffer * buf)
-{
-  GstRtpH263PDec *rtph263pdec;
-  GstBuffer *outbuf;
-  GstFlowReturn ret;
-
-  /* GstRTPPayload pt; */
-
-  rtph263pdec = GST_RTP_H263P_DEC (GST_OBJECT_PARENT (pad));
-
-  if (!gst_rtpbuffer_validate (buf))
-    goto bad_packet;
-
-  /*
-     if ((pt = gst_rtpbuffer_get_payload_type (buf)) != 0)
-     goto bad_payload;
-   */
-
-  {
-    gint payload_len;
-    guint8 *payload;
-    gboolean P, V, M;
-    guint32 timestamp;
-    guint header_len;
-    guint8 PLEN;
-
-    payload_len = gst_rtpbuffer_get_payload_len (buf);
-    payload = gst_rtpbuffer_get_payload (buf);
-
-    header_len = 2;
-
-    M = gst_rtpbuffer_get_marker (buf);
-    P = (payload[0] & 0x04) == 0x04;
-    V = (payload[0] & 0x02) == 0x02;
-    PLEN = ((payload[0] & 0x1) << 5) | (payload[1] >> 3);
-
-    if (V) {
-      header_len++;
-    }
-    if (PLEN) {
-      header_len += PLEN;
-    }
-
-    if (P) {
-      header_len -= 2;
-      payload[header_len] = 0;
-      payload[header_len + 1] = 0;
-    }
-
-    /* strip off header */
-    payload += header_len;
-    payload_len -= header_len;
-
-    timestamp = gst_rtpbuffer_get_timestamp (buf);
-
-    if (M) {
-      /* frame is completed: append to previous, push it out */
-      guint avail;
-      guint8 *data;
-
-      avail = gst_adapter_available (rtph263pdec->adapter);
-
-      outbuf = gst_buffer_new_and_alloc (avail + payload_len);
-
-      /* prepend previous data */
-      if (avail > 0) {
-        data = (guint8 *) gst_adapter_peek (rtph263pdec->adapter, avail);
-        memcpy (GST_BUFFER_DATA (outbuf), data, avail);
-        gst_adapter_flush (rtph263pdec->adapter, avail);
-      }
-      memcpy (GST_BUFFER_DATA (outbuf) + avail, payload, payload_len);
-
-      GST_BUFFER_TIMESTAMP (outbuf) = timestamp * GST_SECOND / 90000;
-      gst_buffer_set_caps (outbuf,
-          (GstCaps *) gst_pad_get_pad_template_caps (rtph263pdec->srcpad));
-
-      ret = gst_pad_push (rtph263pdec->srcpad, outbuf);
-    } else {
-      /* frame not completed: store in adapter */
-      outbuf = gst_buffer_new_and_alloc (payload_len);
-
-      memcpy (GST_BUFFER_DATA (outbuf), payload, payload_len);
-
-      gst_adapter_push (rtph263pdec->adapter, outbuf);
-
-      ret = GST_FLOW_OK;
-    }
-
-    gst_buffer_unref (buf);
-  }
-
-  return ret;
-
-bad_packet:
-  {
-    GST_DEBUG ("Packet does not validate");
-    gst_buffer_unref (buf);
-    return GST_FLOW_ERROR;
-  }
-  /*
-     bad_payload:
-     {
-     GST_DEBUG ("Unexpected payload type %u", pt);
-
-     gst_buffer_unref (buf);
-     return GST_FLOW_ERROR;
-     }
-   */
-}
-
-static void
-gst_rtph263pdec_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec)
-{
-  GstRtpH263PDec *rtph263pdec;
-
-  rtph263pdec = GST_RTP_H263P_DEC (object);
-
-  switch (prop_id) {
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-}
-
-static void
-gst_rtph263pdec_get_property (GObject * object, guint prop_id, GValue * value,
-    GParamSpec * pspec)
-{
-  GstRtpH263PDec *rtph263pdec;
-
-  rtph263pdec = GST_RTP_H263P_DEC (object);
-
-  switch (prop_id) {
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-}
-
-static GstStateChangeReturn
-gst_rtph263pdec_change_state (GstElement * element, GstStateChange transition)
-{
-  GstRtpH263PDec *rtph263pdec;
-  GstStateChangeReturn ret;
-
-  rtph263pdec = GST_RTP_H263P_DEC (element);
-
-  switch (transition) {
-    case GST_STATE_CHANGE_NULL_TO_READY:
-      break;
-    case GST_STATE_CHANGE_READY_TO_PAUSED:
-      gst_adapter_clear (rtph263pdec->adapter);
-      break;
-    default:
-      break;
-  }
-
-  ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
-
-  switch (transition) {
-    case GST_STATE_CHANGE_READY_TO_NULL:
-      break;
-    default:
-      break;
-  }
-  return ret;
-}
-
-gboolean
-gst_rtph263pdec_plugin_init (GstPlugin * plugin)
-{
-  return gst_element_register (plugin, "rtph263pdec",
-      GST_RANK_NONE, GST_TYPE_RTP_H263P_DEC);
-}
diff --git a/gst/rtp/gstrtph263pdec.h b/gst/rtp/gstrtph263pdec.h
deleted file mode 100644
index c7bbc74..0000000
--- a/gst/rtp/gstrtph263pdec.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Gnome-Streamer
- * Copyright (C) <2005> Wim Taymans <wim@fluendo.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GST_RTP_H263P_DEC_H__
-#define __GST_RTP_H263P_DEC_H__
-
-#include <gst/gst.h>
-#include <gst/base/gstadapter.h>
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_RTP_H263P_DEC \
-  (gst_rtph263pdec_get_type())
-#define GST_RTP_H263P_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_H263P_DEC,GstRtpH263PDec))
-#define GST_RTP_H263P_DEC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_H263P_DEC,GstRtpH263PDec))
-#define GST_IS_RTP_H263P_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_H263P_DEC))
-#define GST_IS_RTP_H263P_DEC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_H263P_DEC))
-
-typedef struct _GstRtpH263PDec GstRtpH263PDec;
-typedef struct _GstRtpH263PDecClass GstRtpH263PDecClass;
-
-struct _GstRtpH263PDec
-{
-  GstElement element;
-
-  GstPad *sinkpad;
-  GstPad *srcpad;
-
-  GstAdapter *adapter;
-
-  guint frequency;
-};
-
-struct _GstRtpH263PDecClass
-{
-  GstElementClass parent_class;
-};
-
-gboolean gst_rtph263pdec_plugin_init (GstPlugin * plugin);
-
-G_END_DECLS
-
-#endif /* __GST_RTP_H263P_DEC_H__ */
diff --git a/gst/rtp/gstrtph263pdepay.c b/gst/rtp/gstrtph263pdepay.c
index 4a7467b..7b6925e 100644
--- a/gst/rtp/gstrtph263pdepay.c
+++ b/gst/rtp/gstrtph263pdepay.c
@@ -19,17 +19,17 @@
 #include <string.h>
 
 #include <gst/rtp/gstrtpbuffer.h>
-#include "gstrtph263pdec.h"
+#include "gstrtph263pdepay.h"
 
 /* elementfactory information */
-static GstElementDetails gst_rtp_h263pdec_details = {
+static GstElementDetails gst_rtp_h263pdepay_details = {
   "RTP packet parser",
   "Codec/Parser/Network",
   "Extracts H263+ video from RTP packets (RFC 2429)",
   "Wim Taymans <wim@fluendo.com>"
 };
 
-/* RtpH263PDec signals and args */
+/* RtpH263PDepay signals and args */
 enum
 {
   /* FILL ME */
@@ -42,14 +42,14 @@
   ARG_FREQUENCY
 };
 
-static GstStaticPadTemplate gst_rtph263pdec_src_template =
+static GstStaticPadTemplate gst_rtp_h263p_depay_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("video/x-h263")
     );
 
-static GstStaticPadTemplate gst_rtph263pdec_sink_template =
+static GstStaticPadTemplate gst_rtp_h263p_depay_sink_template =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
@@ -60,63 +60,64 @@
     );
 
 
-static void gst_rtph263pdec_class_init (GstRtpH263PDecClass * klass);
-static void gst_rtph263pdec_base_init (GstRtpH263PDecClass * klass);
-static void gst_rtph263pdec_init (GstRtpH263PDec * rtph263pdec);
-static void gst_rtph263pdec_finalize (GObject * object);
+static void gst_rtp_h263p_depay_class_init (GstRtpH263PDepayClass * klass);
+static void gst_rtp_h263p_depay_base_init (GstRtpH263PDepayClass * klass);
+static void gst_rtp_h263p_depay_init (GstRtpH263PDepay * rtph263pdepay);
+static void gst_rtp_h263p_depay_finalize (GObject * object);
 
-static GstFlowReturn gst_rtph263pdec_chain (GstPad * pad, GstBuffer * buffer);
+static GstFlowReturn gst_rtp_h263p_depay_chain (GstPad * pad,
+    GstBuffer * buffer);
 
-static void gst_rtph263pdec_set_property (GObject * object, guint prop_id,
+static void gst_rtp_h263p_depay_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec);
-static void gst_rtph263pdec_get_property (GObject * object, guint prop_id,
+static void gst_rtp_h263p_depay_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec);
 
-static GstStateChangeReturn gst_rtph263pdec_change_state (GstElement *
+static GstStateChangeReturn gst_rtp_h263p_depay_change_state (GstElement *
     element, GstStateChange transition);
 
 static GstElementClass *parent_class = NULL;
 
 static GType
-gst_rtph263pdec_get_type (void)
+gst_rtp_h263p_depay_get_type (void)
 {
-  static GType rtph263pdec_type = 0;
+  static GType rtph263pdepay_type = 0;
 
-  if (!rtph263pdec_type) {
-    static const GTypeInfo rtph263pdec_info = {
-      sizeof (GstRtpH263PDecClass),
-      (GBaseInitFunc) gst_rtph263pdec_base_init,
+  if (!rtph263pdepay_type) {
+    static const GTypeInfo rtph263pdepay_info = {
+      sizeof (GstRtpH263PDepayClass),
+      (GBaseInitFunc) gst_rtp_h263p_depay_base_init,
       NULL,
-      (GClassInitFunc) gst_rtph263pdec_class_init,
+      (GClassInitFunc) gst_rtp_h263p_depay_class_init,
       NULL,
       NULL,
-      sizeof (GstRtpH263PDec),
+      sizeof (GstRtpH263PDepay),
       0,
-      (GInstanceInitFunc) gst_rtph263pdec_init,
+      (GInstanceInitFunc) gst_rtp_h263p_depay_init,
     };
 
-    rtph263pdec_type =
-        g_type_register_static (GST_TYPE_ELEMENT, "GstRtpH263PDec",
-        &rtph263pdec_info, 0);
+    rtph263pdepay_type =
+        g_type_register_static (GST_TYPE_ELEMENT, "GstRtpH263PDepay",
+        &rtph263pdepay_info, 0);
   }
-  return rtph263pdec_type;
+  return rtph263pdepay_type;
 }
 
 static void
-gst_rtph263pdec_base_init (GstRtpH263PDecClass * klass)
+gst_rtp_h263p_depay_base_init (GstRtpH263PDepayClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtph263pdec_src_template));
+      gst_static_pad_template_get (&gst_rtp_h263p_depay_src_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtph263pdec_sink_template));
+      gst_static_pad_template_get (&gst_rtp_h263p_depay_sink_template));
 
-  gst_element_class_set_details (element_class, &gst_rtp_h263pdec_details);
+  gst_element_class_set_details (element_class, &gst_rtp_h263pdepay_details);
 }
 
 static void
-gst_rtph263pdec_class_init (GstRtpH263PDecClass * klass)
+gst_rtp_h263p_depay_class_init (GstRtpH263PDepayClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -126,60 +127,61 @@
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
-  gobject_class->finalize = gst_rtph263pdec_finalize;
+  gobject_class->finalize = gst_rtp_h263p_depay_finalize;
 
-  gobject_class->set_property = gst_rtph263pdec_set_property;
-  gobject_class->get_property = gst_rtph263pdec_get_property;
+  gobject_class->set_property = gst_rtp_h263p_depay_set_property;
+  gobject_class->get_property = gst_rtp_h263p_depay_get_property;
 
-  gstelement_class->change_state = gst_rtph263pdec_change_state;
+  gstelement_class->change_state = gst_rtp_h263p_depay_change_state;
 }
 
 static void
-gst_rtph263pdec_init (GstRtpH263PDec * rtph263pdec)
+gst_rtp_h263p_depay_init (GstRtpH263PDepay * rtph263pdepay)
 {
-  rtph263pdec->srcpad =
+  rtph263pdepay->srcpad =
       gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtph263pdec_src_template), "src");
-  gst_element_add_pad (GST_ELEMENT (rtph263pdec), rtph263pdec->srcpad);
+      (&gst_rtp_h263p_depay_src_template), "src");
+  gst_element_add_pad (GST_ELEMENT (rtph263pdepay), rtph263pdepay->srcpad);
 
-  rtph263pdec->sinkpad =
+  rtph263pdepay->sinkpad =
       gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtph263pdec_sink_template), "sink");
-  gst_pad_set_chain_function (rtph263pdec->sinkpad, gst_rtph263pdec_chain);
-  gst_element_add_pad (GST_ELEMENT (rtph263pdec), rtph263pdec->sinkpad);
+      (&gst_rtp_h263p_depay_sink_template), "sink");
+  gst_pad_set_chain_function (rtph263pdepay->sinkpad,
+      gst_rtp_h263p_depay_chain);
+  gst_element_add_pad (GST_ELEMENT (rtph263pdepay), rtph263pdepay->sinkpad);
 
-  rtph263pdec->adapter = gst_adapter_new ();
+  rtph263pdepay->adapter = gst_adapter_new ();
 }
 
 static void
-gst_rtph263pdec_finalize (GObject * object)
+gst_rtp_h263p_depay_finalize (GObject * object)
 {
-  GstRtpH263PDec *rtph263pdec;
+  GstRtpH263PDepay *rtph263pdepay;
 
-  rtph263pdec = GST_RTP_H263P_DEC (object);
+  rtph263pdepay = GST_RTP_H263P_DEPAY (object);
 
-  g_object_unref (rtph263pdec->adapter);
-  rtph263pdec->adapter = NULL;
+  g_object_unref (rtph263pdepay->adapter);
+  rtph263pdepay->adapter = NULL;
 
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
 static GstFlowReturn
-gst_rtph263pdec_chain (GstPad * pad, GstBuffer * buf)
+gst_rtp_h263p_depay_chain (GstPad * pad, GstBuffer * buf)
 {
-  GstRtpH263PDec *rtph263pdec;
+  GstRtpH263PDepay *rtph263pdepay;
   GstBuffer *outbuf;
   GstFlowReturn ret;
 
   /* GstRTPPayload pt; */
 
-  rtph263pdec = GST_RTP_H263P_DEC (GST_OBJECT_PARENT (pad));
+  rtph263pdepay = GST_RTP_H263P_DEPAY (GST_OBJECT_PARENT (pad));
 
-  if (!gst_rtpbuffer_validate (buf))
+  if (!gst_rtp_buffer_validate (buf))
     goto bad_packet;
 
   /*
-     if ((pt = gst_rtpbuffer_get_payload_type (buf)) != 0)
+     if ((pt = gst_rtp_buffer_get_payload_type (buf)) != 0)
      goto bad_payload;
    */
 
@@ -191,12 +193,12 @@
     guint header_len;
     guint8 PLEN;
 
-    payload_len = gst_rtpbuffer_get_payload_len (buf);
-    payload = gst_rtpbuffer_get_payload (buf);
+    payload_len = gst_rtp_buffer_get_payload_len (buf);
+    payload = gst_rtp_buffer_get_payload (buf);
 
     header_len = 2;
 
-    M = gst_rtpbuffer_get_marker (buf);
+    M = gst_rtp_buffer_get_marker (buf);
     P = (payload[0] & 0x04) == 0x04;
     V = (payload[0] & 0x02) == 0x02;
     PLEN = ((payload[0] & 0x1) << 5) | (payload[1] >> 3);
@@ -218,37 +220,37 @@
     payload += header_len;
     payload_len -= header_len;
 
-    timestamp = gst_rtpbuffer_get_timestamp (buf);
+    timestamp = gst_rtp_buffer_get_timestamp (buf);
 
     if (M) {
       /* frame is completed: append to previous, push it out */
       guint avail;
       guint8 *data;
 
-      avail = gst_adapter_available (rtph263pdec->adapter);
+      avail = gst_adapter_available (rtph263pdepay->adapter);
 
       outbuf = gst_buffer_new_and_alloc (avail + payload_len);
 
       /* prepend previous data */
       if (avail > 0) {
-        data = (guint8 *) gst_adapter_peek (rtph263pdec->adapter, avail);
+        data = (guint8 *) gst_adapter_peek (rtph263pdepay->adapter, avail);
         memcpy (GST_BUFFER_DATA (outbuf), data, avail);
-        gst_adapter_flush (rtph263pdec->adapter, avail);
+        gst_adapter_flush (rtph263pdepay->adapter, avail);
       }
       memcpy (GST_BUFFER_DATA (outbuf) + avail, payload, payload_len);
 
       GST_BUFFER_TIMESTAMP (outbuf) = timestamp * GST_SECOND / 90000;
       gst_buffer_set_caps (outbuf,
-          (GstCaps *) gst_pad_get_pad_template_caps (rtph263pdec->srcpad));
+          (GstCaps *) gst_pad_get_pad_template_caps (rtph263pdepay->srcpad));
 
-      ret = gst_pad_push (rtph263pdec->srcpad, outbuf);
+      ret = gst_pad_push (rtph263pdepay->srcpad, outbuf);
     } else {
       /* frame not completed: store in adapter */
       outbuf = gst_buffer_new_and_alloc (payload_len);
 
       memcpy (GST_BUFFER_DATA (outbuf), payload, payload_len);
 
-      gst_adapter_push (rtph263pdec->adapter, outbuf);
+      gst_adapter_push (rtph263pdepay->adapter, outbuf);
 
       ret = GST_FLOW_OK;
     }
@@ -276,12 +278,12 @@
 }
 
 static void
-gst_rtph263pdec_set_property (GObject * object, guint prop_id,
+gst_rtp_h263p_depay_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec)
 {
-  GstRtpH263PDec *rtph263pdec;
+  GstRtpH263PDepay *rtph263pdepay;
 
-  rtph263pdec = GST_RTP_H263P_DEC (object);
+  rtph263pdepay = GST_RTP_H263P_DEPAY (object);
 
   switch (prop_id) {
     default:
@@ -291,12 +293,12 @@
 }
 
 static void
-gst_rtph263pdec_get_property (GObject * object, guint prop_id, GValue * value,
-    GParamSpec * pspec)
+gst_rtp_h263p_depay_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
 {
-  GstRtpH263PDec *rtph263pdec;
+  GstRtpH263PDepay *rtph263pdepay;
 
-  rtph263pdec = GST_RTP_H263P_DEC (object);
+  rtph263pdepay = GST_RTP_H263P_DEPAY (object);
 
   switch (prop_id) {
     default:
@@ -306,18 +308,19 @@
 }
 
 static GstStateChangeReturn
-gst_rtph263pdec_change_state (GstElement * element, GstStateChange transition)
+gst_rtp_h263p_depay_change_state (GstElement * element,
+    GstStateChange transition)
 {
-  GstRtpH263PDec *rtph263pdec;
+  GstRtpH263PDepay *rtph263pdepay;
   GstStateChangeReturn ret;
 
-  rtph263pdec = GST_RTP_H263P_DEC (element);
+  rtph263pdepay = GST_RTP_H263P_DEPAY (element);
 
   switch (transition) {
     case GST_STATE_CHANGE_NULL_TO_READY:
       break;
     case GST_STATE_CHANGE_READY_TO_PAUSED:
-      gst_adapter_clear (rtph263pdec->adapter);
+      gst_adapter_clear (rtph263pdepay->adapter);
       break;
     default:
       break;
@@ -335,8 +338,8 @@
 }
 
 gboolean
-gst_rtph263pdec_plugin_init (GstPlugin * plugin)
+gst_rtp_h263p_depay_plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "rtph263pdec",
-      GST_RANK_NONE, GST_TYPE_RTP_H263P_DEC);
+  return gst_element_register (plugin, "rtph263pdepay",
+      GST_RANK_NONE, GST_TYPE_RTP_H263P_DEPAY);
 }
diff --git a/gst/rtp/gstrtph263pdepay.h b/gst/rtp/gstrtph263pdepay.h
index c7bbc74..942c98b 100644
--- a/gst/rtp/gstrtph263pdepay.h
+++ b/gst/rtp/gstrtph263pdepay.h
@@ -17,29 +17,29 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#ifndef __GST_RTP_H263P_DEC_H__
-#define __GST_RTP_H263P_DEC_H__
+#ifndef __GST_RTP_H263P_DEPAY_H__
+#define __GST_RTP_H263P_DEPAY_H__
 
 #include <gst/gst.h>
 #include <gst/base/gstadapter.h>
 
 G_BEGIN_DECLS
 
-#define GST_TYPE_RTP_H263P_DEC \
-  (gst_rtph263pdec_get_type())
-#define GST_RTP_H263P_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_H263P_DEC,GstRtpH263PDec))
-#define GST_RTP_H263P_DEC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_H263P_DEC,GstRtpH263PDec))
-#define GST_IS_RTP_H263P_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_H263P_DEC))
-#define GST_IS_RTP_H263P_DEC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_H263P_DEC))
+#define GST_TYPE_RTP_H263P_DEPAY \
+  (gst_rtp_h263p_depay_get_type())
+#define GST_RTP_H263P_DEPAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_H263P_DEPAY,GstRtpH263PDepay))
+#define GST_RTP_H263P_DEPAY_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_H263P_DEPAY,GstRtpH263PDepay))
+#define GST_IS_RTP_H263P_DEPAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_H263P_DEPAY))
+#define GST_IS_RTP_H263P_DEPAY_CLASS(obj) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_H263P_DEPAY))
 
-typedef struct _GstRtpH263PDec GstRtpH263PDec;
-typedef struct _GstRtpH263PDecClass GstRtpH263PDecClass;
+typedef struct _GstRtpH263PDepay GstRtpH263PDepay;
+typedef struct _GstRtpH263PDepayClass GstRtpH263PDepayClass;
 
-struct _GstRtpH263PDec
+struct _GstRtpH263PDepay
 {
   GstElement element;
 
@@ -51,13 +51,13 @@
   guint frequency;
 };
 
-struct _GstRtpH263PDecClass
+struct _GstRtpH263PDepayClass
 {
   GstElementClass parent_class;
 };
 
-gboolean gst_rtph263pdec_plugin_init (GstPlugin * plugin);
+gboolean gst_rtp_h263p_depay_plugin_init (GstPlugin * plugin);
 
 G_END_DECLS
 
-#endif /* __GST_RTP_H263P_DEC_H__ */
+#endif /* __GST_RTP_H263P_DEPAY_H__ */
diff --git a/gst/rtp/gstrtph263penc.c b/gst/rtp/gstrtph263penc.c
deleted file mode 100644
index c140249..0000000
--- a/gst/rtp/gstrtph263penc.c
+++ /dev/null
@@ -1,232 +0,0 @@
-/* GStreamer
- * Copyright (C) <2005> Wim Taymans <wim@fluendo.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more 
- */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include <string.h>
-
-#include <gst/rtp/gstrtpbuffer.h>
-
-#include "gstrtph263penc.h"
-
-/* elementfactory information */
-static GstElementDetails gst_rtp_h263penc_details = {
-  "RTP packet parser",
-  "Codec/Encoder/Network",
-  "Encodes H263+ video in RTP packets (RFC 2429)",
-  "Wim Taymans <wim@fluendo.com>"
-};
-
-static GstStaticPadTemplate gst_rtph263penc_sink_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("video/x-h263")
-    );
-
-static GstStaticPadTemplate gst_rtph263penc_src_template =
-GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-rtp, "
-        "media = (string) \"video\", "
-        "payload = (int) [ 96, 255 ], "
-        "clock-rate = (int) 90000, " "encoding-name = (string) \"H263-1998\"")
-    );
-
-static void gst_rtph263penc_class_init (GstRtpH263PEncClass * klass);
-static void gst_rtph263penc_base_init (GstRtpH263PEncClass * klass);
-static void gst_rtph263penc_init (GstRtpH263PEnc * rtph263penc);
-static void gst_rtph263penc_finalize (GObject * object);
-
-static gboolean gst_rtph263penc_setcaps (GstBaseRTPPayload * payload,
-    GstCaps * caps);
-static GstFlowReturn gst_rtph263penc_handle_buffer (GstBaseRTPPayload * payload,
-    GstBuffer * buffer);
-
-static GstBaseRTPPayloadClass *parent_class = NULL;
-
-static GType
-gst_rtph263penc_get_type (void)
-{
-  static GType rtph263penc_type = 0;
-
-  if (!rtph263penc_type) {
-    static const GTypeInfo rtph263penc_info = {
-      sizeof (GstRtpH263PEncClass),
-      (GBaseInitFunc) gst_rtph263penc_base_init,
-      NULL,
-      (GClassInitFunc) gst_rtph263penc_class_init,
-      NULL,
-      NULL,
-      sizeof (GstRtpH263PEnc),
-      0,
-      (GInstanceInitFunc) gst_rtph263penc_init,
-    };
-
-    rtph263penc_type =
-        g_type_register_static (GST_TYPE_BASE_RTP_PAYLOAD, "GstRtpH263PEnc",
-        &rtph263penc_info, 0);
-  }
-  return rtph263penc_type;
-}
-
-static void
-gst_rtph263penc_base_init (GstRtpH263PEncClass * klass)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtph263penc_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtph263penc_sink_template));
-
-  gst_element_class_set_details (element_class, &gst_rtp_h263penc_details);
-}
-
-static void
-gst_rtph263penc_class_init (GstRtpH263PEncClass * klass)
-{
-  GObjectClass *gobject_class;
-  GstElementClass *gstelement_class;
-  GstBaseRTPPayloadClass *gstbasertppayload_class;
-
-  gobject_class = (GObjectClass *) klass;
-  gstelement_class = (GstElementClass *) klass;
-  gstbasertppayload_class = (GstBaseRTPPayloadClass *) klass;
-
-  parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_PAYLOAD);
-
-  gobject_class->finalize = gst_rtph263penc_finalize;
-
-  gstbasertppayload_class->set_caps = gst_rtph263penc_setcaps;
-  gstbasertppayload_class->handle_buffer = gst_rtph263penc_handle_buffer;
-}
-
-static void
-gst_rtph263penc_init (GstRtpH263PEnc * rtph263penc)
-{
-  rtph263penc->adapter = gst_adapter_new ();
-}
-
-static void
-gst_rtph263penc_finalize (GObject * object)
-{
-  GstRtpH263PEnc *rtph263penc;
-
-  rtph263penc = GST_RTP_H263P_ENC (object);
-
-  g_object_unref (rtph263penc->adapter);
-  rtph263penc->adapter = NULL;
-
-  G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-static gboolean
-gst_rtph263penc_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
-{
-  gst_basertppayload_set_options (payload, "video", TRUE, "H263-1998", 90000);
-  gst_basertppayload_set_outcaps (payload, NULL);
-
-  return TRUE;
-}
-
-
-static GstFlowReturn
-gst_rtph263penc_flush (GstRtpH263PEnc * rtph263penc)
-{
-  guint avail;
-  GstBuffer *outbuf;
-  GstFlowReturn ret;
-  gboolean fragmented;
-
-  avail = gst_adapter_available (rtph263penc->adapter);
-  if (avail == 0)
-    return GST_FLOW_OK;
-
-  fragmented = FALSE;
-
-  while (avail > 0) {
-    guint towrite;
-    guint8 *payload;
-    guint8 *data;
-    guint payload_len;
-    gint header_len;
-
-    /* FIXME, do better mtu packing, header len etc should be
-     * included in this calculation. */
-    towrite = MIN (avail, GST_BASE_RTP_PAYLOAD_MTU (rtph263penc));
-    /* for fragmented frames we need 2 bytes header, for other
-     * frames we must reuse the first 2 bytes of the data as the
-     * header */
-    header_len = (fragmented ? 2 : 0);
-    payload_len = header_len + towrite;
-
-    outbuf = gst_rtpbuffer_new_allocate (payload_len, 0, 0);
-    /* last fragment gets the marker bit set */
-    gst_rtpbuffer_set_marker (outbuf, avail > towrite ? 0 : 1);
-
-    payload = gst_rtpbuffer_get_payload (outbuf);
-
-    data = (guint8 *) gst_adapter_peek (rtph263penc->adapter, towrite);
-    memcpy (&payload[header_len], data, towrite);
-
-    /*  0                   1
-     *  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
-     * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-     * |   RR    |P|V|   PLEN    |PEBIT|
-     * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-     */
-    payload[0] = fragmented ? 0x00 : 0x04;
-    payload[1] = 0;
-
-    GST_BUFFER_TIMESTAMP (outbuf) = rtph263penc->first_ts;
-    gst_adapter_flush (rtph263penc->adapter, towrite);
-
-    ret = gst_basertppayload_push (GST_BASE_RTP_PAYLOAD (rtph263penc), outbuf);
-
-    avail -= towrite;
-    fragmented = TRUE;
-  }
-
-  return ret;
-}
-
-static GstFlowReturn
-gst_rtph263penc_handle_buffer (GstBaseRTPPayload * payload, GstBuffer * buffer)
-{
-  GstRtpH263PEnc *rtph263penc;
-  GstFlowReturn ret;
-  guint size;
-
-  rtph263penc = GST_RTP_H263P_ENC (payload);
-
-  size = GST_BUFFER_SIZE (buffer);
-  rtph263penc->first_ts = GST_BUFFER_TIMESTAMP (buffer);
-
-  /* we always encode and flush a full picture */
-  gst_adapter_push (rtph263penc->adapter, buffer);
-  ret = gst_rtph263penc_flush (rtph263penc);
-
-  return ret;
-}
-
-gboolean
-gst_rtph263penc_plugin_init (GstPlugin * plugin)
-{
-  return gst_element_register (plugin, "rtph263penc",
-      GST_RANK_NONE, GST_TYPE_RTP_H263P_ENC);
-}
diff --git a/gst/rtp/gstrtph263penc.h b/gst/rtp/gstrtph263penc.h
deleted file mode 100644
index 409e2eb..0000000
--- a/gst/rtp/gstrtph263penc.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Gnome-Streamer
- * Copyright (C) <2005> Wim Taymans <wim@fluendo.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GST_RTP_H263P_ENC_H__
-#define __GST_RTP_H263P_ENC_H__
-
-#include <gst/gst.h>
-#include <gst/rtp/gstbasertppayload.h>
-#include <gst/base/gstadapter.h>
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_RTP_H263P_ENC \
-  (gst_rtph263penc_get_type())
-#define GST_RTP_H263P_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_H263P_ENC,GstRtpH263PEnc))
-#define GST_RTP_H263P_ENC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_H263P_ENC,GstRtpH263PEnc))
-#define GST_IS_RTP_H263P_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_H263P_ENC))
-#define GST_IS_RTP_H263P_ENC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_H263P_ENC))
-
-typedef struct _GstRtpH263PEnc GstRtpH263PEnc;
-typedef struct _GstRtpH263PEncClass GstRtpH263PEncClass;
-
-struct _GstRtpH263PEnc
-{
-  GstBaseRTPPayload payload;
-
-  GstAdapter *adapter;
-  GstClockTime first_ts;
-};
-
-struct _GstRtpH263PEncClass
-{
-  GstBaseRTPPayloadClass parent_class;
-};
-
-gboolean gst_rtph263penc_plugin_init (GstPlugin * plugin);
-
-G_END_DECLS
-
-#endif /* __GST_RTP_H263P_ENC_H__ */
diff --git a/gst/rtp/gstrtph263ppay.c b/gst/rtp/gstrtph263ppay.c
index c140249..c2ee2ea 100644
--- a/gst/rtp/gstrtph263ppay.c
+++ b/gst/rtp/gstrtph263ppay.c
@@ -20,24 +20,24 @@
 
 #include <gst/rtp/gstrtpbuffer.h>
 
-#include "gstrtph263penc.h"
+#include "gstrtph263ppay.h"
 
 /* elementfactory information */
-static GstElementDetails gst_rtp_h263penc_details = {
+static GstElementDetails gst_rtp_h263ppay_details = {
   "RTP packet parser",
-  "Codec/Encoder/Network",
-  "Encodes H263+ video in RTP packets (RFC 2429)",
+  "Codec/Payloader/Network",
+  "Payodes H263+ video in RTP packets (RFC 2429)",
   "Wim Taymans <wim@fluendo.com>"
 };
 
-static GstStaticPadTemplate gst_rtph263penc_sink_template =
+static GstStaticPadTemplate gst_rtp_h263p_pay_sink_template =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("video/x-h263")
     );
 
-static GstStaticPadTemplate gst_rtph263penc_src_template =
+static GstStaticPadTemplate gst_rtp_h263p_pay_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
@@ -47,58 +47,58 @@
         "clock-rate = (int) 90000, " "encoding-name = (string) \"H263-1998\"")
     );
 
-static void gst_rtph263penc_class_init (GstRtpH263PEncClass * klass);
-static void gst_rtph263penc_base_init (GstRtpH263PEncClass * klass);
-static void gst_rtph263penc_init (GstRtpH263PEnc * rtph263penc);
-static void gst_rtph263penc_finalize (GObject * object);
+static void gst_rtp_h263p_pay_class_init (GstRtpH263PPayClass * klass);
+static void gst_rtp_h263p_pay_base_init (GstRtpH263PPayClass * klass);
+static void gst_rtp_h263p_pay_init (GstRtpH263PPay * rtph263ppay);
+static void gst_rtp_h263p_pay_finalize (GObject * object);
 
-static gboolean gst_rtph263penc_setcaps (GstBaseRTPPayload * payload,
+static gboolean gst_rtp_h263p_pay_setcaps (GstBaseRTPPayload * payload,
     GstCaps * caps);
-static GstFlowReturn gst_rtph263penc_handle_buffer (GstBaseRTPPayload * payload,
-    GstBuffer * buffer);
+static GstFlowReturn gst_rtp_h263p_pay_handle_buffer (GstBaseRTPPayload *
+    payload, GstBuffer * buffer);
 
 static GstBaseRTPPayloadClass *parent_class = NULL;
 
 static GType
-gst_rtph263penc_get_type (void)
+gst_rtp_h263p_pay_get_type (void)
 {
-  static GType rtph263penc_type = 0;
+  static GType rtph263ppay_type = 0;
 
-  if (!rtph263penc_type) {
-    static const GTypeInfo rtph263penc_info = {
-      sizeof (GstRtpH263PEncClass),
-      (GBaseInitFunc) gst_rtph263penc_base_init,
+  if (!rtph263ppay_type) {
+    static const GTypeInfo rtph263ppay_info = {
+      sizeof (GstRtpH263PPayClass),
+      (GBaseInitFunc) gst_rtp_h263p_pay_base_init,
       NULL,
-      (GClassInitFunc) gst_rtph263penc_class_init,
+      (GClassInitFunc) gst_rtp_h263p_pay_class_init,
       NULL,
       NULL,
-      sizeof (GstRtpH263PEnc),
+      sizeof (GstRtpH263PPay),
       0,
-      (GInstanceInitFunc) gst_rtph263penc_init,
+      (GInstanceInitFunc) gst_rtp_h263p_pay_init,
     };
 
-    rtph263penc_type =
-        g_type_register_static (GST_TYPE_BASE_RTP_PAYLOAD, "GstRtpH263PEnc",
-        &rtph263penc_info, 0);
+    rtph263ppay_type =
+        g_type_register_static (GST_TYPE_BASE_RTP_PAYLOAD, "GstRtpH263PPay",
+        &rtph263ppay_info, 0);
   }
-  return rtph263penc_type;
+  return rtph263ppay_type;
 }
 
 static void
-gst_rtph263penc_base_init (GstRtpH263PEncClass * klass)
+gst_rtp_h263p_pay_base_init (GstRtpH263PPayClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtph263penc_src_template));
+      gst_static_pad_template_get (&gst_rtp_h263p_pay_src_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtph263penc_sink_template));
+      gst_static_pad_template_get (&gst_rtp_h263p_pay_sink_template));
 
-  gst_element_class_set_details (element_class, &gst_rtp_h263penc_details);
+  gst_element_class_set_details (element_class, &gst_rtp_h263ppay_details);
 }
 
 static void
-gst_rtph263penc_class_init (GstRtpH263PEncClass * klass)
+gst_rtp_h263p_pay_class_init (GstRtpH263PPayClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -110,33 +110,33 @@
 
   parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_PAYLOAD);
 
-  gobject_class->finalize = gst_rtph263penc_finalize;
+  gobject_class->finalize = gst_rtp_h263p_pay_finalize;
 
-  gstbasertppayload_class->set_caps = gst_rtph263penc_setcaps;
-  gstbasertppayload_class->handle_buffer = gst_rtph263penc_handle_buffer;
+  gstbasertppayload_class->set_caps = gst_rtp_h263p_pay_setcaps;
+  gstbasertppayload_class->handle_buffer = gst_rtp_h263p_pay_handle_buffer;
 }
 
 static void
-gst_rtph263penc_init (GstRtpH263PEnc * rtph263penc)
+gst_rtp_h263p_pay_init (GstRtpH263PPay * rtph263ppay)
 {
-  rtph263penc->adapter = gst_adapter_new ();
+  rtph263ppay->adapter = gst_adapter_new ();
 }
 
 static void
-gst_rtph263penc_finalize (GObject * object)
+gst_rtp_h263p_pay_finalize (GObject * object)
 {
-  GstRtpH263PEnc *rtph263penc;
+  GstRtpH263PPay *rtph263ppay;
 
-  rtph263penc = GST_RTP_H263P_ENC (object);
+  rtph263ppay = GST_RTP_H263P_PAY (object);
 
-  g_object_unref (rtph263penc->adapter);
-  rtph263penc->adapter = NULL;
+  g_object_unref (rtph263ppay->adapter);
+  rtph263ppay->adapter = NULL;
 
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
 static gboolean
-gst_rtph263penc_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
+gst_rtp_h263p_pay_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
 {
   gst_basertppayload_set_options (payload, "video", TRUE, "H263-1998", 90000);
   gst_basertppayload_set_outcaps (payload, NULL);
@@ -146,14 +146,14 @@
 
 
 static GstFlowReturn
-gst_rtph263penc_flush (GstRtpH263PEnc * rtph263penc)
+gst_rtp_h263p_pay_flush (GstRtpH263PPay * rtph263ppay)
 {
   guint avail;
   GstBuffer *outbuf;
   GstFlowReturn ret;
   gboolean fragmented;
 
-  avail = gst_adapter_available (rtph263penc->adapter);
+  avail = gst_adapter_available (rtph263ppay->adapter);
   if (avail == 0)
     return GST_FLOW_OK;
 
@@ -168,20 +168,20 @@
 
     /* FIXME, do better mtu packing, header len etc should be
      * included in this calculation. */
-    towrite = MIN (avail, GST_BASE_RTP_PAYLOAD_MTU (rtph263penc));
+    towrite = MIN (avail, GST_BASE_RTP_PAYLOAD_MTU (rtph263ppay));
     /* for fragmented frames we need 2 bytes header, for other
      * frames we must reuse the first 2 bytes of the data as the
      * header */
     header_len = (fragmented ? 2 : 0);
     payload_len = header_len + towrite;
 
-    outbuf = gst_rtpbuffer_new_allocate (payload_len, 0, 0);
+    outbuf = gst_rtp_buffer_new_allocate (payload_len, 0, 0);
     /* last fragment gets the marker bit set */
-    gst_rtpbuffer_set_marker (outbuf, avail > towrite ? 0 : 1);
+    gst_rtp_buffer_set_marker (outbuf, avail > towrite ? 0 : 1);
 
-    payload = gst_rtpbuffer_get_payload (outbuf);
+    payload = gst_rtp_buffer_get_payload (outbuf);
 
-    data = (guint8 *) gst_adapter_peek (rtph263penc->adapter, towrite);
+    data = (guint8 *) gst_adapter_peek (rtph263ppay->adapter, towrite);
     memcpy (&payload[header_len], data, towrite);
 
     /*  0                   1
@@ -193,10 +193,10 @@
     payload[0] = fragmented ? 0x00 : 0x04;
     payload[1] = 0;
 
-    GST_BUFFER_TIMESTAMP (outbuf) = rtph263penc->first_ts;
-    gst_adapter_flush (rtph263penc->adapter, towrite);
+    GST_BUFFER_TIMESTAMP (outbuf) = rtph263ppay->first_ts;
+    gst_adapter_flush (rtph263ppay->adapter, towrite);
 
-    ret = gst_basertppayload_push (GST_BASE_RTP_PAYLOAD (rtph263penc), outbuf);
+    ret = gst_basertppayload_push (GST_BASE_RTP_PAYLOAD (rtph263ppay), outbuf);
 
     avail -= towrite;
     fragmented = TRUE;
@@ -206,27 +206,28 @@
 }
 
 static GstFlowReturn
-gst_rtph263penc_handle_buffer (GstBaseRTPPayload * payload, GstBuffer * buffer)
+gst_rtp_h263p_pay_handle_buffer (GstBaseRTPPayload * payload,
+    GstBuffer * buffer)
 {
-  GstRtpH263PEnc *rtph263penc;
+  GstRtpH263PPay *rtph263ppay;
   GstFlowReturn ret;
   guint size;
 
-  rtph263penc = GST_RTP_H263P_ENC (payload);
+  rtph263ppay = GST_RTP_H263P_PAY (payload);
 
   size = GST_BUFFER_SIZE (buffer);
-  rtph263penc->first_ts = GST_BUFFER_TIMESTAMP (buffer);
+  rtph263ppay->first_ts = GST_BUFFER_TIMESTAMP (buffer);
 
   /* we always encode and flush a full picture */
-  gst_adapter_push (rtph263penc->adapter, buffer);
-  ret = gst_rtph263penc_flush (rtph263penc);
+  gst_adapter_push (rtph263ppay->adapter, buffer);
+  ret = gst_rtp_h263p_pay_flush (rtph263ppay);
 
   return ret;
 }
 
 gboolean
-gst_rtph263penc_plugin_init (GstPlugin * plugin)
+gst_rtp_h263p_pay_plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "rtph263penc",
-      GST_RANK_NONE, GST_TYPE_RTP_H263P_ENC);
+  return gst_element_register (plugin, "rtph263ppay",
+      GST_RANK_NONE, GST_TYPE_RTP_H263P_PAY);
 }
diff --git a/gst/rtp/gstrtph263ppay.h b/gst/rtp/gstrtph263ppay.h
index 409e2eb..76e709f 100644
--- a/gst/rtp/gstrtph263ppay.h
+++ b/gst/rtp/gstrtph263ppay.h
@@ -17,8 +17,8 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#ifndef __GST_RTP_H263P_ENC_H__
-#define __GST_RTP_H263P_ENC_H__
+#ifndef __GST_RTP_H263P_PAY_H__
+#define __GST_RTP_H263P_PAY_H__
 
 #include <gst/gst.h>
 #include <gst/rtp/gstbasertppayload.h>
@@ -26,21 +26,21 @@
 
 G_BEGIN_DECLS
 
-#define GST_TYPE_RTP_H263P_ENC \
-  (gst_rtph263penc_get_type())
-#define GST_RTP_H263P_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_H263P_ENC,GstRtpH263PEnc))
-#define GST_RTP_H263P_ENC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_H263P_ENC,GstRtpH263PEnc))
-#define GST_IS_RTP_H263P_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_H263P_ENC))
-#define GST_IS_RTP_H263P_ENC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_H263P_ENC))
+#define GST_TYPE_RTP_H263P_PAY \
+  (gst_rtp_h263p_pay_get_type())
+#define GST_RTP_H263P_PAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_H263P_PAY,GstRtpH263PPay))
+#define GST_RTP_H263P_PAY_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_H263P_PAY,GstRtpH263PPay))
+#define GST_IS_RTP_H263P_PAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_H263P_PAY))
+#define GST_IS_RTP_H263P_PAY_CLASS(obj) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_H263P_PAY))
 
-typedef struct _GstRtpH263PEnc GstRtpH263PEnc;
-typedef struct _GstRtpH263PEncClass GstRtpH263PEncClass;
+typedef struct _GstRtpH263PPay GstRtpH263PPay;
+typedef struct _GstRtpH263PPayClass GstRtpH263PPayClass;
 
-struct _GstRtpH263PEnc
+struct _GstRtpH263PPay
 {
   GstBaseRTPPayload payload;
 
@@ -48,13 +48,13 @@
   GstClockTime first_ts;
 };
 
-struct _GstRtpH263PEncClass
+struct _GstRtpH263PPayClass
 {
   GstBaseRTPPayloadClass parent_class;
 };
 
-gboolean gst_rtph263penc_plugin_init (GstPlugin * plugin);
+gboolean gst_rtp_h263p_pay_plugin_init (GstPlugin * plugin);
 
 G_END_DECLS
 
-#endif /* __GST_RTP_H263P_ENC_H__ */
+#endif /* __GST_RTP_H263P_PAY_H__ */
diff --git a/gst/rtp/gstrtpmp4vdec.c b/gst/rtp/gstrtpmp4vdec.c
deleted file mode 100644
index 60ee390..0000000
--- a/gst/rtp/gstrtpmp4vdec.c
+++ /dev/null
@@ -1,330 +0,0 @@
-/* GStreamer
- * Copyright (C) <2005> Wim Taymans <wim@fluendo.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more 
- */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include <gst/rtp/gstrtpbuffer.h>
-
-#include <string.h>
-#include "gstrtpmp4vdec.h"
-
-/* elementfactory information */
-static GstElementDetails gst_rtp_mp4vdec_details = {
-  "RTP packet parser",
-  "Codec/Parser/Network",
-  "Extracts MPEG4 video from RTP packets (RFC 3016)",
-  "Wim Taymans <wim@fluendo.com>"
-};
-
-/* RtpMP4VDec signals and args */
-enum
-{
-  /* FILL ME */
-  LAST_SIGNAL
-};
-
-enum
-{
-  ARG_0,
-  ARG_FREQUENCY
-};
-
-static GstStaticPadTemplate gst_rtpmp4vdec_src_template =
-GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("video/mpeg,"
-        "mpegversion=(int) 4," "systemstream=(boolean)false")
-    );
-
-static GstStaticPadTemplate gst_rtpmp4vdec_sink_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-rtp, "
-        "media = (string) \"video\", "
-        "payload = (int) [ 96, 255 ], "
-        "clock-rate = (int) [1, MAX ], " "encoding-name = (string) \"MP4V-ES\""
-        /* All optional parameters
-         *
-         * "profile-level-id=[1,MAX]"
-         * "config=" 
-         */
-    )
-    );
-
-
-static void gst_rtpmp4vdec_class_init (GstRtpMP4VDecClass * klass);
-static void gst_rtpmp4vdec_base_init (GstRtpMP4VDecClass * klass);
-static void gst_rtpmp4vdec_init (GstRtpMP4VDec * rtpmp4vdec);
-
-static gboolean gst_rtpmp4vdec_setcaps (GstPad * pad, GstCaps * caps);
-static GstFlowReturn gst_rtpmp4vdec_chain (GstPad * pad, GstBuffer * buffer);
-
-static void gst_rtpmp4vdec_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec);
-static void gst_rtpmp4vdec_get_property (GObject * object, guint prop_id,
-    GValue * value, GParamSpec * pspec);
-
-static GstStateChangeReturn gst_rtpmp4vdec_change_state (GstElement * element,
-    GstStateChange transition);
-
-static GstElementClass *parent_class = NULL;
-
-static GType
-gst_rtpmp4vdec_get_type (void)
-{
-  static GType rtpmp4vdec_type = 0;
-
-  if (!rtpmp4vdec_type) {
-    static const GTypeInfo rtpmp4vdec_info = {
-      sizeof (GstRtpMP4VDecClass),
-      (GBaseInitFunc) gst_rtpmp4vdec_base_init,
-      NULL,
-      (GClassInitFunc) gst_rtpmp4vdec_class_init,
-      NULL,
-      NULL,
-      sizeof (GstRtpMP4VDec),
-      0,
-      (GInstanceInitFunc) gst_rtpmp4vdec_init,
-    };
-
-    rtpmp4vdec_type =
-        g_type_register_static (GST_TYPE_ELEMENT, "GstRtpMP4VDec",
-        &rtpmp4vdec_info, 0);
-  }
-  return rtpmp4vdec_type;
-}
-
-static void
-gst_rtpmp4vdec_base_init (GstRtpMP4VDecClass * klass)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpmp4vdec_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpmp4vdec_sink_template));
-
-  gst_element_class_set_details (element_class, &gst_rtp_mp4vdec_details);
-}
-
-static void
-gst_rtpmp4vdec_class_init (GstRtpMP4VDecClass * klass)
-{
-  GObjectClass *gobject_class;
-  GstElementClass *gstelement_class;
-
-  gobject_class = (GObjectClass *) klass;
-  gstelement_class = (GstElementClass *) klass;
-
-  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
-
-  gobject_class->set_property = gst_rtpmp4vdec_set_property;
-  gobject_class->get_property = gst_rtpmp4vdec_get_property;
-
-  gstelement_class->change_state = gst_rtpmp4vdec_change_state;
-}
-
-static void
-gst_rtpmp4vdec_init (GstRtpMP4VDec * rtpmp4vdec)
-{
-  rtpmp4vdec->srcpad =
-      gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpmp4vdec_src_template), "src");
-  gst_element_add_pad (GST_ELEMENT (rtpmp4vdec), rtpmp4vdec->srcpad);
-
-  rtpmp4vdec->sinkpad =
-      gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpmp4vdec_sink_template), "sink");
-  gst_pad_set_setcaps_function (rtpmp4vdec->sinkpad, gst_rtpmp4vdec_setcaps);
-  gst_pad_set_chain_function (rtpmp4vdec->sinkpad, gst_rtpmp4vdec_chain);
-  gst_element_add_pad (GST_ELEMENT (rtpmp4vdec), rtpmp4vdec->sinkpad);
-}
-
-static gboolean
-gst_rtpmp4vdec_setcaps (GstPad * pad, GstCaps * caps)
-{
-  GstStructure *structure;
-  GstRtpMP4VDec *rtpmp4vdec;
-  GstCaps *srccaps;
-  const gchar *str;
-
-  rtpmp4vdec = GST_RTP_MP4V_DEC (GST_OBJECT_PARENT (pad));
-
-  structure = gst_caps_get_structure (caps, 0);
-
-  if (!gst_structure_get_int (structure, "clock-rate", &rtpmp4vdec->rate))
-    rtpmp4vdec->rate = 90000;
-
-  srccaps = gst_caps_new_simple ("video/mpeg",
-      "mpegversion", G_TYPE_INT, 4,
-      "systemstream", G_TYPE_BOOLEAN, FALSE, NULL);
-  gst_pad_set_caps (rtpmp4vdec->srcpad, srccaps);
-  gst_caps_unref (srccaps);
-
-  if ((str = gst_structure_get_string (structure, "config"))) {
-    GValue v = { 0 };
-
-    g_value_init (&v, GST_TYPE_BUFFER);
-    if (gst_value_deserialize (&v, str)) {
-      GstBuffer *buffer;
-
-      buffer = gst_value_get_buffer (&v);
-      gst_buffer_ref (buffer);
-      g_value_unset (&v);
-
-      gst_buffer_set_caps (buffer, GST_PAD_CAPS (rtpmp4vdec->srcpad));
-
-      gst_pad_push (rtpmp4vdec->srcpad, buffer);
-    } else {
-      g_warning ("cannot convert config to buffer");
-    }
-  }
-
-  return TRUE;
-}
-
-static GstFlowReturn
-gst_rtpmp4vdec_chain (GstPad * pad, GstBuffer * buf)
-{
-  GstRtpMP4VDec *rtpmp4vdec;
-  GstBuffer *outbuf;
-  GstFlowReturn ret;
-
-  rtpmp4vdec = GST_RTP_MP4V_DEC (gst_pad_get_parent (pad));
-
-  if (!gst_rtpbuffer_validate (buf))
-    goto bad_packet;
-
-  {
-    gint payload_len;
-    guint8 *payload;
-    guint32 timestamp;
-
-    payload_len = gst_rtpbuffer_get_payload_len (buf);
-    payload = gst_rtpbuffer_get_payload (buf);
-
-    timestamp = gst_rtpbuffer_get_timestamp (buf);
-
-    outbuf = gst_buffer_new_and_alloc (payload_len);
-    memcpy (GST_BUFFER_DATA (outbuf), payload, payload_len);
-
-    gst_adapter_push (rtpmp4vdec->adapter, outbuf);
-
-    /* if this was the last packet of the VOP, create and push a buffer */
-    if (gst_rtpbuffer_get_marker (buf)) {
-      guint avail;
-
-      avail = gst_adapter_available (rtpmp4vdec->adapter);
-
-      outbuf = gst_buffer_new_and_alloc (avail);
-      GST_BUFFER_MALLOCDATA (outbuf) =
-          gst_adapter_take (rtpmp4vdec->adapter, avail);
-      GST_BUFFER_DATA (outbuf) = GST_BUFFER_MALLOCDATA (outbuf);
-      gst_buffer_set_caps (outbuf, GST_PAD_CAPS (rtpmp4vdec->srcpad));
-      GST_BUFFER_TIMESTAMP (outbuf) = timestamp * GST_SECOND / rtpmp4vdec->rate;
-
-      GST_DEBUG ("gst_rtpmp4vdec_chain: pushing buffer of size %d",
-          GST_BUFFER_SIZE (outbuf));
-
-      ret = gst_pad_push (rtpmp4vdec->srcpad, outbuf);
-    } else {
-      ret = GST_FLOW_OK;
-    }
-    gst_buffer_unref (buf);
-  }
-  gst_object_unref (rtpmp4vdec);
-
-  return ret;
-bad_packet:
-  {
-    GST_DEBUG ("Packet did not validate");
-    gst_buffer_unref (buf);
-    gst_object_unref (rtpmp4vdec);
-
-    return GST_FLOW_ERROR;
-  }
-}
-
-static void
-gst_rtpmp4vdec_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec)
-{
-  GstRtpMP4VDec *rtpmp4vdec;
-
-  rtpmp4vdec = GST_RTP_MP4V_DEC (object);
-
-  switch (prop_id) {
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-}
-
-static void
-gst_rtpmp4vdec_get_property (GObject * object, guint prop_id, GValue * value,
-    GParamSpec * pspec)
-{
-  GstRtpMP4VDec *rtpmp4vdec;
-
-  rtpmp4vdec = GST_RTP_MP4V_DEC (object);
-
-  switch (prop_id) {
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-}
-
-static GstStateChangeReturn
-gst_rtpmp4vdec_change_state (GstElement * element, GstStateChange transition)
-{
-  GstRtpMP4VDec *rtpmp4vdec;
-  GstStateChangeReturn ret;
-
-  rtpmp4vdec = GST_RTP_MP4V_DEC (element);
-
-  switch (transition) {
-    case GST_STATE_CHANGE_NULL_TO_READY:
-      rtpmp4vdec->adapter = gst_adapter_new ();
-      break;
-    case GST_STATE_CHANGE_READY_TO_PAUSED:
-      gst_adapter_clear (rtpmp4vdec->adapter);
-      break;
-    default:
-      break;
-  }
-
-  ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
-
-  switch (transition) {
-    case GST_STATE_CHANGE_READY_TO_NULL:
-      g_object_unref (rtpmp4vdec->adapter);
-      rtpmp4vdec->adapter = NULL;
-      break;
-    default:
-      break;
-  }
-  return ret;
-}
-
-gboolean
-gst_rtpmp4vdec_plugin_init (GstPlugin * plugin)
-{
-  return gst_element_register (plugin, "rtpmp4vdec",
-      GST_RANK_NONE, GST_TYPE_RTP_MP4V_DEC);
-}
diff --git a/gst/rtp/gstrtpmp4vdec.h b/gst/rtp/gstrtpmp4vdec.h
deleted file mode 100644
index 8a2100a..0000000
--- a/gst/rtp/gstrtpmp4vdec.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Gnome-Streamer
- * Copyright (C) <2005> Wim Taymans <wim@fluendo.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GST_RTP_MP4V_DEC_H__
-#define __GST_RTP_MP4V_DEC_H__
-
-#include <gst/gst.h>
-#include <gst/base/gstadapter.h>
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_RTP_MP4V_DEC \
-  (gst_rtpmp4vdec_get_type())
-#define GST_RTP_MP4V_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_MP4V_DEC,GstRtpMP4VDec))
-#define GST_RTP_MP4V_DEC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_MP4V_DEC,GstRtpMP4VDec))
-#define GST_IS_RTP_MP4V_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_MP4V_DEC))
-#define GST_IS_RTP_MP4V_DEC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_MP4V_DEC))
-
-typedef struct _GstRtpMP4VDec GstRtpMP4VDec;
-typedef struct _GstRtpMP4VDecClass GstRtpMP4VDecClass;
-
-struct _GstRtpMP4VDec
-{
-  GstElement element;
-
-  GstPad *sinkpad;
-  GstPad *srcpad;
-
-  GstAdapter *adapter;
-
-  gint rate;
-};
-
-struct _GstRtpMP4VDecClass
-{
-  GstElementClass parent_class;
-};
-
-gboolean gst_rtpmp4vdec_plugin_init (GstPlugin * plugin);
-
-G_END_DECLS
-
-#endif /* __GST_RTP_MP4V_DEC_H__ */
diff --git a/gst/rtp/gstrtpmp4vdepay.c b/gst/rtp/gstrtpmp4vdepay.c
index 60ee390..e334bf1 100644
--- a/gst/rtp/gstrtpmp4vdepay.c
+++ b/gst/rtp/gstrtpmp4vdepay.c
@@ -19,17 +19,17 @@
 #include <gst/rtp/gstrtpbuffer.h>
 
 #include <string.h>
-#include "gstrtpmp4vdec.h"
+#include "gstrtpmp4vdepay.h"
 
 /* elementfactory information */
-static GstElementDetails gst_rtp_mp4vdec_details = {
+static GstElementDetails gst_rtp_mp4vdepay_details = {
   "RTP packet parser",
   "Codec/Parser/Network",
   "Extracts MPEG4 video from RTP packets (RFC 3016)",
   "Wim Taymans <wim@fluendo.com>"
 };
 
-/* RtpMP4VDec signals and args */
+/* RtpMP4VDepay signals and args */
 enum
 {
   /* FILL ME */
@@ -42,7 +42,7 @@
   ARG_FREQUENCY
 };
 
-static GstStaticPadTemplate gst_rtpmp4vdec_src_template =
+static GstStaticPadTemplate gst_rtp_mp4v_depay_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
@@ -50,7 +50,7 @@
         "mpegversion=(int) 4," "systemstream=(boolean)false")
     );
 
-static GstStaticPadTemplate gst_rtpmp4vdec_sink_template =
+static GstStaticPadTemplate gst_rtp_mp4v_depay_sink_template =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
@@ -67,63 +67,64 @@
     );
 
 
-static void gst_rtpmp4vdec_class_init (GstRtpMP4VDecClass * klass);
-static void gst_rtpmp4vdec_base_init (GstRtpMP4VDecClass * klass);
-static void gst_rtpmp4vdec_init (GstRtpMP4VDec * rtpmp4vdec);
+static void gst_rtp_mp4v_depay_class_init (GstRtpMP4VDepayClass * klass);
+static void gst_rtp_mp4v_depay_base_init (GstRtpMP4VDepayClass * klass);
+static void gst_rtp_mp4v_depay_init (GstRtpMP4VDepay * rtpmp4vdepay);
 
-static gboolean gst_rtpmp4vdec_setcaps (GstPad * pad, GstCaps * caps);
-static GstFlowReturn gst_rtpmp4vdec_chain (GstPad * pad, GstBuffer * buffer);
+static gboolean gst_rtp_mp4v_depay_setcaps (GstPad * pad, GstCaps * caps);
+static GstFlowReturn gst_rtp_mp4v_depay_chain (GstPad * pad,
+    GstBuffer * buffer);
 
-static void gst_rtpmp4vdec_set_property (GObject * object, guint prop_id,
+static void gst_rtp_mp4v_depay_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec);
-static void gst_rtpmp4vdec_get_property (GObject * object, guint prop_id,
+static void gst_rtp_mp4v_depay_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec);
 
-static GstStateChangeReturn gst_rtpmp4vdec_change_state (GstElement * element,
-    GstStateChange transition);
+static GstStateChangeReturn gst_rtp_mp4v_depay_change_state (GstElement *
+    element, GstStateChange transition);
 
 static GstElementClass *parent_class = NULL;
 
 static GType
-gst_rtpmp4vdec_get_type (void)
+gst_rtp_mp4v_depay_get_type (void)
 {
-  static GType rtpmp4vdec_type = 0;
+  static GType rtpmp4vdepay_type = 0;
 
-  if (!rtpmp4vdec_type) {
-    static const GTypeInfo rtpmp4vdec_info = {
-      sizeof (GstRtpMP4VDecClass),
-      (GBaseInitFunc) gst_rtpmp4vdec_base_init,
+  if (!rtpmp4vdepay_type) {
+    static const GTypeInfo rtpmp4vdepay_info = {
+      sizeof (GstRtpMP4VDepayClass),
+      (GBaseInitFunc) gst_rtp_mp4v_depay_base_init,
       NULL,
-      (GClassInitFunc) gst_rtpmp4vdec_class_init,
+      (GClassInitFunc) gst_rtp_mp4v_depay_class_init,
       NULL,
       NULL,
-      sizeof (GstRtpMP4VDec),
+      sizeof (GstRtpMP4VDepay),
       0,
-      (GInstanceInitFunc) gst_rtpmp4vdec_init,
+      (GInstanceInitFunc) gst_rtp_mp4v_depay_init,
     };
 
-    rtpmp4vdec_type =
-        g_type_register_static (GST_TYPE_ELEMENT, "GstRtpMP4VDec",
-        &rtpmp4vdec_info, 0);
+    rtpmp4vdepay_type =
+        g_type_register_static (GST_TYPE_ELEMENT, "GstRtpMP4VDepay",
+        &rtpmp4vdepay_info, 0);
   }
-  return rtpmp4vdec_type;
+  return rtpmp4vdepay_type;
 }
 
 static void
-gst_rtpmp4vdec_base_init (GstRtpMP4VDecClass * klass)
+gst_rtp_mp4v_depay_base_init (GstRtpMP4VDepayClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpmp4vdec_src_template));
+      gst_static_pad_template_get (&gst_rtp_mp4v_depay_src_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpmp4vdec_sink_template));
+      gst_static_pad_template_get (&gst_rtp_mp4v_depay_sink_template));
 
-  gst_element_class_set_details (element_class, &gst_rtp_mp4vdec_details);
+  gst_element_class_set_details (element_class, &gst_rtp_mp4vdepay_details);
 }
 
 static void
-gst_rtpmp4vdec_class_init (GstRtpMP4VDecClass * klass)
+gst_rtp_mp4v_depay_class_init (GstRtpMP4VDepayClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -133,47 +134,48 @@
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
-  gobject_class->set_property = gst_rtpmp4vdec_set_property;
-  gobject_class->get_property = gst_rtpmp4vdec_get_property;
+  gobject_class->set_property = gst_rtp_mp4v_depay_set_property;
+  gobject_class->get_property = gst_rtp_mp4v_depay_get_property;
 
-  gstelement_class->change_state = gst_rtpmp4vdec_change_state;
+  gstelement_class->change_state = gst_rtp_mp4v_depay_change_state;
 }
 
 static void
-gst_rtpmp4vdec_init (GstRtpMP4VDec * rtpmp4vdec)
+gst_rtp_mp4v_depay_init (GstRtpMP4VDepay * rtpmp4vdepay)
 {
-  rtpmp4vdec->srcpad =
+  rtpmp4vdepay->srcpad =
       gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpmp4vdec_src_template), "src");
-  gst_element_add_pad (GST_ELEMENT (rtpmp4vdec), rtpmp4vdec->srcpad);
+      (&gst_rtp_mp4v_depay_src_template), "src");
+  gst_element_add_pad (GST_ELEMENT (rtpmp4vdepay), rtpmp4vdepay->srcpad);
 
-  rtpmp4vdec->sinkpad =
+  rtpmp4vdepay->sinkpad =
       gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpmp4vdec_sink_template), "sink");
-  gst_pad_set_setcaps_function (rtpmp4vdec->sinkpad, gst_rtpmp4vdec_setcaps);
-  gst_pad_set_chain_function (rtpmp4vdec->sinkpad, gst_rtpmp4vdec_chain);
-  gst_element_add_pad (GST_ELEMENT (rtpmp4vdec), rtpmp4vdec->sinkpad);
+      (&gst_rtp_mp4v_depay_sink_template), "sink");
+  gst_pad_set_setcaps_function (rtpmp4vdepay->sinkpad,
+      gst_rtp_mp4v_depay_setcaps);
+  gst_pad_set_chain_function (rtpmp4vdepay->sinkpad, gst_rtp_mp4v_depay_chain);
+  gst_element_add_pad (GST_ELEMENT (rtpmp4vdepay), rtpmp4vdepay->sinkpad);
 }
 
 static gboolean
-gst_rtpmp4vdec_setcaps (GstPad * pad, GstCaps * caps)
+gst_rtp_mp4v_depay_setcaps (GstPad * pad, GstCaps * caps)
 {
   GstStructure *structure;
-  GstRtpMP4VDec *rtpmp4vdec;
+  GstRtpMP4VDepay *rtpmp4vdepay;
   GstCaps *srccaps;
   const gchar *str;
 
-  rtpmp4vdec = GST_RTP_MP4V_DEC (GST_OBJECT_PARENT (pad));
+  rtpmp4vdepay = GST_RTP_MP4V_DEPAY (GST_OBJECT_PARENT (pad));
 
   structure = gst_caps_get_structure (caps, 0);
 
-  if (!gst_structure_get_int (structure, "clock-rate", &rtpmp4vdec->rate))
-    rtpmp4vdec->rate = 90000;
+  if (!gst_structure_get_int (structure, "clock-rate", &rtpmp4vdepay->rate))
+    rtpmp4vdepay->rate = 90000;
 
   srccaps = gst_caps_new_simple ("video/mpeg",
       "mpegversion", G_TYPE_INT, 4,
       "systemstream", G_TYPE_BOOLEAN, FALSE, NULL);
-  gst_pad_set_caps (rtpmp4vdec->srcpad, srccaps);
+  gst_pad_set_caps (rtpmp4vdepay->srcpad, srccaps);
   gst_caps_unref (srccaps);
 
   if ((str = gst_structure_get_string (structure, "config"))) {
@@ -187,9 +189,9 @@
       gst_buffer_ref (buffer);
       g_value_unset (&v);
 
-      gst_buffer_set_caps (buffer, GST_PAD_CAPS (rtpmp4vdec->srcpad));
+      gst_buffer_set_caps (buffer, GST_PAD_CAPS (rtpmp4vdepay->srcpad));
 
-      gst_pad_push (rtpmp4vdec->srcpad, buffer);
+      gst_pad_push (rtpmp4vdepay->srcpad, buffer);
     } else {
       g_warning ("cannot convert config to buffer");
     }
@@ -199,15 +201,15 @@
 }
 
 static GstFlowReturn
-gst_rtpmp4vdec_chain (GstPad * pad, GstBuffer * buf)
+gst_rtp_mp4v_depay_chain (GstPad * pad, GstBuffer * buf)
 {
-  GstRtpMP4VDec *rtpmp4vdec;
+  GstRtpMP4VDepay *rtpmp4vdepay;
   GstBuffer *outbuf;
   GstFlowReturn ret;
 
-  rtpmp4vdec = GST_RTP_MP4V_DEC (gst_pad_get_parent (pad));
+  rtpmp4vdepay = GST_RTP_MP4V_DEPAY (gst_pad_get_parent (pad));
 
-  if (!gst_rtpbuffer_validate (buf))
+  if (!gst_rtp_buffer_validate (buf))
     goto bad_packet;
 
   {
@@ -215,58 +217,59 @@
     guint8 *payload;
     guint32 timestamp;
 
-    payload_len = gst_rtpbuffer_get_payload_len (buf);
-    payload = gst_rtpbuffer_get_payload (buf);
+    payload_len = gst_rtp_buffer_get_payload_len (buf);
+    payload = gst_rtp_buffer_get_payload (buf);
 
-    timestamp = gst_rtpbuffer_get_timestamp (buf);
+    timestamp = gst_rtp_buffer_get_timestamp (buf);
 
     outbuf = gst_buffer_new_and_alloc (payload_len);
     memcpy (GST_BUFFER_DATA (outbuf), payload, payload_len);
 
-    gst_adapter_push (rtpmp4vdec->adapter, outbuf);
+    gst_adapter_push (rtpmp4vdepay->adapter, outbuf);
 
     /* if this was the last packet of the VOP, create and push a buffer */
-    if (gst_rtpbuffer_get_marker (buf)) {
+    if (gst_rtp_buffer_get_marker (buf)) {
       guint avail;
 
-      avail = gst_adapter_available (rtpmp4vdec->adapter);
+      avail = gst_adapter_available (rtpmp4vdepay->adapter);
 
       outbuf = gst_buffer_new_and_alloc (avail);
       GST_BUFFER_MALLOCDATA (outbuf) =
-          gst_adapter_take (rtpmp4vdec->adapter, avail);
+          gst_adapter_take (rtpmp4vdepay->adapter, avail);
       GST_BUFFER_DATA (outbuf) = GST_BUFFER_MALLOCDATA (outbuf);
-      gst_buffer_set_caps (outbuf, GST_PAD_CAPS (rtpmp4vdec->srcpad));
-      GST_BUFFER_TIMESTAMP (outbuf) = timestamp * GST_SECOND / rtpmp4vdec->rate;
+      gst_buffer_set_caps (outbuf, GST_PAD_CAPS (rtpmp4vdepay->srcpad));
+      GST_BUFFER_TIMESTAMP (outbuf) =
+          timestamp * GST_SECOND / rtpmp4vdepay->rate;
 
-      GST_DEBUG ("gst_rtpmp4vdec_chain: pushing buffer of size %d",
+      GST_DEBUG ("gst_rtp_mp4v_depay_chain: pushing buffer of size %d",
           GST_BUFFER_SIZE (outbuf));
 
-      ret = gst_pad_push (rtpmp4vdec->srcpad, outbuf);
+      ret = gst_pad_push (rtpmp4vdepay->srcpad, outbuf);
     } else {
       ret = GST_FLOW_OK;
     }
     gst_buffer_unref (buf);
   }
-  gst_object_unref (rtpmp4vdec);
+  gst_object_unref (rtpmp4vdepay);
 
   return ret;
 bad_packet:
   {
     GST_DEBUG ("Packet did not validate");
     gst_buffer_unref (buf);
-    gst_object_unref (rtpmp4vdec);
+    gst_object_unref (rtpmp4vdepay);
 
     return GST_FLOW_ERROR;
   }
 }
 
 static void
-gst_rtpmp4vdec_set_property (GObject * object, guint prop_id,
+gst_rtp_mp4v_depay_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec)
 {
-  GstRtpMP4VDec *rtpmp4vdec;
+  GstRtpMP4VDepay *rtpmp4vdepay;
 
-  rtpmp4vdec = GST_RTP_MP4V_DEC (object);
+  rtpmp4vdepay = GST_RTP_MP4V_DEPAY (object);
 
   switch (prop_id) {
     default:
@@ -276,12 +279,12 @@
 }
 
 static void
-gst_rtpmp4vdec_get_property (GObject * object, guint prop_id, GValue * value,
-    GParamSpec * pspec)
+gst_rtp_mp4v_depay_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
 {
-  GstRtpMP4VDec *rtpmp4vdec;
+  GstRtpMP4VDepay *rtpmp4vdepay;
 
-  rtpmp4vdec = GST_RTP_MP4V_DEC (object);
+  rtpmp4vdepay = GST_RTP_MP4V_DEPAY (object);
 
   switch (prop_id) {
     default:
@@ -291,19 +294,20 @@
 }
 
 static GstStateChangeReturn
-gst_rtpmp4vdec_change_state (GstElement * element, GstStateChange transition)
+gst_rtp_mp4v_depay_change_state (GstElement * element,
+    GstStateChange transition)
 {
-  GstRtpMP4VDec *rtpmp4vdec;
+  GstRtpMP4VDepay *rtpmp4vdepay;
   GstStateChangeReturn ret;
 
-  rtpmp4vdec = GST_RTP_MP4V_DEC (element);
+  rtpmp4vdepay = GST_RTP_MP4V_DEPAY (element);
 
   switch (transition) {
     case GST_STATE_CHANGE_NULL_TO_READY:
-      rtpmp4vdec->adapter = gst_adapter_new ();
+      rtpmp4vdepay->adapter = gst_adapter_new ();
       break;
     case GST_STATE_CHANGE_READY_TO_PAUSED:
-      gst_adapter_clear (rtpmp4vdec->adapter);
+      gst_adapter_clear (rtpmp4vdepay->adapter);
       break;
     default:
       break;
@@ -313,8 +317,8 @@
 
   switch (transition) {
     case GST_STATE_CHANGE_READY_TO_NULL:
-      g_object_unref (rtpmp4vdec->adapter);
-      rtpmp4vdec->adapter = NULL;
+      g_object_unref (rtpmp4vdepay->adapter);
+      rtpmp4vdepay->adapter = NULL;
       break;
     default:
       break;
@@ -323,8 +327,8 @@
 }
 
 gboolean
-gst_rtpmp4vdec_plugin_init (GstPlugin * plugin)
+gst_rtp_mp4v_depay_plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "rtpmp4vdec",
-      GST_RANK_NONE, GST_TYPE_RTP_MP4V_DEC);
+  return gst_element_register (plugin, "rtpmp4vdepay",
+      GST_RANK_NONE, GST_TYPE_RTP_MP4V_DEPAY);
 }
diff --git a/gst/rtp/gstrtpmp4vdepay.h b/gst/rtp/gstrtpmp4vdepay.h
index 8a2100a..4ba21c5 100644
--- a/gst/rtp/gstrtpmp4vdepay.h
+++ b/gst/rtp/gstrtpmp4vdepay.h
@@ -17,29 +17,29 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#ifndef __GST_RTP_MP4V_DEC_H__
-#define __GST_RTP_MP4V_DEC_H__
+#ifndef __GST_RTP_MP4V_DEPAY_H__
+#define __GST_RTP_MP4V_DEPAY_H__
 
 #include <gst/gst.h>
 #include <gst/base/gstadapter.h>
 
 G_BEGIN_DECLS
 
-#define GST_TYPE_RTP_MP4V_DEC \
-  (gst_rtpmp4vdec_get_type())
-#define GST_RTP_MP4V_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_MP4V_DEC,GstRtpMP4VDec))
-#define GST_RTP_MP4V_DEC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_MP4V_DEC,GstRtpMP4VDec))
-#define GST_IS_RTP_MP4V_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_MP4V_DEC))
-#define GST_IS_RTP_MP4V_DEC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_MP4V_DEC))
+#define GST_TYPE_RTP_MP4V_DEPAY \
+  (gst_rtp_mp4v_depay_get_type())
+#define GST_RTP_MP4V_DEPAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_MP4V_DEPAY,GstRtpMP4VDepay))
+#define GST_RTP_MP4V_DEPAY_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_MP4V_DEPAY,GstRtpMP4VDepay))
+#define GST_IS_RTP_MP4V_DEPAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_MP4V_DEPAY))
+#define GST_IS_RTP_MP4V_DEPAY_CLASS(obj) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_MP4V_DEPAY))
 
-typedef struct _GstRtpMP4VDec GstRtpMP4VDec;
-typedef struct _GstRtpMP4VDecClass GstRtpMP4VDecClass;
+typedef struct _GstRtpMP4VDepay GstRtpMP4VDepay;
+typedef struct _GstRtpMP4VDepayClass GstRtpMP4VDepayClass;
 
-struct _GstRtpMP4VDec
+struct _GstRtpMP4VDepay
 {
   GstElement element;
 
@@ -51,13 +51,13 @@
   gint rate;
 };
 
-struct _GstRtpMP4VDecClass
+struct _GstRtpMP4VDepayClass
 {
   GstElementClass parent_class;
 };
 
-gboolean gst_rtpmp4vdec_plugin_init (GstPlugin * plugin);
+gboolean gst_rtp_mp4v_depay_plugin_init (GstPlugin * plugin);
 
 G_END_DECLS
 
-#endif /* __GST_RTP_MP4V_DEC_H__ */
+#endif /* __GST_RTP_MP4V_DEPAY_H__ */
diff --git a/gst/rtp/gstrtpmp4venc.c b/gst/rtp/gstrtpmp4venc.c
deleted file mode 100644
index e73d8d0..0000000
--- a/gst/rtp/gstrtpmp4venc.c
+++ /dev/null
@@ -1,449 +0,0 @@
-/* GStreamer
- * Copyright (C) <2005> Wim Taymans <wim@fluendo.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more 
- */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include <string.h>
-
-#include <gst/rtp/gstrtpbuffer.h>
-
-#include "gstrtpmp4venc.h"
-
-/* elementfactory information */
-static GstElementDetails gst_rtp_mp4venc_details = {
-  "RTP packet parser",
-  "Codec/Encoder/Network",
-  "Encode MPEG4 video as RTP packets (RFC 3016)",
-  "Wim Taymans <wim@fluendo.com>"
-};
-
-static GstStaticPadTemplate gst_rtpmp4venc_sink_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("video/mpeg,"
-        "mpegversion=(int) 4," "systemstream=(boolean)false")
-    );
-
-static GstStaticPadTemplate gst_rtpmp4venc_src_template =
-GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-rtp, "
-        "media = (string) \"video\", "
-        "payload = (int) [ 96, 255 ], "
-        "clock-rate = (int) [1, MAX ], " "encoding-name = (string) \"MP4V-ES\""
-        /* two string params
-         *
-         "profile-level-id = (string) [1,MAX]"
-         "config = (string) [1,MAX]"
-         */
-    )
-    );
-
-#define DEFAULT_SEND_CONFIG	FALSE
-
-enum
-{
-  ARG_0,
-  ARG_SEND_CONFIG
-};
-
-
-static void gst_rtpmp4venc_class_init (GstRtpMP4VEncClass * klass);
-static void gst_rtpmp4venc_base_init (GstRtpMP4VEncClass * klass);
-static void gst_rtpmp4venc_init (GstRtpMP4VEnc * rtpmp4venc);
-static void gst_rtpmp4venc_finalize (GObject * object);
-
-static void gst_rtpmp4venc_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec);
-static void gst_rtpmp4venc_get_property (GObject * object, guint prop_id,
-    GValue * value, GParamSpec * pspec);
-
-static gboolean gst_rtpmp4venc_setcaps (GstBaseRTPPayload * payload,
-    GstCaps * caps);
-static GstFlowReturn gst_rtpmp4venc_handle_buffer (GstBaseRTPPayload * payload,
-    GstBuffer * buffer);
-
-static GstBaseRTPPayloadClass *parent_class = NULL;
-
-static GType
-gst_rtpmp4venc_get_type (void)
-{
-  static GType rtpmp4venc_type = 0;
-
-  if (!rtpmp4venc_type) {
-    static const GTypeInfo rtpmp4venc_info = {
-      sizeof (GstRtpMP4VEncClass),
-      (GBaseInitFunc) gst_rtpmp4venc_base_init,
-      NULL,
-      (GClassInitFunc) gst_rtpmp4venc_class_init,
-      NULL,
-      NULL,
-      sizeof (GstRtpMP4VEnc),
-      0,
-      (GInstanceInitFunc) gst_rtpmp4venc_init,
-    };
-
-    rtpmp4venc_type =
-        g_type_register_static (GST_TYPE_BASE_RTP_PAYLOAD, "GstRtpMP4VEnc",
-        &rtpmp4venc_info, 0);
-  }
-  return rtpmp4venc_type;
-}
-
-static void
-gst_rtpmp4venc_base_init (GstRtpMP4VEncClass * klass)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpmp4venc_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpmp4venc_sink_template));
-
-  gst_element_class_set_details (element_class, &gst_rtp_mp4venc_details);
-}
-
-static void
-gst_rtpmp4venc_class_init (GstRtpMP4VEncClass * klass)
-{
-  GObjectClass *gobject_class;
-  GstElementClass *gstelement_class;
-  GstBaseRTPPayloadClass *gstbasertppayload_class;
-
-  gobject_class = (GObjectClass *) klass;
-  gstelement_class = (GstElementClass *) klass;
-  gstbasertppayload_class = (GstBaseRTPPayloadClass *) klass;
-
-  parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_PAYLOAD);
-
-  gobject_class->set_property = gst_rtpmp4venc_set_property;
-  gobject_class->get_property = gst_rtpmp4venc_get_property;
-
-  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SEND_CONFIG,
-      g_param_spec_boolean ("send-config", "Send Config",
-          "Send the config parameters in RTP packets as well",
-          DEFAULT_SEND_CONFIG, G_PARAM_READWRITE));
-
-  gobject_class->finalize = gst_rtpmp4venc_finalize;
-
-  gstbasertppayload_class->set_caps = gst_rtpmp4venc_setcaps;
-  gstbasertppayload_class->handle_buffer = gst_rtpmp4venc_handle_buffer;
-}
-
-static void
-gst_rtpmp4venc_init (GstRtpMP4VEnc * rtpmp4venc)
-{
-  rtpmp4venc->adapter = gst_adapter_new ();
-  rtpmp4venc->rate = 90000;
-  rtpmp4venc->profile = 1;
-  rtpmp4venc->send_config = DEFAULT_SEND_CONFIG;
-}
-
-static void
-gst_rtpmp4venc_finalize (GObject * object)
-{
-  GstRtpMP4VEnc *rtpmp4venc;
-
-  rtpmp4venc = GST_RTP_MP4V_ENC (object);
-
-  g_object_unref (rtpmp4venc->adapter);
-  rtpmp4venc->adapter = NULL;
-
-  G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-static void
-gst_rtpmp4venc_new_caps (GstRtpMP4VEnc * rtpmp4venc)
-{
-  gchar *profile, *config;
-  GValue v = { 0 };
-
-  profile = g_strdup_printf ("%d", rtpmp4venc->profile);
-  g_value_init (&v, GST_TYPE_BUFFER);
-  gst_value_set_buffer (&v, rtpmp4venc->config);
-  config = gst_value_serialize (&v);
-
-  gst_basertppayload_set_outcaps (GST_BASE_RTP_PAYLOAD (rtpmp4venc),
-      "profile-level-id", G_TYPE_STRING, profile,
-      "config", G_TYPE_STRING, config, NULL);
-
-  g_value_unset (&v);
-
-  g_free (profile);
-  g_free (config);
-}
-
-static gboolean
-gst_rtpmp4venc_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
-{
-  GstRtpMP4VEnc *rtpmp4venc;
-
-  rtpmp4venc = GST_RTP_MP4V_ENC (payload);
-
-  gst_basertppayload_set_options (payload, "video", TRUE, "MP4V-ES",
-      rtpmp4venc->rate);
-
-  return TRUE;
-}
-
-static GstFlowReturn
-gst_rtpmp4venc_flush (GstRtpMP4VEnc * rtpmp4venc)
-{
-  guint avail;
-  GstBuffer *outbuf;
-  GstFlowReturn ret;
-
-  /* the data available in the adapter is either smaller
-   * than the MTU or bigger. In the case it is smaller, the complete
-   * adapter contents can be put in one packet. In the case the
-   * adapter has more than one MTU, we need to split the MP4V data
-   * over multiple packets. */
-  avail = gst_adapter_available (rtpmp4venc->adapter);
-
-  ret = GST_FLOW_OK;
-
-  while (avail > 0) {
-    guint towrite;
-    guint8 *payload;
-    guint8 *data;
-    guint payload_len;
-    guint packet_len;
-
-    /* this will be the total lenght of the packet */
-    packet_len = gst_rtpbuffer_calc_packet_len (avail, 0, 0);
-
-    /* fill one MTU or all available bytes */
-    towrite = MIN (packet_len, GST_BASE_RTP_PAYLOAD_MTU (rtpmp4venc));
-
-    /* this is the payload length */
-    payload_len = gst_rtpbuffer_calc_payload_len (towrite, 0, 0);
-
-    /* create buffer to hold the payload */
-    outbuf = gst_rtpbuffer_new_allocate (payload_len, 0, 0);
-
-    /* copy payload */
-    payload = gst_rtpbuffer_get_payload (outbuf);
-    data = (guint8 *) gst_adapter_peek (rtpmp4venc->adapter, payload_len);
-    memcpy (payload, data, payload_len);
-
-    gst_adapter_flush (rtpmp4venc->adapter, payload_len);
-
-    avail -= payload_len;
-
-    gst_rtpbuffer_set_marker (outbuf, avail == 0);
-
-    GST_BUFFER_TIMESTAMP (outbuf) = rtpmp4venc->first_ts;
-
-    ret = gst_basertppayload_push (GST_BASE_RTP_PAYLOAD (rtpmp4venc), outbuf);
-  }
-
-  return ret;
-}
-
-#define VOS_STARTCODE  			0x000001B0
-#define VOS_ENDCODE    			0x000001B1
-#define USER_DATA_STARTCODE   	 	0x000001B2
-#define GOP_STARTCODE            	0x000001B3
-#define VISUAL_OBJECT_STARTCODE        	0x000001B5
-#define VOP_STARTCODE                  	0x000001B6
-
-static gboolean
-gst_rtpmp4venc_parse_data (GstRtpMP4VEnc * enc, guint8 * data, guint size,
-    gint * strip)
-{
-  guint32 code;
-  gboolean result;
-
-  *strip = 0;
-
-  if (size < 5)
-    return FALSE;
-
-  code = GST_READ_UINT32_BE (data);
-
-  switch (code) {
-    case VOS_STARTCODE:
-    {
-      gint i;
-      guint8 profile;
-      gboolean newprofile = FALSE;
-      gboolean equal;
-
-      /* profile_and_level_indication */
-      profile = data[4];
-
-      if (profile != enc->profile) {
-        newprofile = TRUE;
-        enc->profile = profile;
-      }
-
-      /* up to the next GOP_STARTCODE or VOP_STARTCODE is
-       * the config information */
-      code = 0xffffffff;
-      for (i = 5; i < size - 4; i++) {
-        code = (code << 8) | data[i];
-        if (code == GOP_STARTCODE || code == VOP_STARTCODE)
-          break;
-      }
-      i -= 3;
-      /* see if config changed */
-      equal = FALSE;
-      if (enc->config) {
-        if (GST_BUFFER_SIZE (enc->config) == i) {
-          equal = memcmp (GST_BUFFER_DATA (enc->config), data, i) == 0;
-        }
-      }
-      /* if config string changed or new profile, make new caps */
-      if (!equal || newprofile) {
-        if (enc->config)
-          gst_buffer_unref (enc->config);
-        enc->config = gst_buffer_new_and_alloc (i);
-        memcpy (GST_BUFFER_DATA (enc->config), data, i);
-        gst_rtpmp4venc_new_caps (enc);
-      }
-      *strip = i;
-      /* we need to flush out the current packet. */
-      result = TRUE;
-      break;
-    }
-    case VOP_STARTCODE:
-      /* VOP startcode, we don't have to flush the packet */
-      result = FALSE;
-      break;
-    default:
-      /* all other startcodes need a flush */
-      result = TRUE;
-      break;
-  }
-  return result;
-}
-
-/* we expect buffers starting on startcodes. 
- */
-static GstFlowReturn
-gst_rtpmp4venc_handle_buffer (GstBaseRTPPayload * basepayload,
-    GstBuffer * buffer)
-{
-  GstRtpMP4VEnc *rtpmp4venc;
-  GstFlowReturn ret;
-  guint size, avail;
-  guint packet_len;
-  guint8 *data;
-  gboolean flush;
-  gint strip;
-  GstClockTime duration;
-
-  ret = GST_FLOW_OK;
-
-  rtpmp4venc = GST_RTP_MP4V_ENC (basepayload);
-
-  size = GST_BUFFER_SIZE (buffer);
-  data = GST_BUFFER_DATA (buffer);
-  duration = GST_BUFFER_DURATION (buffer);
-  avail = gst_adapter_available (rtpmp4venc->adapter);
-
-  /* empty buffer, take timestamp */
-  if (avail == 0) {
-    rtpmp4venc->first_ts = GST_BUFFER_TIMESTAMP (buffer);
-    rtpmp4venc->duration = 0;
-  }
-
-  /* parse incomming data and see if we need to start a new RTP
-   * packet */
-  flush = gst_rtpmp4venc_parse_data (rtpmp4venc, data, size, &strip);
-  if (strip) {
-    /* strip off config if requested */
-    if (!rtpmp4venc->send_config) {
-      GstBuffer *subbuf;
-
-      /* strip off header */
-      subbuf = gst_buffer_create_sub (buffer, strip, size - strip);
-      GST_BUFFER_TIMESTAMP (subbuf) = GST_BUFFER_TIMESTAMP (buffer);
-      gst_buffer_unref (buffer);
-      buffer = subbuf;
-
-      size = GST_BUFFER_SIZE (buffer);
-      data = GST_BUFFER_DATA (buffer);
-    }
-  }
-
-  /* if we need to flush, do so now */
-  if (flush) {
-    ret = gst_rtpmp4venc_flush (rtpmp4venc);
-    rtpmp4venc->first_ts = GST_BUFFER_TIMESTAMP (buffer);
-    rtpmp4venc->duration = 0;
-    avail = 0;
-  }
-
-  /* get packet length of data and see if we exceeded MTU. */
-  packet_len = gst_rtpbuffer_calc_packet_len (avail + size, 0, 0);
-
-  if (gst_basertppayload_is_filled (basepayload,
-          packet_len, rtpmp4venc->duration + duration)) {
-    ret = gst_rtpmp4venc_flush (rtpmp4venc);
-    rtpmp4venc->first_ts = GST_BUFFER_TIMESTAMP (buffer);
-    rtpmp4venc->duration = 0;
-  }
-
-  /* push new data */
-  gst_adapter_push (rtpmp4venc->adapter, buffer);
-  rtpmp4venc->duration += duration;
-
-  return ret;
-}
-
-static void
-gst_rtpmp4venc_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec)
-{
-  GstRtpMP4VEnc *rtpmp4venc;
-
-  rtpmp4venc = GST_RTP_MP4V_ENC (object);
-
-  switch (prop_id) {
-    case ARG_SEND_CONFIG:
-      rtpmp4venc->send_config = g_value_get_boolean (value);
-      break;
-    default:
-      break;
-  }
-}
-
-static void
-gst_rtpmp4venc_get_property (GObject * object, guint prop_id,
-    GValue * value, GParamSpec * pspec)
-{
-  GstRtpMP4VEnc *rtpmp4venc;
-
-  rtpmp4venc = GST_RTP_MP4V_ENC (object);
-
-  switch (prop_id) {
-    case ARG_SEND_CONFIG:
-      g_value_set_boolean (value, rtpmp4venc->send_config);
-      break;
-    default:
-      break;
-  }
-}
-
-gboolean
-gst_rtpmp4venc_plugin_init (GstPlugin * plugin)
-{
-  return gst_element_register (plugin, "rtpmp4venc",
-      GST_RANK_NONE, GST_TYPE_RTP_MP4V_ENC);
-}
diff --git a/gst/rtp/gstrtpmp4venc.h b/gst/rtp/gstrtpmp4venc.h
deleted file mode 100644
index 7354427..0000000
--- a/gst/rtp/gstrtpmp4venc.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Gnome-Streamer
- * Copyright (C) <2005> Wim Taymans <wim@fluendo.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GST_RTP_MP4V_ENC_H__
-#define __GST_RTP_MP4V_ENC_H__
-
-#include <gst/gst.h>
-#include <gst/rtp/gstbasertppayload.h>
-#include <gst/base/gstadapter.h>
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_RTP_MP4V_ENC \
-  (gst_rtpmp4venc_get_type())
-#define GST_RTP_MP4V_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_MP4V_ENC,GstRtpMP4VEnc))
-#define GST_RTP_MP4V_ENC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_MP4V_ENC,GstRtpMP4VEnc))
-#define GST_IS_RTP_MP4V_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_MP4V_ENC))
-#define GST_IS_RTP_MP4V_ENC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_MP4V_ENC))
-
-typedef struct _GstRtpMP4VEnc GstRtpMP4VEnc;
-typedef struct _GstRtpMP4VEncClass GstRtpMP4VEncClass;
-
-struct _GstRtpMP4VEnc
-{
-  GstBaseRTPPayload    payload;
-
-  GstAdapter   *adapter;
-  GstClockTime  first_ts;
-  GstClockTime  duration;
-
-  gint		rate;
-  gint		profile;
-  GstBuffer    *config;
-  gboolean      send_config;
-};
-
-struct _GstRtpMP4VEncClass
-{
-  GstBaseRTPPayloadClass parent_class;
-};
-
-gboolean gst_rtpmp4venc_plugin_init (GstPlugin * plugin);
-
-G_END_DECLS
-
-#endif /* __GST_RTP_MP4V_ENC_H__ */
diff --git a/gst/rtp/gstrtpmp4vpay.c b/gst/rtp/gstrtpmp4vpay.c
index e73d8d0..cccfa72 100644
--- a/gst/rtp/gstrtpmp4vpay.c
+++ b/gst/rtp/gstrtpmp4vpay.c
@@ -20,17 +20,17 @@
 
 #include <gst/rtp/gstrtpbuffer.h>
 
-#include "gstrtpmp4venc.h"
+#include "gstrtpmp4vpay.h"
 
 /* elementfactory information */
-static GstElementDetails gst_rtp_mp4venc_details = {
+static GstElementDetails gst_rtp_mp4vpay_details = {
   "RTP packet parser",
-  "Codec/Encoder/Network",
-  "Encode MPEG4 video as RTP packets (RFC 3016)",
+  "Codec/Payloader/Network",
+  "Payode MPEG4 video as RTP packets (RFC 3016)",
   "Wim Taymans <wim@fluendo.com>"
 };
 
-static GstStaticPadTemplate gst_rtpmp4venc_sink_template =
+static GstStaticPadTemplate gst_rtp_mp4v_pay_sink_template =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
@@ -38,7 +38,7 @@
         "mpegversion=(int) 4," "systemstream=(boolean)false")
     );
 
-static GstStaticPadTemplate gst_rtpmp4venc_src_template =
+static GstStaticPadTemplate gst_rtp_mp4v_pay_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
@@ -63,63 +63,63 @@
 };
 
 
-static void gst_rtpmp4venc_class_init (GstRtpMP4VEncClass * klass);
-static void gst_rtpmp4venc_base_init (GstRtpMP4VEncClass * klass);
-static void gst_rtpmp4venc_init (GstRtpMP4VEnc * rtpmp4venc);
-static void gst_rtpmp4venc_finalize (GObject * object);
+static void gst_rtp_mp4v_pay_class_init (GstRtpMP4VPayClass * klass);
+static void gst_rtp_mp4v_pay_base_init (GstRtpMP4VPayClass * klass);
+static void gst_rtp_mp4v_pay_init (GstRtpMP4VPay * rtpmp4vpay);
+static void gst_rtp_mp4v_pay_finalize (GObject * object);
 
-static void gst_rtpmp4venc_set_property (GObject * object, guint prop_id,
+static void gst_rtp_mp4v_pay_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec);
-static void gst_rtpmp4venc_get_property (GObject * object, guint prop_id,
+static void gst_rtp_mp4v_pay_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec);
 
-static gboolean gst_rtpmp4venc_setcaps (GstBaseRTPPayload * payload,
+static gboolean gst_rtp_mp4v_pay_setcaps (GstBaseRTPPayload * payload,
     GstCaps * caps);
-static GstFlowReturn gst_rtpmp4venc_handle_buffer (GstBaseRTPPayload * payload,
-    GstBuffer * buffer);
+static GstFlowReturn gst_rtp_mp4v_pay_handle_buffer (GstBaseRTPPayload *
+    payload, GstBuffer * buffer);
 
 static GstBaseRTPPayloadClass *parent_class = NULL;
 
 static GType
-gst_rtpmp4venc_get_type (void)
+gst_rtp_mp4v_pay_get_type (void)
 {
-  static GType rtpmp4venc_type = 0;
+  static GType rtpmp4vpay_type = 0;
 
-  if (!rtpmp4venc_type) {
-    static const GTypeInfo rtpmp4venc_info = {
-      sizeof (GstRtpMP4VEncClass),
-      (GBaseInitFunc) gst_rtpmp4venc_base_init,
+  if (!rtpmp4vpay_type) {
+    static const GTypeInfo rtpmp4vpay_info = {
+      sizeof (GstRtpMP4VPayClass),
+      (GBaseInitFunc) gst_rtp_mp4v_pay_base_init,
       NULL,
-      (GClassInitFunc) gst_rtpmp4venc_class_init,
+      (GClassInitFunc) gst_rtp_mp4v_pay_class_init,
       NULL,
       NULL,
-      sizeof (GstRtpMP4VEnc),
+      sizeof (GstRtpMP4VPay),
       0,
-      (GInstanceInitFunc) gst_rtpmp4venc_init,
+      (GInstanceInitFunc) gst_rtp_mp4v_pay_init,
     };
 
-    rtpmp4venc_type =
-        g_type_register_static (GST_TYPE_BASE_RTP_PAYLOAD, "GstRtpMP4VEnc",
-        &rtpmp4venc_info, 0);
+    rtpmp4vpay_type =
+        g_type_register_static (GST_TYPE_BASE_RTP_PAYLOAD, "GstRtpMP4VPay",
+        &rtpmp4vpay_info, 0);
   }
-  return rtpmp4venc_type;
+  return rtpmp4vpay_type;
 }
 
 static void
-gst_rtpmp4venc_base_init (GstRtpMP4VEncClass * klass)
+gst_rtp_mp4v_pay_base_init (GstRtpMP4VPayClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpmp4venc_src_template));
+      gst_static_pad_template_get (&gst_rtp_mp4v_pay_src_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpmp4venc_sink_template));
+      gst_static_pad_template_get (&gst_rtp_mp4v_pay_sink_template));
 
-  gst_element_class_set_details (element_class, &gst_rtp_mp4venc_details);
+  gst_element_class_set_details (element_class, &gst_rtp_mp4vpay_details);
 }
 
 static void
-gst_rtpmp4venc_class_init (GstRtpMP4VEncClass * klass)
+gst_rtp_mp4v_pay_class_init (GstRtpMP4VPayClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -131,54 +131,54 @@
 
   parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_PAYLOAD);
 
-  gobject_class->set_property = gst_rtpmp4venc_set_property;
-  gobject_class->get_property = gst_rtpmp4venc_get_property;
+  gobject_class->set_property = gst_rtp_mp4v_pay_set_property;
+  gobject_class->get_property = gst_rtp_mp4v_pay_get_property;
 
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SEND_CONFIG,
       g_param_spec_boolean ("send-config", "Send Config",
           "Send the config parameters in RTP packets as well",
           DEFAULT_SEND_CONFIG, G_PARAM_READWRITE));
 
-  gobject_class->finalize = gst_rtpmp4venc_finalize;
+  gobject_class->finalize = gst_rtp_mp4v_pay_finalize;
 
-  gstbasertppayload_class->set_caps = gst_rtpmp4venc_setcaps;
-  gstbasertppayload_class->handle_buffer = gst_rtpmp4venc_handle_buffer;
+  gstbasertppayload_class->set_caps = gst_rtp_mp4v_pay_setcaps;
+  gstbasertppayload_class->handle_buffer = gst_rtp_mp4v_pay_handle_buffer;
 }
 
 static void
-gst_rtpmp4venc_init (GstRtpMP4VEnc * rtpmp4venc)
+gst_rtp_mp4v_pay_init (GstRtpMP4VPay * rtpmp4vpay)
 {
-  rtpmp4venc->adapter = gst_adapter_new ();
-  rtpmp4venc->rate = 90000;
-  rtpmp4venc->profile = 1;
-  rtpmp4venc->send_config = DEFAULT_SEND_CONFIG;
+  rtpmp4vpay->adapter = gst_adapter_new ();
+  rtpmp4vpay->rate = 90000;
+  rtpmp4vpay->profile = 1;
+  rtpmp4vpay->send_config = DEFAULT_SEND_CONFIG;
 }
 
 static void
-gst_rtpmp4venc_finalize (GObject * object)
+gst_rtp_mp4v_pay_finalize (GObject * object)
 {
-  GstRtpMP4VEnc *rtpmp4venc;
+  GstRtpMP4VPay *rtpmp4vpay;
 
-  rtpmp4venc = GST_RTP_MP4V_ENC (object);
+  rtpmp4vpay = GST_RTP_MP4V_PAY (object);
 
-  g_object_unref (rtpmp4venc->adapter);
-  rtpmp4venc->adapter = NULL;
+  g_object_unref (rtpmp4vpay->adapter);
+  rtpmp4vpay->adapter = NULL;
 
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
 static void
-gst_rtpmp4venc_new_caps (GstRtpMP4VEnc * rtpmp4venc)
+gst_rtp_mp4v_pay_new_caps (GstRtpMP4VPay * rtpmp4vpay)
 {
   gchar *profile, *config;
   GValue v = { 0 };
 
-  profile = g_strdup_printf ("%d", rtpmp4venc->profile);
+  profile = g_strdup_printf ("%d", rtpmp4vpay->profile);
   g_value_init (&v, GST_TYPE_BUFFER);
-  gst_value_set_buffer (&v, rtpmp4venc->config);
+  gst_value_set_buffer (&v, rtpmp4vpay->config);
   config = gst_value_serialize (&v);
 
-  gst_basertppayload_set_outcaps (GST_BASE_RTP_PAYLOAD (rtpmp4venc),
+  gst_basertppayload_set_outcaps (GST_BASE_RTP_PAYLOAD (rtpmp4vpay),
       "profile-level-id", G_TYPE_STRING, profile,
       "config", G_TYPE_STRING, config, NULL);
 
@@ -189,20 +189,20 @@
 }
 
 static gboolean
-gst_rtpmp4venc_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
+gst_rtp_mp4v_pay_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
 {
-  GstRtpMP4VEnc *rtpmp4venc;
+  GstRtpMP4VPay *rtpmp4vpay;
 
-  rtpmp4venc = GST_RTP_MP4V_ENC (payload);
+  rtpmp4vpay = GST_RTP_MP4V_PAY (payload);
 
   gst_basertppayload_set_options (payload, "video", TRUE, "MP4V-ES",
-      rtpmp4venc->rate);
+      rtpmp4vpay->rate);
 
   return TRUE;
 }
 
 static GstFlowReturn
-gst_rtpmp4venc_flush (GstRtpMP4VEnc * rtpmp4venc)
+gst_rtp_mp4v_pay_flush (GstRtpMP4VPay * rtpmp4vpay)
 {
   guint avail;
   GstBuffer *outbuf;
@@ -213,7 +213,7 @@
    * adapter contents can be put in one packet. In the case the
    * adapter has more than one MTU, we need to split the MP4V data
    * over multiple packets. */
-  avail = gst_adapter_available (rtpmp4venc->adapter);
+  avail = gst_adapter_available (rtpmp4vpay->adapter);
 
   ret = GST_FLOW_OK;
 
@@ -225,31 +225,31 @@
     guint packet_len;
 
     /* this will be the total lenght of the packet */
-    packet_len = gst_rtpbuffer_calc_packet_len (avail, 0, 0);
+    packet_len = gst_rtp_buffer_calc_packet_len (avail, 0, 0);
 
     /* fill one MTU or all available bytes */
-    towrite = MIN (packet_len, GST_BASE_RTP_PAYLOAD_MTU (rtpmp4venc));
+    towrite = MIN (packet_len, GST_BASE_RTP_PAYLOAD_MTU (rtpmp4vpay));
 
     /* this is the payload length */
-    payload_len = gst_rtpbuffer_calc_payload_len (towrite, 0, 0);
+    payload_len = gst_rtp_buffer_calc_payload_len (towrite, 0, 0);
 
     /* create buffer to hold the payload */
-    outbuf = gst_rtpbuffer_new_allocate (payload_len, 0, 0);
+    outbuf = gst_rtp_buffer_new_allocate (payload_len, 0, 0);
 
     /* copy payload */
-    payload = gst_rtpbuffer_get_payload (outbuf);
-    data = (guint8 *) gst_adapter_peek (rtpmp4venc->adapter, payload_len);
+    payload = gst_rtp_buffer_get_payload (outbuf);
+    data = (guint8 *) gst_adapter_peek (rtpmp4vpay->adapter, payload_len);
     memcpy (payload, data, payload_len);
 
-    gst_adapter_flush (rtpmp4venc->adapter, payload_len);
+    gst_adapter_flush (rtpmp4vpay->adapter, payload_len);
 
     avail -= payload_len;
 
-    gst_rtpbuffer_set_marker (outbuf, avail == 0);
+    gst_rtp_buffer_set_marker (outbuf, avail == 0);
 
-    GST_BUFFER_TIMESTAMP (outbuf) = rtpmp4venc->first_ts;
+    GST_BUFFER_TIMESTAMP (outbuf) = rtpmp4vpay->first_ts;
 
-    ret = gst_basertppayload_push (GST_BASE_RTP_PAYLOAD (rtpmp4venc), outbuf);
+    ret = gst_basertppayload_push (GST_BASE_RTP_PAYLOAD (rtpmp4vpay), outbuf);
   }
 
   return ret;
@@ -263,7 +263,7 @@
 #define VOP_STARTCODE                  	0x000001B6
 
 static gboolean
-gst_rtpmp4venc_parse_data (GstRtpMP4VEnc * enc, guint8 * data, guint size,
+gst_rtp_mp4v_pay_parse_data (GstRtpMP4VPay * enc, guint8 * data, guint size,
     gint * strip)
 {
   guint32 code;
@@ -314,7 +314,7 @@
           gst_buffer_unref (enc->config);
         enc->config = gst_buffer_new_and_alloc (i);
         memcpy (GST_BUFFER_DATA (enc->config), data, i);
-        gst_rtpmp4venc_new_caps (enc);
+        gst_rtp_mp4v_pay_new_caps (enc);
       }
       *strip = i;
       /* we need to flush out the current packet. */
@@ -336,10 +336,10 @@
 /* we expect buffers starting on startcodes. 
  */
 static GstFlowReturn
-gst_rtpmp4venc_handle_buffer (GstBaseRTPPayload * basepayload,
+gst_rtp_mp4v_pay_handle_buffer (GstBaseRTPPayload * basepayload,
     GstBuffer * buffer)
 {
-  GstRtpMP4VEnc *rtpmp4venc;
+  GstRtpMP4VPay *rtpmp4vpay;
   GstFlowReturn ret;
   guint size, avail;
   guint packet_len;
@@ -350,25 +350,25 @@
 
   ret = GST_FLOW_OK;
 
-  rtpmp4venc = GST_RTP_MP4V_ENC (basepayload);
+  rtpmp4vpay = GST_RTP_MP4V_PAY (basepayload);
 
   size = GST_BUFFER_SIZE (buffer);
   data = GST_BUFFER_DATA (buffer);
   duration = GST_BUFFER_DURATION (buffer);
-  avail = gst_adapter_available (rtpmp4venc->adapter);
+  avail = gst_adapter_available (rtpmp4vpay->adapter);
 
   /* empty buffer, take timestamp */
   if (avail == 0) {
-    rtpmp4venc->first_ts = GST_BUFFER_TIMESTAMP (buffer);
-    rtpmp4venc->duration = 0;
+    rtpmp4vpay->first_ts = GST_BUFFER_TIMESTAMP (buffer);
+    rtpmp4vpay->duration = 0;
   }
 
   /* parse incomming data and see if we need to start a new RTP
    * packet */
-  flush = gst_rtpmp4venc_parse_data (rtpmp4venc, data, size, &strip);
+  flush = gst_rtp_mp4v_pay_parse_data (rtpmp4vpay, data, size, &strip);
   if (strip) {
     /* strip off config if requested */
-    if (!rtpmp4venc->send_config) {
+    if (!rtpmp4vpay->send_config) {
       GstBuffer *subbuf;
 
       /* strip off header */
@@ -384,40 +384,40 @@
 
   /* if we need to flush, do so now */
   if (flush) {
-    ret = gst_rtpmp4venc_flush (rtpmp4venc);
-    rtpmp4venc->first_ts = GST_BUFFER_TIMESTAMP (buffer);
-    rtpmp4venc->duration = 0;
+    ret = gst_rtp_mp4v_pay_flush (rtpmp4vpay);
+    rtpmp4vpay->first_ts = GST_BUFFER_TIMESTAMP (buffer);
+    rtpmp4vpay->duration = 0;
     avail = 0;
   }
 
   /* get packet length of data and see if we exceeded MTU. */
-  packet_len = gst_rtpbuffer_calc_packet_len (avail + size, 0, 0);
+  packet_len = gst_rtp_buffer_calc_packet_len (avail + size, 0, 0);
 
   if (gst_basertppayload_is_filled (basepayload,
-          packet_len, rtpmp4venc->duration + duration)) {
-    ret = gst_rtpmp4venc_flush (rtpmp4venc);
-    rtpmp4venc->first_ts = GST_BUFFER_TIMESTAMP (buffer);
-    rtpmp4venc->duration = 0;
+          packet_len, rtpmp4vpay->duration + duration)) {
+    ret = gst_rtp_mp4v_pay_flush (rtpmp4vpay);
+    rtpmp4vpay->first_ts = GST_BUFFER_TIMESTAMP (buffer);
+    rtpmp4vpay->duration = 0;
   }
 
   /* push new data */
-  gst_adapter_push (rtpmp4venc->adapter, buffer);
-  rtpmp4venc->duration += duration;
+  gst_adapter_push (rtpmp4vpay->adapter, buffer);
+  rtpmp4vpay->duration += duration;
 
   return ret;
 }
 
 static void
-gst_rtpmp4venc_set_property (GObject * object, guint prop_id,
+gst_rtp_mp4v_pay_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec)
 {
-  GstRtpMP4VEnc *rtpmp4venc;
+  GstRtpMP4VPay *rtpmp4vpay;
 
-  rtpmp4venc = GST_RTP_MP4V_ENC (object);
+  rtpmp4vpay = GST_RTP_MP4V_PAY (object);
 
   switch (prop_id) {
     case ARG_SEND_CONFIG:
-      rtpmp4venc->send_config = g_value_get_boolean (value);
+      rtpmp4vpay->send_config = g_value_get_boolean (value);
       break;
     default:
       break;
@@ -425,16 +425,16 @@
 }
 
 static void
-gst_rtpmp4venc_get_property (GObject * object, guint prop_id,
+gst_rtp_mp4v_pay_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec)
 {
-  GstRtpMP4VEnc *rtpmp4venc;
+  GstRtpMP4VPay *rtpmp4vpay;
 
-  rtpmp4venc = GST_RTP_MP4V_ENC (object);
+  rtpmp4vpay = GST_RTP_MP4V_PAY (object);
 
   switch (prop_id) {
     case ARG_SEND_CONFIG:
-      g_value_set_boolean (value, rtpmp4venc->send_config);
+      g_value_set_boolean (value, rtpmp4vpay->send_config);
       break;
     default:
       break;
@@ -442,8 +442,8 @@
 }
 
 gboolean
-gst_rtpmp4venc_plugin_init (GstPlugin * plugin)
+gst_rtp_mp4v_pay_plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "rtpmp4venc",
-      GST_RANK_NONE, GST_TYPE_RTP_MP4V_ENC);
+  return gst_element_register (plugin, "rtpmp4vpay",
+      GST_RANK_NONE, GST_TYPE_RTP_MP4V_PAY);
 }
diff --git a/gst/rtp/gstrtpmp4vpay.h b/gst/rtp/gstrtpmp4vpay.h
index 7354427..f1cb7ee 100644
--- a/gst/rtp/gstrtpmp4vpay.h
+++ b/gst/rtp/gstrtpmp4vpay.h
@@ -17,8 +17,8 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#ifndef __GST_RTP_MP4V_ENC_H__
-#define __GST_RTP_MP4V_ENC_H__
+#ifndef __GST_RTP_MP4V_PAY_H__
+#define __GST_RTP_MP4V_PAY_H__
 
 #include <gst/gst.h>
 #include <gst/rtp/gstbasertppayload.h>
@@ -26,21 +26,21 @@
 
 G_BEGIN_DECLS
 
-#define GST_TYPE_RTP_MP4V_ENC \
-  (gst_rtpmp4venc_get_type())
-#define GST_RTP_MP4V_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_MP4V_ENC,GstRtpMP4VEnc))
-#define GST_RTP_MP4V_ENC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_MP4V_ENC,GstRtpMP4VEnc))
-#define GST_IS_RTP_MP4V_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_MP4V_ENC))
-#define GST_IS_RTP_MP4V_ENC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_MP4V_ENC))
+#define GST_TYPE_RTP_MP4V_PAY \
+  (gst_rtp_mp4v_pay_get_type())
+#define GST_RTP_MP4V_PAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_MP4V_PAY,GstRtpMP4VPay))
+#define GST_RTP_MP4V_PAY_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_MP4V_PAY,GstRtpMP4VPay))
+#define GST_IS_RTP_MP4V_PAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_MP4V_PAY))
+#define GST_IS_RTP_MP4V_PAY_CLASS(obj) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_MP4V_PAY))
 
-typedef struct _GstRtpMP4VEnc GstRtpMP4VEnc;
-typedef struct _GstRtpMP4VEncClass GstRtpMP4VEncClass;
+typedef struct _GstRtpMP4VPay GstRtpMP4VPay;
+typedef struct _GstRtpMP4VPayClass GstRtpMP4VPayClass;
 
-struct _GstRtpMP4VEnc
+struct _GstRtpMP4VPay
 {
   GstBaseRTPPayload    payload;
 
@@ -54,13 +54,13 @@
   gboolean      send_config;
 };
 
-struct _GstRtpMP4VEncClass
+struct _GstRtpMP4VPayClass
 {
   GstBaseRTPPayloadClass parent_class;
 };
 
-gboolean gst_rtpmp4venc_plugin_init (GstPlugin * plugin);
+gboolean gst_rtp_mp4v_pay_plugin_init (GstPlugin * plugin);
 
 G_END_DECLS
 
-#endif /* __GST_RTP_MP4V_ENC_H__ */
+#endif /* __GST_RTP_MP4V_PAY_H__ */
diff --git a/gst/rtp/gstrtpmpadec.c b/gst/rtp/gstrtpmpadec.c
deleted file mode 100644
index 0a3f315..0000000
--- a/gst/rtp/gstrtpmpadec.c
+++ /dev/null
@@ -1,283 +0,0 @@
-/* GStreamer
- * Copyright (C) <2005> Wim Taymans <wim@fluendo.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more 
- */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include <gst/rtp/gstrtpbuffer.h>
-
-#include <string.h>
-#include "gstrtpmpadec.h"
-
-/* elementfactory information */
-static GstElementDetails gst_rtp_mpadec_details = {
-  "RTP packet parser",
-  "Codec/Parser/Network",
-  "Extracts MPEG audio from RTP packets (RFC 2038)",
-  "Wim Taymans <wim@fluendo.com>"
-};
-
-/* RtpMPADec signals and args */
-enum
-{
-  /* FILL ME */
-  LAST_SIGNAL
-};
-
-enum
-{
-  ARG_0,
-  ARG_FREQUENCY
-};
-
-static GstStaticPadTemplate gst_rtpmpadec_src_template =
-GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("audio/mpeg")
-    );
-
-static GstStaticPadTemplate gst_rtpmpadec_sink_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-rtp, "
-        "media = (string) \"audio\", "
-        "payload = (int) [ 96, 255 ], "
-        "clock-rate = (int) 90000, " "encoding-name = (string) \"MPA\"")
-    );
-
-
-static void gst_rtpmpadec_class_init (GstRtpMPADecClass * klass);
-static void gst_rtpmpadec_base_init (GstRtpMPADecClass * klass);
-static void gst_rtpmpadec_init (GstRtpMPADec * rtpmpadec);
-
-static GstFlowReturn gst_rtpmpadec_chain (GstPad * pad, GstBuffer * buffer);
-
-static void gst_rtpmpadec_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec);
-static void gst_rtpmpadec_get_property (GObject * object, guint prop_id,
-    GValue * value, GParamSpec * pspec);
-
-static GstStateChangeReturn gst_rtpmpadec_change_state (GstElement * element,
-    GstStateChange transition);
-
-static GstElementClass *parent_class = NULL;
-
-static GType
-gst_rtpmpadec_get_type (void)
-{
-  static GType rtpmpadec_type = 0;
-
-  if (!rtpmpadec_type) {
-    static const GTypeInfo rtpmpadec_info = {
-      sizeof (GstRtpMPADecClass),
-      (GBaseInitFunc) gst_rtpmpadec_base_init,
-      NULL,
-      (GClassInitFunc) gst_rtpmpadec_class_init,
-      NULL,
-      NULL,
-      sizeof (GstRtpMPADec),
-      0,
-      (GInstanceInitFunc) gst_rtpmpadec_init,
-    };
-
-    rtpmpadec_type =
-        g_type_register_static (GST_TYPE_ELEMENT, "GstRtpMPADec",
-        &rtpmpadec_info, 0);
-  }
-  return rtpmpadec_type;
-}
-
-static void
-gst_rtpmpadec_base_init (GstRtpMPADecClass * klass)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpmpadec_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpmpadec_sink_template));
-
-  gst_element_class_set_details (element_class, &gst_rtp_mpadec_details);
-}
-
-static void
-gst_rtpmpadec_class_init (GstRtpMPADecClass * klass)
-{
-  GObjectClass *gobject_class;
-  GstElementClass *gstelement_class;
-
-  gobject_class = (GObjectClass *) klass;
-  gstelement_class = (GstElementClass *) klass;
-
-  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
-
-  gobject_class->set_property = gst_rtpmpadec_set_property;
-  gobject_class->get_property = gst_rtpmpadec_get_property;
-
-  gstelement_class->change_state = gst_rtpmpadec_change_state;
-}
-
-static void
-gst_rtpmpadec_init (GstRtpMPADec * rtpmpadec)
-{
-  rtpmpadec->srcpad =
-      gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpmpadec_src_template), "src");
-  gst_element_add_pad (GST_ELEMENT (rtpmpadec), rtpmpadec->srcpad);
-
-  rtpmpadec->sinkpad =
-      gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpmpadec_sink_template), "sink");
-  gst_pad_set_chain_function (rtpmpadec->sinkpad, gst_rtpmpadec_chain);
-  gst_element_add_pad (GST_ELEMENT (rtpmpadec), rtpmpadec->sinkpad);
-}
-
-static GstFlowReturn
-gst_rtpmpadec_chain (GstPad * pad, GstBuffer * buf)
-{
-  GstRtpMPADec *rtpmpadec;
-  GstBuffer *outbuf;
-  guint8 pt;
-  GstFlowReturn ret;
-
-  rtpmpadec = GST_RTP_MPA_DEC (GST_OBJECT_PARENT (pad));
-
-  if (!gst_rtpbuffer_validate (buf))
-    goto bad_packet;
-
-  if ((pt = gst_rtpbuffer_get_payload_type (buf)) != GST_RTP_PAYLOAD_MPA)
-    goto bad_payload;
-
-
-  {
-    gint payload_len;
-    guint8 *payload;
-    guint16 frag_offset;
-    guint32 timestamp;
-
-    payload_len = gst_rtpbuffer_get_payload_len (buf);
-    payload = gst_rtpbuffer_get_payload (buf);
-
-    frag_offset = (payload[2] << 8) | payload[3];
-
-    /* strip off header
-     *
-     *  0                   1                   2                   3
-     *  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-     * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-     * |             MBZ               |          Frag_offset          |
-     * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-     */
-    payload_len -= 4;
-    payload += 4;
-
-    timestamp = gst_rtpbuffer_get_timestamp (buf);
-
-    outbuf = gst_buffer_new_and_alloc (payload_len);
-
-    //GST_BUFFER_TIMESTAMP (outbuf) = timestamp * GST_SECOND / 90000;
-
-    memcpy (GST_BUFFER_DATA (outbuf), payload, payload_len);
-
-    GST_DEBUG ("gst_rtpmpadec_chain: pushing buffer of size %d",
-        GST_BUFFER_SIZE (outbuf));
-
-    gst_buffer_unref (buf);
-
-    /* FIXME, we can push half mpeg frames when they are split over multiple
-     * RTP packets */
-    ret = gst_pad_push (rtpmpadec->srcpad, outbuf);
-  }
-
-  return ret;
-
-bad_packet:
-  {
-    GST_DEBUG ("Packet did not validate");
-    gst_buffer_unref (buf);
-    return GST_FLOW_ERROR;
-  }
-bad_payload:
-  {
-    GST_DEBUG ("Unexpected payload type %u", pt);
-    gst_buffer_unref (buf);
-    return GST_FLOW_ERROR;
-  }
-}
-
-static void
-gst_rtpmpadec_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec)
-{
-  GstRtpMPADec *rtpmpadec;
-
-  rtpmpadec = GST_RTP_MPA_DEC (object);
-
-  switch (prop_id) {
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-}
-
-static void
-gst_rtpmpadec_get_property (GObject * object, guint prop_id, GValue * value,
-    GParamSpec * pspec)
-{
-  GstRtpMPADec *rtpmpadec;
-
-  rtpmpadec = GST_RTP_MPA_DEC (object);
-
-  switch (prop_id) {
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-}
-
-static GstStateChangeReturn
-gst_rtpmpadec_change_state (GstElement * element, GstStateChange transition)
-{
-  GstRtpMPADec *rtpmpadec;
-  GstStateChangeReturn ret;
-
-  rtpmpadec = GST_RTP_MPA_DEC (element);
-
-  switch (transition) {
-    case GST_STATE_CHANGE_NULL_TO_READY:
-      break;
-    default:
-      break;
-  }
-
-  ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
-
-  switch (transition) {
-    case GST_STATE_CHANGE_READY_TO_NULL:
-      break;
-    default:
-      break;
-  }
-  return ret;
-}
-
-gboolean
-gst_rtpmpadec_plugin_init (GstPlugin * plugin)
-{
-  return gst_element_register (plugin, "rtpmpadec",
-      GST_RANK_NONE, GST_TYPE_RTP_MPA_DEC);
-}
diff --git a/gst/rtp/gstrtpmpadec.h b/gst/rtp/gstrtpmpadec.h
deleted file mode 100644
index ef2a232..0000000
--- a/gst/rtp/gstrtpmpadec.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Gnome-Streamer
- * Copyright (C) <2005> Wim Taymans <wim@fluendo.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GST_RTP_MPA_DEC_H__
-#define __GST_RTP_MPA_DEC_H__
-
-#include <gst/gst.h>
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_RTP_MPA_DEC \
-  (gst_rtpmpadec_get_type())
-#define GST_RTP_MPA_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_MPA_DEC,GstRtpMPADec))
-#define GST_RTP_MPA_DEC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_MPA_DEC,GstRtpMPADec))
-#define GST_IS_RTP_MPA_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_MPA_DEC))
-#define GST_IS_RTP_MPA_DEC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_MPA_DEC))
-
-typedef struct _GstRtpMPADec GstRtpMPADec;
-typedef struct _GstRtpMPADecClass GstRtpMPADecClass;
-
-struct _GstRtpMPADec
-{
-  GstElement element;
-
-  GstPad *sinkpad;
-  GstPad *srcpad;
-
-  guint frequency;
-};
-
-struct _GstRtpMPADecClass
-{
-  GstElementClass parent_class;
-};
-
-gboolean gst_rtpmpadec_plugin_init (GstPlugin * plugin);
-
-G_END_DECLS
-
-#endif /* __GST_RTP_MPA_DEC_H__ */
diff --git a/gst/rtp/gstrtpmpadepay.c b/gst/rtp/gstrtpmpadepay.c
index 0a3f315..0ae76f0 100644
--- a/gst/rtp/gstrtpmpadepay.c
+++ b/gst/rtp/gstrtpmpadepay.c
@@ -19,17 +19,17 @@
 #include <gst/rtp/gstrtpbuffer.h>
 
 #include <string.h>
-#include "gstrtpmpadec.h"
+#include "gstrtpmpadepay.h"
 
 /* elementfactory information */
-static GstElementDetails gst_rtp_mpadec_details = {
+static GstElementDetails gst_rtp_mpadepay_details = {
   "RTP packet parser",
   "Codec/Parser/Network",
   "Extracts MPEG audio from RTP packets (RFC 2038)",
   "Wim Taymans <wim@fluendo.com>"
 };
 
-/* RtpMPADec signals and args */
+/* RtpMPADepay signals and args */
 enum
 {
   /* FILL ME */
@@ -42,14 +42,14 @@
   ARG_FREQUENCY
 };
 
-static GstStaticPadTemplate gst_rtpmpadec_src_template =
+static GstStaticPadTemplate gst_rtp_mpa_depay_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("audio/mpeg")
     );
 
-static GstStaticPadTemplate gst_rtpmpadec_sink_template =
+static GstStaticPadTemplate gst_rtp_mpa_depay_sink_template =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
@@ -60,62 +60,62 @@
     );
 
 
-static void gst_rtpmpadec_class_init (GstRtpMPADecClass * klass);
-static void gst_rtpmpadec_base_init (GstRtpMPADecClass * klass);
-static void gst_rtpmpadec_init (GstRtpMPADec * rtpmpadec);
+static void gst_rtp_mpa_depay_class_init (GstRtpMPADepayClass * klass);
+static void gst_rtp_mpa_depay_base_init (GstRtpMPADepayClass * klass);
+static void gst_rtp_mpa_depay_init (GstRtpMPADepay * rtpmpadepay);
 
-static GstFlowReturn gst_rtpmpadec_chain (GstPad * pad, GstBuffer * buffer);
+static GstFlowReturn gst_rtp_mpa_depay_chain (GstPad * pad, GstBuffer * buffer);
 
-static void gst_rtpmpadec_set_property (GObject * object, guint prop_id,
+static void gst_rtp_mpa_depay_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec);
-static void gst_rtpmpadec_get_property (GObject * object, guint prop_id,
+static void gst_rtp_mpa_depay_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec);
 
-static GstStateChangeReturn gst_rtpmpadec_change_state (GstElement * element,
-    GstStateChange transition);
+static GstStateChangeReturn gst_rtp_mpa_depay_change_state (GstElement *
+    element, GstStateChange transition);
 
 static GstElementClass *parent_class = NULL;
 
 static GType
-gst_rtpmpadec_get_type (void)
+gst_rtp_mpa_depay_get_type (void)
 {
-  static GType rtpmpadec_type = 0;
+  static GType rtpmpadepay_type = 0;
 
-  if (!rtpmpadec_type) {
-    static const GTypeInfo rtpmpadec_info = {
-      sizeof (GstRtpMPADecClass),
-      (GBaseInitFunc) gst_rtpmpadec_base_init,
+  if (!rtpmpadepay_type) {
+    static const GTypeInfo rtpmpadepay_info = {
+      sizeof (GstRtpMPADepayClass),
+      (GBaseInitFunc) gst_rtp_mpa_depay_base_init,
       NULL,
-      (GClassInitFunc) gst_rtpmpadec_class_init,
+      (GClassInitFunc) gst_rtp_mpa_depay_class_init,
       NULL,
       NULL,
-      sizeof (GstRtpMPADec),
+      sizeof (GstRtpMPADepay),
       0,
-      (GInstanceInitFunc) gst_rtpmpadec_init,
+      (GInstanceInitFunc) gst_rtp_mpa_depay_init,
     };
 
-    rtpmpadec_type =
-        g_type_register_static (GST_TYPE_ELEMENT, "GstRtpMPADec",
-        &rtpmpadec_info, 0);
+    rtpmpadepay_type =
+        g_type_register_static (GST_TYPE_ELEMENT, "GstRtpMPADepay",
+        &rtpmpadepay_info, 0);
   }
-  return rtpmpadec_type;
+  return rtpmpadepay_type;
 }
 
 static void
-gst_rtpmpadec_base_init (GstRtpMPADecClass * klass)
+gst_rtp_mpa_depay_base_init (GstRtpMPADepayClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpmpadec_src_template));
+      gst_static_pad_template_get (&gst_rtp_mpa_depay_src_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpmpadec_sink_template));
+      gst_static_pad_template_get (&gst_rtp_mpa_depay_sink_template));
 
-  gst_element_class_set_details (element_class, &gst_rtp_mpadec_details);
+  gst_element_class_set_details (element_class, &gst_rtp_mpadepay_details);
 }
 
 static void
-gst_rtpmpadec_class_init (GstRtpMPADecClass * klass)
+gst_rtp_mpa_depay_class_init (GstRtpMPADepayClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -125,41 +125,41 @@
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
-  gobject_class->set_property = gst_rtpmpadec_set_property;
-  gobject_class->get_property = gst_rtpmpadec_get_property;
+  gobject_class->set_property = gst_rtp_mpa_depay_set_property;
+  gobject_class->get_property = gst_rtp_mpa_depay_get_property;
 
-  gstelement_class->change_state = gst_rtpmpadec_change_state;
+  gstelement_class->change_state = gst_rtp_mpa_depay_change_state;
 }
 
 static void
-gst_rtpmpadec_init (GstRtpMPADec * rtpmpadec)
+gst_rtp_mpa_depay_init (GstRtpMPADepay * rtpmpadepay)
 {
-  rtpmpadec->srcpad =
+  rtpmpadepay->srcpad =
       gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpmpadec_src_template), "src");
-  gst_element_add_pad (GST_ELEMENT (rtpmpadec), rtpmpadec->srcpad);
+      (&gst_rtp_mpa_depay_src_template), "src");
+  gst_element_add_pad (GST_ELEMENT (rtpmpadepay), rtpmpadepay->srcpad);
 
-  rtpmpadec->sinkpad =
+  rtpmpadepay->sinkpad =
       gst_pad_new_from_template (gst_static_pad_template_get
-      (&gst_rtpmpadec_sink_template), "sink");
-  gst_pad_set_chain_function (rtpmpadec->sinkpad, gst_rtpmpadec_chain);
-  gst_element_add_pad (GST_ELEMENT (rtpmpadec), rtpmpadec->sinkpad);
+      (&gst_rtp_mpa_depay_sink_template), "sink");
+  gst_pad_set_chain_function (rtpmpadepay->sinkpad, gst_rtp_mpa_depay_chain);
+  gst_element_add_pad (GST_ELEMENT (rtpmpadepay), rtpmpadepay->sinkpad);
 }
 
 static GstFlowReturn
-gst_rtpmpadec_chain (GstPad * pad, GstBuffer * buf)
+gst_rtp_mpa_depay_chain (GstPad * pad, GstBuffer * buf)
 {
-  GstRtpMPADec *rtpmpadec;
+  GstRtpMPADepay *rtpmpadepay;
   GstBuffer *outbuf;
   guint8 pt;
   GstFlowReturn ret;
 
-  rtpmpadec = GST_RTP_MPA_DEC (GST_OBJECT_PARENT (pad));
+  rtpmpadepay = GST_RTP_MPA_DEPAY (GST_OBJECT_PARENT (pad));
 
-  if (!gst_rtpbuffer_validate (buf))
+  if (!gst_rtp_buffer_validate (buf))
     goto bad_packet;
 
-  if ((pt = gst_rtpbuffer_get_payload_type (buf)) != GST_RTP_PAYLOAD_MPA)
+  if ((pt = gst_rtp_buffer_get_payload_type (buf)) != GST_RTP_PAYLOAD_MPA)
     goto bad_payload;
 
 
@@ -169,8 +169,8 @@
     guint16 frag_offset;
     guint32 timestamp;
 
-    payload_len = gst_rtpbuffer_get_payload_len (buf);
-    payload = gst_rtpbuffer_get_payload (buf);
+    payload_len = gst_rtp_buffer_get_payload_len (buf);
+    payload = gst_rtp_buffer_get_payload (buf);
 
     frag_offset = (payload[2] << 8) | payload[3];
 
@@ -185,7 +185,7 @@
     payload_len -= 4;
     payload += 4;
 
-    timestamp = gst_rtpbuffer_get_timestamp (buf);
+    timestamp = gst_rtp_buffer_get_timestamp (buf);
 
     outbuf = gst_buffer_new_and_alloc (payload_len);
 
@@ -193,14 +193,14 @@
 
     memcpy (GST_BUFFER_DATA (outbuf), payload, payload_len);
 
-    GST_DEBUG ("gst_rtpmpadec_chain: pushing buffer of size %d",
+    GST_DEBUG ("gst_rtp_mpa_depay_chain: pushing buffer of size %d",
         GST_BUFFER_SIZE (outbuf));
 
     gst_buffer_unref (buf);
 
     /* FIXME, we can push half mpeg frames when they are split over multiple
      * RTP packets */
-    ret = gst_pad_push (rtpmpadec->srcpad, outbuf);
+    ret = gst_pad_push (rtpmpadepay->srcpad, outbuf);
   }
 
   return ret;
@@ -220,12 +220,12 @@
 }
 
 static void
-gst_rtpmpadec_set_property (GObject * object, guint prop_id,
+gst_rtp_mpa_depay_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec)
 {
-  GstRtpMPADec *rtpmpadec;
+  GstRtpMPADepay *rtpmpadepay;
 
-  rtpmpadec = GST_RTP_MPA_DEC (object);
+  rtpmpadepay = GST_RTP_MPA_DEPAY (object);
 
   switch (prop_id) {
     default:
@@ -235,12 +235,12 @@
 }
 
 static void
-gst_rtpmpadec_get_property (GObject * object, guint prop_id, GValue * value,
+gst_rtp_mpa_depay_get_property (GObject * object, guint prop_id, GValue * value,
     GParamSpec * pspec)
 {
-  GstRtpMPADec *rtpmpadec;
+  GstRtpMPADepay *rtpmpadepay;
 
-  rtpmpadec = GST_RTP_MPA_DEC (object);
+  rtpmpadepay = GST_RTP_MPA_DEPAY (object);
 
   switch (prop_id) {
     default:
@@ -250,12 +250,12 @@
 }
 
 static GstStateChangeReturn
-gst_rtpmpadec_change_state (GstElement * element, GstStateChange transition)
+gst_rtp_mpa_depay_change_state (GstElement * element, GstStateChange transition)
 {
-  GstRtpMPADec *rtpmpadec;
+  GstRtpMPADepay *rtpmpadepay;
   GstStateChangeReturn ret;
 
-  rtpmpadec = GST_RTP_MPA_DEC (element);
+  rtpmpadepay = GST_RTP_MPA_DEPAY (element);
 
   switch (transition) {
     case GST_STATE_CHANGE_NULL_TO_READY:
@@ -276,8 +276,8 @@
 }
 
 gboolean
-gst_rtpmpadec_plugin_init (GstPlugin * plugin)
+gst_rtp_mpa_depay_plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "rtpmpadec",
-      GST_RANK_NONE, GST_TYPE_RTP_MPA_DEC);
+  return gst_element_register (plugin, "rtpmpadepay",
+      GST_RANK_NONE, GST_TYPE_RTP_MPA_DEPAY);
 }
diff --git a/gst/rtp/gstrtpmpadepay.h b/gst/rtp/gstrtpmpadepay.h
index ef2a232..bc607ce 100644
--- a/gst/rtp/gstrtpmpadepay.h
+++ b/gst/rtp/gstrtpmpadepay.h
@@ -17,28 +17,28 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#ifndef __GST_RTP_MPA_DEC_H__
-#define __GST_RTP_MPA_DEC_H__
+#ifndef __GST_RTP_MPA_DEPAY_H__
+#define __GST_RTP_MPA_DEPAY_H__
 
 #include <gst/gst.h>
 
 G_BEGIN_DECLS
 
-#define GST_TYPE_RTP_MPA_DEC \
-  (gst_rtpmpadec_get_type())
-#define GST_RTP_MPA_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_MPA_DEC,GstRtpMPADec))
-#define GST_RTP_MPA_DEC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_MPA_DEC,GstRtpMPADec))
-#define GST_IS_RTP_MPA_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_MPA_DEC))
-#define GST_IS_RTP_MPA_DEC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_MPA_DEC))
+#define GST_TYPE_RTP_MPA_DEPAY \
+  (gst_rtp_mpa_depay_get_type())
+#define GST_RTP_MPA_DEPAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_MPA_DEPAY,GstRtpMPADepay))
+#define GST_RTP_MPA_DEPAY_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_MPA_DEPAY,GstRtpMPADepay))
+#define GST_IS_RTP_MPA_DEPAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_MPA_DEPAY))
+#define GST_IS_RTP_MPA_DEPAY_CLASS(obj) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_MPA_DEPAY))
 
-typedef struct _GstRtpMPADec GstRtpMPADec;
-typedef struct _GstRtpMPADecClass GstRtpMPADecClass;
+typedef struct _GstRtpMPADepay GstRtpMPADepay;
+typedef struct _GstRtpMPADepayClass GstRtpMPADepayClass;
 
-struct _GstRtpMPADec
+struct _GstRtpMPADepay
 {
   GstElement element;
 
@@ -48,13 +48,13 @@
   guint frequency;
 };
 
-struct _GstRtpMPADecClass
+struct _GstRtpMPADepayClass
 {
   GstElementClass parent_class;
 };
 
-gboolean gst_rtpmpadec_plugin_init (GstPlugin * plugin);
+gboolean gst_rtp_mpa_depay_plugin_init (GstPlugin * plugin);
 
 G_END_DECLS
 
-#endif /* __GST_RTP_MPA_DEC_H__ */
+#endif /* __GST_RTP_MPA_DEPAY_H__ */
diff --git a/gst/rtp/gstrtpmpaenc.c b/gst/rtp/gstrtpmpaenc.c
deleted file mode 100644
index cbfc4a4..0000000
--- a/gst/rtp/gstrtpmpaenc.c
+++ /dev/null
@@ -1,268 +0,0 @@
-/* GStreamer
- * Copyright (C) <2005> Wim Taymans <wim@fluendo.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more 
- */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include <string.h>
-
-#include <gst/rtp/gstrtpbuffer.h>
-
-#include "gstrtpmpaenc.h"
-
-/* elementfactory information */
-static GstElementDetails gst_rtp_mpaenc_details = {
-  "RTP packet parser",
-  "Codec/Encoder/Network",
-  "Encode MPEG audio as RTP packets (RFC 2038)",
-  "Wim Taymans <wim@fluendo.com>"
-};
-
-static GstStaticPadTemplate gst_rtpmpaenc_sink_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("audio/mpeg")
-    );
-
-static GstStaticPadTemplate gst_rtpmpaenc_src_template =
-GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-rtp, "
-        "media = (string) \"audio\", "
-        "payload = (int) [ 96, 255 ], "
-        "clock-rate = (int) 90000, " "encoding-name = (string) \"MPA\"")
-    );
-
-static void gst_rtpmpaenc_class_init (GstRtpMPAEncClass * klass);
-static void gst_rtpmpaenc_base_init (GstRtpMPAEncClass * klass);
-static void gst_rtpmpaenc_init (GstRtpMPAEnc * rtpmpaenc);
-static void gst_rtpmpaenc_finalize (GObject * object);
-
-static gboolean gst_rtpmpaenc_setcaps (GstBaseRTPPayload * payload,
-    GstCaps * caps);
-static GstFlowReturn gst_rtpmpaenc_handle_buffer (GstBaseRTPPayload * payload,
-    GstBuffer * buffer);
-
-static GstBaseRTPPayloadClass *parent_class = NULL;
-
-static GType
-gst_rtpmpaenc_get_type (void)
-{
-  static GType rtpmpaenc_type = 0;
-
-  if (!rtpmpaenc_type) {
-    static const GTypeInfo rtpmpaenc_info = {
-      sizeof (GstRtpMPAEncClass),
-      (GBaseInitFunc) gst_rtpmpaenc_base_init,
-      NULL,
-      (GClassInitFunc) gst_rtpmpaenc_class_init,
-      NULL,
-      NULL,
-      sizeof (GstRtpMPAEnc),
-      0,
-      (GInstanceInitFunc) gst_rtpmpaenc_init,
-    };
-
-    rtpmpaenc_type =
-        g_type_register_static (GST_TYPE_BASE_RTP_PAYLOAD, "GstRtpMPAEnc",
-        &rtpmpaenc_info, 0);
-  }
-  return rtpmpaenc_type;
-}
-
-static void
-gst_rtpmpaenc_base_init (GstRtpMPAEncClass * klass)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpmpaenc_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpmpaenc_sink_template));
-
-  gst_element_class_set_details (element_class, &gst_rtp_mpaenc_details);
-}
-
-static void
-gst_rtpmpaenc_class_init (GstRtpMPAEncClass * klass)
-{
-  GObjectClass *gobject_class;
-  GstElementClass *gstelement_class;
-  GstBaseRTPPayloadClass *gstbasertppayload_class;
-
-  gobject_class = (GObjectClass *) klass;
-  gstelement_class = (GstElementClass *) klass;
-  gstbasertppayload_class = (GstBaseRTPPayloadClass *) klass;
-
-  parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_PAYLOAD);
-
-  gobject_class->finalize = gst_rtpmpaenc_finalize;
-
-  gstbasertppayload_class->set_caps = gst_rtpmpaenc_setcaps;
-  gstbasertppayload_class->handle_buffer = gst_rtpmpaenc_handle_buffer;
-}
-
-static void
-gst_rtpmpaenc_init (GstRtpMPAEnc * rtpmpaenc)
-{
-  rtpmpaenc->adapter = gst_adapter_new ();
-}
-
-static void
-gst_rtpmpaenc_finalize (GObject * object)
-{
-  GstRtpMPAEnc *rtpmpaenc;
-
-  rtpmpaenc = GST_RTP_MPA_ENC (object);
-
-  g_object_unref (rtpmpaenc->adapter);
-  rtpmpaenc->adapter = NULL;
-
-  G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-static gboolean
-gst_rtpmpaenc_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
-{
-  gst_basertppayload_set_options (payload, "audio", TRUE, "MPA", 90000);
-  gst_basertppayload_set_outcaps (payload, NULL);
-
-  return TRUE;
-}
-
-static GstFlowReturn
-gst_rtpmpaenc_flush (GstRtpMPAEnc * rtpmpaenc)
-{
-  guint avail;
-  GstBuffer *outbuf;
-  GstFlowReturn ret;
-  guint16 frag_offset;
-
-  /* the data available in the adapter is either smaller
-   * than the MTU or bigger. In the case it is smaller, the complete
-   * adapter contents can be put in one packet. In the case the
-   * adapter has more than one MTU, we need to split the MPA data
-   * over multiple packets. The frag_offset in each packet header
-   * needs to be updated with the position in the MPA frame. */
-  avail = gst_adapter_available (rtpmpaenc->adapter);
-
-  ret = GST_FLOW_OK;
-
-  frag_offset = 0;
-  while (avail > 0) {
-    guint towrite;
-    guint8 *payload;
-    guint8 *data;
-    guint payload_len;
-    guint packet_len;
-
-    /* this will be the total lenght of the packet */
-    packet_len = gst_rtpbuffer_calc_packet_len (4 + avail, 0, 0);
-
-    /* fill one MTU or all available bytes */
-    towrite = MIN (packet_len, GST_BASE_RTP_PAYLOAD_MTU (rtpmpaenc));
-
-    /* this is the payload length */
-    payload_len = gst_rtpbuffer_calc_payload_len (towrite, 0, 0);
-
-    /* create buffer to hold the payload */
-    outbuf = gst_rtpbuffer_new_allocate (payload_len, 0, 0);
-
-    payload_len -= 4;
-
-    gst_rtpbuffer_set_payload_type (outbuf, GST_RTP_PAYLOAD_MPA);
-
-    /*
-     *  0                   1                   2                   3
-     *  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-     * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-     * |             MBZ               |          Frag_offset          |
-     * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
-     */
-    payload = gst_rtpbuffer_get_payload (outbuf);
-    payload[0] = 0;
-    payload[1] = 0;
-    payload[2] = frag_offset >> 8;
-    payload[3] = frag_offset & 0xff;
-
-    data = (guint8 *) gst_adapter_peek (rtpmpaenc->adapter, payload_len);
-    memcpy (&payload[4], data, payload_len);
-    gst_adapter_flush (rtpmpaenc->adapter, payload_len);
-
-    avail -= payload_len;
-    frag_offset += payload_len;
-
-    if (avail == 0)
-      gst_rtpbuffer_set_marker (outbuf, TRUE);
-
-    GST_BUFFER_TIMESTAMP (outbuf) = rtpmpaenc->first_ts;
-    GST_BUFFER_DURATION (outbuf) = rtpmpaenc->duration;
-
-    ret = gst_basertppayload_push (GST_BASE_RTP_PAYLOAD (rtpmpaenc), outbuf);
-  }
-
-  return ret;
-}
-
-static GstFlowReturn
-gst_rtpmpaenc_handle_buffer (GstBaseRTPPayload * basepayload,
-    GstBuffer * buffer)
-{
-  GstRtpMPAEnc *rtpmpaenc;
-  GstFlowReturn ret;
-  guint size, avail;
-  guint packet_len;
-  GstClockTime duration;
-
-  rtpmpaenc = GST_RTP_MPA_ENC (basepayload);
-
-  size = GST_BUFFER_SIZE (buffer);
-  duration = GST_BUFFER_DURATION (buffer);
-
-  avail = gst_adapter_available (rtpmpaenc->adapter);
-  if (avail == 0) {
-    rtpmpaenc->first_ts = GST_BUFFER_TIMESTAMP (buffer);
-    rtpmpaenc->duration = 0;
-  }
-
-  /* get packet length of previous data and this new data, 
-   * payload length includes a 4 byte header */
-  packet_len = gst_rtpbuffer_calc_packet_len (4 + avail + size, 0, 0);
-
-  /* if this buffer is going to overflow the packet, flush what we
-   * have. */
-  if (gst_basertppayload_is_filled (basepayload,
-          packet_len, rtpmpaenc->duration + duration)) {
-    ret = gst_rtpmpaenc_flush (rtpmpaenc);
-    rtpmpaenc->first_ts = GST_BUFFER_TIMESTAMP (buffer);
-    rtpmpaenc->duration = 0;
-  } else {
-    ret = GST_FLOW_OK;
-  }
-
-  gst_adapter_push (rtpmpaenc->adapter, buffer);
-  rtpmpaenc->duration += duration;
-
-  return ret;
-}
-
-gboolean
-gst_rtpmpaenc_plugin_init (GstPlugin * plugin)
-{
-  return gst_element_register (plugin, "rtpmpaenc",
-      GST_RANK_NONE, GST_TYPE_RTP_MPA_ENC);
-}
diff --git a/gst/rtp/gstrtpmpaenc.h b/gst/rtp/gstrtpmpaenc.h
deleted file mode 100644
index c4eac61..0000000
--- a/gst/rtp/gstrtpmpaenc.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Gnome-Streamer
- * Copyright (C) <2005> Wim Taymans <wim@fluendo.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GST_RTP_MPA_ENC_H__
-#define __GST_RTP_MPA_ENC_H__
-
-#include <gst/gst.h>
-#include <gst/rtp/gstbasertppayload.h>
-#include <gst/base/gstadapter.h>
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_RTP_MPA_ENC \
-  (gst_rtpmpaenc_get_type())
-#define GST_RTP_MPA_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_MPA_ENC,GstRtpMPAEnc))
-#define GST_RTP_MPA_ENC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_MPA_ENC,GstRtpMPAEnc))
-#define GST_IS_RTP_MPA_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_MPA_ENC))
-#define GST_IS_RTP_MPA_ENC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_MPA_ENC))
-
-typedef struct _GstRtpMPAEnc GstRtpMPAEnc;
-typedef struct _GstRtpMPAEncClass GstRtpMPAEncClass;
-
-struct _GstRtpMPAEnc
-{
-  GstBaseRTPPayload payload;
-
-  GstAdapter *adapter;
-  GstClockTime first_ts;
-  GstClockTime duration;
-};
-
-struct _GstRtpMPAEncClass
-{
-  GstBaseRTPPayloadClass parent_class;
-};
-
-gboolean gst_rtpmpaenc_plugin_init (GstPlugin * plugin);
-
-G_END_DECLS
-
-#endif /* __GST_RTP_MPA_ENC_H__ */
diff --git a/gst/rtp/gstrtpmpapay.c b/gst/rtp/gstrtpmpapay.c
index cbfc4a4..4b13c7d 100644
--- a/gst/rtp/gstrtpmpapay.c
+++ b/gst/rtp/gstrtpmpapay.c
@@ -20,24 +20,24 @@
 
 #include <gst/rtp/gstrtpbuffer.h>
 
-#include "gstrtpmpaenc.h"
+#include "gstrtpmpapay.h"
 
 /* elementfactory information */
-static GstElementDetails gst_rtp_mpaenc_details = {
+static GstElementDetails gst_rtp_mpapay_details = {
   "RTP packet parser",
-  "Codec/Encoder/Network",
-  "Encode MPEG audio as RTP packets (RFC 2038)",
+  "Codec/Payloader/Network",
+  "Payode MPEG audio as RTP packets (RFC 2038)",
   "Wim Taymans <wim@fluendo.com>"
 };
 
-static GstStaticPadTemplate gst_rtpmpaenc_sink_template =
+static GstStaticPadTemplate gst_rtp_mpa_pay_sink_template =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("audio/mpeg")
     );
 
-static GstStaticPadTemplate gst_rtpmpaenc_src_template =
+static GstStaticPadTemplate gst_rtp_mpa_pay_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
@@ -47,58 +47,58 @@
         "clock-rate = (int) 90000, " "encoding-name = (string) \"MPA\"")
     );
 
-static void gst_rtpmpaenc_class_init (GstRtpMPAEncClass * klass);
-static void gst_rtpmpaenc_base_init (GstRtpMPAEncClass * klass);
-static void gst_rtpmpaenc_init (GstRtpMPAEnc * rtpmpaenc);
-static void gst_rtpmpaenc_finalize (GObject * object);
+static void gst_rtp_mpa_pay_class_init (GstRtpMPAPayClass * klass);
+static void gst_rtp_mpa_pay_base_init (GstRtpMPAPayClass * klass);
+static void gst_rtp_mpa_pay_init (GstRtpMPAPay * rtpmpapay);
+static void gst_rtp_mpa_pay_finalize (GObject * object);
 
-static gboolean gst_rtpmpaenc_setcaps (GstBaseRTPPayload * payload,
+static gboolean gst_rtp_mpa_pay_setcaps (GstBaseRTPPayload * payload,
     GstCaps * caps);
-static GstFlowReturn gst_rtpmpaenc_handle_buffer (GstBaseRTPPayload * payload,
+static GstFlowReturn gst_rtp_mpa_pay_handle_buffer (GstBaseRTPPayload * payload,
     GstBuffer * buffer);
 
 static GstBaseRTPPayloadClass *parent_class = NULL;
 
 static GType
-gst_rtpmpaenc_get_type (void)
+gst_rtp_mpa_pay_get_type (void)
 {
-  static GType rtpmpaenc_type = 0;
+  static GType rtpmpapay_type = 0;
 
-  if (!rtpmpaenc_type) {
-    static const GTypeInfo rtpmpaenc_info = {
-      sizeof (GstRtpMPAEncClass),
-      (GBaseInitFunc) gst_rtpmpaenc_base_init,
+  if (!rtpmpapay_type) {
+    static const GTypeInfo rtpmpapay_info = {
+      sizeof (GstRtpMPAPayClass),
+      (GBaseInitFunc) gst_rtp_mpa_pay_base_init,
       NULL,
-      (GClassInitFunc) gst_rtpmpaenc_class_init,
+      (GClassInitFunc) gst_rtp_mpa_pay_class_init,
       NULL,
       NULL,
-      sizeof (GstRtpMPAEnc),
+      sizeof (GstRtpMPAPay),
       0,
-      (GInstanceInitFunc) gst_rtpmpaenc_init,
+      (GInstanceInitFunc) gst_rtp_mpa_pay_init,
     };
 
-    rtpmpaenc_type =
-        g_type_register_static (GST_TYPE_BASE_RTP_PAYLOAD, "GstRtpMPAEnc",
-        &rtpmpaenc_info, 0);
+    rtpmpapay_type =
+        g_type_register_static (GST_TYPE_BASE_RTP_PAYLOAD, "GstRtpMPAPay",
+        &rtpmpapay_info, 0);
   }
-  return rtpmpaenc_type;
+  return rtpmpapay_type;
 }
 
 static void
-gst_rtpmpaenc_base_init (GstRtpMPAEncClass * klass)
+gst_rtp_mpa_pay_base_init (GstRtpMPAPayClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpmpaenc_src_template));
+      gst_static_pad_template_get (&gst_rtp_mpa_pay_src_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpmpaenc_sink_template));
+      gst_static_pad_template_get (&gst_rtp_mpa_pay_sink_template));
 
-  gst_element_class_set_details (element_class, &gst_rtp_mpaenc_details);
+  gst_element_class_set_details (element_class, &gst_rtp_mpapay_details);
 }
 
 static void
-gst_rtpmpaenc_class_init (GstRtpMPAEncClass * klass)
+gst_rtp_mpa_pay_class_init (GstRtpMPAPayClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -110,33 +110,33 @@
 
   parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_PAYLOAD);
 
-  gobject_class->finalize = gst_rtpmpaenc_finalize;
+  gobject_class->finalize = gst_rtp_mpa_pay_finalize;
 
-  gstbasertppayload_class->set_caps = gst_rtpmpaenc_setcaps;
-  gstbasertppayload_class->handle_buffer = gst_rtpmpaenc_handle_buffer;
+  gstbasertppayload_class->set_caps = gst_rtp_mpa_pay_setcaps;
+  gstbasertppayload_class->handle_buffer = gst_rtp_mpa_pay_handle_buffer;
 }
 
 static void
-gst_rtpmpaenc_init (GstRtpMPAEnc * rtpmpaenc)
+gst_rtp_mpa_pay_init (GstRtpMPAPay * rtpmpapay)
 {
-  rtpmpaenc->adapter = gst_adapter_new ();
+  rtpmpapay->adapter = gst_adapter_new ();
 }
 
 static void
-gst_rtpmpaenc_finalize (GObject * object)
+gst_rtp_mpa_pay_finalize (GObject * object)
 {
-  GstRtpMPAEnc *rtpmpaenc;
+  GstRtpMPAPay *rtpmpapay;
 
-  rtpmpaenc = GST_RTP_MPA_ENC (object);
+  rtpmpapay = GST_RTP_MPA_PAY (object);
 
-  g_object_unref (rtpmpaenc->adapter);
-  rtpmpaenc->adapter = NULL;
+  g_object_unref (rtpmpapay->adapter);
+  rtpmpapay->adapter = NULL;
 
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
 static gboolean
-gst_rtpmpaenc_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
+gst_rtp_mpa_pay_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
 {
   gst_basertppayload_set_options (payload, "audio", TRUE, "MPA", 90000);
   gst_basertppayload_set_outcaps (payload, NULL);
@@ -145,7 +145,7 @@
 }
 
 static GstFlowReturn
-gst_rtpmpaenc_flush (GstRtpMPAEnc * rtpmpaenc)
+gst_rtp_mpa_pay_flush (GstRtpMPAPay * rtpmpapay)
 {
   guint avail;
   GstBuffer *outbuf;
@@ -158,7 +158,7 @@
    * adapter has more than one MTU, we need to split the MPA data
    * over multiple packets. The frag_offset in each packet header
    * needs to be updated with the position in the MPA frame. */
-  avail = gst_adapter_available (rtpmpaenc->adapter);
+  avail = gst_adapter_available (rtpmpapay->adapter);
 
   ret = GST_FLOW_OK;
 
@@ -171,20 +171,20 @@
     guint packet_len;
 
     /* this will be the total lenght of the packet */
-    packet_len = gst_rtpbuffer_calc_packet_len (4 + avail, 0, 0);
+    packet_len = gst_rtp_buffer_calc_packet_len (4 + avail, 0, 0);
 
     /* fill one MTU or all available bytes */
-    towrite = MIN (packet_len, GST_BASE_RTP_PAYLOAD_MTU (rtpmpaenc));
+    towrite = MIN (packet_len, GST_BASE_RTP_PAYLOAD_MTU (rtpmpapay));
 
     /* this is the payload length */
-    payload_len = gst_rtpbuffer_calc_payload_len (towrite, 0, 0);
+    payload_len = gst_rtp_buffer_calc_payload_len (towrite, 0, 0);
 
     /* create buffer to hold the payload */
-    outbuf = gst_rtpbuffer_new_allocate (payload_len, 0, 0);
+    outbuf = gst_rtp_buffer_new_allocate (payload_len, 0, 0);
 
     payload_len -= 4;
 
-    gst_rtpbuffer_set_payload_type (outbuf, GST_RTP_PAYLOAD_MPA);
+    gst_rtp_buffer_set_payload_type (outbuf, GST_RTP_PAYLOAD_MPA);
 
     /*
      *  0                   1                   2                   3
@@ -193,76 +193,76 @@
      * |             MBZ               |          Frag_offset          |
      * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
      */
-    payload = gst_rtpbuffer_get_payload (outbuf);
+    payload = gst_rtp_buffer_get_payload (outbuf);
     payload[0] = 0;
     payload[1] = 0;
     payload[2] = frag_offset >> 8;
     payload[3] = frag_offset & 0xff;
 
-    data = (guint8 *) gst_adapter_peek (rtpmpaenc->adapter, payload_len);
+    data = (guint8 *) gst_adapter_peek (rtpmpapay->adapter, payload_len);
     memcpy (&payload[4], data, payload_len);
-    gst_adapter_flush (rtpmpaenc->adapter, payload_len);
+    gst_adapter_flush (rtpmpapay->adapter, payload_len);
 
     avail -= payload_len;
     frag_offset += payload_len;
 
     if (avail == 0)
-      gst_rtpbuffer_set_marker (outbuf, TRUE);
+      gst_rtp_buffer_set_marker (outbuf, TRUE);
 
-    GST_BUFFER_TIMESTAMP (outbuf) = rtpmpaenc->first_ts;
-    GST_BUFFER_DURATION (outbuf) = rtpmpaenc->duration;
+    GST_BUFFER_TIMESTAMP (outbuf) = rtpmpapay->first_ts;
+    GST_BUFFER_DURATION (outbuf) = rtpmpapay->duration;
 
-    ret = gst_basertppayload_push (GST_BASE_RTP_PAYLOAD (rtpmpaenc), outbuf);
+    ret = gst_basertppayload_push (GST_BASE_RTP_PAYLOAD (rtpmpapay), outbuf);
   }
 
   return ret;
 }
 
 static GstFlowReturn
-gst_rtpmpaenc_handle_buffer (GstBaseRTPPayload * basepayload,
+gst_rtp_mpa_pay_handle_buffer (GstBaseRTPPayload * basepayload,
     GstBuffer * buffer)
 {
-  GstRtpMPAEnc *rtpmpaenc;
+  GstRtpMPAPay *rtpmpapay;
   GstFlowReturn ret;
   guint size, avail;
   guint packet_len;
   GstClockTime duration;
 
-  rtpmpaenc = GST_RTP_MPA_ENC (basepayload);
+  rtpmpapay = GST_RTP_MPA_PAY (basepayload);
 
   size = GST_BUFFER_SIZE (buffer);
   duration = GST_BUFFER_DURATION (buffer);
 
-  avail = gst_adapter_available (rtpmpaenc->adapter);
+  avail = gst_adapter_available (rtpmpapay->adapter);
   if (avail == 0) {
-    rtpmpaenc->first_ts = GST_BUFFER_TIMESTAMP (buffer);
-    rtpmpaenc->duration = 0;
+    rtpmpapay->first_ts = GST_BUFFER_TIMESTAMP (buffer);
+    rtpmpapay->duration = 0;
   }
 
   /* get packet length of previous data and this new data, 
    * payload length includes a 4 byte header */
-  packet_len = gst_rtpbuffer_calc_packet_len (4 + avail + size, 0, 0);
+  packet_len = gst_rtp_buffer_calc_packet_len (4 + avail + size, 0, 0);
 
   /* if this buffer is going to overflow the packet, flush what we
    * have. */
   if (gst_basertppayload_is_filled (basepayload,
-          packet_len, rtpmpaenc->duration + duration)) {
-    ret = gst_rtpmpaenc_flush (rtpmpaenc);
-    rtpmpaenc->first_ts = GST_BUFFER_TIMESTAMP (buffer);
-    rtpmpaenc->duration = 0;
+          packet_len, rtpmpapay->duration + duration)) {
+    ret = gst_rtp_mpa_pay_flush (rtpmpapay);
+    rtpmpapay->first_ts = GST_BUFFER_TIMESTAMP (buffer);
+    rtpmpapay->duration = 0;
   } else {
     ret = GST_FLOW_OK;
   }
 
-  gst_adapter_push (rtpmpaenc->adapter, buffer);
-  rtpmpaenc->duration += duration;
+  gst_adapter_push (rtpmpapay->adapter, buffer);
+  rtpmpapay->duration += duration;
 
   return ret;
 }
 
 gboolean
-gst_rtpmpaenc_plugin_init (GstPlugin * plugin)
+gst_rtp_mpa_pay_plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "rtpmpaenc",
-      GST_RANK_NONE, GST_TYPE_RTP_MPA_ENC);
+  return gst_element_register (plugin, "rtpmpapay",
+      GST_RANK_NONE, GST_TYPE_RTP_MPA_PAY);
 }
diff --git a/gst/rtp/gstrtpmpapay.h b/gst/rtp/gstrtpmpapay.h
index c4eac61..9ab5124 100644
--- a/gst/rtp/gstrtpmpapay.h
+++ b/gst/rtp/gstrtpmpapay.h
@@ -17,8 +17,8 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#ifndef __GST_RTP_MPA_ENC_H__
-#define __GST_RTP_MPA_ENC_H__
+#ifndef __GST_RTP_MPA_PAY_H__
+#define __GST_RTP_MPA_PAY_H__
 
 #include <gst/gst.h>
 #include <gst/rtp/gstbasertppayload.h>
@@ -26,21 +26,21 @@
 
 G_BEGIN_DECLS
 
-#define GST_TYPE_RTP_MPA_ENC \
-  (gst_rtpmpaenc_get_type())
-#define GST_RTP_MPA_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_MPA_ENC,GstRtpMPAEnc))
-#define GST_RTP_MPA_ENC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_MPA_ENC,GstRtpMPAEnc))
-#define GST_IS_RTP_MPA_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_MPA_ENC))
-#define GST_IS_RTP_MPA_ENC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_MPA_ENC))
+#define GST_TYPE_RTP_MPA_PAY \
+  (gst_rtp_mpa_pay_get_type())
+#define GST_RTP_MPA_PAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_MPA_PAY,GstRtpMPAPay))
+#define GST_RTP_MPA_PAY_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_MPA_PAY,GstRtpMPAPay))
+#define GST_IS_RTP_MPA_PAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_MPA_PAY))
+#define GST_IS_RTP_MPA_PAY_CLASS(obj) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_MPA_PAY))
 
-typedef struct _GstRtpMPAEnc GstRtpMPAEnc;
-typedef struct _GstRtpMPAEncClass GstRtpMPAEncClass;
+typedef struct _GstRtpMPAPay GstRtpMPAPay;
+typedef struct _GstRtpMPAPayClass GstRtpMPAPayClass;
 
-struct _GstRtpMPAEnc
+struct _GstRtpMPAPay
 {
   GstBaseRTPPayload payload;
 
@@ -49,13 +49,13 @@
   GstClockTime duration;
 };
 
-struct _GstRtpMPAEncClass
+struct _GstRtpMPAPayClass
 {
   GstBaseRTPPayloadClass parent_class;
 };
 
-gboolean gst_rtpmpaenc_plugin_init (GstPlugin * plugin);
+gboolean gst_rtp_mpa_pay_plugin_init (GstPlugin * plugin);
 
 G_END_DECLS
 
-#endif /* __GST_RTP_MPA_ENC_H__ */
+#endif /* __GST_RTP_MPA_PAY_H__ */
diff --git a/gst/rtp/gstrtpspeexdec.c b/gst/rtp/gstrtpspeexdec.c
deleted file mode 100644
index febcef4..0000000
--- a/gst/rtp/gstrtpspeexdec.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/* GStreamer
- * Copyright (C) <2005> Edgard Lima <edgard.lima@indt.org.br>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more 
- */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include <string.h>
-#include <gst/rtp/gstrtpbuffer.h>
-#include "gstrtpspeexdec.h"
-
-/* elementfactory information */
-static GstElementDetails gst_rtp_speexdec_details = {
-  "RTP packet parser",
-  "Codec/Parser/Network",
-  "Extracts Speex audio from RTP packets",
-  "Edgard Lima <edgard.lima@indt.org.br>"
-};
-
-/* RtpSPEEXDec signals and args */
-enum
-{
-  /* FILL ME */
-  LAST_SIGNAL
-};
-
-enum
-{
-  ARG_0
-};
-
-static GstStaticPadTemplate gst_rtpspeexdec_sink_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-rtp, "
-        "media = (string) \"audio\", "
-        "payload = (int) [ 96, 127 ], "
-        "clock-rate =  (int) [6000, 48000], "
-        "encoding-name = (string) \"speex\", "
-        "encoding-params = (string) \"1\"")
-    );
-
-static GstStaticPadTemplate gst_rtpspeexdec_src_template =
-GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("audio/x-speex")
-    );
-
-static GstBuffer *gst_rtpspeexdec_process (GstBaseRTPDepayload * depayload,
-    GstBuffer * buf);
-static gboolean gst_rtpspeexdec_setcaps (GstBaseRTPDepayload * depayload,
-    GstCaps * caps);
-
-GST_BOILERPLATE (GstRtpSPEEXDec, gst_rtpspeexdec, GstBaseRTPDepayload,
-    GST_TYPE_BASE_RTP_DEPAYLOAD);
-
-static void
-gst_rtpspeexdec_base_init (gpointer klass)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpspeexdec_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpspeexdec_sink_template));
-  gst_element_class_set_details (element_class, &gst_rtp_speexdec_details);
-}
-
-static void
-gst_rtpspeexdec_class_init (GstRtpSPEEXDecClass * klass)
-{
-  GObjectClass *gobject_class;
-  GstElementClass *gstelement_class;
-  GstBaseRTPDepayloadClass *gstbasertpdepayload_class;
-
-  gobject_class = (GObjectClass *) klass;
-  gstelement_class = (GstElementClass *) klass;
-  gstbasertpdepayload_class = (GstBaseRTPDepayloadClass *) klass;
-
-  parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_DEPAYLOAD);
-
-  gstbasertpdepayload_class->process = gst_rtpspeexdec_process;
-  gstbasertpdepayload_class->set_caps = gst_rtpspeexdec_setcaps;
-}
-
-static void
-gst_rtpspeexdec_init (GstRtpSPEEXDec * rtpspeexdec, GstRtpSPEEXDecClass * klass)
-{
-  GST_BASE_RTP_DEPAYLOAD (rtpspeexdec)->clock_rate = 8000;
-}
-
-static gboolean
-gst_rtpspeexdec_setcaps (GstBaseRTPDepayload * depayload, GstCaps * caps)
-{
-  GstCaps *srccaps;
-  gboolean ret;
-
-  srccaps = gst_static_pad_template_get_caps (&gst_rtpspeexdec_src_template);
-  ret = gst_pad_set_caps (GST_BASE_RTP_DEPAYLOAD_SRCPAD (depayload), srccaps);
-
-  gst_caps_unref (srccaps);
-  return ret;
-}
-
-static GstBuffer *
-gst_rtpspeexdec_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
-{
-  GstBuffer *outbuf = NULL;
-  gint payload_len;
-  guint8 *payload;
-
-  GST_DEBUG ("process : got %d bytes, mark %d ts %u seqn %d",
-      GST_BUFFER_SIZE (buf),
-      gst_rtpbuffer_get_marker (buf),
-      gst_rtpbuffer_get_timestamp (buf), gst_rtpbuffer_get_seq (buf));
-
-  payload_len = gst_rtpbuffer_get_payload_len (buf);
-  payload = gst_rtpbuffer_get_payload (buf);
-
-  outbuf = gst_buffer_new_and_alloc (payload_len);
-  memcpy (GST_BUFFER_DATA (outbuf), payload, payload_len);
-  return outbuf;
-}
-
-gboolean
-gst_rtpspeexdec_plugin_init (GstPlugin * plugin)
-{
-  return gst_element_register (plugin, "rtpspeexdec",
-      GST_RANK_NONE, GST_TYPE_RTP_SPEEX_DEC);
-}
diff --git a/gst/rtp/gstrtpspeexdec.h b/gst/rtp/gstrtpspeexdec.h
deleted file mode 100644
index 603a7bf..0000000
--- a/gst/rtp/gstrtpspeexdec.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* GStreamer
- * Copyright (C) <2005> Edgard Lima <edgard.lima@indt.org.br>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more 
- */
- 
-#ifndef __GST_RTP_SPEEX_DEC_H__
-#define __GST_RTP_SPEEX_DEC_H__
-
-#include <gst/gst.h>
-#include <gst/rtp/gstbasertpdepayload.h>
-
-G_BEGIN_DECLS
-
-typedef struct _GstRtpSPEEXDec GstRtpSPEEXDec;
-typedef struct _GstRtpSPEEXDecClass GstRtpSPEEXDecClass;
-
-#define GST_TYPE_RTP_SPEEX_DEC \
-  (gst_rtpspeexdec_get_type())
-#define GST_RTP_SPEEX_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_SPEEX_DEC,GstRtpSPEEXDec))
-#define GST_RTP_SPEEX_DEC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_SPEEX_DEC,GstRtpSPEEXDec))
-#define GST_IS_RTP_SPEEX_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_SPEEX_DEC))
-#define GST_IS_RTP_SPEEX_DEC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_SPEEX_DEC))
-
-struct _GstRtpSPEEXDec
-{
-  GstBaseRTPDepayload depayload;
-};
-
-struct _GstRtpSPEEXDecClass
-{
-  GstBaseRTPDepayloadClass parent_class;
-};
-
-gboolean gst_rtpspeexdec_plugin_init (GstPlugin * plugin);
-
-G_END_DECLS
-
-#endif /* __GST_RTP_SPEEX_DEC_H__ */
diff --git a/gst/rtp/gstrtpspeexdepay.c b/gst/rtp/gstrtpspeexdepay.c
index febcef4..1f20147 100644
--- a/gst/rtp/gstrtpspeexdepay.c
+++ b/gst/rtp/gstrtpspeexdepay.c
@@ -18,17 +18,17 @@
 
 #include <string.h>
 #include <gst/rtp/gstrtpbuffer.h>
-#include "gstrtpspeexdec.h"
+#include "gstrtpspeexdepay.h"
 
 /* elementfactory information */
-static GstElementDetails gst_rtp_speexdec_details = {
+static GstElementDetails gst_rtp_speexdepay_details = {
   "RTP packet parser",
   "Codec/Parser/Network",
   "Extracts Speex audio from RTP packets",
   "Edgard Lima <edgard.lima@indt.org.br>"
 };
 
-/* RtpSPEEXDec signals and args */
+/* RtpSPEEXDepay signals and args */
 enum
 {
   /* FILL ME */
@@ -40,7 +40,7 @@
   ARG_0
 };
 
-static GstStaticPadTemplate gst_rtpspeexdec_sink_template =
+static GstStaticPadTemplate gst_rtp_speex_depay_sink_template =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
@@ -52,35 +52,35 @@
         "encoding-params = (string) \"1\"")
     );
 
-static GstStaticPadTemplate gst_rtpspeexdec_src_template =
+static GstStaticPadTemplate gst_rtp_speex_depay_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("audio/x-speex")
     );
 
-static GstBuffer *gst_rtpspeexdec_process (GstBaseRTPDepayload * depayload,
+static GstBuffer *gst_rtp_speex_depay_process (GstBaseRTPDepayload * depayload,
     GstBuffer * buf);
-static gboolean gst_rtpspeexdec_setcaps (GstBaseRTPDepayload * depayload,
+static gboolean gst_rtp_speex_depay_setcaps (GstBaseRTPDepayload * depayload,
     GstCaps * caps);
 
-GST_BOILERPLATE (GstRtpSPEEXDec, gst_rtpspeexdec, GstBaseRTPDepayload,
+GST_BOILERPLATE (GstRtpSPEEXDepay, gst_rtp_speex_depay, GstBaseRTPDepayload,
     GST_TYPE_BASE_RTP_DEPAYLOAD);
 
 static void
-gst_rtpspeexdec_base_init (gpointer klass)
+gst_rtp_speex_depay_base_init (gpointer klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpspeexdec_src_template));
+      gst_static_pad_template_get (&gst_rtp_speex_depay_src_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpspeexdec_sink_template));
-  gst_element_class_set_details (element_class, &gst_rtp_speexdec_details);
+      gst_static_pad_template_get (&gst_rtp_speex_depay_sink_template));
+  gst_element_class_set_details (element_class, &gst_rtp_speexdepay_details);
 }
 
 static void
-gst_rtpspeexdec_class_init (GstRtpSPEEXDecClass * klass)
+gst_rtp_speex_depay_class_init (GstRtpSPEEXDepayClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -92,23 +92,25 @@
 
   parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_DEPAYLOAD);
 
-  gstbasertpdepayload_class->process = gst_rtpspeexdec_process;
-  gstbasertpdepayload_class->set_caps = gst_rtpspeexdec_setcaps;
+  gstbasertpdepayload_class->process = gst_rtp_speex_depay_process;
+  gstbasertpdepayload_class->set_caps = gst_rtp_speex_depay_setcaps;
 }
 
 static void
-gst_rtpspeexdec_init (GstRtpSPEEXDec * rtpspeexdec, GstRtpSPEEXDecClass * klass)
+gst_rtp_speex_depay_init (GstRtpSPEEXDepay * rtpspeexdepay,
+    GstRtpSPEEXDepayClass * klass)
 {
-  GST_BASE_RTP_DEPAYLOAD (rtpspeexdec)->clock_rate = 8000;
+  GST_BASE_RTP_DEPAYLOAD (rtpspeexdepay)->clock_rate = 8000;
 }
 
 static gboolean
-gst_rtpspeexdec_setcaps (GstBaseRTPDepayload * depayload, GstCaps * caps)
+gst_rtp_speex_depay_setcaps (GstBaseRTPDepayload * depayload, GstCaps * caps)
 {
   GstCaps *srccaps;
   gboolean ret;
 
-  srccaps = gst_static_pad_template_get_caps (&gst_rtpspeexdec_src_template);
+  srccaps =
+      gst_static_pad_template_get_caps (&gst_rtp_speex_depay_src_template);
   ret = gst_pad_set_caps (GST_BASE_RTP_DEPAYLOAD_SRCPAD (depayload), srccaps);
 
   gst_caps_unref (srccaps);
@@ -116,7 +118,7 @@
 }
 
 static GstBuffer *
-gst_rtpspeexdec_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
+gst_rtp_speex_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
 {
   GstBuffer *outbuf = NULL;
   gint payload_len;
@@ -124,11 +126,11 @@
 
   GST_DEBUG ("process : got %d bytes, mark %d ts %u seqn %d",
       GST_BUFFER_SIZE (buf),
-      gst_rtpbuffer_get_marker (buf),
-      gst_rtpbuffer_get_timestamp (buf), gst_rtpbuffer_get_seq (buf));
+      gst_rtp_buffer_get_marker (buf),
+      gst_rtp_buffer_get_timestamp (buf), gst_rtp_buffer_get_seq (buf));
 
-  payload_len = gst_rtpbuffer_get_payload_len (buf);
-  payload = gst_rtpbuffer_get_payload (buf);
+  payload_len = gst_rtp_buffer_get_payload_len (buf);
+  payload = gst_rtp_buffer_get_payload (buf);
 
   outbuf = gst_buffer_new_and_alloc (payload_len);
   memcpy (GST_BUFFER_DATA (outbuf), payload, payload_len);
@@ -136,8 +138,8 @@
 }
 
 gboolean
-gst_rtpspeexdec_plugin_init (GstPlugin * plugin)
+gst_rtp_speex_depay_plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "rtpspeexdec",
-      GST_RANK_NONE, GST_TYPE_RTP_SPEEX_DEC);
+  return gst_element_register (plugin, "rtpspeexdepay",
+      GST_RANK_NONE, GST_TYPE_RTP_SPEEX_DEPAY);
 }
diff --git a/gst/rtp/gstrtpspeexdepay.h b/gst/rtp/gstrtpspeexdepay.h
index 603a7bf..c24895c 100644
--- a/gst/rtp/gstrtpspeexdepay.h
+++ b/gst/rtp/gstrtpspeexdepay.h
@@ -12,40 +12,40 @@
  * Library General Public License for more 
  */
  
-#ifndef __GST_RTP_SPEEX_DEC_H__
-#define __GST_RTP_SPEEX_DEC_H__
+#ifndef __GST_RTP_SPEEX_DEPAY_H__
+#define __GST_RTP_SPEEX_DEPAY_H__
 
 #include <gst/gst.h>
 #include <gst/rtp/gstbasertpdepayload.h>
 
 G_BEGIN_DECLS
 
-typedef struct _GstRtpSPEEXDec GstRtpSPEEXDec;
-typedef struct _GstRtpSPEEXDecClass GstRtpSPEEXDecClass;
+typedef struct _GstRtpSPEEXDepay GstRtpSPEEXDepay;
+typedef struct _GstRtpSPEEXDepayClass GstRtpSPEEXDepayClass;
 
-#define GST_TYPE_RTP_SPEEX_DEC \
-  (gst_rtpspeexdec_get_type())
-#define GST_RTP_SPEEX_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_SPEEX_DEC,GstRtpSPEEXDec))
-#define GST_RTP_SPEEX_DEC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_SPEEX_DEC,GstRtpSPEEXDec))
-#define GST_IS_RTP_SPEEX_DEC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_SPEEX_DEC))
-#define GST_IS_RTP_SPEEX_DEC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_SPEEX_DEC))
+#define GST_TYPE_RTP_SPEEX_DEPAY \
+  (gst_rtp_speex_depay_get_type())
+#define GST_RTP_SPEEX_DEPAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_SPEEX_DEPAY,GstRtpSPEEXDepay))
+#define GST_RTP_SPEEX_DEPAY_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_SPEEX_DEPAY,GstRtpSPEEXDepay))
+#define GST_IS_RTP_SPEEX_DEPAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_SPEEX_DEPAY))
+#define GST_IS_RTP_SPEEX_DEPAY_CLASS(obj) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_SPEEX_DEPAY))
 
-struct _GstRtpSPEEXDec
+struct _GstRtpSPEEXDepay
 {
   GstBaseRTPDepayload depayload;
 };
 
-struct _GstRtpSPEEXDecClass
+struct _GstRtpSPEEXDepayClass
 {
   GstBaseRTPDepayloadClass parent_class;
 };
 
-gboolean gst_rtpspeexdec_plugin_init (GstPlugin * plugin);
+gboolean gst_rtp_speex_depay_plugin_init (GstPlugin * plugin);
 
 G_END_DECLS
 
-#endif /* __GST_RTP_SPEEX_DEC_H__ */
+#endif /* __GST_RTP_SPEEX_DEPAY_H__ */
diff --git a/gst/rtp/gstrtpspeexenc.c b/gst/rtp/gstrtpspeexenc.c
deleted file mode 100644
index 97e3bf3..0000000
--- a/gst/rtp/gstrtpspeexenc.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/* GStreamer
- * Copyright (C) <2005> Edgard Lima <edgard.lima@indt.org.br>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more 
- */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <gst/rtp/gstrtpbuffer.h>
-
-#include "gstrtpspeexenc.h"
-
-/* elementfactory information */
-static GstElementDetails gst_rtpspeexenc_details = {
-  "RTP packet parser",
-  "Codec/Encoder/Network",
-  "Encodes Speex audio into a RTP packet",
-  "Edgard Lima <edgard.lima@indt.org.br>"
-};
-
-static GstStaticPadTemplate gst_rtpspeexenc_sink_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("audio/x-speex")
-    );
-
-static GstStaticPadTemplate gst_rtpspeexenc_src_template =
-GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("application/x-rtp, " "media = (string) \"audio\", " "payload = (int) 110, "       /* guaranties compatibility with Linphone
-                                                                                                           Could be [96,127] See page 34 at http://www.ietf.org/rfc/rfc3551.txt */
-        "clock-rate =  (int) [6000, 48000], "
-        "encoding-name = (string) \"speex\", "
-        "encoding-params = (string) \"1\"")
-    );
-
-static gboolean gst_rtpspeexenc_setcaps (GstBaseRTPPayload * payload,
-    GstCaps * caps);
-static GstFlowReturn gst_rtpspeexenc_handle_buffer (GstBaseRTPPayload * payload,
-    GstBuffer * buffer);
-
-GST_BOILERPLATE (GstRtpSPEEXEnc, gst_rtpspeexenc, GstBaseRTPPayload,
-    GST_TYPE_BASE_RTP_PAYLOAD);
-
-static void
-gst_rtpspeexenc_base_init (gpointer klass)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpspeexenc_sink_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpspeexenc_src_template));
-  gst_element_class_set_details (element_class, &gst_rtpspeexenc_details);
-}
-
-static void
-gst_rtpspeexenc_class_init (GstRtpSPEEXEncClass * klass)
-{
-  GObjectClass *gobject_class;
-  GstElementClass *gstelement_class;
-  GstBaseRTPPayloadClass *gstbasertppayload_class;
-
-  gobject_class = (GObjectClass *) klass;
-  gstelement_class = (GstElementClass *) klass;
-  gstbasertppayload_class = (GstBaseRTPPayloadClass *) klass;
-
-  parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_PAYLOAD);
-
-  gstbasertppayload_class->set_caps = gst_rtpspeexenc_setcaps;
-  gstbasertppayload_class->handle_buffer = gst_rtpspeexenc_handle_buffer;
-}
-
-static void
-gst_rtpspeexenc_init (GstRtpSPEEXEnc * rtpspeexenc, GstRtpSPEEXEncClass * klass)
-{
-  GST_BASE_RTP_PAYLOAD (rtpspeexenc)->clock_rate = 8000;
-  GST_BASE_RTP_PAYLOAD_PT (rtpspeexenc) = 110;  /* Create String */
-}
-
-static gboolean
-gst_rtpspeexenc_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
-{
-  gst_basertppayload_set_options (payload, "audio", FALSE, "speex", 8000);
-  gst_basertppayload_set_outcaps (payload, NULL);
-
-  return TRUE;
-}
-
-static GstFlowReturn
-gst_rtpspeexenc_handle_buffer (GstBaseRTPPayload * basepayload,
-    GstBuffer * buffer)
-{
-  GstRtpSPEEXEnc *rtpspeexenc;
-  guint size, payload_len;
-  GstBuffer *outbuf;
-  guint8 *payload, *data;
-  GstClockTime timestamp;
-  GstFlowReturn ret;
-
-  rtpspeexenc = GST_RTP_SPEEX_ENC (basepayload);
-
-  size = GST_BUFFER_SIZE (buffer);
-  timestamp = GST_BUFFER_TIMESTAMP (buffer);
-
-  /* FIXME, only one SPEEX frame per RTP packet for now */
-  payload_len = size;
-
-  outbuf = gst_rtpbuffer_new_allocate (payload_len, 0, 0);
-  /* FIXME, assert for now */
-  g_assert (payload_len <= GST_BASE_RTP_PAYLOAD_MTU (rtpspeexenc));
-
-  /* copy timestamp */
-  GST_BUFFER_TIMESTAMP (outbuf) = timestamp;
-  /* get payload */
-  payload = gst_rtpbuffer_get_payload (outbuf);
-
-  data = GST_BUFFER_DATA (buffer);
-
-  /* copy data in payload */
-  memcpy (&payload[0], data, size);
-
-  gst_buffer_unref (buffer);
-
-  ret = gst_basertppayload_push (basepayload, outbuf);
-
-  return ret;
-}
-
-gboolean
-gst_rtpspeexenc_plugin_init (GstPlugin * plugin)
-{
-  return gst_element_register (plugin, "rtpspeexenc",
-      GST_RANK_NONE, GST_TYPE_RTP_SPEEX_ENC);
-}
diff --git a/gst/rtp/gstrtpspeexenc.h b/gst/rtp/gstrtpspeexenc.h
deleted file mode 100644
index 066b272..0000000
--- a/gst/rtp/gstrtpspeexenc.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* GStreamer
- * Copyright (C) <2005> Edgard Lima <edgard.lima@indt.org.br>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more 
- */
-
-
-#ifndef __GST_RTP_SPEEX_ENC_H__
-#define __GST_RTP_SPEEX_ENC_H__
-
-#include <gst/gst.h>
-#include <gst/rtp/gstbasertppayload.h>
-
-G_BEGIN_DECLS
-
-typedef struct _GstRtpSPEEXEnc GstRtpSPEEXEnc;
-typedef struct _GstRtpSPEEXEncClass GstRtpSPEEXEncClass;
-
-#define GST_TYPE_RTP_SPEEX_ENC \
-  (gst_rtpspeexenc_get_type())
-#define GST_RTP_SPEEX_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_SPEEX_ENC,GstRtpSPEEXEnc))
-#define GST_RTP_SPEEX_ENC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_SPEEX_ENC,GstRtpSPEEXEnc))
-#define GST_IS_RTP_SPEEX_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_SPEEX_ENC))
-#define GST_IS_RTP_SPEEX_ENC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_SPEEX_ENC))
-
-struct _GstRtpSPEEXEnc
-{
-  GstBaseRTPPayload payload;
-};
-
-struct _GstRtpSPEEXEncClass
-{
-  GstBaseRTPPayloadClass parent_class;
-};
-
-gboolean gst_rtpspeexenc_plugin_init (GstPlugin * plugin);
-
-G_END_DECLS
-
-#endif /* __GST_RTP_SPEEX_ENC_H__ */
diff --git a/gst/rtp/gstrtpspeexpay.c b/gst/rtp/gstrtpspeexpay.c
index 97e3bf3..fe23e08 100644
--- a/gst/rtp/gstrtpspeexpay.c
+++ b/gst/rtp/gstrtpspeexpay.c
@@ -20,24 +20,24 @@
 #include <string.h>
 #include <gst/rtp/gstrtpbuffer.h>
 
-#include "gstrtpspeexenc.h"
+#include "gstrtpspeexpay.h"
 
 /* elementfactory information */
-static GstElementDetails gst_rtpspeexenc_details = {
+static GstElementDetails gst_rtp_speex_pay_details = {
   "RTP packet parser",
-  "Codec/Encoder/Network",
-  "Encodes Speex audio into a RTP packet",
+  "Codec/Payloader/Network",
+  "Payodes Speex audio into a RTP packet",
   "Edgard Lima <edgard.lima@indt.org.br>"
 };
 
-static GstStaticPadTemplate gst_rtpspeexenc_sink_template =
+static GstStaticPadTemplate gst_rtp_speex_pay_sink_template =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("audio/x-speex")
     );
 
-static GstStaticPadTemplate gst_rtpspeexenc_src_template =
+static GstStaticPadTemplate gst_rtp_speex_pay_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
@@ -48,28 +48,28 @@
         "encoding-params = (string) \"1\"")
     );
 
-static gboolean gst_rtpspeexenc_setcaps (GstBaseRTPPayload * payload,
+static gboolean gst_rtp_speex_pay_setcaps (GstBaseRTPPayload * payload,
     GstCaps * caps);
-static GstFlowReturn gst_rtpspeexenc_handle_buffer (GstBaseRTPPayload * payload,
-    GstBuffer * buffer);
+static GstFlowReturn gst_rtp_speex_pay_handle_buffer (GstBaseRTPPayload *
+    payload, GstBuffer * buffer);
 
-GST_BOILERPLATE (GstRtpSPEEXEnc, gst_rtpspeexenc, GstBaseRTPPayload,
+GST_BOILERPLATE (GstRtpSPEEXPay, gst_rtp_speex_pay, GstBaseRTPPayload,
     GST_TYPE_BASE_RTP_PAYLOAD);
 
 static void
-gst_rtpspeexenc_base_init (gpointer klass)
+gst_rtp_speex_pay_base_init (gpointer klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpspeexenc_sink_template));
+      gst_static_pad_template_get (&gst_rtp_speex_pay_sink_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_rtpspeexenc_src_template));
-  gst_element_class_set_details (element_class, &gst_rtpspeexenc_details);
+      gst_static_pad_template_get (&gst_rtp_speex_pay_src_template));
+  gst_element_class_set_details (element_class, &gst_rtp_speex_pay_details);
 }
 
 static void
-gst_rtpspeexenc_class_init (GstRtpSPEEXEncClass * klass)
+gst_rtp_speex_pay_class_init (GstRtpSPEEXPayClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -81,19 +81,20 @@
 
   parent_class = g_type_class_ref (GST_TYPE_BASE_RTP_PAYLOAD);
 
-  gstbasertppayload_class->set_caps = gst_rtpspeexenc_setcaps;
-  gstbasertppayload_class->handle_buffer = gst_rtpspeexenc_handle_buffer;
+  gstbasertppayload_class->set_caps = gst_rtp_speex_pay_setcaps;
+  gstbasertppayload_class->handle_buffer = gst_rtp_speex_pay_handle_buffer;
 }
 
 static void
-gst_rtpspeexenc_init (GstRtpSPEEXEnc * rtpspeexenc, GstRtpSPEEXEncClass * klass)
+gst_rtp_speex_pay_init (GstRtpSPEEXPay * rtpspeexpay,
+    GstRtpSPEEXPayClass * klass)
 {
-  GST_BASE_RTP_PAYLOAD (rtpspeexenc)->clock_rate = 8000;
-  GST_BASE_RTP_PAYLOAD_PT (rtpspeexenc) = 110;  /* Create String */
+  GST_BASE_RTP_PAYLOAD (rtpspeexpay)->clock_rate = 8000;
+  GST_BASE_RTP_PAYLOAD_PT (rtpspeexpay) = 110;  /* Create String */
 }
 
 static gboolean
-gst_rtpspeexenc_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
+gst_rtp_speex_pay_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
 {
   gst_basertppayload_set_options (payload, "audio", FALSE, "speex", 8000);
   gst_basertppayload_set_outcaps (payload, NULL);
@@ -102,17 +103,17 @@
 }
 
 static GstFlowReturn
-gst_rtpspeexenc_handle_buffer (GstBaseRTPPayload * basepayload,
+gst_rtp_speex_pay_handle_buffer (GstBaseRTPPayload * basepayload,
     GstBuffer * buffer)
 {
-  GstRtpSPEEXEnc *rtpspeexenc;
+  GstRtpSPEEXPay *rtpspeexpay;
   guint size, payload_len;
   GstBuffer *outbuf;
   guint8 *payload, *data;
   GstClockTime timestamp;
   GstFlowReturn ret;
 
-  rtpspeexenc = GST_RTP_SPEEX_ENC (basepayload);
+  rtpspeexpay = GST_RTP_SPEEX_PAY (basepayload);
 
   size = GST_BUFFER_SIZE (buffer);
   timestamp = GST_BUFFER_TIMESTAMP (buffer);
@@ -120,14 +121,14 @@
   /* FIXME, only one SPEEX frame per RTP packet for now */
   payload_len = size;
 
-  outbuf = gst_rtpbuffer_new_allocate (payload_len, 0, 0);
+  outbuf = gst_rtp_buffer_new_allocate (payload_len, 0, 0);
   /* FIXME, assert for now */
-  g_assert (payload_len <= GST_BASE_RTP_PAYLOAD_MTU (rtpspeexenc));
+  g_assert (payload_len <= GST_BASE_RTP_PAYLOAD_MTU (rtpspeexpay));
 
   /* copy timestamp */
   GST_BUFFER_TIMESTAMP (outbuf) = timestamp;
   /* get payload */
-  payload = gst_rtpbuffer_get_payload (outbuf);
+  payload = gst_rtp_buffer_get_payload (outbuf);
 
   data = GST_BUFFER_DATA (buffer);
 
@@ -142,8 +143,8 @@
 }
 
 gboolean
-gst_rtpspeexenc_plugin_init (GstPlugin * plugin)
+gst_rtp_speex_pay_plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "rtpspeexenc",
-      GST_RANK_NONE, GST_TYPE_RTP_SPEEX_ENC);
+  return gst_element_register (plugin, "rtpspeexpay",
+      GST_RANK_NONE, GST_TYPE_RTP_SPEEX_PAY);
 }
diff --git a/gst/rtp/gstrtpspeexpay.h b/gst/rtp/gstrtpspeexpay.h
index 066b272..d9d907e 100644
--- a/gst/rtp/gstrtpspeexpay.h
+++ b/gst/rtp/gstrtpspeexpay.h
@@ -13,40 +13,40 @@
  */
 
 
-#ifndef __GST_RTP_SPEEX_ENC_H__
-#define __GST_RTP_SPEEX_ENC_H__
+#ifndef __GST_RTP_SPEEX_PAY_H__
+#define __GST_RTP_SPEEX_PAY_H__
 
 #include <gst/gst.h>
 #include <gst/rtp/gstbasertppayload.h>
 
 G_BEGIN_DECLS
 
-typedef struct _GstRtpSPEEXEnc GstRtpSPEEXEnc;
-typedef struct _GstRtpSPEEXEncClass GstRtpSPEEXEncClass;
+typedef struct _GstRtpSPEEXPay GstRtpSPEEXPay;
+typedef struct _GstRtpSPEEXPayClass GstRtpSPEEXPayClass;
 
-#define GST_TYPE_RTP_SPEEX_ENC \
-  (gst_rtpspeexenc_get_type())
-#define GST_RTP_SPEEX_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_SPEEX_ENC,GstRtpSPEEXEnc))
-#define GST_RTP_SPEEX_ENC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_SPEEX_ENC,GstRtpSPEEXEnc))
-#define GST_IS_RTP_SPEEX_ENC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_SPEEX_ENC))
-#define GST_IS_RTP_SPEEX_ENC_CLASS(obj) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_SPEEX_ENC))
+#define GST_TYPE_RTP_SPEEX_PAY \
+  (gst_rtp_speex_pay_get_type())
+#define GST_RTP_SPEEX_PAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_SPEEX_PAY,GstRtpSPEEXPay))
+#define GST_RTP_SPEEX_PAY_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_SPEEX_PAY,GstRtpSPEEXPay))
+#define GST_IS_RTP_SPEEX_PAY(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_SPEEX_PAY))
+#define GST_IS_RTP_SPEEX_PAY_CLASS(obj) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_SPEEX_PAY))
 
-struct _GstRtpSPEEXEnc
+struct _GstRtpSPEEXPay
 {
   GstBaseRTPPayload payload;
 };
 
-struct _GstRtpSPEEXEncClass
+struct _GstRtpSPEEXPayClass
 {
   GstBaseRTPPayloadClass parent_class;
 };
 
-gboolean gst_rtpspeexenc_plugin_init (GstPlugin * plugin);
+gboolean gst_rtp_speex_pay_plugin_init (GstPlugin * plugin);
 
 G_END_DECLS
 
-#endif /* __GST_RTP_SPEEX_ENC_H__ */
+#endif /* __GST_RTP_SPEEX_PAY_H__ */