From: Erik Walthinsen Date: Mon, 31 Jan 2000 06:46:18 +0000 (+0000) Subject: A bunch more changes to clean up build/`make dist` issues, as well as a spec file... X-Git-Tag: RELEASE-0_1_0-SLIPSTREAM~449 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4075335806ac0fa749d6219a382fa63706757eca;p=platform%2Fupstream%2Fgstreamer.git 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. --- diff --git a/editor/Makefile.am b/editor/Makefile.am index c3a38ec..d9bbade 100644 --- a/editor/Makefile.am +++ b/editor/Makefile.am @@ -21,8 +21,8 @@ libgsteditorinclude_HEADERS = \ gsteditor.h -bin_PROGRAMS = editor -editor_LDFLAGS = libgsteditor.la +bin_PROGRAMS = gsteditor +gsteditor_LDFLAGS = libgsteditor.la noinst_HEADERS = \ diff --git a/gst/ROADMAP b/gst/ROADMAP new file mode 100644 index 0000000..821f04a --- /dev/null +++ b/gst/ROADMAP @@ -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!) diff --git a/gstreamer-config.in b/gstreamer-config.in new file mode 100644 index 0000000..a43e2a1 --- /dev/null +++ b/gstreamer-config.in @@ -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 + diff --git a/gstreamer.m4 b/gstreamer.m4 new file mode 100644 index 0000000..2497de7 --- /dev/null +++ b/gstreamer.m4 @@ -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) +]) diff --git a/gstreamer.spec.in b/gstreamer.spec.in new file mode 100644 index 0000000..41599f3 --- /dev/null +++ b/gstreamer.spec.in @@ -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 +- 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/* diff --git a/test/Makefile.am b/test/Makefile.am index 4f940c4..20d6e4a 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1,6 +1,6 @@ -#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 \ - mpeg2parse mp3play ac3parse ac3play dvdcat fake cobin +#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 diff --git a/test/bindings/.gitignore b/test/bindings/.gitignore index 08f5ed3..54bca49 100644 --- a/test/bindings/.gitignore +++ b/test/bindings/.gitignore @@ -5,3 +5,5 @@ Makefile.in *.la .deps .libs + +test diff --git a/test/cothreads/.gitignore b/test/cothreads/.gitignore index 08f5ed3..5d778a3 100644 --- a/test/cothreads/.gitignore +++ b/test/cothreads/.gitignore @@ -5,3 +5,6 @@ Makefile.in *.la .deps .libs + +test +simple diff --git a/test/xml/README b/test/xml/README new file mode 100644 index 0000000..fca94fe --- /dev/null +++ b/test/xml/README @@ -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?