diff --git a/ChangeLog b/ChangeLog index 8a7f90c185..17eef2932c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,21 @@ +2005-12-09 Michael Smith + + * plugins/elements/gsttypefindelement.c: (find_peek), + (gst_type_find_element_chain): + Fix leaking element factories in typefinding. + Fix problem where we forgot about a probable type on non-seekable + files, and thus later mis-typefound it. + +2005-12-09 Michael Smith + + * common/m4/gst-makecontext.m4: + * common/m4/gst-mcsc.m4: + * configure.ac: + * win32/common/config.h: + * win32/common/config.h.in: + Remove makecontext stuff; not used in 0.10 and causes problems on + HPUX according to bug #322441 + 2005-12-07 Wim Taymans * tests/check/Makefile.am: diff --git a/common b/common index 8678649bd6..4edc214072 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 8678649bd612dcd040126bdcfb3a640974c86950 +Subproject commit 4edc214072fe07d2aade96bc336493425654d7b4 diff --git a/plugins/elements/gsttypefindelement.c b/plugins/elements/gsttypefindelement.c index 13c5fac5df..fac82d55ab 100644 --- a/plugins/elements/gsttypefindelement.c +++ b/plugins/elements/gsttypefindelement.c @@ -550,6 +550,7 @@ find_peek (gpointer data, gint64 offset, guint size) return NULL; if (size <= entry->self->store->size) { + entry->requested_size = 0; return GST_BUFFER_DATA (entry->self->store); } else { entry->requested_size = size; @@ -628,15 +629,15 @@ gst_type_find_element_chain (GstPad * pad, GstBuffer * buffer) all_factories = g_list_sort (all_factories, compare_type_find_factory); walk = all_factories; - while (all_factories) { + while (walk) { entry = new_entry (); - entry->factory = GST_TYPE_FIND_FACTORY (all_factories->data); + entry->factory = GST_TYPE_FIND_FACTORY (walk->data); entry->self = typefind; entry->probability = 0; typefind->possibilities = g_list_prepend (typefind->possibilities, entry); - all_factories = g_list_next (all_factories); + walk = g_list_next (walk); } gst_plugin_feature_list_free (all_factories); }