gst/gstelementfactory.override: Release GIL in gst_element_factory_overrides.

Original commit message from CVS:
Patch by: Alessandro Decina <alessandro at nnva dot org>
* gst/gstelementfactory.override:
Release GIL in gst_element_factory_overrides.
Fixes #529731
This commit is contained in:
Alessandro Decina 2008-04-28 10:36:10 +00:00 committed by Edward Hervey
parent 839bc5b0d4
commit 0574bbf304
2 changed files with 13 additions and 0 deletions

View file

@ -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> 2008-04-24 Jan Schmidt <Jan.Schmidt@sun.com>
* examples/play.py: * examples/play.py:

View file

@ -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)) if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|z:element_factory_make", kwlist, &factoryname, &name))
return NULL; return NULL;
pyg_begin_allow_threads;
ret = gst_element_factory_make(factoryname, name); ret = gst_element_factory_make(factoryname, name);
pyg_end_allow_threads;
if (ret == NULL) { if (ret == NULL) {
PyErr_SetString(PyGstExc_ElementNotFoundError, factoryname); PyErr_SetString(PyGstExc_ElementNotFoundError, factoryname);
return NULL; return NULL;
@ -52,7 +56,9 @@ _wrap_gst_element_factory_get_static_pad_templates(PyGObject *self)
PyObject *py_list; PyObject *py_list;
int i = 0; int i = 0;
pyg_begin_allow_threads;
list = gst_element_factory_get_static_pad_templates (GST_ELEMENT_FACTORY (self->obj)); 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)); py_list = PyList_New(g_list_length ((GList*) list));