diff options
Diffstat (limited to 'gst/gst.override')
-rw-r--r-- | gst/gst.override | 95 |
1 files changed, 94 insertions, 1 deletions
diff --git a/gst/gst.override b/gst/gst.override index f0f030c..2c920cc 100644 --- a/gst/gst.override +++ b/gst/gst.override @@ -217,9 +217,12 @@ _pygst_element_init (gpointer gclass, PyTypeObject *pyclass) include gstbin.override gstbuffer.override + gstevent.override gstcaps.override + gstbus.override gstelement.override - gstevent.override + gstmessage.override + gstquery.override gstpad.override gststructure.override %% @@ -565,6 +568,35 @@ _wrap_gst_plugin_feature_tp_str(PyObject *self) return ret; } %% +override gst_plugin_get_feature_list noargs +static PyObject * +_wrap_gst_plugin_get_feature_list(PyGObject *self) +{ + PyObject *ret; + PyObject *item; + GList *l, *features; + + features = gst_plugin_get_feature_list (GST_PLUGIN (self->obj)); + + ret = PyList_New(0); + + for (l = features; l; l = g_list_next(l)) { + item = pygobject_new((GObject *) GST_PLUGIN_FEATURE(l->data)); + + if (!item) { + Py_DECREF(ret); + return NULL; + } + PyList_Append(ret, item); + + Py_DECREF(item); + } + + g_list_free(features); + + return ret; +} +%% override gst_type_find_factory_get_caps noargs static PyObject * _wrap_gst_type_find_factory_get_caps(PyGObject *self) @@ -914,4 +946,65 @@ _wrap_gst_element_register(PyObject *self, PyObject *args, PyObject *kwargs) ret = gst_element_register(_pygst_get_plugin(), elementname, rank, type); return PyBool_FromLong(ret); } +%% +override-attr GError.domain +static PyObject * +_wrap_gst_g_error__get_domain(PyGObject *self, void *closure) +{ + return PyString_FromString(g_quark_to_string(((GError*)self->obj)->domain)); +} +%% +override-slot GError.tp_str +static PyObject * +_wrap_gst_g_error_tp_str(PyGObject *self) +{ + GError *error = (GError*)self->obj; + return PyString_FromString(gst_error_get_message (error->domain, + error->code)); +} +%% +override gst_uri_handler_get_protocols noargs +static PyObject * +_wrap_gst_uri_handler_get_protocols (PyGObject *self) +{ + gchar **tab; + int i, len; + PyObject *ret; + + tab = gst_uri_handler_get_protocols (GST_URI_HANDLER (self->obj)); + if (!tab) { + Py_INCREF (Py_None); + return Py_None; + } + ret = PyList_New(0); + + len = g_strv_length (tab); + for (i = 0; i < len; i++) { + PyList_Append(ret, PyString_FromString(tab[i])); + } + + return ret; +} +%% +override gst_registry_pool_list noargs +static PyObject * +_wrap_gst_registry_pool_list (PyObject *what) +{ + PyObject *ret, *item; + GList *res, *tmp; + ret = PyList_New(0); + res = gst_registry_pool_list(); + for (tmp = res; tmp; tmp = g_list_next(tmp)) { + item = pygobject_new((GObject*) GST_REGISTRY(tmp->data)); + + if (!item) { + Py_DECREF(ret); + return NULL; + } + PyList_Append(ret, item); + + Py_DECREF(item); + } + return ret; +} |