File: | gstpad.override |
Function: | _wrap_gst_pad_start_task |
Error: | ob_refcnt of '*callback' is 1 too high |
1622 static PyObject *
1623 _wrap_gst_pad_start_task(PyGObject *self, PyObject *args)
1624 {
1625 PyObject *callback, *data, *cbargs, *py_ret;
1626 gboolean ret;
1627
1628 /* 1st argument must be a callable */
1629 if (PyTuple_Size(args) < 1) {
when PyTuple_Size() returns ob_size
when considering range: 1 <= value <= 0x7fffffffffffffff
taking False path
1630 PyErr_SetString(PyExc_TypeError, "gst.Pad.start_task() requires at least 1 argument");
1631 return NULL;
1632 }
1633
1634 callback = PySequence_GetItem(args, 0);
when PySequence_GetItem() succeeds
new ref from PySequence_GetItem allocated at: callback = PySequence_GetItem(args, 0);
ob_refcnt is now refs: 1 + N where N >= 0
1635 if (!PyCallable_Check(callback)) {
when PyCallable_Check() returns 1 (true)
taking False path
1636 PyErr_SetString(PyExc_TypeError, "callback must be a function or method");
1637 Py_DECREF(callback);
1638 return NULL;
1639 }
1640
1641 if (!(cbargs = PySequence_GetSlice(args, 1, PyTuple_Size(args)))) {
when PyTuple_Size() returns ob_size
when PySequence_GetSlice() succeeds
taking False path
1642 Py_DECREF(callback);
1643 return NULL;
1644 }
1645
1646 if (!(data = Py_BuildValue("(ON)", callback, cbargs))) {
when Py_BuildValue() succeeds
taking False path
ob_refcnt is now refs: 1 + N where N >= 1
1647 Py_DECREF(callback);
1648 Py_DECREF(cbargs);
1649 return NULL;
1650 }
1651
1652 pyg_begin_allow_threads;
when treating unknown struct _PyGObject_Functions * from /usr/include/pygtk-2.0/pygobject.h:207 as non-NULL
when considering range: 1 <= value <= 0x7fffffff
taking True path
releasing the GIL by calling PyEval_SaveThread()
1653 ret = gst_pad_start_task(GST_PAD(self->obj), (GstTaskFunction) pad_task_handler, data);
1654 pyg_end_allow_threads;
when considering range: -0x80000000 <= value <= -1
taking True path
reacquiring the GIL by calling PyEval_RestoreThread()
1655
1656 if (ret == TRUE)
when considering range: -0x80000000 <= value <= 0
taking False path
1657 py_ret = Py_True;
1658 else
1659 py_ret = Py_False;
1660
1661 Py_INCREF(py_ret);
1662 return py_ret;
1663 }
ob_refcnt of '*callback' is 1 too high
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + 1
found 20 similar trace(s) to this
File: | gstpad.override |
Function: | _wrap_gst_pad_start_task |
Error: | ob_refcnt of '*data' is 1 too high |
1622 static PyObject *
1623 _wrap_gst_pad_start_task(PyGObject *self, PyObject *args)
1624 {
1625 PyObject *callback, *data, *cbargs, *py_ret;
1626 gboolean ret;
1627
1628 /* 1st argument must be a callable */
1629 if (PyTuple_Size(args) < 1) {
when PyTuple_Size() returns ob_size
when considering range: 1 <= value <= 0x7fffffffffffffff
taking False path
1630 PyErr_SetString(PyExc_TypeError, "gst.Pad.start_task() requires at least 1 argument");
1631 return NULL;
1632 }
1633
1634 callback = PySequence_GetItem(args, 0);
when PySequence_GetItem() succeeds
1635 if (!PyCallable_Check(callback)) {
when PyCallable_Check() returns 1 (true)
taking False path
1636 PyErr_SetString(PyExc_TypeError, "callback must be a function or method");
1637 Py_DECREF(callback);
1638 return NULL;
1639 }
1640
1641 if (!(cbargs = PySequence_GetSlice(args, 1, PyTuple_Size(args)))) {
when PyTuple_Size() returns ob_size
when PySequence_GetSlice() succeeds
taking False path
1642 Py_DECREF(callback);
1643 return NULL;
1644 }
1645
1646 if (!(data = Py_BuildValue("(ON)", callback, cbargs))) {
when Py_BuildValue() succeeds
taking False path
new ref from call to Py_BuildValue allocated at: if (!(data = Py_BuildValue("(ON)", callback, cbargs))) {
ob_refcnt is now refs: 1 + N where N >= 0
1647 Py_DECREF(callback);
1648 Py_DECREF(cbargs);
1649 return NULL;
1650 }
1651
1652 pyg_begin_allow_threads;
when treating unknown struct _PyGObject_Functions * from /usr/include/pygtk-2.0/pygobject.h:207 as non-NULL
when considering range: 1 <= value <= 0x7fffffff
taking True path
releasing the GIL by calling PyEval_SaveThread()
1653 ret = gst_pad_start_task(GST_PAD(self->obj), (GstTaskFunction) pad_task_handler, data);
1654 pyg_end_allow_threads;
when considering range: -0x80000000 <= value <= -1
taking True path
reacquiring the GIL by calling PyEval_RestoreThread()
1655
1656 if (ret == TRUE)
when considering range: -0x80000000 <= value <= 0
taking False path
1657 py_ret = Py_True;
1658 else
1659 py_ret = Py_False;
1660
1661 Py_INCREF(py_ret);
1662 return py_ret;
1663 }
ob_refcnt of '*data' is 1 too high
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + 1
found 20 similar trace(s) to this