mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
gst/gstbin.override: Release the GIL in GstBin overrides.
Original commit message from CVS: * gst/gstbin.override: Release the GIL in GstBin overrides.
This commit is contained in:
parent
f77d66033d
commit
b235a2c289
3 changed files with 17 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2007-04-19 Edward Hervey <edward@fluendo.com>
|
||||||
|
|
||||||
|
* gst/gstbin.override:
|
||||||
|
Release the GIL in GstBin overrides.
|
||||||
|
|
||||||
2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
|
2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
|
||||||
|
|
||||||
* gst/gstelement.override:
|
* gst/gstelement.override:
|
||||||
|
|
2
common
2
common
|
@ -1 +1 @@
|
||||||
Subproject commit 9097e252e477e18182f08a032d8860bdee9a0416
|
Subproject commit 765d03a88492fb4ac81d70457f671f3a109e93de
|
|
@ -48,8 +48,13 @@ _wrap_gst_bin_add(PyGObject *self, PyObject *args)
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < len; i++) {
|
for (i = 0; i < len; i++) {
|
||||||
|
gboolean rest;
|
||||||
|
|
||||||
element = (PyGObject*)PyTuple_GetItem(args, i);
|
element = (PyGObject*)PyTuple_GetItem(args, i);
|
||||||
if (!gst_bin_add(GST_BIN(self->obj), GST_ELEMENT(element->obj))) {
|
pyg_begin_allow_threads;
|
||||||
|
rest = gst_bin_add(GST_BIN(self->obj), GST_ELEMENT(element->obj));
|
||||||
|
pyg_end_allow_threads;
|
||||||
|
if (!rest) {
|
||||||
PyErr_Format(PyGstExc_AddError, "Could not add element '%s'", GST_OBJECT_NAME(element->obj));
|
PyErr_Format(PyGstExc_AddError, "Could not add element '%s'", GST_OBJECT_NAME(element->obj));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -94,8 +99,12 @@ _wrap_gst_bin_remove(PyGObject *self, PyObject *args)
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < len; i++) {
|
for (i = 0; i < len; i++) {
|
||||||
|
gboolean rest;
|
||||||
element = (PyGObject*)PyTuple_GetItem(args, i);
|
element = (PyGObject*)PyTuple_GetItem(args, i);
|
||||||
if (!gst_bin_remove(GST_BIN(self->obj), GST_ELEMENT(element->obj))) {
|
pyg_begin_allow_threads;
|
||||||
|
rest = gst_bin_remove(GST_BIN(self->obj), GST_ELEMENT(element->obj));
|
||||||
|
pyg_end_allow_threads;
|
||||||
|
if (!rest) {
|
||||||
PyErr_Format(PyGstExc_RemoveError, "Could not remove element '%s'", GST_OBJECT_NAME(element->obj));
|
PyErr_Format(PyGstExc_RemoveError, "Could not remove element '%s'", GST_OBJECT_NAME(element->obj));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue