Upstream commits d416336 and d67da4c

diff --git a/tests/check/elements/rtpaux.c b/tests/check/elements/rtpaux.c
index 1f410bf..729604a 100644
--- a/tests/check/elements/rtpaux.c
+++ b/tests/check/elements/rtpaux.c
@@ -218,8 +218,8 @@ GST_START_TEST (test_simple_rtpbin_aux)
   rtpbinsend = gst_element_factory_make ("rtpbin", "rtpbinsend");
   g_object_set (rtpbinsend, "latency", 200, "do-retransmission", TRUE, NULL);
   src = gst_element_factory_make ("audiotestsrc", "src");
-  encoder = gst_element_factory_make ("speexenc", "encoder");
-  rtppayloader = gst_element_factory_make ("rtpspeexpay", "rtppayloader");
+  encoder = gst_element_factory_make ("alawenc", "encoder");
+  rtppayloader = gst_element_factory_make ("rtppcmapay", "rtppayloader");
   rtprtxsend = gst_element_factory_make ("rtprtxsend", "rtprtxsend");
   sendrtp_udpsink = gst_element_factory_make ("udpsink", "sendrtp_udpsink");
   g_object_set (sendrtp_udpsink, "host", "127.0.0.1", NULL);
@@ -238,7 +238,7 @@ GST_START_TEST (test_simple_rtpbin_aux)
   g_object_set (recvrtp_udpsrc, "port", 5006, NULL);
   rtpcaps =
       gst_caps_from_string
-      ("application/x-rtp,media=(string)audio,clock-rate=(int)8000,encoding-name=(string)SPEEX,encoding-params=(string)1,octet-align=(string)1");
+      ("application/x-rtp,media=(string)audio,clock-rate=(int)8000,encoding-name=(string)PCMA,payload=(int)8");
   g_object_set (recvrtp_udpsrc, "caps", rtpcaps, NULL);
   gst_caps_unref (rtpcaps);
   recvrtcp_udpsrc = gst_element_factory_make ("udpsrc", "recvrtcp_udpsrc");
@@ -249,8 +249,8 @@ GST_START_TEST (test_simple_rtpbin_aux)
   g_object_set (recvrtcp_udpsink, "sync", FALSE, NULL);
   g_object_set (recvrtcp_udpsink, "async", FALSE, NULL);
   rtprtxreceive = gst_element_factory_make ("rtprtxreceive", "rtprtxreceive");
-  rtpdepayloader = gst_element_factory_make ("rtpspeexdepay", "rtpdepayloader");
-  decoder = gst_element_factory_make ("speexdec", "decoder");
+  rtpdepayloader = gst_element_factory_make ("rtppcmadepay", "rtpdepayloader");
+  decoder = gst_element_factory_make ("alawdec", "decoder");
   converter = gst_element_factory_make ("identity", "converter");
   sink = gst_element_factory_make ("fakesink", "sink");
   g_object_set (sink, "sync", TRUE, NULL);
diff --git a/tests/check/elements/rtpcollision.c b/tests/check/elements/rtpcollision.c
index e9528f9..16f665f 100644
--- a/tests/check/elements/rtpcollision.c
+++ b/tests/check/elements/rtpcollision.c
@@ -156,7 +156,7 @@ fake_udp_sink_chain_func (GstPad * pad, GstObject * parent, GstBuffer * buffer)
   return GST_FLOW_OK;
 }
 
-/* This test build the pipeline audiotestsrc ! speexenc ! rtpspeexpay ! \
+/* This test build the pipeline audiotestsrc ! alawenc ! rtppcmapay ! \
  * rtpsession ! fakesink
  * It manually pushs buffer into rtpsession with same ssrc but different
  * ip so that collision can be detected
@@ -186,9 +186,9 @@ GST_START_TEST (test_master_ssrc_collision)
 
   src = gst_element_factory_make ("audiotestsrc", "src");
   g_object_set (src, "num-buffers", 5, NULL);
-  encoder = gst_element_factory_make ("speexenc", NULL);
-  rtppayloader = gst_element_factory_make ("rtpspeexpay", NULL);
-  g_object_set (rtppayloader, "pt", 96, NULL);
+  encoder = gst_element_factory_make ("alawenc", NULL);
+  rtppayloader = gst_element_factory_make ("rtppcmapay", NULL);
+  g_object_set (rtppayloader, "pt", 8, NULL);
   rtpsession = gst_element_factory_make ("rtpsession", NULL);
   sink = gst_element_factory_make ("fakesink", "sink");
   gst_bin_add_many (GST_BIN (bin), src, encoder, rtppayloader,
@@ -261,7 +261,7 @@ GST_START_TEST (test_master_ssrc_collision)
   gst_object_unref (bin);
 
   /* check results */
-  fail_unless_equals_int (nb_ssrc_changes, 7);
+  fail_unless_equals_int (nb_ssrc_changes, 4);
 }
 
 GST_END_TEST;
@@ -325,7 +325,7 @@ rtpsession_sinkpad_probe2 (GstPad * pad, GstPadProbeInfo * info,
   return ret;
 }
 
-/* This test build the pipeline audiotestsrc ! speexenc ! rtpspeexpay ! \
+/* This test build the pipeline audiotestsrc ! alawenc ! rtppcmapay ! \
  * rtprtxsend ! rtpsession ! fakesink
  * It manually pushs buffer into rtpsession with same ssrc than rtx stream
  * but different ip so that collision can be detected
@@ -355,12 +355,12 @@ GST_START_TEST (test_rtx_ssrc_collision)
 
   src = gst_element_factory_make ("audiotestsrc", "src");
   g_object_set (src, "num-buffers", 5, NULL);
-  encoder = gst_element_factory_make ("speexenc", NULL);
-  rtppayloader = gst_element_factory_make ("rtpspeexpay", NULL);
-  g_object_set (rtppayloader, "pt", 96, NULL);
+  encoder = gst_element_factory_make ("alawenc", NULL);
+  rtppayloader = gst_element_factory_make ("rtppcmapay", NULL);
+  g_object_set (rtppayloader, "pt", 8, NULL);
   rtprtxsend = gst_element_factory_make ("rtprtxsend", NULL);
   pt_map = gst_structure_new ("application/x-rtp-pt-map",
-      "96", G_TYPE_UINT, 99, NULL);
+      "8", G_TYPE_UINT, 99, NULL);
   g_object_set (rtprtxsend, "payload-type-map", pt_map, NULL);
   gst_structure_free (pt_map);
   rtpsession = gst_element_factory_make ("rtpsession", NULL);
