From 0574bbf304c97e040238766e5e7243175cef2aa8 Mon Sep 17 00:00:00 2001 From: Alessandro Decina Date: Mon, 28 Apr 2008 10:36:10 +0000 Subject: [PATCH] gst/gstelementfactory.override: Release GIL in gst_element_factory_overrides. Original commit message from CVS: Patch by: Alessandro Decina * gst/gstelementfactory.override: Release GIL in gst_element_factory_overrides. Fixes #529731 --- ChangeLog | 7 +++++++ gst/gstelementfactory.override | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/ChangeLog b/ChangeLog index 7f36b2c9d0..0a296de23e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-04-28 Edward Hervey + + Patch by: Alessandro Decina + * gst/gstelementfactory.override: + Release GIL in gst_element_factory_overrides. + Fixes #529731 + 2008-04-24 Jan Schmidt * examples/play.py: diff --git a/gst/gstelementfactory.override b/gst/gstelementfactory.override index e238f4fd18..8db8099a99 100644 --- a/gst/gstelementfactory.override +++ b/gst/gstelementfactory.override @@ -33,7 +33,11 @@ _wrap_gst_element_factory_make(PyObject *self, PyObject *args, PyObject *kwargs) if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|z:element_factory_make", kwlist, &factoryname, &name)) return NULL; + + pyg_begin_allow_threads; ret = gst_element_factory_make(factoryname, name); + pyg_end_allow_threads; + if (ret == NULL) { PyErr_SetString(PyGstExc_ElementNotFoundError, factoryname); return NULL; @@ -52,7 +56,9 @@ _wrap_gst_element_factory_get_static_pad_templates(PyGObject *self) PyObject *py_list; int i = 0; + pyg_begin_allow_threads; list = gst_element_factory_get_static_pad_templates (GST_ELEMENT_FACTORY (self->obj)); + pyg_end_allow_threads; py_list = PyList_New(g_list_length ((GList*) list));