+2006-07-21 Stefan Kost <ensonic@users.sf.net>
+
+ * gst/gstparse.c: (gst_parse_launch):
+ Also remove reentrance checks if flex is MT save (#348179)
+ Fix my empty ChangeLog entry below
+
2006-07-21 Andy Wingo <wingo@pobox.com>
* docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
* configure.ac:
* gst/gstparse.c: (gst_parse_launch):
+ Check for flex version and omit mutex if we have a MT save flex
+ (fixes #348179)
2006-07-21 Wim Taymans <wim@fluendo.com>
#include "gstparse.h"
#include "gstinfo.h"
+#ifndef HAVE_MT_SAVE_FLEX
/* the need for the mutex will go away with flex 2.5.6 */
static gboolean flex_busy = FALSE;
-
-#ifndef HAVE_MT_SAVE_FLEX
static GStaticRecMutex flex_lock = G_STATIC_REC_MUTEX_INIT;
#endif
#ifndef HAVE_MT_SAVE_FLEX
g_static_rec_mutex_lock (&flex_lock);
-#endif
if (flex_busy)
goto recursive_call;
flex_busy = TRUE;
+#endif
element = _gst_parse_launch (pipeline_description, error);
- flex_busy = FALSE;
#ifndef HAVE_MT_SAVE_FLEX
+ flex_busy = FALSE;
g_static_rec_mutex_unlock (&flex_lock);
#endif
return element;
/* ERRORS */
+#ifndef HAVE_MT_SAVE_FLEX
recursive_call:
{
GST_WARNING ("calls to gst_parse_launch() cannot be nested");
-#ifndef HAVE_MT_SAVE_FLEX
g_static_rec_mutex_unlock (&flex_lock);
-#endif
g_warning ("calls to gst_parse_launch() cannot be nested");
return NULL;
}
+#endif
}