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
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);