2004-05-03 09:14:29 +00:00
|
|
|
/* -*- Mode: C; ; c-file-style: "python" -*- */
|
|
|
|
/* gst-python
|
|
|
|
* Copyright (C) 2004 Johan Dahlin
|
|
|
|
*
|
|
|
|
* 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 <johan@gnome.org>
|
|
|
|
*/
|
|
|
|
#ifndef __COMMON_H__
|
|
|
|
#define __COMMON_H__
|
|
|
|
|
|
|
|
#include <Python.h>
|
2005-10-07 01:52:28 +00:00
|
|
|
#include <pygobject.h>
|
2005-06-26 12:35:07 +00:00
|
|
|
#include <glib.h>
|
|
|
|
#include <glib-object.h>
|
2005-06-17 10:59:47 +00:00
|
|
|
#include <gst/gst.h>
|
2004-05-03 09:14:29 +00:00
|
|
|
|
|
|
|
#include "pygobject.h"
|
2005-06-26 12:35:07 +00:00
|
|
|
#include "pygstminiobject.h"
|
2004-05-03 09:14:29 +00:00
|
|
|
|
2004-05-03 11:04:07 +00:00
|
|
|
#if (defined HAVE_OLD_PYGTK && (PY_VERSION_HEX < 0x02030000))
|
2004-05-03 10:22:36 +00:00
|
|
|
typedef destructor freefunc;
|
|
|
|
#endif
|
|
|
|
|
2007-03-19 01:21:12 +00:00
|
|
|
#if PY_VERSION_HEX < 0x02050000
|
2007-04-04 12:22:03 +00:00
|
|
|
#define lenfunc inquiry
|
2007-03-19 01:21:12 +00:00
|
|
|
#define ssizeargfunc intargfunc
|
|
|
|
#define ssizessizeargfunc intintargfunc
|
2007-04-04 12:22:03 +00:00
|
|
|
#define ssizeobjargproc intobjargproc
|
|
|
|
#define ssizessizeobjargproc intintobjargproc
|
2007-03-19 01:21:12 +00:00
|
|
|
#endif
|
|
|
|
|
2004-05-03 09:14:29 +00:00
|
|
|
typedef struct {
|
2005-06-26 12:35:07 +00:00
|
|
|
PyGObject *pad;
|
|
|
|
GClosure *link_function;
|
|
|
|
GClosure *event_function;
|
|
|
|
GClosure *chain_function;
|
|
|
|
GClosure *get_function;
|
|
|
|
GClosure *getcaps_function;
|
2006-12-01 17:41:28 +00:00
|
|
|
GClosure *setcaps_function;
|
2006-12-19 11:38:01 +00:00
|
|
|
GClosure *activate_function;
|
|
|
|
GClosure *activatepull_function;
|
|
|
|
GClosure *activatepush_function;
|
2007-04-10 18:01:25 +00:00
|
|
|
/* Query is not implemented as a closure to avoid refcounting
|
|
|
|
* making the query immutable and therefore useless */
|
|
|
|
PyObject *query_function;
|
2004-05-03 09:14:29 +00:00
|
|
|
} PyGstPadPrivate;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
PyObject *func, *data;
|
|
|
|
} PyGstCustomNotify;
|
|
|
|
|
2005-10-07 01:52:28 +00:00
|
|
|
typedef struct {
|
|
|
|
PyObject_HEAD
|
|
|
|
GstIterator *iter;
|
|
|
|
} PyGstIterator;
|
|
|
|
|
|
|
|
PyTypeObject PyGstIterator_Type;
|
|
|
|
|
|
|
|
|
2005-06-17 10:59:47 +00:00
|
|
|
/* from gst-types.c */
|
|
|
|
GstCaps *pygst_caps_from_pyobject (PyObject *object, gboolean *copy);
|
2005-10-07 01:21:57 +00:00
|
|
|
PyObject* pygst_iterator_new(GstIterator *iter);
|
2005-06-17 10:59:47 +00:00
|
|
|
|
|
|
|
|
2004-05-03 09:14:29 +00:00
|
|
|
#endif /* __COMMON_H__ */
|