mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-02 12:32:29 +00:00
gst/Makefile.am: Move the gstplay bindings over here
Original commit message from CVS: * gst/Makefile.am: Move the gstplay bindings over here * Makefile.am, configure.ac: Remove examples/ and put them in EXTRA_DIST here
This commit is contained in:
parent
7721fb4275
commit
31d29bd63a
10 changed files with 260 additions and 96 deletions
|
@ -1,5 +1,10 @@
|
|||
2004-03-16 Johan Dahlin <johan@gnome.org>
|
||||
|
||||
* gst/Makefile.am: Move the gstplay bindings over here
|
||||
|
||||
* Makefile.am, configure.ac: Remove examples/ and put them in
|
||||
EXTRA_DIST here
|
||||
|
||||
* gst/gst.defs (element_make_from_uri): Remove const from enum
|
||||
here, should be fixed upstream too.
|
||||
|
||||
|
|
20
Makefile.am
20
Makefile.am
|
@ -4,18 +4,26 @@ else
|
|||
SUBDIRS_DOCS =
|
||||
endif
|
||||
|
||||
#PLAYDIR = gstplay
|
||||
PLAYDIR =
|
||||
|
||||
UNCONDDIRS = gst pkgconfig examples testsuite
|
||||
UNCONDDIRS = gst pkgconfig testsuite
|
||||
SUBDIRS = \
|
||||
$(UNCONDDIRS) \
|
||||
$(PLAYDIR) \
|
||||
$(SUBDIRS_DOCS)
|
||||
DIST_SUBDIRS = $(UNCONDDIRS) docs $(PLAYDIR)
|
||||
|
||||
EXTRA_DIST = \
|
||||
gst-python.spec.in gst-python.spec README-docs
|
||||
gst-python.spec.in \
|
||||
gst-python.spec \
|
||||
README-docs
|
||||
examples/gst/bps.py \
|
||||
examples/gst/cp.py \
|
||||
examples/gst/dvdplay.py \
|
||||
examples/gst/f2f.py \
|
||||
examples/gst/identity.py \
|
||||
examples/gst/ilat.py \
|
||||
examples/gst/lat.py \
|
||||
examples/gst/rot13.py \
|
||||
examples/gst/vorbisplay.py \
|
||||
examples/gstplay/player.py
|
||||
|
||||
snap:
|
||||
$(MAKE) dist distdir=$(PACKAGE)-`date +"%Y%m%d"`
|
||||
|
|
2
common
2
common
|
@ -1 +1 @@
|
|||
Subproject commit 5557aa074c4836b2cc9eac0e1519323df1cb876f
|
||||
Subproject commit 581b12ce0812d391c32f212b9887be333bcdb420
|
27
configure.ac
27
configure.ac
|
@ -89,31 +89,15 @@ AC_SUBST(PYGTK_CODEGEN)
|
|||
#dnl check to make sure we can find gtk
|
||||
#AM_PATH_GTK_2_0(gtk_required_version,,[AC_MSG_ERROR(maybe you want the gtk-gnome-1-2 branch?)],$extra_mods)
|
||||
|
||||
AC_MSG_CHECKING(for GStreamer include dir)
|
||||
GST_INCLUDEDIR=`$PKG_CONFIG --variable=includedir gstreamer-$GST_MAJORMINOR`
|
||||
AC_MSG_RESULT($GST_INCLUDEDIR)
|
||||
if test "x$GST_INCLUDEDIR" = "x"; then
|
||||
AC_MSG_ERROR(no GStreamer include dir found)
|
||||
fi
|
||||
AC_SUBST(GST_INCLUDEDIR)
|
||||
|
||||
AC_MSG_CHECKING(for GStreamer interfaces include dir)
|
||||
PKG_CHECK_MODULES(GST_INTERFACES, gstreamer-interfaces-$GST_MAJORMINOR)
|
||||
GST_INTERFACES_INCLUDEDIR=`$PKG_CONFIG --variable=includedir gstreamer-interfaces-$GST_MAJORMINOR`
|
||||
AC_MSG_RESULT($GST_INTERFACES_INCLUDEDIR)
|
||||
if test "x$GST_INTERFACES_INCLUDEDIR" = "x"; then
|
||||
AC_MSG_ERROR(no GStreamer interfaces include dir found)
|
||||
fi
|
||||
AC_SUBST(GST_INTERFACES_INCLUDEDIR)
|
||||
AC_SUBST(GST_INTERFACES_CFLAGS)
|
||||
AC_SUBST(GST_INTERFACES_INCLUDES)
|
||||
|
||||
AC_MSG_CHECKING(for GStreamer play include dir)
|
||||
PKG_CHECK_MODULES(GST_PLAY, gstreamer-play-$GST_MAJORMINOR)
|
||||
GST_PLAY_INCLUDEDIR=`$PKG_CONFIG --variable=includedir gstreamer-play-$GST_MAJORMINOR`
|
||||
AC_MSG_RESULT($GST_PLAY_INCLUDEDIR)
|
||||
if test "x$GST_PLAY_INCLUDEDIR" = "x"; then
|
||||
AC_MSG_ERROR(no GStreamer play include dir found)
|
||||
fi
|
||||
AC_SUBST(GST_PLAY_INCLUDEDIR)
|
||||
AC_SUBST(GST_PLAY_CFLAGS)
|
||||
AC_SUBST(GST_PLAY_INCLUDES)
|
||||
|
||||
AC_CHECK_PROG(HAVE_XMLTO, xmlto, true, false)
|
||||
AC_CHECK_PROG(HAVE_XMLCATALOG, xmlcatalog, true, false)
|
||||
|
@ -160,12 +144,9 @@ changequote([,])dnl
|
|||
AC_OUTPUT([
|
||||
Makefile
|
||||
gst/Makefile
|
||||
gstplay/Makefile
|
||||
pkgconfig/Makefile
|
||||
pkgconfig/gst-python.pc
|
||||
pkgconfig/gst-python-uninstalled.pc
|
||||
examples/Makefile
|
||||
examples/gst/Makefile
|
||||
docs/Makefile
|
||||
docs/gst-python.ent
|
||||
testsuite/Makefile
|
||||
|
|
1
gst/.gitignore
vendored
1
gst/.gitignore
vendored
|
@ -10,3 +10,4 @@ Makefile.in
|
|||
gst.c
|
||||
gen-*.c
|
||||
interfaces.c
|
||||
play.c
|
||||
|
|
|
@ -4,7 +4,7 @@ PYGTK_DEFSDIR = @PYGTK_DEFSDIR@
|
|||
defs_DATA =
|
||||
defsdir = $(pkgdatadir)/2.0/defs
|
||||
|
||||
EXTRA_DIST = $(defs_DATA)
|
||||
EXTRA_DIST = $(defs_DATA) arg-types.py
|
||||
|
||||
pkgpythondir = $(pythondir)/gst
|
||||
pkgpyexecdir = $(pyexecdir)/gst
|
||||
|
@ -27,32 +27,34 @@ _gst_la_LDFLAGS = $(common_ldflags) -export-symbols-regex init_gst
|
|||
_gst_la_SOURCES = gst-argtypes.c gstmodule.c
|
||||
nodist__gst_la_SOURCES = gst.c
|
||||
CLEANFILES = gst.c
|
||||
EXTRA_DIST += $(GST_OVERRIDES) arg-types.py
|
||||
EXTRA_DIST += $(GST_OVERRIDES)
|
||||
defs_DATA += $(GST_DEFS)
|
||||
gst.c: $(GST_DEFS) $(GST_OVERRIDES)
|
||||
|
||||
# gst-play bindings
|
||||
|
||||
# FIXEME: configure.ac
|
||||
PLAY_OVERRIDES = play.override
|
||||
PLAY_DEFS = play.defs
|
||||
|
||||
#if BUILD_PLAY
|
||||
pygstexec_LTLIBRARIES += play.la
|
||||
#endif
|
||||
play_la_CFLAGS = $(GST_CFLAGS) $(GST_PLAY_CFLAGS) -fno-strict-aliasing
|
||||
play_la_LIBADD = $(GST_LIBS) $(GST_PLAY_LIBS)
|
||||
play_la_LDFLAGS = $(common_ldflags) -export-symbols-regex initplay
|
||||
play_la_SOURCES = playmodule.c
|
||||
nodist_play_la_SOURCES = play.c
|
||||
CLEANFILES += play.c
|
||||
EXTRA_DIST += $(PLAY_OVERRIDES)
|
||||
defs_DATA += $(PLAY_DEFS)
|
||||
play.c: $(PLAY_DEFS) $(PLAY_OVERRIDES)
|
||||
|
||||
# GStreamer interfaces bindings
|
||||
|
||||
INTERFACES_OVERRIDES = interfaces.override xoverlay.override
|
||||
INTERFACES_DEFS = interfaces.defs xoverlay.defs xwindowlistener.defs
|
||||
|
||||
GST_INTERFACES_INCLUDES=
|
||||
GST_INTERFACES_INCLUDES += $(GST_INTERFACES_INCLUDEDIR)/gst/colorbalance/colorbalance.h
|
||||
GST_INTERFACES_INCLUDES += $(GST_INTERFACES_INCLUDEDIR)/gst/colorbalance/colorbalancechannel.h
|
||||
GST_INTERFACES_INCLUDES += $(GST_INTERFACES_INCLUDEDIR)/gst/mixer/mixer.h
|
||||
GST_INTERFACES_INCLUDES += $(GST_INTERFACES_INCLUDEDIR)/gst/mixer/mixertrack.h
|
||||
GST_INTERFACES_INCLUDES += $(GST_INTERFACES_INCLUDEDIR)/gst/navigation/navigation.h
|
||||
GST_INTERFACES_INCLUDES += $(GST_INTERFACES_INCLUDEDIR)/gst/propertyprobe/propertyprobe.h
|
||||
GST_INTERFACES_INCLUDES += $(GST_INTERFACES_INCLUDEDIR)/gst/tuner/tuner.h
|
||||
GST_INTERFACES_INCLUDES += $(GST_INTERFACES_INCLUDEDIR)/gst/tuner/tunerchannel.h
|
||||
GST_INTERFACES_INCLUDES += $(GST_INTERFACES_INCLUDEDIR)/gst/tuner/tunernorm.h
|
||||
|
||||
# FIXME: configure.ac
|
||||
#if USE_X
|
||||
GST_INTERFACES_INCLUDES+=$(GST_INTERFACES_INCLUDEDIR)/gst/xoverlay/xoverlay.h
|
||||
GST_INTERFACES_INCLUDES+=$(GST_INTERFACES_INCLUDEDIR)/gst/xwindowlistener/xwindowlistener.h
|
||||
#endif
|
||||
|
||||
# FIXEME: configure.ac
|
||||
#if BUILD_INTERFACES
|
||||
pygstexec_LTLIBRARIES += interfaces.la
|
||||
|
@ -63,7 +65,7 @@ interfaces_la_LDFLAGS = $(common_ldflags) -export-symbols-regex initinterface
|
|||
interfaces_la_SOURCES = interfacesmodule.c
|
||||
nodist_interfaces_la_SOURCES = interfaces.c
|
||||
CLEANFILES += interfaces.c
|
||||
EXTRA_DIST += $(INTERFACES_OVERRIDES) arg-types.py
|
||||
EXTRA_DIST += $(INTERFACES_OVERRIDES)
|
||||
defs_DATA += $(INTERFACES_DEFS)
|
||||
interfaces.c: $(INTERFACES_DEFS) $(INTERFACES_OVERRIDES)
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ headers
|
|||
#include <gst/xwindowlistener/xwindowlistener.h>
|
||||
|
||||
%%
|
||||
modulename gstinterfaces
|
||||
modulename gst.interfaces
|
||||
%%
|
||||
import gobject.GObject as PyGObject_Type
|
||||
import gst.Object as PyGstObject_Type
|
||||
|
@ -52,7 +52,6 @@ ignore-glob
|
|||
%%
|
||||
%%
|
||||
override gst_tuner_make kwargs
|
||||
|
||||
static PyObject *
|
||||
_wrap_gst_tuner_make(PyObject *self, PyObject *args, PyObject *kwargs)
|
||||
{
|
||||
|
@ -71,47 +70,3 @@ _wrap_gst_tuner_make(PyObject *self, PyObject *args, PyObject *kwargs)
|
|||
Py_INCREF(Py_None);
|
||||
return Py_None;
|
||||
}
|
||||
%%
|
||||
override gst_structure_new kwargs
|
||||
|
||||
static int
|
||||
_wrap_gst_structure_new(PyGBoxed *self, PyObject *args, PyObject *kwargs)
|
||||
{
|
||||
static char *kwlist[] = { "name", NULL };
|
||||
char *name;
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s:GstStructure.__init__", kwlist, &name))
|
||||
return -1;
|
||||
self->gtype = GST_TYPE_STRUCTURE;
|
||||
self->free_on_dealloc = FALSE;
|
||||
self->boxed = gst_structure_new(name, NULL);
|
||||
|
||||
if (!self->boxed) {
|
||||
PyErr_SetString(PyExc_RuntimeError, "could not create GstStructure object");
|
||||
return -1;
|
||||
}
|
||||
self->free_on_dealloc = TRUE;
|
||||
return 0;
|
||||
}
|
||||
%%
|
||||
override gst_structure_set_value kwargs
|
||||
|
||||
static PyObject *
|
||||
_wrap_gst_structure_set_value(PyObject *self, PyObject *args, PyObject *kwargs)
|
||||
{
|
||||
static char *kwlist[] = { "field", "value", NULL };
|
||||
char *field;
|
||||
PyObject *py_value = NULL;
|
||||
GValue value = { 0 };
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "sO:GstStructure.set_value", kwlist, &field, &py_value))
|
||||
return NULL;
|
||||
g_value_init(&value, G_TYPE_STRING);
|
||||
if (pyg_value_from_pyobject(&value, py_value) != 0) {
|
||||
return NULL;
|
||||
}
|
||||
gst_structure_set_value(pyg_boxed_get(self, GstStructure), field, &value);
|
||||
|
||||
Py_INCREF(Py_None);
|
||||
return Py_None;
|
||||
}
|
||||
|
|
122
gst/play.defs
Normal file
122
gst/play.defs
Normal file
|
@ -0,0 +1,122 @@
|
|||
;; -*- scheme -*-
|
||||
; object definitions ...
|
||||
(define-object Play
|
||||
(in-module "Gst")
|
||||
(parent "GstPipeline")
|
||||
(c-name "GstPlay")
|
||||
(gtype-id "GST_TYPE_PLAY")
|
||||
)
|
||||
|
||||
;; Enumerations and flags ...
|
||||
|
||||
(define-enum PlaySinkType
|
||||
(in-module "Gst")
|
||||
(c-name "GstPlaySinkType")
|
||||
(gtype-id "GST_TYPE_PLAY_SINK_TYPE")
|
||||
(values
|
||||
'("audio" "GST_PLAY_SINK_TYPE_AUDIO")
|
||||
'("video" "GST_PLAY_SINK_TYPE_VIDEO")
|
||||
'("any" "GST_PLAY_SINK_TYPE_ANY")
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
;; From /opt/gnome/include/gstreamer-0.7/gst/play/play.h
|
||||
|
||||
(define-function gst_play_get_type
|
||||
(c-name "gst_play_get_type")
|
||||
(return-type "GType")
|
||||
)
|
||||
|
||||
(define-function gst_play_new
|
||||
(c-name "gst_play_new")
|
||||
(is-constructor-of "GstPlay")
|
||||
(return-type "GstPlay*")
|
||||
(parameters
|
||||
'("GError**" "error")
|
||||
)
|
||||
)
|
||||
|
||||
(define-method set_data_src
|
||||
(of-object "GstPlay")
|
||||
(c-name "gst_play_set_data_src")
|
||||
(return-type "gboolean")
|
||||
(parameters
|
||||
'("GstElement*" "data_src")
|
||||
)
|
||||
)
|
||||
|
||||
(define-method set_video_sink
|
||||
(of-object "GstPlay")
|
||||
(c-name "gst_play_set_video_sink")
|
||||
(return-type "gboolean")
|
||||
(parameters
|
||||
'("GstElement*" "video_sink")
|
||||
)
|
||||
)
|
||||
|
||||
(define-method set_audio_sink
|
||||
(of-object "GstPlay")
|
||||
(c-name "gst_play_set_audio_sink")
|
||||
(return-type "gboolean")
|
||||
(parameters
|
||||
'("GstElement*" "audio_sink")
|
||||
)
|
||||
)
|
||||
|
||||
(define-method set_visualization
|
||||
(of-object "GstPlay")
|
||||
(c-name "gst_play_set_visualization")
|
||||
(return-type "gboolean")
|
||||
(parameters
|
||||
'("GstElement*" "element")
|
||||
)
|
||||
)
|
||||
|
||||
(define-method connect_visualization
|
||||
(of-object "GstPlay")
|
||||
(c-name "gst_play_connect_visualization")
|
||||
(return-type "gboolean")
|
||||
(parameters
|
||||
'("gboolean" "connect")
|
||||
)
|
||||
)
|
||||
|
||||
(define-method set_location
|
||||
(of-object "GstPlay")
|
||||
(c-name "gst_play_set_location")
|
||||
(return-type "gboolean")
|
||||
(parameters
|
||||
'("const-char*" "location")
|
||||
)
|
||||
)
|
||||
|
||||
(define-method get_location
|
||||
(of-object "GstPlay")
|
||||
(c-name "gst_play_get_location")
|
||||
(return-type "char*")
|
||||
)
|
||||
|
||||
(define-method seek_to_time
|
||||
(of-object "GstPlay")
|
||||
(c-name "gst_play_seek_to_time")
|
||||
(return-type "gboolean")
|
||||
(parameters
|
||||
'("gint64" "time_nanos")
|
||||
)
|
||||
)
|
||||
|
||||
(define-method get_sink_element
|
||||
(of-object "GstPlay")
|
||||
(c-name "gst_play_get_sink_element")
|
||||
(return-type "GstElement*")
|
||||
(parameters
|
||||
'("GstElement*" "element")
|
||||
'("GstPlaySinkType" "sink_type")
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
;;
|
||||
;; interface definitions
|
||||
;;
|
40
gst/play.override
Normal file
40
gst/play.override
Normal file
|
@ -0,0 +1,40 @@
|
|||
/* -*- Mode: C; c-basic-offset: 4 -*- */
|
||||
/* gst-python
|
||||
* Copyright (C) 2004 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 <gst/play/play.h>
|
||||
|
||||
%%
|
||||
modulename gst.play
|
||||
%%
|
||||
import gobject.GObject as PyGObject_Type
|
||||
import gst.Element as PyGstElement_Type
|
||||
import gst.Pipeline as PyGstPipeline_Type
|
||||
%%
|
||||
ignore-glob
|
||||
_*
|
||||
gstplay_*init
|
||||
*_get_type
|
50
gst/playmodule.c
Normal file
50
gst/playmodule.c
Normal file
|
@ -0,0 +1,50 @@
|
|||
/* -*- Mode: C; c-basic-offset: 4 -*- */
|
||||
/* gst-python
|
||||
* Copyright (C) 2004 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>
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
/* include this first, before NO_IMPORT_PYGOBJECT is defined */
|
||||
#include <pygobject.h>
|
||||
#include <gst/gst.h>
|
||||
|
||||
void pyplay_register_classes (PyObject *d);
|
||||
void pyplay_add_constants(PyObject *module, const gchar *strip_prefix);
|
||||
|
||||
extern PyMethodDef pyplay_functions[];
|
||||
|
||||
DL_EXPORT(void)
|
||||
initplay (void)
|
||||
{
|
||||
PyObject *m, *d;
|
||||
|
||||
m = Py_InitModule ("play", pyplay_functions);
|
||||
d = PyModule_GetDict (m);
|
||||
|
||||
pyplay_register_classes (d);
|
||||
pyplay_add_constants (m, "GST_");
|
||||
|
||||
if (PyErr_Occurred ()) {
|
||||
Py_FatalError ("can't initialize module gst.play");
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue