[gst-devel] possible fix for registry infinite loop

Joshua N Pritikin vishnu at pobox.com
Thu Jul 24 05:35:38 CEST 2003


Can I commit this?  It compiles and works for me.

Index: gstxmlregistry.c
===================================================================
RCS file: /cvsroot/gstreamer/gstreamer/gst/registries/gstxmlregistry.c,v
retrieving revision 1.29
diff -u -r1.29 gstxmlregistry.c
--- gstxmlregistry.c	9 Jul 2003 01:56:08 -0000	1.29
+++ gstxmlregistry.c	24 Jul 2003 12:30:48 -0000
@@ -709,9 +709,14 @@
 
   if (gst_plugin_feature_ensure_loaded (GST_PLUGIN_FEATURE (factory))) {
     if (factory->typefindfunc) {
-      GstCaps *res = factory->typefindfunc (buffer, factory);
-      if (res)
-        return res;
+      if (factory->typefindfunc == gst_type_type_find_dummy) {
+	GST_CAT_WARNING (GST_CAT_TYPES, "GstTypeFactory %s for mime %s exts %s does not install a valid typefindfunc",
+			 factory->feature.name, factory->mime, factory->exts);
+      } else {
+	GstCaps *res = factory->typefindfunc (buffer, factory);
+	if (res)
+	  return res;
+      }
     }
   }
   return NULL;




More information about the gstreamer-devel mailing list