summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2007-05-15 03:45:45 +0000
committerTim-Philipp Müller <tim.muller@collabora.co.uk>2009-08-11 02:30:27 +0100
commit720dfeb3a57ba6813f159e623aafa5b3b1fb0f43 (patch)
tree7f51082458c91cb4229e4881cd4913a3021211a3
parent62d401eb93ab109c0fed8e0133012bd5cc0ae5de (diff)
gst/rtpmanager/gstrtpbin.c: g_hash_table_remove_all() only exists in 2.12. Work around.
Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: g_hash_table_remove_all() only exists in 2.12. Work around.
-rw-r--r--gst/rtpmanager/gstrtpbin.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gst/rtpmanager/gstrtpbin.c b/gst/rtpmanager/gstrtpbin.c
index a6cd3840..58a06926 100644
--- a/gst/rtpmanager/gstrtpbin.c
+++ b/gst/rtpmanager/gstrtpbin.c
@@ -335,6 +335,12 @@ no_caps:
}
}
+static gboolean
+return_true (gpointer key, gpointer value, gpointer user_data)
+{
+ return TRUE;
+}
+
static void
gst_rtp_bin_clear_pt_map (GstRTPBin * bin)
{
@@ -345,7 +351,12 @@ gst_rtp_bin_clear_pt_map (GstRTPBin * bin)
GstRTPBinSession *session = (GstRTPBinSession *) walk->data;
GST_RTP_SESSION_LOCK (session);
+#if 0
+ /* This requires GLib 2.12 */
g_hash_table_remove_all (session->ptmap);
+#else
+ g_hash_table_foreach_remove (session->ptmap, return_true, NULL);
+#endif
GST_RTP_SESSION_UNLOCK (session);
}
GST_RTP_BIN_UNLOCK (bin);