summaryrefslogtreecommitdiff
path: root/gst/gstbuffer.override
diff options
context:
space:
mode:
Diffstat (limited to 'gst/gstbuffer.override')
-rw-r--r--gst/gstbuffer.override95
1 files changed, 76 insertions, 19 deletions
diff --git a/gst/gstbuffer.override b/gst/gstbuffer.override
index e452520..f58797e 100644
--- a/gst/gstbuffer.override
+++ b/gst/gstbuffer.override
@@ -131,16 +131,56 @@ _wrap_gst_buffer_set_data(PyObject *self, PyObject *args, PyObject *kwargs)
Py_INCREF(Py_None);
return Py_None;
}
+
%%
override-slot GstBuffer.tp_str
static PyObject *
-_wrap_gst_buffer_tp_str(PyGstMiniObject *self)
+_wrap_gst_buffer_tp_str (PyGstMiniObject *self)
{
- GstBuffer *buf = pyg_boxed_get(self, GstBuffer);
+ GstBuffer *buf;
+
+ g_assert (self);
+ buf = pyg_boxed_get (self, GstBuffer);
+ g_assert (buf);
return PyString_FromStringAndSize((const gchar*) GST_BUFFER_DATA(buf),
(gint) GST_BUFFER_SIZE(buf));
}
+
+%%
+override-slot GstBuffer.tp_repr
+static PyObject *
+_wrap_gst_buffer_tp_repr (PyGstMiniObject *self)
+{
+ GstBuffer *buf;
+ guchar *data;
+ gchar *repr;
+ gint size = 0;
+ PyObject *ret;
+
+ g_assert (self);
+ buf = pyg_boxed_get (self, GstBuffer);
+ g_assert (buf);
+
+ size = GST_BUFFER_SIZE (buf);
+
+ if (size == 0) {
+ repr = g_strdup_printf ("<gst.Buffer %p of size %d>", buf, size);
+ } else {
+ data = GST_BUFFER_DATA (buf);
+ repr = g_strdup_printf (
+ "<gst.Buffer %p of size %d and data 0x%02x%02x%02x%02x>", buf, size,
+ *data,
+ size > 0 ? *(data + 1) : 0,
+ size > 1 ? *(data + 2) : 0,
+ size > 2 ? *(data + 3) : 0
+ );
+ }
+ ret = PyString_FromStringAndSize(repr, strlen (repr));
+ g_free (repr);
+ return ret;
+}
+
%%
override-slot GstBuffer.tp_as_buffer
static PyBufferProcs _wrap_gst_buffer_tp_as_buffer = {
@@ -367,6 +407,7 @@ _wrap_gst_buffer_flag_unset(PyObject *self, PyObject *args)
Py_INCREF(Py_None);
return Py_None;
}
+
%%
override-attr GstBuffer.timestamp
static PyObject *
@@ -417,57 +458,73 @@ _wrap_gst_buffer__set_duration(PyGstMiniObject *self, PyObject *value, void *clo
GST_BUFFER(self->obj)->duration = val;
return 0;
}
+
%%
override-attr GstBuffer.offset
static PyObject *
-_wrap_gst_buffer__get_offset(PyObject *self, void *closure)
+_wrap_gst_buffer__get_offset (PyObject *self, void *closure)
{
guint64 ret;
+ GstMiniObject *miniobject;
+ g_assert (self);
- ret = GST_BUFFER(pygstminiobject_get(self))->offset;
- return PyLong_FromUnsignedLongLong(ret);
+ miniobject = pygstminiobject_get (self);
+ g_assert (miniobject);
+
+ ret = GST_BUFFER_OFFSET (GST_BUFFER (miniobject));
+ return PyLong_FromUnsignedLongLong (ret);
}
+
static int
-_wrap_gst_buffer__set_offset(PyGstMiniObject *self, PyObject *value, void *closure)
+_wrap_gst_buffer__set_offset (PyGstMiniObject *self, PyObject *value, void *closure)
{
guint64 val;
+ g_assert (self);
- if (PyInt_CheckExact(value))
- val = PyInt_AsUnsignedLongLongMask(value);
+ if (PyInt_CheckExact (value))
+ val = PyInt_AsUnsignedLongLongMask (value);
else
- val = PyLong_AsUnsignedLongLong(value);
+ val = PyLong_AsUnsignedLongLong (value);
if (PyErr_Occurred())
return -1;
- GST_BUFFER(self->obj)->offset = val;
+ GST_BUFFER_OFFSET (GST_BUFFER (self->obj)) = val;
return 0;
}
+
%%
override-attr GstBuffer.offset_end
static PyObject *
-_wrap_gst_buffer__get_offset_end(PyObject *self, void *closure)
+_wrap_gst_buffer__get_offset_end (PyObject *self, void *closure)
{
guint64 ret;
+ GstMiniObject *miniobject;
+ g_assert (self);
+
+ miniobject = pygstminiobject_get (self);
+ g_assert (miniobject);
- ret = GST_BUFFER(pygstminiobject_get(self))->offset_end;
- return PyLong_FromUnsignedLongLong(ret);
+ ret = GST_BUFFER_OFFSET_END (GST_BUFFER (miniobject));
+ return PyLong_FromUnsignedLongLong (ret);
}
static int
-_wrap_gst_buffer__set_offset_end(PyGstMiniObject *self, PyObject *value, void *closure)
+_wrap_gst_buffer__set_offset_end (PyGstMiniObject *self, PyObject *value, void *closure)
{
guint64 val;
+ g_assert (self);
- if (PyInt_CheckExact(value))
- val = PyInt_AsUnsignedLongLongMask(value);
+ if (PyInt_CheckExact (value))
+ val = PyInt_AsUnsignedLongLongMask (value);
else
- val = PyLong_AsUnsignedLongLong(value);
- if (PyErr_Occurred())
+ val = PyLong_AsUnsignedLongLong (value);
+ if (PyErr_Occurred ())
return -1;
- GST_BUFFER(self->obj)->offset_end = val;
+ GST_BUFFER_OFFSET_END (GST_BUFFER (self->obj)) = val;
return 0;
}
+
%%
override gst_buffer_stamp kwargs
static PyObject *