/* -*- Mode: C; ; c-file-style: "python" -*- */ /* gst-python * Copyright (C) 2005 Edward Hervey * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * * Author: Johan Dahlin */ %% override gst_event_discont_get_value kwargs static PyObject * _wrap_gst_event_discont_get_value(PyGstMiniObject *self, PyObject *args, PyObject *kwargs) { static char *kwlist[] = { "format", NULL}; PyObject *pformat; GstFormat format; gint64 start, end; PyObject *ret; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:GstEvent.discont_get_value", kwlist, &pformat)) return NULL; if (pyg_enum_get_value (GST_TYPE_FORMAT, pformat, (gint *) &format)) { PyErr_SetString(PyExc_TypeError, "argument should be a GstFormat"); return NULL; } if (GST_EVENT_TYPE(self->obj) != GST_EVENT_DISCONTINUOUS) { PyErr_SetString(PyExc_TypeError, "Event is not a discontinuous event"); return NULL; } if (!gst_event_discont_get_value(GST_EVENT (self->obj), format, &start, &end)) { Py_INCREF (Py_None); return Py_None; } ret = PyList_New(0); PyList_Append(ret, PyLong_FromLongLong(start)); PyList_Append(ret, PyLong_FromLongLong(end)); return ret; } %% override gst_event_new_seek kwargs static PyObject * _wrap_gst_event_new_seek(PyObject *self, PyObject *args, PyObject *kwargs) { static char *kwlist[] = { "rate", "format", "flags", "cur_type", "cur", "stop_type", "stop", NULL }; GstSeekType cur_type, stop_type; PyObject *py_format = NULL, *py_flags = NULL, *py_cur_type = NULL, *py_stop_type = NULL; double rate; GstEvent *ret; GstFormat format; gint64 cur, stop; GstSeekFlags flags; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "dOOOLOL:GstEvent.new_seek", kwlist, &rate, &py_format, &py_flags, &py_cur_type, &cur, &py_stop_type, &stop)) return NULL; if (pyg_enum_get_value(GST_TYPE_FORMAT, py_format, (gint *)&format)) return NULL; if (pyg_flags_get_value(GST_TYPE_SEEK_FLAGS, py_flags, (gint *)&flags)) return NULL; if (pyg_flags_get_value(GST_TYPE_SEEK_TYPE, py_cur_type, (gint *)&cur_type)) return NULL; if (pyg_flags_get_value(GST_TYPE_SEEK_TYPE, py_stop_type, (gint *)&stop_type)) return NULL; ret = gst_event_new_seek(rate, format, flags, cur_type, cur, stop_type, stop); /* pygobject_new handles NULL checking */ return pygstminiobject_new_noref((GstMiniObject *)ret); } %% override gst_event_new_segment_seek kwargs static PyObject * _wrap_gst_event_new_segment_seek(PyObject *self, PyObject *args, PyObject *kwargs) { static char *kwlist[] = { "type", "start", "stop", NULL }; PyObject *py_type = NULL; gint64 start, stop; GstEvent *ret; GstSeekType type; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "OLL:event_new_segment_seek", kwlist, &py_type, &start, &stop)) return NULL; if (pyg_flags_get_value(GST_TYPE_SEEK_TYPE, py_type, (gint *)&type)) return NULL; ret = gst_event_new_segment_seek(type, start, stop); /* pygobject_new handles NULL checking */ return pygstminiobject_new_noref((GstMiniObject *)ret); } %% override gst_event_new_size kwargs static PyObject * _wrap_gst_event_new_size(PyObject *self, PyObject *args, PyObject *kwargs) { static char *kwlist[] = { "format", "value", NULL }; PyObject *py_format = NULL; GstFormat format; GstEvent *ret; gint64 value; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "OL:event_new_size", kwlist, &py_format, &value)) return NULL; if (pyg_enum_get_value(GST_TYPE_FORMAT, py_format, (gint *)&format)) return NULL; ret = gst_event_new_size(format, value); /* pygobject_new handles NULL checking */ return pygstminiobject_new_noref((GstMiniObject *)ret); } %% override gst_event_new_flush kwargs static PyObject * _wrap_gst_event_new_flush(PyObject *self, PyObject *args, PyObject *kwargs) { static char *kwlist[] = { "done", NULL }; int done; GstEvent *ret; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i:event_new_flush", kwlist, &done)) return NULL; ret = gst_event_new_flush(done); /* pygobject_new handles NULL checking */ return pygstminiobject_new_noref((GstMiniObject *)ret); } %% override gst_event_new_tag kwargs static PyObject * _wrap_gst_event_new_tag(PyObject *self, PyObject *args, PyObject *kwargs) { static char *kwlist[] = { "list", NULL }; GstTagList *list = NULL; PyObject *py_list; GstEvent *ret; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:event_new_tag", kwlist, &py_list)) return NULL; if (pyg_boxed_check(py_list, GST_TYPE_TAG_LIST)) list = pyg_boxed_get(py_list, GstTagList); else { PyErr_SetString(PyExc_TypeError, "list should be a GstTagList"); return NULL; } ret = gst_event_new_tag(list); /* pygobject_new handles NULL checking */ return pygstminiobject_new_noref((GstMiniObject *)ret); } %% override gst_event_get_structure noargs static PyObject * _wrap_gst_event_get_structure(PyGstMiniObject *self) { GstStructure *ret; ret = (GstStructure *) gst_event_get_structure(GST_EVENT(self->obj)); /* pyg_boxed_new handles NULL checking */ return pyg_boxed_new(GST_TYPE_STRUCTURE, ret, TRUE, TRUE); }