plugins/elements/gsttypefindelement.c: Fix leaking element factories in typefinding.
authorMichael Smith <msmith@xiph.org>
Fri, 9 Dec 2005 17:26:31 +0000 (17:26 +0000)
committerMichael Smith <msmith@xiph.org>
Fri, 9 Dec 2005 17:26:31 +0000 (17:26 +0000)
Original commit message from CVS:
* 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.

ChangeLog
common
plugins/elements/gsttypefindelement.c

index 8a7f90c..17eef29 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2005-12-09  Michael Smith  <msmith@fluendo.com>
+
+       * 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  <msmith@fluendo.com>
+
+       * 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  <wim@fluendo.com>
 
        * tests/check/Makefile.am:
diff --git a/common b/common
index 8678649..4edc214 160000 (submodule)
--- a/common
+++ b/common
@@ -1 +1 @@
-Subproject commit 8678649bd612dcd040126bdcfb3a640974c86950
+Subproject commit 4edc214072fe07d2aade96bc336493425654d7b4
index 13c5fac..fac82d5 100644 (file)
@@ -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);
       }