138 static PyObject *
139 _wrap_GstBaseSrc__do_create (PyObject *cls, PyObject *args, PyObject *kwargs)
140 {
141 gpointer klass;
142 static char *kwlist[] = { "self", "offset", "size", NULL };
143 PyGObject *self;
144 guint64 offset;
145 guint size;
146 PyObject *py_ret;
147 GstFlowReturn flow;
148 GstBuffer *buffer = NULL;
149
150 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!KI:GstBaseSrc.create",
when PyArg_ParseTupleAndKeywords() succeeds
taking False path
151 kwlist, &PyGstBaseSrc_Type, &self, &offset, &size))
152 return NULL;
153
154 klass = g_type_class_ref(pyg_type_from_object(cls));
when treating unknown struct _PyGObject_Functions * from /usr/include/pygtk-2.0/pygobject.h:207 as non-NULL
calling unknown GType (*) (struct PyObject *) from gstbase.override:154
155 if (GST_BASE_SRC_CLASS(klass)->create) {
when treating unknown struct GTypeClass * from gstbase.override:155 as non-NULL
when treating unknown GstFlowReturn (*) (struct GstBaseSrc *, guint64, guint, struct GstBuffer * *) from gstbase.override:155 as non-NULL
taking True path
156 pyg_begin_allow_threads;
when considering range: -0x80000000 <= value <= -1
taking True path
releasing the GIL by calling PyEval_SaveThread()
157 flow = GST_BASE_SRC_CLASS(klass)->create(GST_BASE_SRC(self->obj), offset, size, &buffer);
when treating unknown struct GTypeClass * from gstbase.override:157 as non-NULL
calling unknown GstFlowReturn (*) (struct GstBaseSrc *, guint64, guint, struct GstBuffer * *) from gstbase.override:157
158 pyg_end_allow_threads;
when considering range: -0x80000000 <= value <= -1
taking True path
reacquiring the GIL by calling PyEval_RestoreThread()
159 } else {
160 PyErr_SetString(PyExc_NotImplementedError, "virtual method GstBaseSrc.set_caps not implemented");
161 g_type_class_unref(klass);
162 return NULL;
163 }
164 g_type_class_unref(klass);
165
166 /* We now need to return a tuple with (flow, buffer) */
167 if (buffer)
when treating unknown struct GstBuffer * * from gstbase.override:157 as non-NULL
taking True path
168 py_ret = PyTuple_New(2);
when PyTuple_New() fails
169 else
170 py_ret = PyTuple_New(1);
171
172 PyTuple_SET_ITEM(py_ret, 0, pyg_enum_from_gtype(GST_TYPE_FLOW_RETURN, flow));
when call succeeds
dereferencing NULL (MEM[(struct PyTupleObject *)py_ret].ob_item) at gstbase.override:174
found 7 similar trace(s) to this
173
174 if (buffer)
175 PyTuple_SET_ITEM(py_ret, 1, pygstminiobject_new(GST_MINI_OBJECT (buffer)));
176
177 return py_ret;
178 }