A bunch more changes to clean up build/make dist issues, as well as a spec file, -config file, .m4, etc. Next step...

Original commit message from CVS:
A bunch more changes to clean up build/`make dist` issues, as well as a
spec file, -config file, .m4, etc.  Next step is to build an RPM of this
mess.
This commit is contained in:
Erik Walthinsen 2000-01-31 06:46:18 +00:00
parent 0bc672ec72
commit 4075335806
9 changed files with 245 additions and 5 deletions

View file

@ -21,8 +21,8 @@ libgsteditorinclude_HEADERS = \
gsteditor.h
bin_PROGRAMS = editor
editor_LDFLAGS = libgsteditor.la
bin_PROGRAMS = gsteditor
gsteditor_LDFLAGS = libgsteditor.la
noinst_HEADERS = \

82
gst/ROADMAP Normal file
View file

@ -0,0 +1,82 @@
***** Core *****
gst.c
Contains initialization functions, etc.
gstobject.c
The core object type for all of the Gst objects. Handles
refcounting, parenting, etc.
gsttype.c
Media type registry, keeping track of all registered media types.
Each type has an ID, MIME type, and a list of elements that will
either source or sink the type.
gstmeta.c
Provides some common routines for dealing with metadata.
gstplugin.c
Plugin operations, finding and loading shared library plugins, as
well as a simple plugin registry.
[gstregistry.c]
[ Maintains an on-disk cache of elements installed on system,
provides for full searching across various tidbits per plugin. ]
***** Major object types *****
gstelement.c
All pipeline elements are based on this type, which defines the
padlist, etc.
gstelementfactory.c
A simple object used to generate new elements from plugins.
gstbuffer.c
Defines the data buffers that are passed between elements.
Buffers have a type (see gsttype.c), flags, as well as data and
metadata information. Metadata comes in list form.
gstpad.c
The connective pads for elements. Keeps track of media type and
direction. Connects to a peer pad and swaps chain [and push]
function[s], allowing buffers to be passed with two function
calls. Allows ghostparenting to bins.
***** Element tpoes ***
gstbin.c
Contains any number of elements, and can be operated on as an
element itself. Contains a list of child elements, and enables
ghostparenting of pads.
gstpipeline.c
Special case of gstbin that handles the whole pipeline concept.
gstthread.c
Special case of gstbin that creates a thread and iterates in that,
allowing for fully threaded operation.
gstsrc.c
Special case of gstelement that provides a generic push()
function.
gstfilter.c
Special case of gstelement mostly for administrative purposes.
gstsink.c
Special case of gstelement mostly for administrative purposes.
gsttee.c
Pipe fitting.
***** elements/ *****
gstdisksrc.c
gstfakefilter.c
gstfakesink.c
gstfakesrc.c
gsthttpsrc.c
gststdinsrc.c
gstxa.c
gstaudiosink.c
etc.etc.etc. (FIXME!)

67
gstreamer-config.in Normal file
View file

@ -0,0 +1,67 @@
#!/bin/sh
prefix=@prefix@
exec_prefix=@exec_prefix@
exec_prefix_set=no
usage="\
Usage: $0 [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--libs] [--cflags]"
if test $# -eq 0; then
echo "${usage}" 1>&2
exit 1
fi
while test $# -gt 0; do
case "$1" in
-*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
*) optarg= ;;
esac
case $1 in
--prefix=*)
prefix=$optarg
if `echo $prefix | grep -v -q '^/'` ; then
prefix=`pwd`/$prefix
fi
if test $exec_prefix_set = no ; then
exec_prefix=$optarg
fi
;;
--prefix)
echo $prefix
;;
--exec-prefix=*)
exec_prefix=$optarg
exec_prefix_set=yes
;;
--exec-prefix)
echo $exec_prefix
;;
--version)
echo @VERSION@
;;
--cflags)
if test $prefix -ef @builddir@ ; then
includes=-I@builddir@
elif test @includedir@ != /usr/include ; then
includes=-I@includedir@
fi
echo $includes
;;
--libs)
if test $prefix -ef @builddir@ ; then
echo @builddir@/lib@PACKAGE@.la
else
libdirs=-L@libdir@
echo $libdirs -l@PACKAGE@
fi
;;
*)
echo "${usage}" 1>&2
exit 1
;;
esac
shift
done

21
gstreamer.m4 Normal file
View file

@ -0,0 +1,21 @@
# a macro to get the libs/cflags for gscope
# serial 1
dnl AM_PATH_GSTREAMER([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
dnl Test to see if timestamp is installed, and define GSTREAMER_CFLAGS, LIBS
dnl
AC_DEFUN(AM_PATH_GSTREAMER,
[dnl
dnl Get the cflags and libraries for the GtkScope widget
dnl
AC_ARG_WITH(gscope-prefix,
[ --with-gscope-prefix=PFX Prefix where GtkScope is installed],
GSTREAMER_PREFIX="$withval")
AC_CHECK_LIB(gscope,gtk_scope_new,
AC_MSG_RESULT(yes),
AC_MSG_RESULT(no),"$GSTREAMER_PREFIX $LIBS")
AC_SUBST(GSTREAMER_CFLAGS)
AC_SUBST(GSTREAMER_LIBS)
AC_SUBST(HAVE_GSTREAMER)
])

60
gstreamer.spec.in Normal file
View file

@ -0,0 +1,60 @@
%define name gstreamer
%define ver @VERSION@
%define rel SNAP
%define prefix /usr
Summary: Streaming-media framework
Name: %name
Version: %ver
Release: %rel
Copyright: LGPL
Group: Libraries
Source: %{name}-%{ver}.tar.gz
BuildRoot: /var/tmp/%{name}-%{ver}-root
Docdir: %{prefix}/doc
Prefix: %prefix
%description
GStreamer is a streaming-media framework, based on graphs of filters which
operate on media data. Applications using this library can do anything
from real-time sound processing to playing videos, and just about anything
else media-related. It's plugin-based architecture means that new data
types or processing capabilities can be added simply by installing a new
package.
%changelog
* Sun Jan 30 2000 Erik Walthinsen <omega@cse.ogi.edu>
- first draft of spec file
%prep
%setup
%build
CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%prefix
if [ "$SMP" != "" ]; then
(make "MAKE=make -k -j $SMP"; exit 0)
make
else
make
fi
%install
[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT
make prefix=$RPM_BUILD_ROOT%{prefix} install
%clean
[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-, root, root)
%{prefix}/bin/*
%{prefix}/lib/*
%{prefix}/lib/gst/*
%{prefix}/include/gst/*

View file

@ -1,5 +1,5 @@
#bin_PROGRAMS = basic m types a r plugin w s args mpg123 mcut push qtest
bin_PROGRAMS = qtest spectrum record wave mp3 teardown buffer mp3parse \
#noinst_PROGRAMS = basic m types a r plugin w s args mpg123 mcut push qtest
noinst_PROGRAMS = qtest spectrum record wave mp3 teardown buffer mp3parse \
mpeg2parse mp3play ac3parse ac3play dvdcat fake cobin
SUBDIRS = xml cothreads bindings

View file

@ -5,3 +5,5 @@ Makefile.in
*.la
.deps
.libs
test

View file

@ -5,3 +5,6 @@ Makefile.in
*.la
.deps
.libs
test
simple

5
test/xml/README Normal file
View file

@ -0,0 +1,5 @@
This is my test code for reading and writing an XML registry of the
plugins. This will be eventually folded back into the main library, such
that when you query the list of plugins, you get all the plugins that are
either loaded or listed in the registry. When you actually ask for a
given plugin, it will load it if necessary. Pretty cool, huh?