Index: gstrtpbin.c
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/rtpmanager/gstrtpbin.c,v
retrieving revision 1.42
diff -u -B -b -p -r1.42 gstrtpbin.c
--- gstrtpbin.c	9 Apr 2008 22:27:50 -0000	1.42
+++ gstrtpbin.c	15 Apr 2008 16:08:22 -0000
@@ -604,7 +604,11 @@ get_pt_map (GstRtpBinSession * session, 
 
   g_signal_emitv (args, gst_rtp_bin_signals[SIGNAL_REQUEST_PT_MAP], 0, &ret);
 
-  caps = (GstCaps *) g_value_get_boxed (&ret);
+  g_value_unset (&args[0]);
+  g_value_unset (&args[1]);
+  g_value_unset (&args[2]);
+  caps = (GstCaps *) g_value_dup_boxed (&ret);
+  g_value_unset (&ret);
   if (!caps)
     goto no_caps;
 
@@ -2165,8 +2169,12 @@ gst_rtp_bin_get_free_pad_name (GstElemen
     pad_it = gst_element_iterate_pads (GST_ELEMENT (element));
     name_found = TRUE;
     while (gst_iterator_next (pad_it, (gpointer) & pad) == GST_ITERATOR_OK) {
-      if (strcmp (gst_pad_get_name (pad), pad_name) == 0)
+      gchar *name;
+
+      name = gst_pad_get_name (pad);
+      if (strcmp (name, pad_name) == 0)
         name_found = FALSE;
+      g_free (name);
     }
     gst_iterator_free (pad_it);
   }
Index: gstrtpjitterbuffer.c
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/rtpmanager/gstrtpjitterbuffer.c,v
retrieving revision 1.34
diff -u -B -b -p -r1.34 gstrtpjitterbuffer.c
--- gstrtpjitterbuffer.c	29 Jan 2008 18:57:27 -0000	1.34
+++ gstrtpjitterbuffer.c	15 Apr 2008 16:08:22 -0000
@@ -771,7 +771,10 @@ gst_rtp_jitter_buffer_get_clock_rate (Gs
   g_signal_emitv (args, gst_rtp_jitter_buffer_signals[SIGNAL_REQUEST_PT_MAP], 0,
       &ret);
 
-  caps = (GstCaps *) g_value_get_boxed (&ret);
+  g_value_unset (&args[0]);
+  g_value_unset (&args[1]);
+  caps = (GstCaps *) g_value_dup_boxed (&ret);
+  g_value_unset (&ret);
   if (!caps)
     goto no_caps;
 
Index: gstrtpptdemux.c
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/rtpmanager/gstrtpptdemux.c,v
retrieving revision 1.14
diff -u -B -b -p -r1.14 gstrtpptdemux.c
--- gstrtpptdemux.c	12 Dec 2007 16:59:03 -0000	1.14
+++ gstrtpptdemux.c	15 Apr 2008 16:08:22 -0000
@@ -273,7 +273,10 @@ gst_rtp_pt_demux_get_caps (GstRtpPtDemux
   g_signal_emitv (args, gst_rtp_pt_demux_signals[SIGNAL_REQUEST_PT_MAP], 0,
       &ret);
 
-  caps = g_value_get_boxed (&ret);
+  g_value_unset (&args[0]);
+  g_value_unset (&args[1]);
+  caps = g_value_dup_boxed (&ret);
+  g_value_unset (&ret);
   if (caps == NULL)
     caps = GST_PAD_CAPS (rtpdemux->sink);
 
Index: gstrtpsession.c
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/rtpmanager/gstrtpsession.c,v
retrieving revision 1.37
diff -u -B -b -p -r1.37 gstrtpsession.c
--- gstrtpsession.c	9 Apr 2008 22:27:50 -0000	1.37
+++ gstrtpsession.c	15 Apr 2008 16:08:22 -0000
@@ -1244,7 +1244,10 @@ gst_rtp_session_clock_rate (RTPSession *
   g_signal_emitv (args, gst_rtp_session_signals[SIGNAL_REQUEST_PT_MAP], 0,
       &ret);
 
-  caps = (GstCaps *) g_value_get_boxed (&ret);
+  g_value_unset (&args[0]);
+  g_value_unset (&args[1]);
+  caps = (GstCaps *) g_value_dup_boxed (&ret);
+  g_value_unset (&ret);
   if (!caps)
     goto no_caps;
 
