+2003-01-04 David I. Lehn <dlehn@users.sourceforge.net>
+
+ * gstreamer/gstreamer.override, gstreamer/gstreamer-extra.defs: add
+ GstPropsEntry and wrappers for most of get_* methods
+
+ * gstreamer/gstreamer-arg-types.py: add GstClockID as a pointer arg
+ type (not too useful, really need to make it a boxed type)
+
+2003-01-02 David I. Lehn <dlehn@users.sourceforge.net>
+
+ * gstreamer/__init__.py: add threads_init() function
+
+ * gstreamer/gstreamer.override: add pad and element query and convert
+ methods
+
2002-12-31 David I. Lehn <dlehn@users.sourceforge.net>
* configure.ac: require PyGTK 1.99.14
(gtype-id "GST_TYPE_PROPS")
)
+(define-boxed PropsEntry
+ (in-module "Gst")
+ (c-name "GstPropsEntry")
+ (gtype-id "GST_TYPE_PROPS_ENTRY")
+)
+
;;
;; HACK
;;
GstQueryType type;
GstFormat format;
gint64 value;
- gboolean gret;
- PyObject *ret;
+ gboolean ret;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ii:GstPad.query", kwlist, &type, &format))
return NULL;
value = 0;
- gret = gst_pad_query(GST_PAD(self->obj), type, &format, &value);
- ret = PyTuple_New(2);
- PyTuple_SetItem(ret, 0, PyInt_FromLong(gret));
- PyTuple_SetItem(ret, 1, PyLong_FromLongLong(value));
- return ret;
+ ret = gst_pad_query(GST_PAD(self->obj), type, &format, &value);
+ return Py_BuildValue("(bl)", ret, value);
}
%%
override gst_element_query kwargs
GstQueryType type;
GstFormat format;
gint64 value;
- gboolean gret;
- PyObject *ret;
+ gboolean ret;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ii:GstElement.query", kwlist, &type, &format))
return NULL;
value = 0;
- gret = gst_element_query(GST_ELEMENT(self->obj), type, &format, &value);
- ret = PyTuple_New(2);
- PyTuple_SetItem(ret, 0, PyInt_FromLong(gret));
- PyTuple_SetItem(ret, 1, PyLong_FromLongLong(value));
- return ret;
+ ret = gst_element_query(GST_ELEMENT(self->obj), type, &format, &value);
+ return Py_BuildValue("(bl)", ret, value);
}
%%
override gst_pad_convert kwargs
GstFormat src_format, dest_format;
PyObject *src_value_obj;
gint64 src_value, dest_value;
- gboolean gret;
- PyObject *ret;
+ gboolean ret;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "iOi:GstPad.convert", kwlist, &src_format, &src_value_obj, &dest_format))
return NULL;
src_value = PyLong_AsLongLong(src_value_obj);
dest_value = 0;
- gret = gst_pad_convert(GST_PAD(self->obj), src_format, src_value, &dest_format, &dest_value);
- ret = PyTuple_New(2);
- PyTuple_SetItem(ret, 0, PyInt_FromLong(gret));
- PyTuple_SetItem(ret, 1, PyLong_FromLongLong(dest_value));
- return ret;
+ ret = gst_pad_convert(GST_PAD(self->obj), src_format, src_value, &dest_format, &dest_value);
+ return Py_BuildValue("(bl)", ret, dest_value);
}
%%
override gst_element_convert kwargs
GstFormat src_format, dest_format;
PyObject *src_value_obj;
gint64 src_value, dest_value;
- gboolean gret;
- PyObject *ret;
+ gboolean ret;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "iOi:GstElement.convert", kwlist, &src_format, &src_value_obj, &dest_format))
return NULL;
src_value = PyLong_AsLongLong(src_value_obj);
dest_value = 0;
- gret = gst_element_convert(GST_ELEMENT(self->obj), src_format, src_value, &dest_format, &dest_value);
- ret = PyTuple_New(2);
- PyTuple_SetItem(ret, 0, PyInt_FromLong(gret));
- PyTuple_SetItem(ret, 1, PyLong_FromLongLong(dest_value));
- return ret;
+ ret = gst_element_convert(GST_ELEMENT(self->obj), src_format, src_value, &dest_format, &dest_value);
+ return Py_BuildValue("(bl)", ret, dest_value);
+}
+%%
+override gst_props_entry_get_int
+
+static PyObject *
+_wrap_gst_props_entry_get_int(PyObject *self)
+{
+ gboolean ret;
+ gint val;
+
+ val = 0;
+ ret = gst_props_entry_get_int(pyg_boxed_get(self, GstPropsEntry), &val);
+ return Py_BuildValue("(bi)", ret, val);
+}
+%%
+override gst_props_entry_get_float
+
+static PyObject *
+_wrap_gst_props_entry_get_float(PyObject *self)
+{
+ gboolean ret;
+ gfloat val;
+
+ val = 0.0f;
+ ret = gst_props_entry_get_float(pyg_boxed_get(self, GstPropsEntry), &val);
+ return Py_BuildValue("(bf)", ret, val);
+}
+%%
+override gst_props_entry_get_fourcc_int
+
+static PyObject *
+_wrap_gst_props_entry_get_fourcc_int(PyObject *self)
+{
+ gboolean ret;
+ gint32 val;
+
+ val = 0;
+ ret = gst_props_entry_get_fourcc_int(pyg_boxed_get(self, GstPropsEntry), &val);
+ return Py_BuildValue("(bi)", ret, val);
+}
+%%
+override gst_props_entry_get_boolean
+
+static PyObject *
+_wrap_gst_props_entry_get_boolean(PyObject *self)
+{
+ gboolean ret;
+ gboolean val;
+ PyObject *py_val;
+
+ val = FALSE;
+ ret = gst_props_entry_get_boolean(pyg_boxed_get(self, GstPropsEntry), &val);
+
+ py_val = val ? Py_True : Py_False;
+ return Py_BuildValue("(bO)", ret, py_val);
+}
+%%
+override gst_props_entry_get_string
+
+static PyObject *
+_wrap_gst_props_entry_get_string(PyObject *self)
+{
+ gboolean ret;
+ const gchar *val;
+
+ val = NULL;
+ ret = gst_props_entry_get_string(pyg_boxed_get(self, GstPropsEntry), &val);
+ if (ret) {
+ return Py_BuildValue("(bs)", ret, val);
+ } else {
+ return Py_BuildValue("(bO)", ret, Py_None);
+ }
+}
+%%
+override gst_props_entry_get_int_range
+
+static PyObject *
+_wrap_gst_props_entry_get_int_range(PyObject *self)
+{
+ gboolean ret;
+ gint min, max;
+
+ min = max = 0;
+ ret = gst_props_entry_get_int_range(pyg_boxed_get(self, GstPropsEntry), &min, &max);
+ return Py_BuildValue("(bii)", ret, min, max);
+}
+%%
+override gst_props_entry_get_float_range
+
+static PyObject *
+_wrap_gst_props_entry_get_float_range(PyObject *self)
+{
+ gboolean ret;
+ gfloat min, max;
+
+ min = max = 0.0f;
+ ret = gst_props_entry_get_float_range(pyg_boxed_get(self, GstPropsEntry), &min, &max);
+ return Py_BuildValue("(bff)", ret, min, max);
}
(gtype-id "GST_TYPE_PROPS")
)
+(define-boxed PropsEntry
+ (in-module "Gst")
+ (c-name "GstPropsEntry")
+ (gtype-id "GST_TYPE_PROPS_ENTRY")
+)
+
;;
;; HACK
;;
GstQueryType type;
GstFormat format;
gint64 value;
- gboolean gret;
- PyObject *ret;
+ gboolean ret;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ii:GstPad.query", kwlist, &type, &format))
return NULL;
value = 0;
- gret = gst_pad_query(GST_PAD(self->obj), type, &format, &value);
- ret = PyTuple_New(2);
- PyTuple_SetItem(ret, 0, PyInt_FromLong(gret));
- PyTuple_SetItem(ret, 1, PyLong_FromLongLong(value));
- return ret;
+ ret = gst_pad_query(GST_PAD(self->obj), type, &format, &value);
+ return Py_BuildValue("(bl)", ret, value);
}
%%
override gst_element_query kwargs
GstQueryType type;
GstFormat format;
gint64 value;
- gboolean gret;
- PyObject *ret;
+ gboolean ret;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ii:GstElement.query", kwlist, &type, &format))
return NULL;
value = 0;
- gret = gst_element_query(GST_ELEMENT(self->obj), type, &format, &value);
- ret = PyTuple_New(2);
- PyTuple_SetItem(ret, 0, PyInt_FromLong(gret));
- PyTuple_SetItem(ret, 1, PyLong_FromLongLong(value));
- return ret;
+ ret = gst_element_query(GST_ELEMENT(self->obj), type, &format, &value);
+ return Py_BuildValue("(bl)", ret, value);
}
%%
override gst_pad_convert kwargs
GstFormat src_format, dest_format;
PyObject *src_value_obj;
gint64 src_value, dest_value;
- gboolean gret;
- PyObject *ret;
+ gboolean ret;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "iOi:GstPad.convert", kwlist, &src_format, &src_value_obj, &dest_format))
return NULL;
src_value = PyLong_AsLongLong(src_value_obj);
dest_value = 0;
- gret = gst_pad_convert(GST_PAD(self->obj), src_format, src_value, &dest_format, &dest_value);
- ret = PyTuple_New(2);
- PyTuple_SetItem(ret, 0, PyInt_FromLong(gret));
- PyTuple_SetItem(ret, 1, PyLong_FromLongLong(dest_value));
- return ret;
+ ret = gst_pad_convert(GST_PAD(self->obj), src_format, src_value, &dest_format, &dest_value);
+ return Py_BuildValue("(bl)", ret, dest_value);
}
%%
override gst_element_convert kwargs
GstFormat src_format, dest_format;
PyObject *src_value_obj;
gint64 src_value, dest_value;
- gboolean gret;
- PyObject *ret;
+ gboolean ret;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "iOi:GstElement.convert", kwlist, &src_format, &src_value_obj, &dest_format))
return NULL;
src_value = PyLong_AsLongLong(src_value_obj);
dest_value = 0;
- gret = gst_element_convert(GST_ELEMENT(self->obj), src_format, src_value, &dest_format, &dest_value);
- ret = PyTuple_New(2);
- PyTuple_SetItem(ret, 0, PyInt_FromLong(gret));
- PyTuple_SetItem(ret, 1, PyLong_FromLongLong(dest_value));
- return ret;
+ ret = gst_element_convert(GST_ELEMENT(self->obj), src_format, src_value, &dest_format, &dest_value);
+ return Py_BuildValue("(bl)", ret, dest_value);
+}
+%%
+override gst_props_entry_get_int
+
+static PyObject *
+_wrap_gst_props_entry_get_int(PyObject *self)
+{
+ gboolean ret;
+ gint val;
+
+ val = 0;
+ ret = gst_props_entry_get_int(pyg_boxed_get(self, GstPropsEntry), &val);
+ return Py_BuildValue("(bi)", ret, val);
+}
+%%
+override gst_props_entry_get_float
+
+static PyObject *
+_wrap_gst_props_entry_get_float(PyObject *self)
+{
+ gboolean ret;
+ gfloat val;
+
+ val = 0.0f;
+ ret = gst_props_entry_get_float(pyg_boxed_get(self, GstPropsEntry), &val);
+ return Py_BuildValue("(bf)", ret, val);
+}
+%%
+override gst_props_entry_get_fourcc_int
+
+static PyObject *
+_wrap_gst_props_entry_get_fourcc_int(PyObject *self)
+{
+ gboolean ret;
+ gint32 val;
+
+ val = 0;
+ ret = gst_props_entry_get_fourcc_int(pyg_boxed_get(self, GstPropsEntry), &val);
+ return Py_BuildValue("(bi)", ret, val);
+}
+%%
+override gst_props_entry_get_boolean
+
+static PyObject *
+_wrap_gst_props_entry_get_boolean(PyObject *self)
+{
+ gboolean ret;
+ gboolean val;
+ PyObject *py_val;
+
+ val = FALSE;
+ ret = gst_props_entry_get_boolean(pyg_boxed_get(self, GstPropsEntry), &val);
+
+ py_val = val ? Py_True : Py_False;
+ return Py_BuildValue("(bO)", ret, py_val);
+}
+%%
+override gst_props_entry_get_string
+
+static PyObject *
+_wrap_gst_props_entry_get_string(PyObject *self)
+{
+ gboolean ret;
+ const gchar *val;
+
+ val = NULL;
+ ret = gst_props_entry_get_string(pyg_boxed_get(self, GstPropsEntry), &val);
+ if (ret) {
+ return Py_BuildValue("(bs)", ret, val);
+ } else {
+ return Py_BuildValue("(bO)", ret, Py_None);
+ }
+}
+%%
+override gst_props_entry_get_int_range
+
+static PyObject *
+_wrap_gst_props_entry_get_int_range(PyObject *self)
+{
+ gboolean ret;
+ gint min, max;
+
+ min = max = 0;
+ ret = gst_props_entry_get_int_range(pyg_boxed_get(self, GstPropsEntry), &min, &max);
+ return Py_BuildValue("(bii)", ret, min, max);
+}
+%%
+override gst_props_entry_get_float_range
+
+static PyObject *
+_wrap_gst_props_entry_get_float_range(PyObject *self)
+{
+ gboolean ret;
+ gfloat min, max;
+
+ min = max = 0.0f;
+ ret = gst_props_entry_get_float_range(pyg_boxed_get(self, GstPropsEntry), &min, &max);
+ return Py_BuildValue("(bff)", ret, min, max);
}