mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-17 22:06:41 +00:00
gst/gstevent.override: gst_event_new_tag takes ownership of the GstTagList given as argument, therefore make a copy b...
Original commit message from CVS: * gst/gstevent.override: gst_event_new_tag takes ownership of the GstTagList given as argument, therefore make a copy before calling the C function. Fixes #534888
This commit is contained in:
parent
cf22542b26
commit
a70c226dc3
3 changed files with 35 additions and 1 deletions
|
@ -1,3 +1,11 @@
|
|||
2008-05-26 Edward Hervey <edward.hervey@collabora.co.uk>
|
||||
|
||||
* gst/gstevent.override:
|
||||
gst_event_new_tag takes ownership of the GstTagList given
|
||||
as argument, therefore make a copy before calling the
|
||||
C function.
|
||||
Fixes #534888
|
||||
|
||||
2008-05-17 Edward Hervey <edward.hervey@collabora.co.uk>
|
||||
|
||||
* gst/extend/discoverer.py:
|
||||
|
|
2
common
2
common
|
@ -1 +1 @@
|
|||
Subproject commit 3b3631082d04b426f450810e8836de94e9c5d60a
|
||||
Subproject commit 032f2d973bd5c9a9b457cb5fc72d13dafe85c01e
|
|
@ -235,3 +235,29 @@ _wrap_gst_event_new_custom(PyObject *self, PyObject *args, PyObject *kwargs)
|
|||
gst_mini_object_unref((GstMiniObject *)ret);
|
||||
return py_ret;
|
||||
}
|
||||
%%
|
||||
override gst_event_new_tag kwargs
|
||||
static PyObject *
|
||||
_wrap_gst_event_new_tag(PyObject *self, PyObject *args, PyObject *kwargs)
|
||||
{
|
||||
static char *kwlist[] = { "taglist", NULL };
|
||||
GstTagList *taglist = NULL;
|
||||
PyObject *py_taglist, *py_ret;
|
||||
GstEvent *ret;
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs,"O:event_new_tag", kwlist, &py_taglist))
|
||||
return NULL;
|
||||
if (pyg_boxed_check(py_taglist, GST_TYPE_TAG_LIST))
|
||||
taglist = pyg_boxed_get(py_taglist, GstTagList);
|
||||
else {
|
||||
PyErr_SetString(PyExc_TypeError, "taglist should be a GstTagList");
|
||||
return NULL;
|
||||
}
|
||||
pyg_begin_allow_threads;
|
||||
ret = gst_event_new_tag(gst_tag_list_copy(taglist));
|
||||
pyg_end_allow_threads;
|
||||
py_ret = pygstminiobject_new((GstMiniObject *)ret);
|
||||
if (ret != NULL)
|
||||
gst_mini_object_unref((GstMiniObject *)ret);
|
||||
return py_ret;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue