static void gst_file_index_dispose (GObject * object) { GstFileIndex *index = GST_FILE_INDEX (object); if (index->location) { g_free (index->location); index->location = NULL; } { GSList *elem; for (elem = index->unresolved; elem; elem = g_slist_next (elem)) _file_index_id_free (elem->data, index->is_loaded); g_slist_free (index->unresolved); index->unresolved = NULL; } g_hash_table_foreach_steal (index->id_index, (GHRFunc) _id_index_free_helper, index); g_hash_table_destroy (index->id_index); index->id_index = NULL; gst_index_entry_free (index->ret_entry); /* hack */ G_OBJECT_CLASS (gst_file_index_parent_class)->dispose (object); }
static void gst_index_free_writer (gpointer key, gpointer value, gpointer user_data) { GstIndexEntry *entry = (GstIndexEntry *) value; if (entry) { gst_index_entry_free (entry); } }