diff --git a/ChangeLog b/ChangeLog index c1007fad7f..d94d4e1653 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-11-02 Tim-Philipp Müller + + * gst/gst.c: (gst_deinit): + Clean up on deinit (not the external ones though, doesn't seem to be + needed for some reason). + 2007-11-01 Tim-Philipp Müller * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN): diff --git a/gst/gst.c b/gst/gst.c index da4211498d..f5910ec7cc 100644 --- a/gst/gst.c +++ b/gst/gst.c @@ -1242,6 +1242,17 @@ gst_deinit (void) _priv_gst_registry_cleanup (); + g_type_class_unref (g_type_class_peek (gst_object_get_type ())); + g_type_class_unref (g_type_class_peek (gst_pad_get_type ())); + g_type_class_unref (g_type_class_peek (gst_element_factory_get_type ())); + g_type_class_unref (g_type_class_peek (gst_element_get_type ())); + g_type_class_unref (g_type_class_peek (gst_type_find_factory_get_type ())); + g_type_class_unref (g_type_class_peek (gst_bin_get_type ())); +#ifndef GST_DISABLE_INDEX + g_type_class_unref (g_type_class_peek (gst_index_factory_get_type ())); +#endif /* GST_DISABLE_INDEX */ + g_type_class_unref (g_type_class_peek (gst_param_spec_fraction_get_type ())); + gst_initialized = FALSE; GST_INFO ("deinitialized GStreamer"); }