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.
This commit is contained in:
David Schleef 2007-05-15 03:45:45 +00:00 committed by Tim-Philipp Müller
parent 62d401eb93
commit 720dfeb3a5

View file

@ -335,6 +335,12 @@ no_caps:
} }
} }
static gboolean
return_true (gpointer key, gpointer value, gpointer user_data)
{
return TRUE;
}
static void static void
gst_rtp_bin_clear_pt_map (GstRTPBin * bin) 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; GstRTPBinSession *session = (GstRTPBinSession *) walk->data;
GST_RTP_SESSION_LOCK (session); GST_RTP_SESSION_LOCK (session);
#if 0
/* This requires GLib 2.12 */
g_hash_table_remove_all (session->ptmap); 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_SESSION_UNLOCK (session);
} }
GST_RTP_BIN_UNLOCK (bin); GST_RTP_BIN_UNLOCK (bin);