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:
Edward Hervey 2008-05-26 10:20:06 +00:00
parent cf22542b26
commit a70c226dc3
3 changed files with 35 additions and 1 deletions

View file

@ -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> 2008-05-17 Edward Hervey <edward.hervey@collabora.co.uk>
* gst/extend/discoverer.py: * gst/extend/discoverer.py:

2
common

@ -1 +1 @@
Subproject commit 3b3631082d04b426f450810e8836de94e9c5d60a Subproject commit 032f2d973bd5c9a9b457cb5fc72d13dafe85c01e

View file

@ -235,3 +235,29 @@ _wrap_gst_event_new_custom(PyObject *self, PyObject *args, PyObject *kwargs)
gst_mini_object_unref((GstMiniObject *)ret); gst_mini_object_unref((GstMiniObject *)ret);
return py_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;
}