1403 static PyObject *
1404 _wrap_gst_pad_set_blocked_async (PyGObject *self, PyObject *args)
1405 {
1406 PyObject *callback, *cbargs = NULL, *data;
1407 PyObject *pblocked, *pret;
1408 gboolean blocked;
1409 gboolean ret;
1410 gint len;
1411
1412 len = PyTuple_Size(args);
when PyTuple_Size() returns ob_size
1413
1414 if (len < 2) {
when considering range: 2 <= value <= 0x7fffffff
taking False path
1415 PyErr_SetString(PyExc_TypeError, "Requires at least 2 arg");
1416 return NULL;
1417 }
1418 pblocked = PyTuple_GetItem(args, 0);
1419 blocked = PyObject_IsTrue(pblocked);
when PyObject_IsTrue() returns 1 (true)
1420
1421 callback = PyTuple_GetItem(args, 1);
1422 if (!PyCallable_Check(callback)) {
when PyCallable_Check() returns 1 (true)
taking False path
1423 PyErr_SetString(PyExc_TypeError, "callback is not callable");
1424 return NULL;
1425 }
1426 cbargs = PySequence_GetSlice(args, 2, len);
when PySequence_GetSlice() succeeds
1427 if (cbargs == NULL)
taking False path
1428 return NULL;
1429 data = Py_BuildValue("(ON)", callback, cbargs);
when Py_BuildValue() succeeds
new ref from call to Py_BuildValue allocated at: data = Py_BuildValue("(ON)", callback, cbargs);
ob_refcnt is now refs: 1 + N where N >= 0
1430 if (data == NULL)
taking False path
1431 return NULL;
1432 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()
1433 #if HAVE_SET_BLOCKED_ASYNC_FULL
1434 ret = gst_pad_set_blocked_async_full (GST_PAD (self->obj), blocked,
1435 (GstPadBlockCallback) pad_block_callback_marshal, data,
1436 pad_block_destroy_data);
1437 #else
1438 ret = gst_pad_set_blocked_async (GST_PAD (self->obj), blocked,
1439 (GstPadBlockCallback) pad_block_callback_marshal, data);
1440 #endif
1441 pyg_end_allow_threads;
when considering range: -0x80000000 <= value <= -1
taking True path
reacquiring the GIL by calling PyEval_RestoreThread()
1442 if (ret)
when considering range: -0x80000000 <= value <= -1
taking True path
1443 pret = Py_True;
1444 else
1445 pret = Py_False;
1446 Py_INCREF(pret);
1447
1448 return pret;
1449 }
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 19 similar trace(s) to this