mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 11:45:25 +00:00
add boxed types adapt to boxed types remove obsoleted code
Original commit message from CVS: add boxed types adapt to boxed types remove obsoleted code
This commit is contained in:
parent
c6737f6a93
commit
a8a9c7e9d5
7 changed files with 124 additions and 182 deletions
18
ChangeLog
18
ChangeLog
|
@ -1,3 +1,21 @@
|
||||||
|
2002-10-04 David I. Lehn <dlehn@vt.edu>
|
||||||
|
|
||||||
|
* README: basic info.
|
||||||
|
|
||||||
|
* COPYING: remove the literal "^L" strings.
|
||||||
|
|
||||||
|
* configure.ac: require GStreamer core 0.4.1.
|
||||||
|
|
||||||
|
* gstreamer/gstreamer-extra.defs: add boxed type defs, convert buffer
|
||||||
|
get/set_data to methods vs functions.
|
||||||
|
|
||||||
|
* gstreamer/gstreamer.overrides: remove boxed type generated code,
|
||||||
|
adapt rest to boxed types.
|
||||||
|
|
||||||
|
* examples/gstreamer/*: set interpreter to "python" vs "python2.2",
|
||||||
|
adapt to newer generated code (Pipeline vs gst_pipeline_new()), adapt
|
||||||
|
to newer api.
|
||||||
|
|
||||||
2002-05-09 David I. Lehn <dlehn@vt.edu>
|
2002-05-09 David I. Lehn <dlehn@vt.edu>
|
||||||
|
|
||||||
* examples/gstreamer/dvdplay.py: adjust state changes,
|
* examples/gstreamer/dvdplay.py: adjust state changes,
|
||||||
|
|
|
@ -23,7 +23,7 @@ GST_INCLUDES=$(wildcard $(GST_INCLUDEDIR)/gst/*.h)
|
||||||
gstreamer-base.defs: $(GST_INCLUDES)
|
gstreamer-base.defs: $(GST_INCLUDES)
|
||||||
$(PYTHON) $(PYGTK_H2DEF) $(GST_INCLUDES) > gstreamer-base.defs
|
$(PYTHON) $(PYGTK_H2DEF) $(GST_INCLUDES) > gstreamer-base.defs
|
||||||
|
|
||||||
gstreamer.defs: gstreamer-base.defs gstreamer-extra.defs
|
gstreamer.defs: gstreamer-base.defs gstreamer-extra.defs $(top_srcdir)/gstreamer/gstreamer-arg-types.py
|
||||||
cat gstreamer-base.defs gstreamer-extra.defs > gstreamer.defs
|
cat gstreamer-base.defs gstreamer-extra.defs > gstreamer.defs
|
||||||
|
|
||||||
.defs.c:
|
.defs.c:
|
||||||
|
|
|
@ -1,20 +1,52 @@
|
||||||
|
;;
|
||||||
|
;; Boxed types
|
||||||
|
;;
|
||||||
|
|
||||||
|
(define-boxed Buffer
|
||||||
|
(in-module "Gst")
|
||||||
|
(c-name "GstBuffer")
|
||||||
|
(gtype-id "GST_TYPE_BUFFER")
|
||||||
|
)
|
||||||
|
|
||||||
|
(define-boxed BufferPool
|
||||||
|
(in-module "Gst")
|
||||||
|
(c-name "GstBufferPool")
|
||||||
|
(gtype-id "GST_TYPE_BUFFER_POOL")
|
||||||
|
)
|
||||||
|
|
||||||
|
(define-boxed Caps
|
||||||
|
(in-module "Gst")
|
||||||
|
(c-name "GstCaps")
|
||||||
|
(gtype-id "GST_TYPE_CAPS")
|
||||||
|
)
|
||||||
|
|
||||||
|
(define-boxed Event
|
||||||
|
(in-module "Gst")
|
||||||
|
(c-name "GstEvent")
|
||||||
|
(gtype-id "GST_TYPE_EVENT")
|
||||||
|
)
|
||||||
|
|
||||||
|
(define-boxed Props
|
||||||
|
(in-module "Gst")
|
||||||
|
(c-name "GstProps")
|
||||||
|
(gtype-id "GST_TYPE_PROPS")
|
||||||
|
)
|
||||||
|
|
||||||
;;
|
;;
|
||||||
;; HACK
|
;; HACK
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(define-function gst_buffer_get_data
|
(define-method get_data
|
||||||
|
(of-object "GstBuffer")
|
||||||
(c-name "gst_buffer_get_data")
|
(c-name "gst_buffer_get_data")
|
||||||
(return-type "char*")
|
(return-type "char*")
|
||||||
(parameters
|
|
||||||
'("GstBuffer*" "buf")
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
(define-function gst_buffer_set_data
|
(define-method set_data
|
||||||
|
(of-object "GstBuffer")
|
||||||
(c-name "gst_buffer_set_data")
|
(c-name "gst_buffer_set_data")
|
||||||
(return-type "none")
|
(return-type "none")
|
||||||
(parameters
|
(parameters
|
||||||
'("GstBuffer*" "buf")
|
|
||||||
'("char*" "data")
|
'("char*" "data")
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
|
@ -81,7 +81,7 @@ call_connect_function (GstPad *pad, GstCaps *caps)
|
||||||
retval = (PyObject*)PyObject_CallFunction (function,
|
retval = (PyObject*)PyObject_CallFunction (function,
|
||||||
"OO",
|
"OO",
|
||||||
pad_private(pad)->pad,
|
pad_private(pad)->pad,
|
||||||
PyCObject_FromVoidPtr (caps, NULL));
|
pyg_boxed_new(GST_TYPE_CAPS, caps, TRUE, TRUE));
|
||||||
|
|
||||||
if (PyErr_Occurred ()) {
|
if (PyErr_Occurred ()) {
|
||||||
PyErr_Print ();
|
PyErr_Print ();
|
||||||
|
@ -124,7 +124,7 @@ _wrap_gst_pad_set_connect_function (PyGObject *self,
|
||||||
override gst_pad_set_chain_function kwargs
|
override gst_pad_set_chain_function kwargs
|
||||||
|
|
||||||
static void
|
static void
|
||||||
call_chain_function (GstPad *pad, GstBuffer *buf)
|
call_chain_function(GstPad *pad, GstBuffer *buf)
|
||||||
{
|
{
|
||||||
PyObject *function;
|
PyObject *function;
|
||||||
|
|
||||||
|
@ -133,7 +133,7 @@ call_chain_function (GstPad *pad, GstBuffer *buf)
|
||||||
PyObject_CallFunction (function,
|
PyObject_CallFunction (function,
|
||||||
"OO",
|
"OO",
|
||||||
pad_private(pad)->pad,
|
pad_private(pad)->pad,
|
||||||
PyCObject_FromVoidPtr (buf, NULL));
|
pyg_boxed_new(GST_TYPE_BUFFER, buf, TRUE, TRUE));
|
||||||
|
|
||||||
if (PyErr_Occurred ()) {
|
if (PyErr_Occurred ()) {
|
||||||
PyErr_Print ();
|
PyErr_Print ();
|
||||||
|
@ -142,9 +142,9 @@ call_chain_function (GstPad *pad, GstBuffer *buf)
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject*
|
static PyObject*
|
||||||
_wrap_gst_pad_set_chain_function (PyGObject *self,
|
_wrap_gst_pad_set_chain_function(PyGObject *self,
|
||||||
PyObject *args,
|
PyObject *args,
|
||||||
PyObject *kwargs)
|
PyObject *kwargs)
|
||||||
{
|
{
|
||||||
static char *kwlist[] = { "chain_function", NULL };
|
static char *kwlist[] = { "chain_function", NULL };
|
||||||
PyObject *chain_function;
|
PyObject *chain_function;
|
||||||
|
@ -171,95 +171,41 @@ _wrap_gst_pad_set_chain_function (PyGObject *self,
|
||||||
return Py_None;
|
return Py_None;
|
||||||
}
|
}
|
||||||
%%
|
%%
|
||||||
override gst_pad_push kwargs
|
|
||||||
|
|
||||||
static PyObject*
|
|
||||||
_wrap_gst_pad_push (PyGObject *self,
|
|
||||||
PyObject *args,
|
|
||||||
PyObject *kwargs)
|
|
||||||
{
|
|
||||||
static char *kwlist[] = { "buffer", NULL };
|
|
||||||
PyObject *pybuf;
|
|
||||||
GstBuffer *buf;
|
|
||||||
GstPad *pad;
|
|
||||||
|
|
||||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs,
|
|
||||||
"O:GstPad.push",
|
|
||||||
kwlist,
|
|
||||||
&pybuf)) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!PyCObject_Check(pybuf)) {
|
|
||||||
PyErr_SetString(PyExc_TypeError, "push expecting a PyCObject");
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
pad = (GstPad*)pygobject_get(self);
|
|
||||||
buf = (GstBuffer*)PyCObject_AsVoidPtr(pybuf);
|
|
||||||
gst_pad_push(pad, buf);
|
|
||||||
|
|
||||||
Py_INCREF(Py_None);
|
|
||||||
return Py_None;
|
|
||||||
}
|
|
||||||
%%
|
|
||||||
override gst_buffer_get_data
|
override gst_buffer_get_data
|
||||||
|
|
||||||
static PyObject*
|
static PyObject*
|
||||||
_wrap_gst_buffer_get_data (PyObject *self,
|
_wrap_gst_buffer_get_data(PyObject *self)
|
||||||
PyObject *args)
|
|
||||||
{
|
{
|
||||||
PyObject *pybuf;
|
|
||||||
GstBuffer *buf;
|
GstBuffer *buf;
|
||||||
|
|
||||||
if (!PyArg_ParseTuple(args,
|
buf = pyg_boxed_get(self, GstBuffer);
|
||||||
"O:GstBuffer:get_data",
|
|
||||||
&pybuf)) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!PyCObject_Check(pybuf)) {
|
|
||||||
PyErr_SetString(PyExc_TypeError, "get_data expecting a PyCObject");
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
buf = (GstBuffer*)PyCObject_AsVoidPtr(pybuf);
|
|
||||||
|
|
||||||
return PyString_FromStringAndSize(
|
return PyString_FromStringAndSize(
|
||||||
GST_BUFFER_DATA(buf),
|
GST_BUFFER_DATA(buf),
|
||||||
GST_BUFFER_SIZE(buf));
|
GST_BUFFER_SIZE(buf));
|
||||||
}
|
}
|
||||||
%%
|
%%
|
||||||
override gst_buffer_set_data
|
override gst_buffer_set_data kwargs
|
||||||
|
|
||||||
static PyObject*
|
static PyObject*
|
||||||
_wrap_gst_buffer_set_data (PyObject *self,
|
_wrap_gst_buffer_set_data(PyObject *self, PyObject *args, PyObject *kwargs)
|
||||||
PyObject *args)
|
|
||||||
{
|
{
|
||||||
PyObject *pybuf;
|
static char *kwlist[] = {"data", NULL};
|
||||||
PyObject *data;
|
PyObject *data;
|
||||||
GstBuffer *buf;
|
GstBuffer *buf;
|
||||||
|
|
||||||
if (!PyArg_ParseTuple(args,
|
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:GstBuffer:set_data", kwlist, &data)) {
|
||||||
"OO:GstBuffer:set_data",
|
|
||||||
&pybuf, &data)) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!PyCObject_Check(pybuf)) {
|
|
||||||
PyErr_SetString(PyExc_TypeError, "set_data expecting a PyCObject");
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
if (!PyString_Check(data)) {
|
if (!PyString_Check(data)) {
|
||||||
PyErr_SetString(PyExc_TypeError, "set_data expecting a string");
|
PyErr_SetString(PyExc_TypeError, "data should be a string");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
buf = pyg_boxed_get(self, GstBuffer);
|
||||||
if (GST_BUFFER_FLAGS(buf) & GST_BUFFER_READONLY) {
|
if (GST_BUFFER_FLAGS(buf) & GST_BUFFER_READONLY) {
|
||||||
PyErr_SetString(PyExc_TypeError, "set_data can't use a READONLY buffer");
|
PyErr_SetString(PyExc_TypeError, "set_data can't use a READONLY buffer");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
buf = (GstBuffer*)PyCObject_AsVoidPtr(pybuf);
|
|
||||||
GST_BUFFER_SIZE(buf) = PyString_Size(data);
|
GST_BUFFER_SIZE(buf) = PyString_Size(data);
|
||||||
GST_BUFFER_DATA(buf) = g_new0(char, GST_BUFFER_SIZE(buf));
|
GST_BUFFER_DATA(buf) = g_new0(char, GST_BUFFER_SIZE(buf));
|
||||||
|
|
||||||
|
@ -270,19 +216,3 @@ _wrap_gst_buffer_set_data (PyObject *self,
|
||||||
Py_INCREF(Py_None);
|
Py_INCREF(Py_None);
|
||||||
return Py_None;
|
return Py_None;
|
||||||
}
|
}
|
||||||
%%
|
|
||||||
override gst_buffer_new
|
|
||||||
|
|
||||||
static PyObject*
|
|
||||||
_wrap_gst_buffer_new (PyObject *self,
|
|
||||||
PyObject *args)
|
|
||||||
{
|
|
||||||
GstBuffer *newbuf;
|
|
||||||
|
|
||||||
if (!PyArg_ParseTuple(args, ":GstBuffer:set_data")) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
newbuf = gst_buffer_new();
|
|
||||||
return PyCObject_FromVoidPtr (newbuf, NULL);
|
|
||||||
}
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ GST_INCLUDES=$(wildcard $(GST_INCLUDEDIR)/gst/*.h)
|
||||||
gstreamer-base.defs: $(GST_INCLUDES)
|
gstreamer-base.defs: $(GST_INCLUDES)
|
||||||
$(PYTHON) $(PYGTK_H2DEF) $(GST_INCLUDES) > gstreamer-base.defs
|
$(PYTHON) $(PYGTK_H2DEF) $(GST_INCLUDES) > gstreamer-base.defs
|
||||||
|
|
||||||
gstreamer.defs: gstreamer-base.defs gstreamer-extra.defs
|
gstreamer.defs: gstreamer-base.defs gstreamer-extra.defs $(top_srcdir)/gstreamer/gstreamer-arg-types.py
|
||||||
cat gstreamer-base.defs gstreamer-extra.defs > gstreamer.defs
|
cat gstreamer-base.defs gstreamer-extra.defs > gstreamer.defs
|
||||||
|
|
||||||
.defs.c:
|
.defs.c:
|
||||||
|
|
|
@ -1,20 +1,52 @@
|
||||||
|
;;
|
||||||
|
;; Boxed types
|
||||||
|
;;
|
||||||
|
|
||||||
|
(define-boxed Buffer
|
||||||
|
(in-module "Gst")
|
||||||
|
(c-name "GstBuffer")
|
||||||
|
(gtype-id "GST_TYPE_BUFFER")
|
||||||
|
)
|
||||||
|
|
||||||
|
(define-boxed BufferPool
|
||||||
|
(in-module "Gst")
|
||||||
|
(c-name "GstBufferPool")
|
||||||
|
(gtype-id "GST_TYPE_BUFFER_POOL")
|
||||||
|
)
|
||||||
|
|
||||||
|
(define-boxed Caps
|
||||||
|
(in-module "Gst")
|
||||||
|
(c-name "GstCaps")
|
||||||
|
(gtype-id "GST_TYPE_CAPS")
|
||||||
|
)
|
||||||
|
|
||||||
|
(define-boxed Event
|
||||||
|
(in-module "Gst")
|
||||||
|
(c-name "GstEvent")
|
||||||
|
(gtype-id "GST_TYPE_EVENT")
|
||||||
|
)
|
||||||
|
|
||||||
|
(define-boxed Props
|
||||||
|
(in-module "Gst")
|
||||||
|
(c-name "GstProps")
|
||||||
|
(gtype-id "GST_TYPE_PROPS")
|
||||||
|
)
|
||||||
|
|
||||||
;;
|
;;
|
||||||
;; HACK
|
;; HACK
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(define-function gst_buffer_get_data
|
(define-method get_data
|
||||||
|
(of-object "GstBuffer")
|
||||||
(c-name "gst_buffer_get_data")
|
(c-name "gst_buffer_get_data")
|
||||||
(return-type "char*")
|
(return-type "char*")
|
||||||
(parameters
|
|
||||||
'("GstBuffer*" "buf")
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
(define-function gst_buffer_set_data
|
(define-method set_data
|
||||||
|
(of-object "GstBuffer")
|
||||||
(c-name "gst_buffer_set_data")
|
(c-name "gst_buffer_set_data")
|
||||||
(return-type "none")
|
(return-type "none")
|
||||||
(parameters
|
(parameters
|
||||||
'("GstBuffer*" "buf")
|
|
||||||
'("char*" "data")
|
'("char*" "data")
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
|
@ -81,7 +81,7 @@ call_connect_function (GstPad *pad, GstCaps *caps)
|
||||||
retval = (PyObject*)PyObject_CallFunction (function,
|
retval = (PyObject*)PyObject_CallFunction (function,
|
||||||
"OO",
|
"OO",
|
||||||
pad_private(pad)->pad,
|
pad_private(pad)->pad,
|
||||||
PyCObject_FromVoidPtr (caps, NULL));
|
pyg_boxed_new(GST_TYPE_CAPS, caps, TRUE, TRUE));
|
||||||
|
|
||||||
if (PyErr_Occurred ()) {
|
if (PyErr_Occurred ()) {
|
||||||
PyErr_Print ();
|
PyErr_Print ();
|
||||||
|
@ -124,7 +124,7 @@ _wrap_gst_pad_set_connect_function (PyGObject *self,
|
||||||
override gst_pad_set_chain_function kwargs
|
override gst_pad_set_chain_function kwargs
|
||||||
|
|
||||||
static void
|
static void
|
||||||
call_chain_function (GstPad *pad, GstBuffer *buf)
|
call_chain_function(GstPad *pad, GstBuffer *buf)
|
||||||
{
|
{
|
||||||
PyObject *function;
|
PyObject *function;
|
||||||
|
|
||||||
|
@ -133,7 +133,7 @@ call_chain_function (GstPad *pad, GstBuffer *buf)
|
||||||
PyObject_CallFunction (function,
|
PyObject_CallFunction (function,
|
||||||
"OO",
|
"OO",
|
||||||
pad_private(pad)->pad,
|
pad_private(pad)->pad,
|
||||||
PyCObject_FromVoidPtr (buf, NULL));
|
pyg_boxed_new(GST_TYPE_BUFFER, buf, TRUE, TRUE));
|
||||||
|
|
||||||
if (PyErr_Occurred ()) {
|
if (PyErr_Occurred ()) {
|
||||||
PyErr_Print ();
|
PyErr_Print ();
|
||||||
|
@ -142,9 +142,9 @@ call_chain_function (GstPad *pad, GstBuffer *buf)
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject*
|
static PyObject*
|
||||||
_wrap_gst_pad_set_chain_function (PyGObject *self,
|
_wrap_gst_pad_set_chain_function(PyGObject *self,
|
||||||
PyObject *args,
|
PyObject *args,
|
||||||
PyObject *kwargs)
|
PyObject *kwargs)
|
||||||
{
|
{
|
||||||
static char *kwlist[] = { "chain_function", NULL };
|
static char *kwlist[] = { "chain_function", NULL };
|
||||||
PyObject *chain_function;
|
PyObject *chain_function;
|
||||||
|
@ -171,95 +171,41 @@ _wrap_gst_pad_set_chain_function (PyGObject *self,
|
||||||
return Py_None;
|
return Py_None;
|
||||||
}
|
}
|
||||||
%%
|
%%
|
||||||
override gst_pad_push kwargs
|
|
||||||
|
|
||||||
static PyObject*
|
|
||||||
_wrap_gst_pad_push (PyGObject *self,
|
|
||||||
PyObject *args,
|
|
||||||
PyObject *kwargs)
|
|
||||||
{
|
|
||||||
static char *kwlist[] = { "buffer", NULL };
|
|
||||||
PyObject *pybuf;
|
|
||||||
GstBuffer *buf;
|
|
||||||
GstPad *pad;
|
|
||||||
|
|
||||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs,
|
|
||||||
"O:GstPad.push",
|
|
||||||
kwlist,
|
|
||||||
&pybuf)) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!PyCObject_Check(pybuf)) {
|
|
||||||
PyErr_SetString(PyExc_TypeError, "push expecting a PyCObject");
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
pad = (GstPad*)pygobject_get(self);
|
|
||||||
buf = (GstBuffer*)PyCObject_AsVoidPtr(pybuf);
|
|
||||||
gst_pad_push(pad, buf);
|
|
||||||
|
|
||||||
Py_INCREF(Py_None);
|
|
||||||
return Py_None;
|
|
||||||
}
|
|
||||||
%%
|
|
||||||
override gst_buffer_get_data
|
override gst_buffer_get_data
|
||||||
|
|
||||||
static PyObject*
|
static PyObject*
|
||||||
_wrap_gst_buffer_get_data (PyObject *self,
|
_wrap_gst_buffer_get_data(PyObject *self)
|
||||||
PyObject *args)
|
|
||||||
{
|
{
|
||||||
PyObject *pybuf;
|
|
||||||
GstBuffer *buf;
|
GstBuffer *buf;
|
||||||
|
|
||||||
if (!PyArg_ParseTuple(args,
|
buf = pyg_boxed_get(self, GstBuffer);
|
||||||
"O:GstBuffer:get_data",
|
|
||||||
&pybuf)) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!PyCObject_Check(pybuf)) {
|
|
||||||
PyErr_SetString(PyExc_TypeError, "get_data expecting a PyCObject");
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
buf = (GstBuffer*)PyCObject_AsVoidPtr(pybuf);
|
|
||||||
|
|
||||||
return PyString_FromStringAndSize(
|
return PyString_FromStringAndSize(
|
||||||
GST_BUFFER_DATA(buf),
|
GST_BUFFER_DATA(buf),
|
||||||
GST_BUFFER_SIZE(buf));
|
GST_BUFFER_SIZE(buf));
|
||||||
}
|
}
|
||||||
%%
|
%%
|
||||||
override gst_buffer_set_data
|
override gst_buffer_set_data kwargs
|
||||||
|
|
||||||
static PyObject*
|
static PyObject*
|
||||||
_wrap_gst_buffer_set_data (PyObject *self,
|
_wrap_gst_buffer_set_data(PyObject *self, PyObject *args, PyObject *kwargs)
|
||||||
PyObject *args)
|
|
||||||
{
|
{
|
||||||
PyObject *pybuf;
|
static char *kwlist[] = {"data", NULL};
|
||||||
PyObject *data;
|
PyObject *data;
|
||||||
GstBuffer *buf;
|
GstBuffer *buf;
|
||||||
|
|
||||||
if (!PyArg_ParseTuple(args,
|
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:GstBuffer:set_data", kwlist, &data)) {
|
||||||
"OO:GstBuffer:set_data",
|
|
||||||
&pybuf, &data)) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!PyCObject_Check(pybuf)) {
|
|
||||||
PyErr_SetString(PyExc_TypeError, "set_data expecting a PyCObject");
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
if (!PyString_Check(data)) {
|
if (!PyString_Check(data)) {
|
||||||
PyErr_SetString(PyExc_TypeError, "set_data expecting a string");
|
PyErr_SetString(PyExc_TypeError, "data should be a string");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
buf = pyg_boxed_get(self, GstBuffer);
|
||||||
if (GST_BUFFER_FLAGS(buf) & GST_BUFFER_READONLY) {
|
if (GST_BUFFER_FLAGS(buf) & GST_BUFFER_READONLY) {
|
||||||
PyErr_SetString(PyExc_TypeError, "set_data can't use a READONLY buffer");
|
PyErr_SetString(PyExc_TypeError, "set_data can't use a READONLY buffer");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
buf = (GstBuffer*)PyCObject_AsVoidPtr(pybuf);
|
|
||||||
GST_BUFFER_SIZE(buf) = PyString_Size(data);
|
GST_BUFFER_SIZE(buf) = PyString_Size(data);
|
||||||
GST_BUFFER_DATA(buf) = g_new0(char, GST_BUFFER_SIZE(buf));
|
GST_BUFFER_DATA(buf) = g_new0(char, GST_BUFFER_SIZE(buf));
|
||||||
|
|
||||||
|
@ -270,19 +216,3 @@ _wrap_gst_buffer_set_data (PyObject *self,
|
||||||
Py_INCREF(Py_None);
|
Py_INCREF(Py_None);
|
||||||
return Py_None;
|
return Py_None;
|
||||||
}
|
}
|
||||||
%%
|
|
||||||
override gst_buffer_new
|
|
||||||
|
|
||||||
static PyObject*
|
|
||||||
_wrap_gst_buffer_new (PyObject *self,
|
|
||||||
PyObject *args)
|
|
||||||
{
|
|
||||||
GstBuffer *newbuf;
|
|
||||||
|
|
||||||
if (!PyArg_ParseTuple(args, ":GstBuffer:set_data")) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
newbuf = gst_buffer_new();
|
|
||||||
return PyCObject_FromVoidPtr (newbuf, NULL);
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in a new issue