From 6b862f0c0e6ab6c1a84f4f8701b4bffccefe3b54 Mon Sep 17 00:00:00 2001 From: Alessandro Decina Date: Sun, 8 May 2011 13:15:19 +0200 Subject: [PATCH] python: override gst_rtsp_media_mapping_add_factory to fix refcounting --- bindings/python/rtspserver.override | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/bindings/python/rtspserver.override b/bindings/python/rtspserver.override index eda93e8..2fd69a7 100644 --- a/bindings/python/rtspserver.override +++ b/bindings/python/rtspserver.override @@ -65,3 +65,23 @@ _wrap_gst_rtsp_server_create_watch(PyGObject *self, PyObject *args, PyObject *ke pyg_end_allow_threads; return pygobject_new((GObject *)ret); } + +%% +override gst_rtsp_media_mapping_add_factory kwargs +static PyObject * +_wrap_gst_rtsp_media_mapping_add_factory(PyGObject *self, PyObject *args, PyObject *kwargs) +{ + static char *kwlist[] = { "path", "factory", NULL }; + char *path; + PyGObject *factory; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs,"sO!:GstRTSPMediaMapping.add_factory", kwlist, &path, &PyGstRTSPMediaFactory_Type, &factory)) + return NULL; + pyg_begin_allow_threads; + gst_rtsp_media_mapping_add_factory(GST_RTSP_MEDIA_MAPPING(self->obj), path, + g_object_ref (GST_RTSP_MEDIA_FACTORY(factory->obj))); + pyg_end_allow_threads; + Py_INCREF(Py_None); + return Py_None; +} + -- 2.7.4