diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | gst/gstelementfactory.override | 6 |
2 files changed, 13 insertions, 0 deletions
@@ -1,3 +1,10 @@ +2008-04-28 Edward Hervey <edward.hervey@collabora.co.uk> + + Patch by: Alessandro Decina <alessandro at nnva dot org> + * gst/gstelementfactory.override: + Release GIL in gst_element_factory_overrides. + Fixes #529731 + 2008-04-24 Jan Schmidt <Jan.Schmidt@sun.com> * examples/play.py: diff --git a/gst/gstelementfactory.override b/gst/gstelementfactory.override index e238f4f..8db8099 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)); |