From 720dfeb3a57ba6813f159e623aafa5b3b1fb0f43 Mon Sep 17 00:00:00 2001 From: David Schleef Date: Tue, 15 May 2007 03:45:45 +0000 Subject: [PATCH] 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. --- gst/rtpmanager/gstrtpbin.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gst/rtpmanager/gstrtpbin.c b/gst/rtpmanager/gstrtpbin.c index a6cd384..58a0692 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); -- 2.7.4