mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-23 06:26:23 +00:00
Mass change to support compiling for both 0.6 and 0.7. Common support is now in common.{defs,override,c,h}. Specifi...
Original commit message from CVS: Mass change to support compiling for both 0.6 and 0.7. Common support is now in common.{defs,override,c,h}. Specific version support is in {0.6,0.7}.{defs,override,c,h}. The common and version specific files are merged and/or used as needed. common.override: add gst_version
This commit is contained in:
parent
26c22b53d6
commit
171bc6bfa9
29 changed files with 456 additions and 91 deletions
23
configure.ac
23
configure.ac
|
@ -40,23 +40,18 @@ else
|
||||||
fi
|
fi
|
||||||
AM_CHECK_PYTHON_HEADERS(,[AC_MSG_ERROR(could not find Python headers)])
|
AM_CHECK_PYTHON_HEADERS(,[AC_MSG_ERROR(could not find Python headers)])
|
||||||
|
|
||||||
dnl Only support 0.6 in 0.1.0. Remove this and enable code below for 0.7.
|
dnl check for GStreamer
|
||||||
GST_MAJORMINOR=0.6
|
dnl start with 0.7
|
||||||
|
GST_MAJORMINOR=0.7
|
||||||
PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ,
|
PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ,
|
||||||
HAVE_GSTREAMER=yes,HAVE_GSTREAMER=no)
|
HAVE_GSTREAMER=yes,HAVE_GSTREAMER=no)
|
||||||
|
|
||||||
dnl check for GStreamer
|
|
||||||
dnl start with 0.7
|
|
||||||
dnl GST_MAJORMINOR=0.7
|
|
||||||
dnl PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ,
|
|
||||||
dnl HAVE_GSTREAMER=yes,HAVE_GSTREAMER=no)
|
|
||||||
dnl
|
|
||||||
dnl try 0.6
|
dnl try 0.6
|
||||||
dnl if test "x$HAVE_GSTREAMER" = "xno"; then
|
if test "x$HAVE_GSTREAMER" = "xno"; then
|
||||||
dnl GST_MAJORMINOR=0.6
|
GST_MAJORMINOR=0.6
|
||||||
dnl PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ,
|
PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ,
|
||||||
dnl HAVE_GSTREAMER=yes,HAVE_GSTREAMER=no)
|
HAVE_GSTREAMER=yes,HAVE_GSTREAMER=no)
|
||||||
dnl fi
|
fi
|
||||||
|
|
||||||
dnl Give error and exit if we don't have gstreamer
|
dnl Give error and exit if we don't have gstreamer
|
||||||
if test "x$HAVE_GSTREAMER" = "xno"; then
|
if test "x$HAVE_GSTREAMER" = "xno"; then
|
||||||
|
@ -66,6 +61,8 @@ fi
|
||||||
AC_SUBST(GST_LIBS)
|
AC_SUBST(GST_LIBS)
|
||||||
AC_SUBST(GST_CFLAGS)
|
AC_SUBST(GST_CFLAGS)
|
||||||
AC_SUBST(GST_MAJORMINOR)
|
AC_SUBST(GST_MAJORMINOR)
|
||||||
|
AM_CONDITIONAL(GST_0_6, test $GST_MAJORMINOR = 0.6)
|
||||||
|
AM_CONDITIONAL(GST_0_7, test $GST_MAJORMINOR = 0.7)
|
||||||
|
|
||||||
dnl check for pygtk
|
dnl check for pygtk
|
||||||
PKG_CHECK_MODULES(PYGTK, pygtk-2.0 >= $PYGTK_REQ)
|
PKG_CHECK_MODULES(PYGTK, pygtk-2.0 >= $PYGTK_REQ)
|
||||||
|
|
30
gst/0.6.c
Normal file
30
gst/0.6.c
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
/* gst-python
|
||||||
|
* Copyright (C) 2002 David I. Lehn
|
||||||
|
*
|
||||||
|
* 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: David I. Lehn <dlehn@users.sourceforge.net>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "pygobject.h"
|
||||||
|
#include <gst/gst.h>
|
||||||
|
|
||||||
|
#include "0.6.h"
|
||||||
|
|
||||||
|
GstPropsType gst_props_entry_get_props_type(GstPropsEntry *entry)
|
||||||
|
{
|
||||||
|
return gst_props_entry_get_type(entry);
|
||||||
|
}
|
9
gst/0.6.defs
Normal file
9
gst/0.6.defs
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
;;
|
||||||
|
;; Override normal *_get_type handling via rename
|
||||||
|
;;
|
||||||
|
|
||||||
|
(define-method get_props_type
|
||||||
|
(of-object "GstPropsEntry")
|
||||||
|
(c-name "gst_props_entry_get_props_type")
|
||||||
|
(return-type "GstPropsType")
|
||||||
|
)
|
24
gst/0.6.h
Normal file
24
gst/0.6.h
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
/* gst-python
|
||||||
|
* Copyright (C) 2002 David I. Lehn
|
||||||
|
*
|
||||||
|
* 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: David I. Lehn <dlehn@users.sourceforge.net>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <gst/gst.h>
|
||||||
|
|
||||||
|
GstPropsType gst_props_entry_get_props_type(GstPropsEntry *entry);
|
29
gst/0.6.override
Normal file
29
gst/0.6.override
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
/* -*- Mode: C; c-basic-offset: 4 -*- */
|
||||||
|
/* gst-python
|
||||||
|
* Copyright (C) 2002 David I. Lehn
|
||||||
|
*
|
||||||
|
* 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: David I. Lehn <dlehn@users.sourceforge.net>
|
||||||
|
*/
|
||||||
|
%%
|
||||||
|
headers
|
||||||
|
#include <Python.h>
|
||||||
|
|
||||||
|
#include "pygobject.h"
|
||||||
|
#include <gst/gst.h>
|
||||||
|
|
||||||
|
#include "0.6.h"
|
25
gst/0.7.c
Normal file
25
gst/0.7.c
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
/* gst-python
|
||||||
|
* Copyright (C) 2002 David I. Lehn
|
||||||
|
*
|
||||||
|
* 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: David I. Lehn <dlehn@users.sourceforge.net>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "pygobject.h"
|
||||||
|
#include <gst/gst.h>
|
||||||
|
|
||||||
|
#include "0.7.h"
|
0
gst/0.7.defs
Normal file
0
gst/0.7.defs
Normal file
20
gst/0.7.h
Normal file
20
gst/0.7.h
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
/* gst-python
|
||||||
|
* Copyright (C) 2002 David I. Lehn
|
||||||
|
*
|
||||||
|
* 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: David I. Lehn <dlehn@users.sourceforge.net>
|
||||||
|
*/
|
29
gst/0.7.override
Normal file
29
gst/0.7.override
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
/* -*- Mode: C; c-basic-offset: 4 -*- */
|
||||||
|
/* gst-python
|
||||||
|
* Copyright (C) 2002 David I. Lehn
|
||||||
|
*
|
||||||
|
* 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: David I. Lehn <dlehn@users.sourceforge.net>
|
||||||
|
*/
|
||||||
|
%%
|
||||||
|
headers
|
||||||
|
#include <Python.h>
|
||||||
|
|
||||||
|
#include "pygobject.h"
|
||||||
|
#include <gst/gst.h>
|
||||||
|
|
||||||
|
#include "0.7.h"
|
|
@ -6,40 +6,61 @@ pygstreamer_PYTHON = __init__.py
|
||||||
|
|
||||||
pygstreamerexecdir = $(pyexecdir)/gstreamer
|
pygstreamerexecdir = $(pyexecdir)/gstreamer
|
||||||
|
|
||||||
# gstreamer binding
|
GST_OVERRIDES = common.override \
|
||||||
OVERRIDES = gstreamer.override
|
0.6.override \
|
||||||
|
0.7.override
|
||||||
|
GST_DEFS = common.defs \
|
||||||
|
0.6.defs \
|
||||||
|
0.7.defs
|
||||||
|
GST_CODE = common.c common.h \
|
||||||
|
0.6.c 0.6.h \
|
||||||
|
0.7.c 0.7.h
|
||||||
|
|
||||||
|
# Ugly hack to pick the proper version code.
|
||||||
|
# Just setting to $(GST_MAJORMINOR).{ch} will not work
|
||||||
|
if GST_0_6
|
||||||
|
VERSOURCES = 0.6.c 0.6.h
|
||||||
|
endif
|
||||||
|
if GST_0_7
|
||||||
|
VERSOURCES = 0.7.c 0.7.h
|
||||||
|
endif
|
||||||
|
|
||||||
pyexec_LTLIBRARIES = _gstreamermodule.la
|
pyexec_LTLIBRARIES = _gstreamermodule.la
|
||||||
_gstreamermodule_la_SOURCES = gstreamermodule.c gstreamer-fixes.c gstreamer-fixes.h
|
_gstreamermodule_la_SOURCES = \
|
||||||
|
gstreamermodule.c \
|
||||||
|
common.c common.h \
|
||||||
|
$(VERSOURCES)
|
||||||
_gstreamermodule_la_CFLAGS = $(GST_CFLAGS)
|
_gstreamermodule_la_CFLAGS = $(GST_CFLAGS)
|
||||||
_gstreamermodule_la_LIBADD = $(GST_LIBS)
|
_gstreamermodule_la_LIBADD = $(GST_LIBS)
|
||||||
_gstreamermodule_la_LDFLAGS = -module -avoid-version -export-symbols-regex init_gstreamer
|
_gstreamermodule_la_LDFLAGS = -module -avoid-version -export-symbols-regex init_gstreamer
|
||||||
nodist__gstreamermodule_la_SOURCES = gstreamer.c
|
nodist__gstreamermodule_la_SOURCES = gstreamer.c
|
||||||
CLEANFILES = gstreamer.c gstreamer-base.defs gstreamer.defs
|
|
||||||
EXTRA_DIST = gstreamer-extra.defs $(OVERRIDES) gstreamer-arg-types.py
|
CLEANFILES = gstreamer.c core.defs gstreamer.defs gstreamer.override
|
||||||
gstreamer.c: gstreamer.defs $(OVERRIDES)
|
EXTRA_DIST = $(GST_OVERRIDES) $(GST_DEFS) $(GST_CODE) arg-types.py
|
||||||
|
|
||||||
|
gstreamer.c: gstreamer.defs gstreamer.override
|
||||||
|
|
||||||
GST_EXCLUDE_INCLUDES=\
|
GST_EXCLUDE_INCLUDES=\
|
||||||
$(GST_INCLUDEDIR)/gst/gstatomic_impl.h \
|
$(GST_INCLUDEDIR)/gst/gstatomic_impl.h \
|
||||||
$(GST_INCLUDEDIR)/gst/gstcompat.h
|
$(GST_INCLUDEDIR)/gst/gstcompat.h
|
||||||
GST_INCLUDES=$(filter-out $(GST_EXCLUDE_INCLUDES),$(wildcard $(GST_INCLUDEDIR)/gst/*.h))
|
GST_INCLUDES=$(filter-out $(GST_EXCLUDE_INCLUDES),$(wildcard $(GST_INCLUDEDIR)/gst/*.h))
|
||||||
|
|
||||||
gstreamer-base.defs: $(GST_INCLUDES)
|
gstreamer.override: common.override $(GST_MAJORMINOR).override
|
||||||
$(PYTHON) $(PYGTK_H2DEF) $(GST_INCLUDES) > gstreamer-base.defs
|
cat $+ > $@
|
||||||
|
|
||||||
gstreamer.defs: gstreamer-base.defs gstreamer-extra.defs $(top_srcdir)/gstreamer/gstreamer-arg-types.py
|
core.defs: $(GST_INCLUDES)
|
||||||
cat gstreamer-base.defs $(srcdir)/gstreamer-extra.defs > gstreamer.defs
|
$(PYTHON) $(PYGTK_H2DEF) $(GST_INCLUDES) > $@
|
||||||
|
|
||||||
.defs.c:
|
gstreamer.defs: core.defs common.defs $(GST_MAJORMINOR).defs
|
||||||
|
cat $+ > $@
|
||||||
|
|
||||||
|
gstreamer.c: gstreamer.defs arg-types.py gstreamer.override
|
||||||
$(PYGTK_CODEGEN) \
|
$(PYGTK_CODEGEN) \
|
||||||
--load-types $(srcdir)/gstreamer-arg-types.py \
|
--load-types $(srcdir)/arg-types.py \
|
||||||
--override $(srcdir)/$*.override \
|
--override $(srcdir)/gstreamer.override \
|
||||||
--prefix py$* $*.defs > gen-$*.c \
|
--prefix pygstreamer gstreamer.defs > gen-gstreamer.c \
|
||||||
&& cp gen-$*.c $*.c \
|
&& cp gen-gstreamer.c gstreamer.c \
|
||||||
&& rm -f gen-$*.c
|
&& rm -f gen-gstreamer.c
|
||||||
|
|
||||||
# --register $(PYGTK_DEFSDIR)/pango-types.defs
|
# --register $(PYGTK_DEFSDIR)/gtk-types.defs
|
||||||
# --register $(PYGTK_DEFSDIR)/gdk-types.defs
|
# --register $(top_srcdir)/blah/blah-types.defs
|
||||||
# --register $(PYGTK_DEFSDIR)/gtk-types.defs
|
|
||||||
# --register $(top_srcdir)/bonobo/bonobo-types.defs
|
|
||||||
# --register $(top_srcdir)/bonobo/bonoboui-types.defs
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#include "pygobject.h"
|
#include "pygobject.h"
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
|
|
||||||
#include "gstreamer-fixes.h"
|
#include "common.h"
|
||||||
|
|
||||||
void iterate_bin_all(GstBin *bin) {
|
void iterate_bin_all(GstBin *bin) {
|
||||||
g_return_if_fail(bin != NULL);
|
g_return_if_fail(bin != NULL);
|
||||||
|
@ -62,8 +62,3 @@ guint add_iterate_bin(GstBin *bin) {
|
||||||
void remove_iterate_bin(guint id) {
|
void remove_iterate_bin(guint id) {
|
||||||
g_source_remove(id);
|
g_source_remove(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
GstPropsType gst_props_entry_get_props_type(GstPropsEntry *entry)
|
|
||||||
{
|
|
||||||
return gst_props_entry_get_type(entry);
|
|
||||||
}
|
|
|
@ -38,16 +38,6 @@
|
||||||
(gtype-id "GST_TYPE_PROPS_ENTRY")
|
(gtype-id "GST_TYPE_PROPS_ENTRY")
|
||||||
)
|
)
|
||||||
|
|
||||||
;;
|
|
||||||
;; Override normal *_get_type handling via rename
|
|
||||||
;;
|
|
||||||
|
|
||||||
(define-method get_props_type
|
|
||||||
(of-object "GstPropsEntry")
|
|
||||||
(c-name "gst_props_entry_get_props_type")
|
|
||||||
(return-type "GstPropsType")
|
|
||||||
)
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
;; Access GstProps properties list
|
;; Access GstProps properties list
|
||||||
;;
|
;;
|
||||||
|
@ -109,6 +99,7 @@
|
||||||
;; Element constructor override; uses a nonexistant make_element
|
;; Element constructor override; uses a nonexistant make_element
|
||||||
;; which is defined in gstreamer.overrides
|
;; which is defined in gstreamer.overrides
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(define-function gst_element_factory_make_element
|
(define-function gst_element_factory_make_element
|
||||||
(is-constructor-of "GstElement")
|
(is-constructor-of "GstElement")
|
||||||
(c-name "gst_element_factory_make_element")
|
(c-name "gst_element_factory_make_element")
|
|
@ -28,4 +28,3 @@
|
||||||
void iterate_bin_all(GstBin *bin);
|
void iterate_bin_all(GstBin *bin);
|
||||||
guint add_iterate_bin(GstBin *bin);
|
guint add_iterate_bin(GstBin *bin);
|
||||||
void remove_iterate_bin(guint id);
|
void remove_iterate_bin(guint id);
|
||||||
GstPropsType gst_props_entry_get_props_type(GstPropsEntry *entry);
|
|
|
@ -26,7 +26,7 @@ headers
|
||||||
#include "pygobject.h"
|
#include "pygobject.h"
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
|
|
||||||
#include "gstreamer-fixes.h"
|
#include "common.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
PyGObject *pad;
|
PyGObject *pad;
|
||||||
|
@ -516,3 +516,15 @@ _wrap_gst_element_factory_make_element(PyGObject *self, PyObject *args, PyObject
|
||||||
pygobject_register_wrapper((PyObject *)self);
|
pygobject_register_wrapper((PyObject *)self);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
%%
|
||||||
|
override gst_version
|
||||||
|
|
||||||
|
static PyObject *
|
||||||
|
_wrap_gst_version(PyGObject *self)
|
||||||
|
{
|
||||||
|
guint major, minor, micro;
|
||||||
|
|
||||||
|
gst_version(&major, &minor, µ);
|
||||||
|
|
||||||
|
return Py_BuildValue("(iii)", major, minor, micro);
|
||||||
|
}
|
30
gstreamer/0.6.c
Normal file
30
gstreamer/0.6.c
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
/* gst-python
|
||||||
|
* Copyright (C) 2002 David I. Lehn
|
||||||
|
*
|
||||||
|
* 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: David I. Lehn <dlehn@users.sourceforge.net>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "pygobject.h"
|
||||||
|
#include <gst/gst.h>
|
||||||
|
|
||||||
|
#include "0.6.h"
|
||||||
|
|
||||||
|
GstPropsType gst_props_entry_get_props_type(GstPropsEntry *entry)
|
||||||
|
{
|
||||||
|
return gst_props_entry_get_type(entry);
|
||||||
|
}
|
9
gstreamer/0.6.defs
Normal file
9
gstreamer/0.6.defs
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
;;
|
||||||
|
;; Override normal *_get_type handling via rename
|
||||||
|
;;
|
||||||
|
|
||||||
|
(define-method get_props_type
|
||||||
|
(of-object "GstPropsEntry")
|
||||||
|
(c-name "gst_props_entry_get_props_type")
|
||||||
|
(return-type "GstPropsType")
|
||||||
|
)
|
24
gstreamer/0.6.h
Normal file
24
gstreamer/0.6.h
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
/* gst-python
|
||||||
|
* Copyright (C) 2002 David I. Lehn
|
||||||
|
*
|
||||||
|
* 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: David I. Lehn <dlehn@users.sourceforge.net>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <gst/gst.h>
|
||||||
|
|
||||||
|
GstPropsType gst_props_entry_get_props_type(GstPropsEntry *entry);
|
29
gstreamer/0.6.override
Normal file
29
gstreamer/0.6.override
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
/* -*- Mode: C; c-basic-offset: 4 -*- */
|
||||||
|
/* gst-python
|
||||||
|
* Copyright (C) 2002 David I. Lehn
|
||||||
|
*
|
||||||
|
* 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: David I. Lehn <dlehn@users.sourceforge.net>
|
||||||
|
*/
|
||||||
|
%%
|
||||||
|
headers
|
||||||
|
#include <Python.h>
|
||||||
|
|
||||||
|
#include "pygobject.h"
|
||||||
|
#include <gst/gst.h>
|
||||||
|
|
||||||
|
#include "0.6.h"
|
25
gstreamer/0.7.c
Normal file
25
gstreamer/0.7.c
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
/* gst-python
|
||||||
|
* Copyright (C) 2002 David I. Lehn
|
||||||
|
*
|
||||||
|
* 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: David I. Lehn <dlehn@users.sourceforge.net>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "pygobject.h"
|
||||||
|
#include <gst/gst.h>
|
||||||
|
|
||||||
|
#include "0.7.h"
|
0
gstreamer/0.7.defs
Normal file
0
gstreamer/0.7.defs
Normal file
20
gstreamer/0.7.h
Normal file
20
gstreamer/0.7.h
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
/* gst-python
|
||||||
|
* Copyright (C) 2002 David I. Lehn
|
||||||
|
*
|
||||||
|
* 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: David I. Lehn <dlehn@users.sourceforge.net>
|
||||||
|
*/
|
29
gstreamer/0.7.override
Normal file
29
gstreamer/0.7.override
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
/* -*- Mode: C; c-basic-offset: 4 -*- */
|
||||||
|
/* gst-python
|
||||||
|
* Copyright (C) 2002 David I. Lehn
|
||||||
|
*
|
||||||
|
* 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: David I. Lehn <dlehn@users.sourceforge.net>
|
||||||
|
*/
|
||||||
|
%%
|
||||||
|
headers
|
||||||
|
#include <Python.h>
|
||||||
|
|
||||||
|
#include "pygobject.h"
|
||||||
|
#include <gst/gst.h>
|
||||||
|
|
||||||
|
#include "0.7.h"
|
|
@ -6,40 +6,61 @@ pygstreamer_PYTHON = __init__.py
|
||||||
|
|
||||||
pygstreamerexecdir = $(pyexecdir)/gstreamer
|
pygstreamerexecdir = $(pyexecdir)/gstreamer
|
||||||
|
|
||||||
# gstreamer binding
|
GST_OVERRIDES = common.override \
|
||||||
OVERRIDES = gstreamer.override
|
0.6.override \
|
||||||
|
0.7.override
|
||||||
|
GST_DEFS = common.defs \
|
||||||
|
0.6.defs \
|
||||||
|
0.7.defs
|
||||||
|
GST_CODE = common.c common.h \
|
||||||
|
0.6.c 0.6.h \
|
||||||
|
0.7.c 0.7.h
|
||||||
|
|
||||||
|
# Ugly hack to pick the proper version code.
|
||||||
|
# Just setting to $(GST_MAJORMINOR).{ch} will not work
|
||||||
|
if GST_0_6
|
||||||
|
VERSOURCES = 0.6.c 0.6.h
|
||||||
|
endif
|
||||||
|
if GST_0_7
|
||||||
|
VERSOURCES = 0.7.c 0.7.h
|
||||||
|
endif
|
||||||
|
|
||||||
pyexec_LTLIBRARIES = _gstreamermodule.la
|
pyexec_LTLIBRARIES = _gstreamermodule.la
|
||||||
_gstreamermodule_la_SOURCES = gstreamermodule.c gstreamer-fixes.c gstreamer-fixes.h
|
_gstreamermodule_la_SOURCES = \
|
||||||
|
gstreamermodule.c \
|
||||||
|
common.c common.h \
|
||||||
|
$(VERSOURCES)
|
||||||
_gstreamermodule_la_CFLAGS = $(GST_CFLAGS)
|
_gstreamermodule_la_CFLAGS = $(GST_CFLAGS)
|
||||||
_gstreamermodule_la_LIBADD = $(GST_LIBS)
|
_gstreamermodule_la_LIBADD = $(GST_LIBS)
|
||||||
_gstreamermodule_la_LDFLAGS = -module -avoid-version -export-symbols-regex init_gstreamer
|
_gstreamermodule_la_LDFLAGS = -module -avoid-version -export-symbols-regex init_gstreamer
|
||||||
nodist__gstreamermodule_la_SOURCES = gstreamer.c
|
nodist__gstreamermodule_la_SOURCES = gstreamer.c
|
||||||
CLEANFILES = gstreamer.c gstreamer-base.defs gstreamer.defs
|
|
||||||
EXTRA_DIST = gstreamer-extra.defs $(OVERRIDES) gstreamer-arg-types.py
|
CLEANFILES = gstreamer.c core.defs gstreamer.defs gstreamer.override
|
||||||
gstreamer.c: gstreamer.defs $(OVERRIDES)
|
EXTRA_DIST = $(GST_OVERRIDES) $(GST_DEFS) $(GST_CODE) arg-types.py
|
||||||
|
|
||||||
|
gstreamer.c: gstreamer.defs gstreamer.override
|
||||||
|
|
||||||
GST_EXCLUDE_INCLUDES=\
|
GST_EXCLUDE_INCLUDES=\
|
||||||
$(GST_INCLUDEDIR)/gst/gstatomic_impl.h \
|
$(GST_INCLUDEDIR)/gst/gstatomic_impl.h \
|
||||||
$(GST_INCLUDEDIR)/gst/gstcompat.h
|
$(GST_INCLUDEDIR)/gst/gstcompat.h
|
||||||
GST_INCLUDES=$(filter-out $(GST_EXCLUDE_INCLUDES),$(wildcard $(GST_INCLUDEDIR)/gst/*.h))
|
GST_INCLUDES=$(filter-out $(GST_EXCLUDE_INCLUDES),$(wildcard $(GST_INCLUDEDIR)/gst/*.h))
|
||||||
|
|
||||||
gstreamer-base.defs: $(GST_INCLUDES)
|
gstreamer.override: common.override $(GST_MAJORMINOR).override
|
||||||
$(PYTHON) $(PYGTK_H2DEF) $(GST_INCLUDES) > gstreamer-base.defs
|
cat $+ > $@
|
||||||
|
|
||||||
gstreamer.defs: gstreamer-base.defs gstreamer-extra.defs $(top_srcdir)/gstreamer/gstreamer-arg-types.py
|
core.defs: $(GST_INCLUDES)
|
||||||
cat gstreamer-base.defs $(srcdir)/gstreamer-extra.defs > gstreamer.defs
|
$(PYTHON) $(PYGTK_H2DEF) $(GST_INCLUDES) > $@
|
||||||
|
|
||||||
.defs.c:
|
gstreamer.defs: core.defs common.defs $(GST_MAJORMINOR).defs
|
||||||
|
cat $+ > $@
|
||||||
|
|
||||||
|
gstreamer.c: gstreamer.defs arg-types.py gstreamer.override
|
||||||
$(PYGTK_CODEGEN) \
|
$(PYGTK_CODEGEN) \
|
||||||
--load-types $(srcdir)/gstreamer-arg-types.py \
|
--load-types $(srcdir)/arg-types.py \
|
||||||
--override $(srcdir)/$*.override \
|
--override $(srcdir)/gstreamer.override \
|
||||||
--prefix py$* $*.defs > gen-$*.c \
|
--prefix pygstreamer gstreamer.defs > gen-gstreamer.c \
|
||||||
&& cp gen-$*.c $*.c \
|
&& cp gen-gstreamer.c gstreamer.c \
|
||||||
&& rm -f gen-$*.c
|
&& rm -f gen-gstreamer.c
|
||||||
|
|
||||||
# --register $(PYGTK_DEFSDIR)/pango-types.defs
|
# --register $(PYGTK_DEFSDIR)/gtk-types.defs
|
||||||
# --register $(PYGTK_DEFSDIR)/gdk-types.defs
|
# --register $(top_srcdir)/blah/blah-types.defs
|
||||||
# --register $(PYGTK_DEFSDIR)/gtk-types.defs
|
|
||||||
# --register $(top_srcdir)/bonobo/bonobo-types.defs
|
|
||||||
# --register $(top_srcdir)/bonobo/bonoboui-types.defs
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#include "pygobject.h"
|
#include "pygobject.h"
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
|
|
||||||
#include "gstreamer-fixes.h"
|
#include "common.h"
|
||||||
|
|
||||||
void iterate_bin_all(GstBin *bin) {
|
void iterate_bin_all(GstBin *bin) {
|
||||||
g_return_if_fail(bin != NULL);
|
g_return_if_fail(bin != NULL);
|
||||||
|
@ -62,8 +62,3 @@ guint add_iterate_bin(GstBin *bin) {
|
||||||
void remove_iterate_bin(guint id) {
|
void remove_iterate_bin(guint id) {
|
||||||
g_source_remove(id);
|
g_source_remove(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
GstPropsType gst_props_entry_get_props_type(GstPropsEntry *entry)
|
|
||||||
{
|
|
||||||
return gst_props_entry_get_type(entry);
|
|
||||||
}
|
|
|
@ -38,16 +38,6 @@
|
||||||
(gtype-id "GST_TYPE_PROPS_ENTRY")
|
(gtype-id "GST_TYPE_PROPS_ENTRY")
|
||||||
)
|
)
|
||||||
|
|
||||||
;;
|
|
||||||
;; Override normal *_get_type handling via rename
|
|
||||||
;;
|
|
||||||
|
|
||||||
(define-method get_props_type
|
|
||||||
(of-object "GstPropsEntry")
|
|
||||||
(c-name "gst_props_entry_get_props_type")
|
|
||||||
(return-type "GstPropsType")
|
|
||||||
)
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
;; Access GstProps properties list
|
;; Access GstProps properties list
|
||||||
;;
|
;;
|
||||||
|
@ -109,6 +99,7 @@
|
||||||
;; Element constructor override; uses a nonexistant make_element
|
;; Element constructor override; uses a nonexistant make_element
|
||||||
;; which is defined in gstreamer.overrides
|
;; which is defined in gstreamer.overrides
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(define-function gst_element_factory_make_element
|
(define-function gst_element_factory_make_element
|
||||||
(is-constructor-of "GstElement")
|
(is-constructor-of "GstElement")
|
||||||
(c-name "gst_element_factory_make_element")
|
(c-name "gst_element_factory_make_element")
|
|
@ -28,4 +28,3 @@
|
||||||
void iterate_bin_all(GstBin *bin);
|
void iterate_bin_all(GstBin *bin);
|
||||||
guint add_iterate_bin(GstBin *bin);
|
guint add_iterate_bin(GstBin *bin);
|
||||||
void remove_iterate_bin(guint id);
|
void remove_iterate_bin(guint id);
|
||||||
GstPropsType gst_props_entry_get_props_type(GstPropsEntry *entry);
|
|
|
@ -26,7 +26,7 @@ headers
|
||||||
#include "pygobject.h"
|
#include "pygobject.h"
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
|
|
||||||
#include "gstreamer-fixes.h"
|
#include "common.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
PyGObject *pad;
|
PyGObject *pad;
|
||||||
|
@ -516,3 +516,15 @@ _wrap_gst_element_factory_make_element(PyGObject *self, PyObject *args, PyObject
|
||||||
pygobject_register_wrapper((PyObject *)self);
|
pygobject_register_wrapper((PyObject *)self);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
%%
|
||||||
|
override gst_version
|
||||||
|
|
||||||
|
static PyObject *
|
||||||
|
_wrap_gst_version(PyGObject *self)
|
||||||
|
{
|
||||||
|
guint major, minor, micro;
|
||||||
|
|
||||||
|
gst_version(&major, &minor, µ);
|
||||||
|
|
||||||
|
return Py_BuildValue("(iii)", major, minor, micro);
|
||||||
|
}
|
Loading…
Reference in a new issue