Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/GStreamer/gstreamer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWrobell <wrobell@ite.pl>2001-12-10 22:38:29 +0300
committerWrobell <wrobell@ite.pl>2001-12-10 22:38:29 +0300
commitac51127f55a8b6a01a7a52bd267033ad748ef719 (patch)
tree83e5cf697cf956a3255f6bd79dadad234b465adf
parentdda833d67e4538b4c1851f1eed08a22f5eb041c2 (diff)
Merged from trunkBRANCH-BUILD1-200112101
Original commit message from CVS: Merged from trunk
-rw-r--r--AUTHORS2
-rw-r--r--Makefile.am9
-rw-r--r--acconfig.h2
-rw-r--r--acinclude.m4175
-rwxr-xr-xautogen.sh226
-rw-r--r--configure.ac34
-rw-r--r--docs/gst/Makefile.am14
-rw-r--r--docs/gst/gstreamer-docs.sgml5
-rw-r--r--docs/gst/gstreamer-sections.txt98
-rw-r--r--docs/gst/gstreamer.hierarchy7
-rw-r--r--docs/gst/gstreamer.types.in3
-rw-r--r--docs/gst/tmpl/gstautoplug.sgml1
-rw-r--r--docs/gst/tmpl/gstautoplugfactory.sgml4
-rw-r--r--docs/gst/tmpl/gstelement.sgml43
-rw-r--r--docs/gst/tmpl/gstpad.sgml9
-rw-r--r--docs/gst/tmpl/gstpadtemplate.sgml13
-rw-r--r--docs/gst/tmpl/gstparse.sgml9
-rw-r--r--docs/gst/tmpl/gstreamer-unused.sgml215
-rw-r--r--docs/gst/tmpl/gstscheduler.sgml141
-rw-r--r--docs/gst/tmpl/gstschedulerfactory.sgml89
-rw-r--r--docs/gst/tmpl/gststatistics.sgml69
-rw-r--r--docs/gst/tmpl/gstthread.sgml8
-rw-r--r--editor/Makefile.am2
-rw-r--r--gst/autoplug/Makefile.am8
-rw-r--r--gst/gstbin.c18
-rw-r--r--gst/gstelement.c6
-rw-r--r--gst/gstpad.c7
-rw-r--r--gst/gstparse.c4
-rw-r--r--gst/gstscheduler.c20
-rw-r--r--gst/schedulers/Makefile.am2
-rw-r--r--gst/types/Makefile.am4
-rw-r--r--gstplay/ChangeLog19
-rw-r--r--gstplay/gstmediaplay.c46
-rw-r--r--gstreamer.spec.in275
-rw-r--r--libs/getbits/Makefile.am5
-rw-r--r--libs/idct/Makefile.am2
-rwxr-xr-xmakeconfigure17
-rwxr-xr-xmissing109
-rw-r--r--tests/old/testsuite/Makefile.am6
-rw-r--r--tests/old/testsuite/bytestream/Makefile.am1
-rw-r--r--tests/old/testsuite/capsnego/Makefile.am2
-rw-r--r--tests/old/testsuite/capsnego/capsnego.c2
-rw-r--r--tests/old/testsuite/capsnego/converter.c4
-rw-r--r--tests/old/testsuite/capsnego/converter2.c4
-rw-r--r--tests/old/testsuite/capsnego/enum.c2
-rw-r--r--tests/old/testsuite/plugin/Makefile.am4
-rw-r--r--testsuite/Makefile.am6
-rw-r--r--testsuite/bytestream/Makefile.am1
-rw-r--r--testsuite/capsnego/Makefile.am2
-rw-r--r--testsuite/capsnego/capsnego.c2
-rw-r--r--testsuite/capsnego/converter.c4
-rw-r--r--testsuite/capsnego/converter2.c4
-rw-r--r--testsuite/capsnego/enum.c2
-rw-r--r--testsuite/plugin/Makefile.am4
54 files changed, 1286 insertions, 484 deletions
diff --git a/AUTHORS b/AUTHORS
index d4eaa2a0d5..5a0e49a839 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,7 +1,7 @@
Erik Walthinsen <omega@cse.ogi.edu>
Matt Howell <mhowell@users.sourceforge.net>
Brent Bradburn <bbradburn@users.sourceforge.net>
-Wim Taymans <wim.taymans@tvd.be>
+Wim Taymans <wim.taymans@chello.be>
Richard Boulton <richard@tartarus.org>
Zaheer Merali <zaheer@grid9.net>
- thread synchronization rework
diff --git a/Makefile.am b/Makefile.am
index cf34bc4053..411cebf73a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -45,7 +45,7 @@ man_MANS = gstreamer-config.1
EXTRA_DIST = gstreamer.spec.in gstreamer-config.in gstreamer.m4 \
gstreamer.pc.in gstreamer-uninstalled.pc.in \
- configure.base autogen.sh depcomp \
+ configure.ac autogen.sh depcomp \
LICENSE REQUIREMENTS ABOUT-NLS $(man_MANS) \
idiottest.mak
@@ -63,10 +63,3 @@ deb-maint:
include $(top_srcdir)/idiottest.mak
-# Rules to generate autoconf scripts if configure.base is updated
-$(top_srcdir)/configure.in: $(top_srcdir)/configure.base
- $(top_srcdir)/makeconfigure <$(top_srcdir)/configure.base >$(top_srcdir)/configure.in configure.in
-
-$(top_srcdir)/configure.ac: $(top_srcdir)/configure.base
- $(top_srcdir)/makeconfigure <$(top_srcdir)/configure.base >$(top_srcdir)/configure.ac configure.ac
-
diff --git a/acconfig.h b/acconfig.h
index 1694c55f63..e5be2eb6bb 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -41,8 +41,8 @@
#undef HAVE_NASM
#undef HAVE_A52DEC
#undef HAVE_MPEG2DEC
-//thomas: commented out #undef HAVE_FLAC
#undef HAVE_FLACLIB
+#undef HAVE_LIBRTP
#undef HAVE_LINUX_CDROM
#undef HAVE_LINUX_VIDEODEV
#undef HAVE_LIBSDL
diff --git a/acinclude.m4 b/acinclude.m4
index 66b030ce40..9597630fb5 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -564,3 +564,178 @@ AC_SUBST(ALSA_CFLAGS)
AC_SUBST(ALSA_LIBS)
])
+# stuff for SDL, hope this helps if we put it here
+
+# Configure paths for SDL
+# Sam Lantinga 9/21/99
+# stolen from Manish Singh
+# stolen back from Frank Belew
+# stolen from Manish Singh
+# Shamelessly stolen from Owen Taylor
+
+dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS
+dnl
+AC_DEFUN(AM_PATH_SDL,
+[dnl
+dnl Get the cflags and libraries from the sdl-config script
+dnl
+AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)],
+ sdl_prefix="$withval", sdl_prefix="")
+AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)],
+ sdl_exec_prefix="$withval", sdl_exec_prefix="")
+AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program],
+ , enable_sdltest=yes)
+
+ if test x$sdl_exec_prefix != x ; then
+ sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix"
+ if test x${SDL_CONFIG+set} != xset ; then
+ SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config
+ fi
+ fi
+ if test x$sdl_prefix != x ; then
+ sdl_args="$sdl_args --prefix=$sdl_prefix"
+ if test x${SDL_CONFIG+set} != xset ; then
+ SDL_CONFIG=$sdl_prefix/bin/sdl-config
+ fi
+ fi
+
+ AC_PATH_PROG(SDL_CONFIG, sdl-config, no)
+ min_sdl_version=ifelse([$1], ,0.11.0,$1)
+ AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
+ no_sdl=""
+ if test "$SDL_CONFIG" = "no" ; then
+ no_sdl=yes
+ else
+ SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags`
+ SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs`
+
+ sdl_major_version=`$SDL_CONFIG $sdl_args --version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+ sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+ sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+ if test "x$enable_sdltest" = "xyes" ; then
+ ac_save_CFLAGS="$CFLAGS"
+ ac_save_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $SDL_CFLAGS"
+ LIBS="$LIBS $SDL_LIBS"
+dnl
+dnl Now check if the installed SDL is sufficiently new. (Also sanity
+dnl checks the results of sdl-config to some extent
+dnl
+ rm -f conf.sdltest
+ AC_TRY_RUN([
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "SDL.h"
+
+char*
+my_strdup (char *str)
+{
+ char *new_str;
+
+ if (str)
+ {
+ new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
+ strcpy (new_str, str);
+ }
+ else
+ new_str = NULL;
+
+ return new_str;
+}
+
+int main (int argc, char *argv[])
+{
+ int major, minor, micro;
+ char *tmp_version;
+
+ /* This hangs on some systems (?)
+ system ("touch conf.sdltest");
+ */
+ { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); }
+
+ /* HP/UX 9 (%@#!) writes to sscanf strings */
+ tmp_version = my_strdup("$min_sdl_version");
+ if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
+ printf("%s, bad version string\n", "$min_sdl_version");
+ exit(1);
+ }
+
+ if (($sdl_major_version > major) ||
+ (($sdl_major_version == major) && ($sdl_minor_version > minor)) ||
+ (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro)))
+ {
+ return 0;
+ }
+ else
+ {
+ printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version);
+ printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro);
+ printf("*** best to upgrade to the required version.\n");
+ printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n");
+ printf("*** to point to the correct copy of sdl-config, and remove the file\n");
+ printf("*** config.cache before re-running configure\n");
+ return 1;
+ }
+}
+
+],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+ CFLAGS="$ac_save_CFLAGS"
+ LIBS="$ac_save_LIBS"
+ fi
+ fi
+ if test "x$no_sdl" = x ; then
+ AC_MSG_RESULT(yes)
+ ifelse([$2], , :, [$2])
+ else
+ AC_MSG_RESULT(no)
+ if test "$SDL_CONFIG" = "no" ; then
+ echo "*** The sdl-config script installed by SDL could not be found"
+ echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in"
+ echo "*** your path, or set the SDL_CONFIG environment variable to the"
+ echo "*** full path to sdl-config."
+ else
+ if test -f conf.sdltest ; then
+ :
+ else
+ echo "*** Could not run SDL test program, checking why..."
+ CFLAGS="$CFLAGS $SDL_CFLAGS"
+ LIBS="$LIBS $SDL_LIBS"
+ AC_TRY_LINK([
+#include <stdio.h>
+#include "SDL.h"
+
+int main(int argc, char *argv[])
+{ return 0; }
+#undef main
+#define main K_and_R_C_main
+], [ return 0; ],
+ [ echo "*** The test program compiled, but did not run. This usually means"
+ echo "*** that the run-time linker is not finding SDL or finding the wrong"
+ echo "*** version of SDL. If it is not finding SDL, you'll need to set your"
+ echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
+ echo "*** to the installed location Also, make sure you have run ldconfig if that"
+ echo "*** is required on your system"
+ echo "***"
+ echo "*** If you have an old version installed, it is best to remove it, although"
+ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
+ [ echo "*** The test program failed to compile or link. See the file config.log for the"
+ echo "*** exact error that occured. This usually means SDL was incorrectly installed"
+ echo "*** or that you have moved SDL since it was installed. In the latter case, you"
+ echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ])
+ CFLAGS="$ac_save_CFLAGS"
+ LIBS="$ac_save_LIBS"
+ fi
+ fi
+ SDL_CFLAGS=""
+ SDL_LIBS=""
+ ifelse([$3], , :, [$3])
+ fi
+ AC_SUBST(SDL_CFLAGS)
+ AC_SUBST(SDL_LIBS)
+ rm -f conf.sdltest
+])
diff --git a/autogen.sh b/autogen.sh
index 8a4d60b2c2..edb9bacce6 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,151 +1,102 @@
-#!/bin/sh
+#!/bin/bash
# Run this to generate all the initial makefiles, etc.
DIE=0
package=GStreamer
srcfile=gst/gstobject.h
+#DEBUG=defined
+if test "x$1" = "x-d"; then echo "+ debug output enabled"; DEBUG=defined; fi
-(autoconf --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "You must have autoconf installed to compile $package."
- echo "Download the appropriate package for your distribution,"
- echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/autoconf/"
- DIE=1
+debug ()
+# print out a debug message if DEBUG is a defined variable
+{
+ if test ! -z "$DEBUG"
+ then
+ echo "DEBUG: $1"
+ fi
}
-(automake --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "You must have automake installed to compile $package."
- echo "Download the appropriate package for your distribution,"
- echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/automake/"
- DIE=1
-}
-automakevermin=`(automake --version|head -n 1|sed 's/^.* //;s/\./ /g;';echo "1 4")|sort -n|head -n 1`
-automakevergood=`(automake --version|head -n 1|sed 's/^.* //;s/\./ /g;';echo "1 4f")|sort -n|head -n 1`
-if test "x$automakevermin" != "x1 4"; then
-# version is less than 1.4, the minimum suitable version
+version_check ()
+# check the version of a package
+# first argument : package name (executable)
+# second argument : source download url
+# rest of arguments : major, minor, micro version
+{
+ PACKAGE=$1
+ URL=$2
+ MAJOR=$3
+ MINOR=$4
+ MICRO=$5
+
+
+ debug "major $MAJOR minor $MINOR micro $MICRO"
+ VERSION=$MAJOR
+ if test ! -z "$MINOR"; then VERSION=$VERSION.$MINOR; else MINOR=0; fi
+ if test ! -z "$MICRO"; then VERSION=$VERSION.$MICRO; else MICRO=0; fi
+
+ debug "major $MAJOR minor $MINOR micro $MICRO"
+ echo -n "+ checking for $1 > $VERSION ... "
+ ($PACKAGE --version) < /dev/null > /dev/null 2>&1 ||
+ {
echo
- echo "You must have automake version 1.4 or greater installed."
+ echo "You must have $PACKAGE installed to compile $package."
echo "Download the appropriate package for your distribution,"
- echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/automake/"
- DIE=1
-else
-if test "x$automakevergood" != "x1 4f"; then
-echo -n "Checking for patched automake..."
-# version is less than 1.4f, the version with the patch applied
-# check that patch is applied
-cat > autogen.patch.tmp <<EOF
---- 1
-+++ 2
-@@ -2383,8 +2383,8 @@
- # to all possible directories, and use it. If DIST_SUBDIRS is
- # defined, just use it.
- local (\$dist_subdir_name);
-- if (&variable_defined ('DIST_SUBDIRS')
-- || &variable_conditions ('SUBDIRS'))
-+ if (&variable_conditions ('SUBDIRS')
-+ || &variable_defined ('DIST_SUBDIRS'))
- {
- \$dist_subdir_name = 'DIST_SUBDIRS';
- if (! &variable_defined ('DIST_SUBDIRS'))
-EOF
- if patch -s -f --dry-run `which automake` <autogen.patch.tmp >/dev/null 2>&1;
- then
- # Patch succeeded: appropriately patched.
- echo " found."
- else
- # Patch failed: either unpatched or incompatibly patched.
- if patch -R -s -f --dry-run `which automake` <autogen.patch.tmp >/dev/null 2>&1;
- then
- # Reversed patch succeeded: not patched.
- echo " not found."
- echo
- echo "Detected automake version 1.4 (or near) without patch."
- echo "Your version of automake needs a patch applied in order to operate correctly."
- echo
- patchedfile="`pwd`/automake"
- if test -e $patchedfile; then
- PATCHED=0
- else
- echo "making a patched version..."
- patch -R -s -f `which automake` <autogen.patch.tmp -o $patchedfile;
- chmod +x $patchedfile;
- PATCHED=1
- fi
- echo
- echo "***************************************************************************"
- if test -e $patchedfile; then
- if test "x$PATCHED" == "x1"; then
- echo "A patched version of automake is available at:"
- echo "$patchedfile"
- echo "You should put this in an appropriate place, or modify \$PATH, so that it is"
- echo "used in preference to this installed version of automake."
- fi
+ echo "or get the source tarball at $URL"
+ return 1
+ }
+ # the following line is carefully crafted sed magic
+ pkg_version=`$PACKAGE --version|head -n 1|sed 's/^[a-zA-z\.\ ()]*//;s/ .*$//'`
+ debug "pkg_version $pkg_version"
+ pkg_major=`echo $pkg_version | cut -d. -f1`
+ pkg_minor=`echo $pkg_version | cut -d. -f2`
+ pkg_micro=`echo $pkg_version | cut -d. -f3`
+ test -z "$pkg_minor" && pkg_minor=0
+ test -z "$pkg_micro" && pkg_micro=0
+
+ debug "found major $pkg_major minor $pkg_minor micro $pkg_micro"
+
+ #start checking the version
+ debug "version check"
+
+ if [ ! "$pkg_major" \> "$MAJOR" ]; then
+ debug "$pkg_major <= $MAJOR"
+ if [ "$pkg_major" \< "$MAJOR" ]; then
+ WRONG=1
+ elif [ ! "$pkg_minor" \> "$MINOR" ]; then
+ if [ "$pkg_minor" \< "$MINOR" ]; then
+ WRONG=1
+ elif [ "$pkg_micro" \< "$MICRO" ]; then
+ WRONG=1
fi
- echo "It is not safe to perform the build without a patched automake."
- echo "Read the README file for an explanation."
- echo "***************************************************************************"
- echo
- DIE=1
- else
- # Reversed patch failed: incompatibly patched.
- echo
- echo
- echo "Unable to check whether automake is appropriately patched."
- echo "Your version of automake may need to have a patch applied."
- echo "Read the README file for more explanation."
- echo
fi
fi
-rm autogen.patch.tmp
-fi
-fi
-
-(pkg-config --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "You must have pkg-config installed to compile $package."
- echo "Download the appropriate package for your distribution,"
- echo "or get the source tarball at:"
- echo "http://www.freedesktop.org/software/pkgconfig/"
- DIE=1
+ if test ! -z "$WRONG"; then
+ echo "- found $pkg_version, not ok !"
+ echo
+ echo "You must have $PACKAGE $VERSION or greater to compile $package."
+ echo "Get the latest version from $URL"
+ return 1
+ else
+ echo "- found $pkg_version, ok."
+ fi
}
+# autoconf 2.52d has a weird issue involving a yes:no error
+# so don't allow it's use
+ac_version=`autoconf --version|head -n 1|sed 's/^[a-zA-z\.\ ()]*//;s/ .*$//'`
+if test "$ac_version" = "2.52d"; then
+ echo "autoconf 2.52d has an issue with our current build."
+ echo "We don't know who's to blame however. So until we do, get a"
+ echo "regular version. RPM's of a working version are on the gstreamer site."
+ exit 1
+fi
-(libtool --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "You must have libtool installed to compile $package."
- echo "Get the latest version from ftp://alpha.gnu.org/gnu/libtool/"
- DIE=1
-}
-libtool_version=`libtool --version | sed 's/^.* \([0-9a-z\.]*\) .*$/\1/'`
-libtool_major=`echo $libtool_version | cut -d. -f1`
-libtool_minor=`echo $libtool_version | cut -d. -f2`
-libtool_micro=`echo $libtool_version | cut -d. -f3`
-if [ x$libtool_micro = x ]; then
- libtool_micro=0
-fi
-if [ $libtool_major -le 1 ]; then
- if [ $libtool_major -lt 1 ]; then
- echo
- echo "You must have libtool 1.3.5 or greater to compile $package."
- echo "Get the latest version from ftp://alpha.gnu.org/gnu/libtool/"
- DIE=1
- elif [ $libtool_minor -le 3 ]; then
- if [ $libtool_minor -lt 3 ]; then
- echo
- echo "You must have libtool 1.3.5 or greater to compile $package."
- echo "Get the latest version from ftp://alpha.gnu.org/gnu/libtool/"
- DIE=1
- elif [ $libtool_micro -lt 5 ]; then
- echo
- echo "You must have libtool 1.3.5 or greater to compile $package."
- echo "Get the latest version from ftp://alpha.gnu.org/gnu/libtool/"
- DIE=1
- fi
- fi
-fi
+version_check "autoconf" "ftp://ftp.gnu.org/pub/gnu/autoconf/" 2 52 || DIE=1
+version_check "automake" "ftp://ftp.gnu.org/pub/gnu/automake/" 1 5 || DIE=1
+version_check "libtool" "ftp://ftp.gnu.org/pub/gnu/libtool/" 1 4 0 || DIE=1
+version_check "pkg-config" "http://www.freedesktop.org/software/pkgconfig" 0 7 0 || DIE=1
if test "$DIE" -eq 1; then
exit 1
@@ -161,27 +112,29 @@ if test -z "$*"; then
echo "to pass any to it, please specify them on the $0 command line."
fi
-
-# Generate configure.in and configure.ac
-./makeconfigure <configure.base > configure.in configure.in
-./makeconfigure <configure.base > configure.ac configure.ac
-
+# FIXME : why does libtoolize keep complaining about aclocal ?
+echo "+ running libtoolize ..."
libtoolize --copy --force
+
+echo "+ running aclocal ..."
aclocal $ACLOCAL_FLAGS || {
echo
echo "aclocal failed - check that all needed development files are present on system"
exit 1
}
+echo "+ running autoheader ... "
autoheader || {
echo
echo "autoheader failed"
exit 1
}
+echo "+ running autoconf ... "
autoconf || {
echo
echo "autoconf failed"
#exit 1
}
+echo "+ running automake ... "
automake --add-missing || {
echo
echo "automake failed"
@@ -189,11 +142,12 @@ automake --add-missing || {
}
# now remove the cache, because it can be considered dangerous in this case
+echo "+ removing config.cache ... "
rm -f config.cache
CONFIGURE_OPT='--enable-maintainer-mode --enable-plugin-builddir --enable-debug --enable-DEBUG'
-echo
+echo "+ running configure ... "
echo "./configure default flags: $CONFIGURE_OPT"
echo "using: $CONFIGURE_OPT $@"
echo
diff --git a/configure.ac b/configure.ac
index d8a2fe00a0..edf536cbae 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,10 +1,8 @@
dnl Note: this file is generated from configure.base by autogen.sh
-SUBSTFOR configure.ac:AC_INIT
-SUBSTFOR configure.ac:AC_CONFIG_SRCDIR([gst/gstobject.h])
-SUBSTFOR configure.in:AC_INIT(gst/gstobject.h)
+AC_INIT
+AC_CONFIG_SRCDIR([gst/gstobject.h])
-SUBSTFOR configure.ac:AC_CANONICAL_TARGET([])
-SUBSTFOR configure.in:AC_CANONICAL_SYSTEM
+AC_CANONICAL_TARGET([])
AM_CONFIG_HEADER(config.h)
@@ -58,8 +56,7 @@ AM_DISABLE_STATIC
AC_LIBTOOL_DLOPEN
AM_PROG_LIBTOOL
-SUBSTFOR configure.ac:AC_HEADER_STDC([])
-SUBSTFOR configure.in:AC_STDC_HEADERS
+AC_HEADER_STDC([])
dnl This is used for the -config script...
builddir=`pwd`
@@ -298,9 +295,7 @@ AC_SUBST(ARTS_CFLAGS)
AC_SUBST(ARTS_MCOPFLAGS)
dnl Now check if it exists
-SUBSTFOR configure.ac:AC_LANG_PUSH(C++)
-SUBSTFOR configure.in:AC_LANG_SAVE
-SUBSTFOR configure.in:AC_LANG_CPLUSPLUS
+AC_LANG_PUSH(C++)
HAVE_ARTS=yes
dnl FIXME: Can't get this test to pass, so commented it out. Rely on header check.
dnl AC_CHECK_LIB(artsflow, convert_stereo_2float_i16le, :, HAVE_ARTS=no, $LIBS)
@@ -309,8 +304,7 @@ dnl AC_CHECK_HEADER uses CPPFLAGS, but not CFLAGS.
dnl FIXME: ensure only suitable flags result from artsc-config --cflags
AC_CHECK_HEADER(artsflow.h, :, HAVE_ARTS=no)
-SUBSTFOR configure.ac:AC_LANG_POP(C++)
-SUBSTFOR configure.in:AC_LANG_RESTORE
+AC_LANG_POP(C++)
dnl Check for the idl generator
AC_CHECK_PROG(HAVE_MCOPIDL, mcopidl, yes, no)
if test x$HAVE_MCOPIDL = xno; then
@@ -1089,9 +1083,8 @@ dnl until ffmpeg is handled by configure plugins/ffmpeg/Makefile
dnl components/bonobo-gstmediaplay/Makefile
dnl someone should fix this test/misc/Makefile
dnl wtay fix this: testsuite/threads/Makefile
-SUBSTFOR configure.ac:AC_OUTPUT(
-SUBSTFOR configure.ac:Makefile
-SUBSTFOR configure.in:AC_OUTPUT([Makefile
+AC_OUTPUT(
+Makefile
include/Makefile
gst/Makefile
gst/gstversion.h
@@ -1259,10 +1252,7 @@ stamp.h
gstreamer-config
gstreamer.pc
gstreamer-uninstalled.pc
-SUBSTFOR configure.in:gstreamer.spec])
-SUBSTFOR configure.in:AC_OUTPUT_COMMANDS([chmod +x gstreamer-config;
-SUBSTFOR configure.in:echo "$infomessages"], infomessages="$infomessages")
-SUBSTFOR configure.ac:gstreamer.spec,
-SUBSTFOR configure.ac:chmod +x gstreamer-config
-SUBSTFOR configure.ac:echo "$infomessages", infomessages="$infomessages"
-SUBSTFOR configure.ac:)
+gstreamer.spec,
+chmod +x gstreamer-config
+echo "$infomessages", infomessages="$infomessages"
+)
diff --git a/docs/gst/Makefile.am b/docs/gst/Makefile.am
index 7373723915..05b6aaeccc 100644
--- a/docs/gst/Makefile.am
+++ b/docs/gst/Makefile.am
@@ -9,10 +9,10 @@ DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
# The directory containing the source code (if it contains documentation).
DOC_SOURCE_DIR=$(top_srcdir)/gst
-# thomas
+# FIXME :
# there's something wrong with gstreamer-sections.txt not being in the dist
-# maybe it doesn't resolve
-EXTRA_DIST = gstreamer.types.in gstreamer.hierarchy $(DOC_MODULE)-sections.txt $(DOC_MAIN_SGML_FILE)
+# maybe it doesn't resolve; we're adding it below for now
+EXTRA_DIST = gstreamer.types.in gstreamer.hierarchy $(DOC_MODULE)-sections.txt gstreamer-sections.txt $(DOC_MAIN_SGML_FILE)
HTML_DIR=$(datadir)/gstreamer/html
@@ -91,7 +91,9 @@ scanobj: $(srcdir)/$(DOC_MODULE).types
gtkdoc-scanobj --module=$(DOC_MODULE)
gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)
+# FIXME: this is nasty, we shouldn't have to do this, HELP
tmpl: scanobj gstreamer-decl.txt
+ if test ! -e gstreamer-sections.txt; then cp $(top_srcdir)/docs/gst/gstreamer-sections.txt .; fi
gtkdoc-mktmpl --module=$(DOC_MODULE)
sgml: tmpl
@@ -104,8 +106,14 @@ html: sgml
clean-local:
rm -rf *~ *.bak *.signals *-unused.txt *.args *.o *.lo .libs sgml html
+# FIXME : thomas added all sgml files and some other things to make
+# make distcheck work
distclean-local: clean
rm -rf $(DOC_MODULE)-decl-list.txt
+ rm -rf gstreamer-*.txt
+ rm -rf tmpl/*.sgml
+ rm gstreamer.hierarchy
+ rm *.stamp
install-data-local: html/book1.html
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
diff --git a/docs/gst/gstreamer-docs.sgml b/docs/gst/gstreamer-docs.sgml
index 8e6f224caf..a89d623451 100644
--- a/docs/gst/gstreamer-docs.sgml
+++ b/docs/gst/gstreamer-docs.sgml
@@ -22,6 +22,7 @@
<!entity GstPluginFeature SYSTEM "sgml/gstpluginfeature.sgml">
<!entity GstThread SYSTEM "sgml/gstthread.sgml">
<!entity GstScheduler SYSTEM "sgml/gstscheduler.sgml">
+<!entity GstSchedulerFactory SYSTEM "sgml/gstschedulerfactory.sgml">
<!entity GstTrace SYSTEM "sgml/gsttrace.sgml">
<!entity GstType SYSTEM "sgml/gsttype.sgml">
<!entity GstTypeFactory SYSTEM "sgml/gsttypefactory.sgml">
@@ -48,6 +49,7 @@
<!entity GstFdSink SYSTEM "sgml/gstfdsink.sgml">
<!entity GstIdentity SYSTEM "sgml/gstidentity.sgml">
<!entity GstPipefilter SYSTEM "sgml/gstpipefilter.sgml">
+<!entity GstStatistics SYSTEM "sgml/gststatistics.sgml">
<!entity GstTee SYSTEM "sgml/gsttee.sgml">
<!entity gstreamer-tree-index SYSTEM "sgml/tree_index.sgml">
@@ -90,6 +92,7 @@ with some more specialized elements.</para>
&GstProps;
&GstQueue;
&GstScheduler;
+ &GstSchedulerFactory;
&GstThread;
&GstTimeCache;
&GstType;
@@ -127,6 +130,8 @@ with some more specialized elements.</para>
&GstPipefilter;
&GstIdentity;
+ &GstStatistics;
+
&GstTee;
</chapter>
diff --git a/docs/gst/gstreamer-sections.txt b/docs/gst/gstreamer-sections.txt
index 1be9bf4e24..0828583c54 100644
--- a/docs/gst/gstreamer-sections.txt
+++ b/docs/gst/gstreamer-sections.txt
@@ -34,6 +34,9 @@ G_TYPE_STRING
G_TYPE_POINTER
G_TYPE_BOXED
G_TYPE_PARAM
+G_CSET_A_2_Z
+G_CSET_DIGITS
+G_CSET_a_2_z
G_BEGIN_DECLS
G_E
G_END_DECLS
@@ -190,6 +193,7 @@ g_value_get_string
g_value_set_string
g_value_get_pointer
g_value_set_pointer
+g_strcanon
g_string_append_printf
G_OBJECT
g_cclosure_marshal_VOID__OBJECT
@@ -286,42 +290,52 @@ GST_DISABLE_LOADSAVE_REGISTRY
<SECTION>
<FILE>gstscheduler</FILE>
-<TITLE>GstSchedule</TITLE>
+<TITLE>GstScheduler</TITLE>
GST_SCHED_PARENT
-GstScheduleChain
-GST_SCHEDULE_SAFETY
-GST_SCHEDULE_ADD_ELEMENT
-GST_SCHEDULE_REMOVE_ELEMENT
-GST_SCHEDULE_ENABLE_ELEMENT
-GST_SCHEDULE_DISABLE_ELEMENT
-GST_SCHEDULE_LOCK_ELEMENT
-GST_SCHEDULE_UNLOCK_ELEMENT
-GST_SCHEDULE_PAD_CONNECT
-GST_SCHEDULE_PAD_DISCONNECT
-GST_SCHEDULE_ITERATE
-gst_schedule_new
-gst_schedule_add_element
-gst_schedule_remove_element
-gst_schedule_enable_element
-gst_schedule_disable_element
-gst_schedule_pad_connect
-gst_schedule_pad_disconnect
-gst_schedule_pad_select
-gst_schedule_iterate
-gst_schedule_show
+gst_scheduler_add_element
+gst_scheduler_remove_element
+gst_scheduler_enable_element
+gst_scheduler_disable_element
+gst_scheduler_pad_connect
+gst_scheduler_pad_disconnect
+gst_scheduler_pad_select
+gst_scheduler_iterate
+gst_scheduler_show
+gst_scheduler_lock_element
+gst_scheduler_unlock_element
<SUBSECTION Standard>
-GstSchedule
-GST_SCHEDULE
-GST_SCHEDULE_FAST
-GST_IS_SCHEDULE
-GST_TYPE_SCHEDULE
-gst_schedule_get_type
-GST_SCHEDULE_CLASS
-GST_SCHEDULE_CLASS_FAST
-GST_IS_SCHEDULE_CLASS
+GstScheduler
+GstSchedulerClass
+gst_scheduler_get_type
+GST_SCHEDULER
+GST_IS_SCHEDULER
+GST_TYPE_SCHEDULER
+GST_SCHEDULER_CLASS
+GST_IS_SCHEDULER_CLASS
</SECTION>
<SECTION>
+<FILE>gstschedulerfactory</FILE>
+<TITLE>GstSchedulerFactory</TITLE>
+gst_schedulerfactory_create
+gst_schedulerfactory_destroy
+gst_schedulerfactory_find
+gst_schedulerfactory_get_list
+gst_schedulerfactory_make
+gst_schedulerfactory_new
+<SUBSECTION Standard>
+gst_schedulerfactory_get_type
+GST_IS_SCHEDULERFACTORY
+GST_IS_SCHEDULERFACTORY_CLASS
+GST_SCHEDULERFACTORY
+GST_SCHEDULERFACTORY_CLASS
+GST_TYPE_SCHEDULERFACTORY
+GstSchedulerFactory
+GstSchedulerFactoryClass
+</SECTION>
+
+
+<SECTION>
<FILE>gstbin</FILE>
<TITLE>GstBin</TITLE>
GstBinFlags
@@ -346,12 +360,12 @@ GST_BIN_CLASS_FAST
GST_IS_BIN
GST_IS_BIN_CLASS
gst_bin_details
-_GstBinChain
</SECTION>
<SECTION>
<FILE>gstparse</FILE>
<TITLE>GstParse</TITLE>
+GstParseErrors
gst_parse_launch
</SECTION>
@@ -466,6 +480,7 @@ GST_TYPE_EVENT
<TITLE>GstElement</TITLE>
GstElementState
GstElementStateReturn
+GST_NUM_STATES
GST_STATE
GST_STATE_PENDING
GST_STATE_TRANSITION
@@ -479,6 +494,7 @@ GstElementFlags
GST_ELEMENT_IS_THREAD_SUGGESTED
GST_ELEMENT_IS_COTHREAD_STOPPING
GST_ELEMENT_IS_EOS
+GST_ELEMENT_IS_EVENT_AWARE
GST_ELEMENT_PARENT
GST_ELEMENT_NAME
GST_ELEMENT_PADS
@@ -509,6 +525,7 @@ gst_element_connect
gst_element_disconnect
gst_element_set_state
gst_element_get_state
+gst_element_wait_state_change
gst_element_statename
gst_element_error
gst_element_get_factory
@@ -726,6 +743,7 @@ gst_pad_peek
gst_pad_select
gst_pad_selectv
gst_pad_send_event
+gst_pad_event_default
gst_pad_set_event_function
@@ -1300,6 +1318,22 @@ gst_pipefilter_get_type
</SECTION>
<SECTION>
+<FILE>gststatistics</FILE>
+<TITLE>GstStatistics</TITLE>
+<SUBSECTION Standard>
+GstStatistics
+GstStatisticsClass
+stats
+GST_STATISTICS
+GST_IS_STATISTICS
+GST_TYPE_STATISTICS
+gst_statistics_get_type
+GST_STATISTICS_CLASS
+GST_IS_STATISTICS_CLASS
+</SECTION>
+
+
+<SECTION>
<FILE>gsttypefind</FILE>
<TITLE>GstTypeFind</TITLE>
<SUBSECTION Standard>
diff --git a/docs/gst/gstreamer.hierarchy b/docs/gst/gstreamer.hierarchy
index a5e36a2515..362276e962 100644
--- a/docs/gst/gstreamer.hierarchy
+++ b/docs/gst/gstreamer.hierarchy
@@ -45,14 +45,11 @@ GtkObject
GstPipefilter
GstIdentity
GstQueue
+ GstStatistics
GstTypeFind
GstPad
- GstPadTemplate
GstPluginFeature
GstAutoplugFactory
GstTypeFactory
GstElementFactory
- GstSchedule
- GstAutoplug
- GstStaticAutoplug
- GstStaticAutoplugRender
+ GstSchedulerFactory
diff --git a/docs/gst/gstreamer.types.in b/docs/gst/gstreamer.types.in
index a16572f7f3..93beaa3999 100644
--- a/docs/gst/gstreamer.types.in
+++ b/docs/gst/gstreamer.types.in
@@ -10,10 +10,10 @@ gst_pad_get_type
gst_thread_get_type
gst_tee_get_type
gst_plugin_feature_get_type
-gst_schedule_get_type
gst_autoplugfactory_get_type
gst_typefactory_get_type
gst_elementfactory_get_type
+gst_schedulerfactory_get_type
gst_xml_get_type
gst_aggregator_get_type
@@ -31,5 +31,6 @@ gst_pipefilter_get_type
gst_identity_get_type
gst_queue_get_type
+gst_statistics_get_type
gst_typefind_get_type
diff --git a/docs/gst/tmpl/gstautoplug.sgml b/docs/gst/tmpl/gstautoplug.sgml
index 61d1925a41..89a073ea53 100644
--- a/docs/gst/tmpl/gstautoplug.sgml
+++ b/docs/gst/tmpl/gstautoplug.sgml
@@ -98,6 +98,7 @@ Use the regular gst_object_destroy() call to destroy the autoplugger.
</para>
+@object:
<!-- ##### ENUM GstAutoplugFlags ##### -->
<para>
diff --git a/docs/gst/tmpl/gstautoplugfactory.sgml b/docs/gst/tmpl/gstautoplugfactory.sgml
index 649c2aace7..4742b30636 100644
--- a/docs/gst/tmpl/gstautoplugfactory.sgml
+++ b/docs/gst/tmpl/gstautoplugfactory.sgml
@@ -19,8 +19,8 @@ or use gst_autoplugfactory_get_list() to get a list of all available autoplugge
</para>
<para>
Once an autoplugfactory has been obtained use gst_autoplugfactory_create() to
-instantiate a real autopugger. Optionally gst_autoplugfactory_make() to create
-and autoplugger from the named factory.
+instantiate a real autoplugger. Optionally gst_autoplugfactory_make() to create
+a autoplugger from the named factory.
</para>
<para>
Use gst_autoplugfactory_destroy() to remove the factory from the global list.
diff --git a/docs/gst/tmpl/gstelement.sgml b/docs/gst/tmpl/gstelement.sgml
index 8bdb5dbfcc..c3716e4d09 100644
--- a/docs/gst/tmpl/gstelement.sgml
+++ b/docs/gst/tmpl/gstelement.sgml
@@ -53,6 +53,13 @@ can return after a state change.
@GST_STATE_SUCCESS: the element successfully changed its state
@GST_STATE_ASYNC: the element will asynchronously change its state as soon as possible
+<!-- ##### MACRO GST_NUM_STATES ##### -->
+<para>
+The maximun number of states.
+</para>
+
+
+
<!-- ##### MACRO GST_STATE ##### -->
<para>
This macro returns the current state of the element.
@@ -132,7 +139,7 @@ This enum defines the standard flags that an element may have.
@GST_ELEMENT_NEW_LOOPFUNC:
@GST_ELEMENT_COTHREAD_STOPPING:
@GST_ELEMENT_USE_COTHREAD:
-@GST_ELEMENT_EOS:
+@GST_ELEMENT_EVENT_AWARE:
@GST_ELEMENT_FLAG_LAST:
<!-- ##### MACRO GST_ELEMENT_IS_THREAD_SUGGESTED ##### -->
@@ -159,6 +166,14 @@ Query wether this element is in the End Of Stream state.
@obj: The element to query
+<!-- ##### MACRO GST_ELEMENT_IS_EVENT_AWARE ##### -->
+<para>
+Query wether this element can handle events.
+</para>
+
+@obj: The element to query
+
+
<!-- ##### MACRO GST_ELEMENT_PARENT ##### -->
<para>
Get the parent object of this element.
@@ -436,6 +451,14 @@ instead.
@elem:
+<!-- ##### FUNCTION gst_element_wait_state_change ##### -->
+<para>
+
+</para>
+
+@element:
+
+
<!-- ##### FUNCTION gst_element_statename ##### -->
<para>
@@ -488,6 +511,7 @@ Is trigered whenever the state of an element changes
@gstelement: the object which received the signal.
@arg1: the new state of the object
+@arg2:
<!-- ##### SIGNAL GstElement::new-pad ##### -->
<para>
@@ -505,23 +529,6 @@ Is trigered whenever a new pad is added to an element
@gstelement: the object which received the signal.
@arg1: The pad that was removed.
-<!-- ##### SIGNAL GstElement::new-ghost-pad ##### -->
-<para>
-
-Is trigered whenever a new ghost pad is added to an element
-</para>
-
-@gstelement: the object which received the signal.
-@arg1: the new ghost pad that was added
-
-<!-- ##### SIGNAL GstElement::ghost-pad-removed ##### -->
-<para>
-
-</para>
-
-@gstelement: the object which received the signal.
-@arg1: The ghost pad that was removed.
-
<!-- ##### SIGNAL GstElement::error ##### -->
<para>
Is trigered whenever an error occured
diff --git a/docs/gst/tmpl/gstpad.sgml b/docs/gst/tmpl/gstpad.sgml
index 9d493e01bf..03b15ade78 100644
--- a/docs/gst/tmpl/gstpad.sgml
+++ b/docs/gst/tmpl/gstpad.sgml
@@ -670,6 +670,15 @@ Destroy the pad.
@Returns:
+<!-- ##### FUNCTION gst_pad_event_default ##### -->
+<para>
+
+</para>
+
+@pad:
+@event:
+
+
<!-- ##### FUNCTION gst_pad_set_event_function ##### -->
<para>
diff --git a/docs/gst/tmpl/gstpadtemplate.sgml b/docs/gst/tmpl/gstpadtemplate.sgml
index 39d714ed94..2ddd5f6066 100644
--- a/docs/gst/tmpl/gstpadtemplate.sgml
+++ b/docs/gst/tmpl/gstpadtemplate.sgml
@@ -86,6 +86,11 @@ gst_element_request_pad_by_name() or gst_element_request_compatible_pad().
</para>
+@object:
+@name_template:
+@direction:
+@presence:
+@caps:
<!-- ##### MACRO GST_PADTEMPLATE_CAPS ##### -->
<para>
@@ -202,11 +207,3 @@ Get the padtemplate of the factory created with GST_PADTEMPLATE_FACTORY()
@Returns:
-<!-- ##### SIGNAL GstPadTemplate::pad-created ##### -->
-<para>
-
-</para>
-
-@gstpadtemplate: the object which received the signal.
-@arg1:
-
diff --git a/docs/gst/tmpl/gstparse.sgml b/docs/gst/tmpl/gstparse.sgml
index 44961a548f..88ba7cbd1a 100644
--- a/docs/gst/tmpl/gstparse.sgml
+++ b/docs/gst/tmpl/gstparse.sgml
@@ -44,6 +44,15 @@ can be made with <option>{}</option>.
</para>
+<!-- ##### ENUM GstParseErrors ##### -->
+<para>
+
+</para>
+
+@GST_PARSE_ERROR_SYNTAX:
+@GST_PARSE_ERROR_CREATING_ELEMENT:
+@GST_PARSE_ERROR_NOSUCH_ELEMENT:
+
<!-- ##### FUNCTION gst_parse_launch ##### -->
<para>
diff --git a/docs/gst/tmpl/gstreamer-unused.sgml b/docs/gst/tmpl/gstreamer-unused.sgml
index 900eee8d71..3d585603ea 100644
--- a/docs/gst/tmpl/gstreamer-unused.sgml
+++ b/docs/gst/tmpl/gstreamer-unused.sgml
@@ -1453,6 +1453,87 @@ Get the QoS function of the real pad.
@pad: the real pad to query.
+<!-- ##### MACRO GST_SCHEDULE_ADD_ELEMENT ##### -->
+<para>
+Fast macro to add an element to the scheduler.
+</para>
+
+@sched: The scheduler to add the element to.
+@element: The element to add to the scheduler.
+
+<!-- ##### MACRO GST_SCHEDULE_DISABLE_ELEMENT ##### -->
+<para>
+Fast macro to disable the element.
+</para>
+
+@sched: The scheduler.
+@element: The element to disable.
+
+<!-- ##### MACRO GST_SCHEDULE_ENABLE_ELEMENT ##### -->
+<para>
+Fast macro to enable the element in the scheduler.
+</para>
+
+@sched: The scheduler.
+@element: The element to activate.
+
+<!-- ##### MACRO GST_SCHEDULE_ITERATE ##### -->
+<para>
+Fast macro to perform one iteration of the scheduler.
+</para>
+
+@sched: The scheduler to iterate.
+
+<!-- ##### MACRO GST_SCHEDULE_LOCK_ELEMENT ##### -->
+<para>
+Fast macro to lock a given element.
+</para>
+
+@sched: The scheduler.
+@element: The element to lock.
+
+<!-- ##### MACRO GST_SCHEDULE_PAD_CONNECT ##### -->
+<para>
+Fast macro to connect two pads.
+</para>
+
+@sched: The scheduler.
+@srcpad: The source pad.
+@sinkpad: The sink pad.
+
+<!-- ##### MACRO GST_SCHEDULE_PAD_DISCONNECT ##### -->
+<para>
+Fast macro to disconnect two pads.
+</para>
+
+@sched: The scheduler.
+@srcpad: The source pad.
+@sinkpad: The sink pad.
+
+<!-- ##### MACRO GST_SCHEDULE_REMOVE_ELEMENT ##### -->
+<para>
+Fast macro to remove an element from the scheduler.
+</para>
+
+@sched: The scheduler to remove the element from.
+@element: The element to remove from the scheduler.
+
+<!-- ##### MACRO GST_SCHEDULE_SAFETY ##### -->
+<para>
+Handy macro to check for a non NULL scheduler. The next block of statements
+will only be axecuted if the scheduler is not NULL.
+</para>
+
+@sched: the scheduler to query.
+
+<!-- ##### MACRO GST_SCHEDULE_UNLOCK_ELEMENT ##### -->
+<para>
+Fast macro to unlock a given element.
+</para>
+
+@sched: The scheduler.
+@element: The element to unlock.
+
<!-- ##### MACRO GST_SHOW_INFO ##### -->
<para>
@@ -2417,6 +2498,23 @@ Get the size of the file.
</para>
+<!-- ##### SIGNAL GstElement::ghost-pad-removed ##### -->
+<para>
+
+</para>
+
+@gstelement: the object which received the signal.
+@arg1: The ghost pad that was removed.
+
+<!-- ##### SIGNAL GstElement::new-ghost-pad ##### -->
+<para>
+
+Is trigered whenever a new ghost pad is added to an element
+</para>
+
+@gstelement: the object which received the signal.
+@arg1: the new ghost pad that was added
+
<!-- ##### STRUCT GstElementClass ##### -->
<para>
@@ -2628,6 +2726,14 @@ The function that will be called when a QoS message is sent.
@pad: the pad that sent the QoS message
@qos_message: the message
+<!-- ##### SIGNAL GstPadTemplate::pad-created ##### -->
+<para>
+
+</para>
+
+@gstpadtemplate: the object which received the signal.
+@arg1:
+
<!-- ##### STRUCT GstPipelineClass ##### -->
<para>
@@ -2694,6 +2800,19 @@ Specify wether the queue blocks or not.
</para>
+<!-- ##### STRUCT GstScheduleChain ##### -->
+<para>
+
+</para>
+
+@sched:
+@disabled:
+@elements:
+@num_elements:
+@entry:
+@cothreaded_elements:
+@schedule:
+
<!-- ##### STRUCT GstSineSrc ##### -->
<para>
@@ -2808,6 +2927,13 @@ Flags for the GstSrc element
</para>
+<!-- ##### ARG GstThread:create-thread ##### -->
+<para>
+TRUE if the thread should be created.
+
+</para>
+
+
<!-- ##### STRUCT GstThreadClass ##### -->
<para>
@@ -4788,6 +4914,95 @@ Call the EOS function of the pad
@connection:
+<!-- ##### FUNCTION gst_schedule_add_element ##### -->
+<para>
+
+</para>
+
+@sched:
+@element:
+
+<!-- ##### FUNCTION gst_schedule_disable_element ##### -->
+<para>
+
+</para>
+
+@sched:
+@element:
+
+<!-- ##### FUNCTION gst_schedule_enable_element ##### -->
+<para>
+
+</para>
+
+@sched:
+@element:
+
+<!-- ##### FUNCTION gst_schedule_iterate ##### -->
+<para>
+
+</para>
+
+@sched:
+@Returns:
+
+<!-- ##### FUNCTION gst_schedule_new ##### -->
+<para>
+
+</para>
+
+@parent:
+@Returns:
+
+<!-- ##### FUNCTION gst_schedule_pad_connect ##### -->
+<para>
+
+</para>
+
+@sched:
+@srcpad:
+@sinkpad:
+
+<!-- ##### FUNCTION gst_schedule_pad_disconnect ##### -->
+<para>
+
+</para>
+
+@sched:
+@srcpad:
+@sinkpad:
+
+<!-- ##### FUNCTION gst_schedule_pad_select ##### -->
+<para>
+
+</para>
+
+@sched:
+@padlist:
+@Returns:
+
+<!-- ##### FUNCTION gst_schedule_remove_element ##### -->
+<para>
+
+</para>
+
+@sched:
+@element:
+
+<!-- ##### FUNCTION gst_schedule_show ##### -->
+<para>
+
+</para>
+
+@sched:
+
+<!-- ##### FUNCTION gst_schedulerfactory_get_type ##### -->
+<para>
+
+</para>
+
+@Returns:
+
<!-- ##### FUNCTION gst_sinesrc_get_type ##### -->
<para>
diff --git a/docs/gst/tmpl/gstscheduler.sgml b/docs/gst/tmpl/gstscheduler.sgml
index 378604017b..132cb46f6e 100644
--- a/docs/gst/tmpl/gstscheduler.sgml
+++ b/docs/gst/tmpl/gstscheduler.sgml
@@ -23,120 +23,25 @@ Get the parent #GstElement of this scheduler.
@sched: the scheduler to query.
-<!-- ##### STRUCT GstScheduleChain ##### -->
+<!-- ##### FUNCTION gst_scheduler_add_element ##### -->
<para>
</para>
@sched:
-@disabled:
-@elements:
-@num_elements:
-@entry:
-@cothreaded_elements:
-@schedule:
-
-<!-- ##### MACRO GST_SCHEDULE_SAFETY ##### -->
-<para>
-Handy macro to check for a non NULL scheduler. The next block of statements
-will only be axecuted if the scheduler is not NULL.
-</para>
-
-@sched: the scheduler to query.
-
-
-<!-- ##### MACRO GST_SCHEDULE_ADD_ELEMENT ##### -->
-<para>
-Fast macro to add an element to the scheduler.
-</para>
-
-@sched: The scheduler to add the element to.
-@element: The element to add to the scheduler.
-
-
-<!-- ##### MACRO GST_SCHEDULE_REMOVE_ELEMENT ##### -->
-<para>
-Fast macro to remove an element from the scheduler.
-</para>
-
-@sched: The scheduler to remove the element from.
-@element: The element to remove from the scheduler.
-
-
-<!-- ##### MACRO GST_SCHEDULE_ENABLE_ELEMENT ##### -->
-<para>
-Fast macro to enable the element in the scheduler.
-</para>
-
-@sched: The scheduler.
-@element: The element to activate.
-
-
-<!-- ##### MACRO GST_SCHEDULE_DISABLE_ELEMENT ##### -->
-<para>
-Fast macro to disable the element.
-</para>
-
-@sched: The scheduler.
-@element: The element to disable.
-
-
-<!-- ##### MACRO GST_SCHEDULE_LOCK_ELEMENT ##### -->
-<para>
-Fast macro to lock a given element.
-</para>
-
-@sched: The scheduler.
-@element: The element to lock.
-
-
-<!-- ##### MACRO GST_SCHEDULE_UNLOCK_ELEMENT ##### -->
-<para>
-Fast macro to unlock a given element.
-</para>
-
-@sched: The scheduler.
-@element: The element to unlock.
-
-
-<!-- ##### MACRO GST_SCHEDULE_PAD_CONNECT ##### -->
-<para>
-Fast macro to connect two pads.
-</para>
-
-@sched: The scheduler.
-@srcpad: The source pad.
-@sinkpad: The sink pad.
-
-
-<!-- ##### MACRO GST_SCHEDULE_PAD_DISCONNECT ##### -->
-<para>
-Fast macro to disconnect two pads.
-</para>
-
-@sched: The scheduler.
-@srcpad: The source pad.
-@sinkpad: The sink pad.
-
-
-<!-- ##### MACRO GST_SCHEDULE_ITERATE ##### -->
-<para>
-Fast macro to perform one iteration of the scheduler.
-</para>
-
-@sched: The scheduler to iterate.
+@element:
-<!-- ##### FUNCTION gst_schedule_new ##### -->
+<!-- ##### FUNCTION gst_scheduler_remove_element ##### -->
<para>
</para>
-@parent:
-@Returns:
+@sched:
+@element:
-<!-- ##### FUNCTION gst_schedule_add_element ##### -->
+<!-- ##### FUNCTION gst_scheduler_enable_element ##### -->
<para>
</para>
@@ -145,7 +50,7 @@ Fast macro to perform one iteration of the scheduler.
@element:
-<!-- ##### FUNCTION gst_schedule_remove_element ##### -->
+<!-- ##### FUNCTION gst_scheduler_disable_element ##### -->
<para>
</para>
@@ -154,68 +59,68 @@ Fast macro to perform one iteration of the scheduler.
@element:
-<!-- ##### FUNCTION gst_schedule_enable_element ##### -->
+<!-- ##### FUNCTION gst_scheduler_pad_connect ##### -->
<para>
</para>
@sched:
-@element:
+@srcpad:
+@sinkpad:
-<!-- ##### FUNCTION gst_schedule_disable_element ##### -->
+<!-- ##### FUNCTION gst_scheduler_pad_disconnect ##### -->
<para>
</para>
@sched:
-@element:
+@srcpad:
+@sinkpad:
-<!-- ##### FUNCTION gst_schedule_pad_connect ##### -->
+<!-- ##### FUNCTION gst_scheduler_pad_select ##### -->
<para>
</para>
@sched:
-@srcpad:
-@sinkpad:
+@padlist:
+@Returns:
-<!-- ##### FUNCTION gst_schedule_pad_disconnect ##### -->
+<!-- ##### FUNCTION gst_scheduler_iterate ##### -->
<para>
</para>
@sched:
-@srcpad:
-@sinkpad:
+@Returns:
-<!-- ##### FUNCTION gst_schedule_pad_select ##### -->
+<!-- ##### FUNCTION gst_scheduler_show ##### -->
<para>
</para>
@sched:
-@padlist:
-@Returns:
-<!-- ##### FUNCTION gst_schedule_iterate ##### -->
+<!-- ##### FUNCTION gst_scheduler_lock_element ##### -->
<para>
</para>
@sched:
-@Returns:
+@element:
-<!-- ##### FUNCTION gst_schedule_show ##### -->
+<!-- ##### FUNCTION gst_scheduler_unlock_element ##### -->
<para>
</para>
@sched:
+@element:
diff --git a/docs/gst/tmpl/gstschedulerfactory.sgml b/docs/gst/tmpl/gstschedulerfactory.sgml
new file mode 100644
index 0000000000..7a02fb8806
--- /dev/null
+++ b/docs/gst/tmpl/gstschedulerfactory.sgml
@@ -0,0 +1,89 @@
+<!-- ##### SECTION Title ##### -->
+GstSchedulerFactory
+
+<!-- ##### SECTION Short_Description ##### -->
+Create schedulers from a factory
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+A schedulerfactory is used to create instances of a scheduler. It
+can be added to a #GstPlugin as it extends #GstPluginFeature.
+</para>
+<para>
+Use gst_schedulerfactory_new() to create a new scheduler which can be registered
+to a plugin with gst_plugin_add_feature().
+</para>
+<para>
+Use gst_schedulerfactory_find() to find the named schedulerfactory.
+or use gst_schedulerfactory_get_list() to get a list of all available schedulers.
+</para>
+<para>
+Once an schedulerfactory has been obtained use gst_schedulerfactory_create() to
+instantiate a real scheduler. Optionally gst_schedulerfactory_make() to create
+a scheduler from the named factory.
+</para>
+<para>
+Use gst_schedulerfactory_destroy() to remove the factory from the global list.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION gst_schedulerfactory_create ##### -->
+<para>
+
+</para>
+
+@factory:
+@parent:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_schedulerfactory_destroy ##### -->
+<para>
+
+</para>
+
+@factory:
+
+
+<!-- ##### FUNCTION gst_schedulerfactory_find ##### -->
+<para>
+
+</para>
+
+@name:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_schedulerfactory_get_list ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gst_schedulerfactory_make ##### -->
+<para>
+
+</para>
+
+@name:
+@parent:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_schedulerfactory_new ##### -->
+<para>
+
+</para>
+
+@name:
+@longdesc:
+@type:
+@Returns:
+
+
diff --git a/docs/gst/tmpl/gststatistics.sgml b/docs/gst/tmpl/gststatistics.sgml
new file mode 100644
index 0000000000..0966d3e7f5
--- /dev/null
+++ b/docs/gst/tmpl/gststatistics.sgml
@@ -0,0 +1,69 @@
+<!-- ##### SECTION Title ##### -->
+GstStatistics
+
+<!-- ##### SECTION Short_Description ##### -->
+Provide statistics about data that passes this plugin
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The plugin doesn't alter the data but provides statistics about
+the data stream, such as buffers/bytes/events etc.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SIGNAL GstStatistics::update ##### -->
+<para>
+
+</para>
+
+@gststatistics: the object which received the signal.
+
+<!-- ##### ARG GstStatistics:buffers ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstStatistics:bytes ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstStatistics:events ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstStatistics:buffer-update-freq ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstStatistics:bytes-update-freq ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstStatistics:event-update-freq ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstStatistics:update-on-eos ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstStatistics:update ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstStatistics:silent ##### -->
+<para>
+
+</para>
+
diff --git a/docs/gst/tmpl/gstthread.sgml b/docs/gst/tmpl/gstthread.sgml
index 29151cb704..85f271d45b 100644
--- a/docs/gst/tmpl/gstthread.sgml
+++ b/docs/gst/tmpl/gstthread.sgml
@@ -23,11 +23,9 @@ to be dealt with in the separate thread.
Thread flags:
</para>
-@GST_THREAD_CREATE: The thread is being created.
@GST_THREAD_STATE_STARTED:
@GST_THREAD_STATE_SPINNING: The thread is runnning
@GST_THREAD_STATE_REAPING: The thread is ending.
-@GST_THREAD_STATE_ELEMENT_CHANGED:
@GST_THREAD_FLAG_LAST: subclass use this to start their enumeration
<!-- ##### STRUCT GstThread ##### -->
@@ -45,9 +43,3 @@ Thread flags:
@Returns:
-<!-- ##### ARG GstThread:create-thread ##### -->
-<para>
-TRUE if the thread should be created.
-
-</para>
-
diff --git a/editor/Makefile.am b/editor/Makefile.am
index 139d31c3bb..38554b803c 100644
--- a/editor/Makefile.am
+++ b/editor/Makefile.am
@@ -1,4 +1,3 @@
-
lib_LTLIBRARIES = libgsteditor.la
libgsteditor_la_SOURCES = \
@@ -26,6 +25,7 @@ libgsteditorinclude_HEADERS = \
bin_PROGRAMS = gsteditor
gsteditor_SOURCES = editor.c
+
gsteditor_CFLAGS = $(GST_CFLAGS) $(GNOME_CFLAGS) $(LIBGLADE_GNOME_CFLAGS)
gsteditor_LDADD = $(GST_LIBS) $(GNOME_LIBS) $(LIBGLADE_GNOME_LIBS) libgsteditor.la
diff --git a/gst/autoplug/Makefile.am b/gst/autoplug/Makefile.am
index f0b185f69a..a668503c5a 100644
--- a/gst/autoplug/Makefile.am
+++ b/gst/autoplug/Makefile.am
@@ -13,10 +13,10 @@ libgststaticautoplugrender_la_LDFLAGS = -version-info $(GST_LIBVERSION)
libgstautoplugcache_la_LDFLAGS = -version-info $(GST_LIBVERSION)
libgstautoplugger_la_LDFLAGS = -version-info $(GST_LIBVERSION)
-libgststaticautoplug_la_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS)
-libgststaticautoplugrender_la_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS)
-libgstautoplugcache_la_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS)
-libgstautoplugger_la_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS)
+libgststaticautoplug_la_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
+libgststaticautoplugrender_la_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
+libgstautoplugcache_la_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
+libgstautoplugger_la_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
noinst_HEADERS = gststaticautoplug.h gststaticautoplugrender.h
diff --git a/gst/gstbin.c b/gst/gstbin.c
index 579fce9a9a..07c5610d8b 100644
--- a/gst/gstbin.c
+++ b/gst/gstbin.c
@@ -256,6 +256,9 @@ void
gst_bin_add (GstBin *bin,
GstElement *element)
{
+ gint state_idx = 0;
+ GstElementState state;
+
g_return_if_fail (bin != NULL);
g_return_if_fail (GST_IS_BIN (bin));
g_return_if_fail (element != NULL);
@@ -280,6 +283,11 @@ gst_bin_add (GstBin *bin,
bin->children = g_list_append (bin->children, element);
bin->numchildren++;
+ // bump our internal state counter
+ state = GST_STATE (element);
+ while (state>>=1) state_idx++;
+ bin->child_states[state_idx]++;
+
///// now we have to deal with manager stuff
// we can only do this if there's a scheduler:
// if we're not a manager, and aren't attached to anything, we have no sched (yet)
@@ -306,6 +314,9 @@ void
gst_bin_remove (GstBin *bin,
GstElement *element)
{
+ gint state_idx = 0;
+ GstElementState state;
+
g_return_if_fail (bin != NULL);
g_return_if_fail (GST_IS_BIN (bin));
g_return_if_fail (element != NULL);
@@ -332,6 +343,11 @@ gst_bin_remove (GstBin *bin,
bin->children = g_list_remove (bin->children, element);
bin->numchildren--;
+ // bump our internal state counter
+ state = GST_STATE (element);
+ while (state>>=1) state_idx++;
+ bin->child_states[state_idx]--;
+
GST_INFO_ELEMENT (GST_CAT_PARENTAGE, bin, "removed child %s", GST_ELEMENT_NAME (element));
gst_object_unparent (GST_OBJECT (element));
@@ -711,7 +727,7 @@ gst_bin_iterate (GstBin *bin)
if (oclass->iterate)
running = (oclass->iterate) (bin);
- GST_DEBUG_LEAVE("(\"%s\")",GST_ELEMENT_NAME (bin));
+ GST_DEBUG_LEAVE("(\"%s\") %d",GST_ELEMENT_NAME (bin), running);
if (!running) {
if (GST_STATE (bin) == GST_STATE_PLAYING && GST_STATE_PENDING (bin) == GST_STATE_VOID_PENDING) {
diff --git a/gst/gstelement.c b/gst/gstelement.c
index bcf8d50f3c..e180f025df 100644
--- a/gst/gstelement.c
+++ b/gst/gstelement.c
@@ -798,6 +798,12 @@ gst_element_wait_done (GstElement *element, GstElementState old, GstElementState
g_cond_signal (cond);
}
+/**
+ * gst_element_wait_state_change:
+ * @element: element wait for
+ *
+ * Wait and block until the element changed its state.
+ */
void
gst_element_wait_state_change (GstElement *element)
{
diff --git a/gst/gstpad.c b/gst/gstpad.c
index a0d6558aca..19be16bae1 100644
--- a/gst/gstpad.c
+++ b/gst/gstpad.c
@@ -1956,6 +1956,13 @@ gst_ghost_pad_new (gchar *name,
}
+/**
+ * gst_pad_event_default:
+ * @pad: the pad to operate on
+ * @event: the event to handle
+ *
+ * Invoke the default event handler for the given pad.
+ */
void
gst_pad_event_default (GstPad *pad, GstEvent *event)
{
diff --git a/gst/gstparse.c b/gst/gstparse.c
index bf8ffd7ea6..8b6ece39a6 100644
--- a/gst/gstparse.c
+++ b/gst/gstparse.c
@@ -67,6 +67,7 @@ gst_parse_newpad(GstElement *element,GstPad *pad,launch_delayed_pad *peer)
typedef struct {
gchar *srcpadname;
GstPad *target;
+ GstElement *pipeline;
} dyn_connect;
static void have_eos (void)
@@ -81,7 +82,9 @@ dynamic_connect (GstElement *element, GstPad *newpad, gpointer data)
dyn_connect *connect = (dyn_connect *)data;
if (!strcmp (gst_pad_get_name (newpad), connect->srcpadname)) {
+ gst_element_set_state (connect->pipeline, GST_STATE_PAUSED);
gst_pad_connect (newpad, connect->target);
+ gst_element_set_state (connect->pipeline, GST_STATE_PLAYING);
}
}
@@ -375,6 +378,7 @@ gst_parse_launch_cmdline(int argc,char *argv[],GstBin *parent,gst_parse_priv *pr
connect->srcpadname = srcpadname;
connect->target = GST_PARSE_LISTPAD(sinkpads);
+ connect->pipeline = parent;
GST_DEBUG(0,"SETTING UP dynamic connection %s:%s and %s:%s\n",
gst_element_get_name (previous),
diff --git a/gst/gstscheduler.c b/gst/gstscheduler.c
index d11c93410c..7166646003 100644
--- a/gst/gstscheduler.c
+++ b/gst/gstscheduler.c
@@ -169,6 +169,13 @@ gst_scheduler_remove_element (GstScheduler *sched, GstElement *element)
CLASS (sched)->remove_element (sched, element);
}
+/**
+ * gst_scheduler_lock_element:
+ * @sched: the schedulerr
+ * @element: the element to lock
+ *
+ * Acquire a lock on the given element in the given scheduler.
+ */
void
gst_scheduler_lock_element (GstScheduler *sched, GstElement *element)
{
@@ -176,6 +183,13 @@ gst_scheduler_lock_element (GstScheduler *sched, GstElement *element)
CLASS (sched)->lock_element (sched, element);
}
+/**
+ * gst_scheduler_unlock_element:
+ * @sched: the schedulerr
+ * @element: the element to unlock
+ *
+ * Release the lock on the given element in the given scheduler.
+ */
void
gst_scheduler_unlock_element (GstScheduler *sched, GstElement *element)
{
@@ -373,9 +387,10 @@ gst_schedulerfactory_get_list (void)
/**
* gst_schedulerfactory_create:
* @factory: the factory used to create the instance
+ * @parent: the parent element of this scheduler
*
* Create a new #GstScheduler instance from the
- * given schedulerfactory.
+ * given schedulerfactory with the given parent.
*
* Returns: A new #GstScheduler instance.
*/
@@ -399,9 +414,10 @@ gst_schedulerfactory_create (GstSchedulerFactory *factory, GstElement *parent)
/**
* gst_schedulerfactory_make:
* @name: the name of the factory used to create the instance
+ * @parent: the parent element of this scheduler
*
* Create a new #GstScheduler instance from the
- * schedulerfactory with the given name.
+ * schedulerfactory with the given name and parent.
*
* Returns: A new #GstScheduler instance.
*/
diff --git a/gst/schedulers/Makefile.am b/gst/schedulers/Makefile.am
index 824b5ed862..fd889a2357 100644
--- a/gst/schedulers/Makefile.am
+++ b/gst/schedulers/Makefile.am
@@ -6,4 +6,4 @@ libgstbasicscheduler_la_SOURCES = gstbasicscheduler.c
libgstbasicscheduler_la_LDFLAGS = -version-info $(GST_LIBVERSION)
-libgstbasicscheduler_la_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS)
+libgstbasicscheduler_la_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
diff --git a/gst/types/Makefile.am b/gst/types/Makefile.am
index cf6ae60bd0..d73b3e2d1a 100644
--- a/gst/types/Makefile.am
+++ b/gst/types/Makefile.am
@@ -4,6 +4,6 @@ filter_LTLIBRARIES = libgsttypes.la
libgsttypes_la_SOURCES = gsttypes.c
-libgsttypes_la_CFLAGS = $(XML_CFLAGS) $(GLIB_CFLAGS)
-libgsttypes_la_LIBADD = $(XML_LIBS) $(GLIB_LIBS)
+libgsttypes_la_CFLAGS = $(GST_CFLAGS)
+libgsttypes_la_LIBADD = $(GST_LIBS)
libgsttypes_la_LDFLAGS = -version-info $(GST_LIBVERSION)
diff --git a/gstplay/ChangeLog b/gstplay/ChangeLog
index 232e5227d5..3de970b1b6 100644
--- a/gstplay/ChangeLog
+++ b/gstplay/ChangeLog
@@ -1,3 +1,22 @@
+2001-12-06 Arik Devens <arik@gnome.org>
+
+ * gstmediaplay.c (window_key_press_event): Added a case for
+ alt+return setting fullscreen to simulate the behavior of windows
+ media player.
+
+2001-12-06 Arik Devens <arik@gnome.org>
+
+ * gstmediaplay.c (window_key_press_event): Added a case for the m
+ key to switch in and out of fullscreen.
+
+2001-12-06 Arik Devens <arik@gnome.org>
+
+ * gstmediaplay.c (fullscreen_key_press_event): Added a case for
+ the q key to switch out of fullscreen.
+ (gst_media_play_init): Added signal connect for catching key
+ events.
+ (window_key_press_event): On space pause / play the media.
+
2001-12-04 Arik Devens <arik@gnome.org>
This is a minor update on a few things while i work on getting the
diff --git a/gstplay/gstmediaplay.c b/gstplay/gstmediaplay.c
index b468caae92..32fb5b1815 100644
--- a/gstplay/gstmediaplay.c
+++ b/gstplay/gstmediaplay.c
@@ -10,6 +10,8 @@
static void gst_media_play_class_init (GstMediaPlayClass *klass);
static void gst_media_play_init (GstMediaPlay *play);
+static int window_key_press_event (GtkWidget *widget, GdkEventKey *event, GstMediaPlay *mplay);
+
static void gst_media_play_set_arg (GtkObject *object, GtkArg *arg, guint id);
static void gst_media_play_get_arg (GtkObject *object, GtkArg *arg, guint id);
@@ -160,6 +162,9 @@ gst_media_play_init (GstMediaPlay *mplay)
mplay->window = glade_xml_get_widget (mplay->xml, "gstplay");
g_assert (mplay->window != NULL);
+ gtk_signal_connect (GTK_OBJECT (mplay->window), "key_press_event",
+ (GtkSignalFunc) window_key_press_event, mplay);
+
gtk_drag_dest_set (mplay->window,
GTK_DEST_DEFAULT_ALL,
target_table, 1,
@@ -201,6 +206,44 @@ gst_media_play_init (GstMediaPlay *mplay)
mplay->last_time = 0;
}
+static int
+window_key_press_event (GtkWidget *widget,
+ GdkEventKey *event,
+ GstMediaPlay *mplay)
+{
+ guint state;
+
+ state = event->state;
+
+ switch (event->keyval) {
+ case GDK_space:
+ if (mplay->play->state == GST_PLAY_PLAYING)
+ {
+ gdk_threads_leave ();
+ gst_play_pause (mplay->play);
+ gdk_threads_enter ();
+ update_buttons (mplay, GST_PLAY_STATE(mplay->play));
+ }
+ else if (mplay->play->state == GST_PLAY_PAUSED)
+ {
+ gdk_threads_leave ();
+ gst_play_play (mplay->play);
+ gdk_threads_enter ();
+ update_buttons (mplay, GST_PLAY_STATE(mplay->play));
+ }
+ break;
+ case GDK_m:
+ gst_media_play_set_fullscreen (mplay);
+ break;
+ case GDK_Return:
+ if (state & GDK_MOD1_MASK)
+ gst_media_play_set_fullscreen (mplay);
+ break;
+ }
+
+ return TRUE;
+}
+
GstMediaPlay *
gst_media_play_new ()
{
@@ -493,6 +536,9 @@ fullscreen_key_press_event (GtkWidget *widget,
case GDK_Escape:
gst_media_play_set_fullscreen (mplay);
break;
+ case GDK_q:
+ gst_media_play_set_fullscreen (mplay);
+ break;
}
return TRUE;
diff --git a/gstreamer.spec.in b/gstreamer.spec.in
index 62acad1208..b70bd09b0a 100644
--- a/gstreamer.spec.in
+++ b/gstreamer.spec.in
@@ -1,6 +1,6 @@
%define name gstreamer
%define ver @VERSION@
-%define rel 2
+%define rel 1
%define prefix /usr
%define sysconfdir /etc
@@ -35,11 +35,8 @@ plugins.
%{prefix}/lib/lib*.so*
%{prefix}/lib/gst/libadder*
%{prefix}/lib/gst/libalaw*
-%{prefix}/lib/gst/libaudioscale*
-# %{prefix}/lib/gst/libcutter*
%{prefix}/lib/gst/libgstaudio*
%{prefix}/lib/gst/libcolorspace*
-# %{prefix}/lib/gst/libgstcolorspace*
%{prefix}/lib/gst/libgstautoplug*
%{prefix}/lib/gst/libgstelements*
%{prefix}/lib/gst/libgstgetbits*
@@ -56,14 +53,16 @@ plugins.
%{prefix}/lib/gst/libstereo*
%{prefix}/lib/gst/libsystem_*
%{prefix}/lib/gst/libgstputbits*
-# %{prefix}/lib/gst/libvideoscale*
-# %{prefix}/lib/gst/libgstvideoscale*
%{prefix}/lib/gst/libvol*
%{prefix}/lib/gst/libxvideosink*
%{prefix}/lib/gst/libgstparsewav*
%{prefix}/lib/gst/libgststaticautoplug*
%{prefix}/lib/gst/libgsttypes*
-%{prefix}/lib/gst/liblavencode*
+%{prefix}/lib/gst/libgstbasicscheduler*
+%{prefix}/lib/gst/libgstbytestream*
+%{prefix}/lib/gst/libgstcontrol*
+%{prefix}/lib/gst/libplayondemand*
+%{prefix}/lib/gst/libspeed*
%{prefix}/man/man1/*
%package devel
@@ -122,6 +121,7 @@ Output plugin for GStreamer for use with the esound package
Summary: Gstreamer plugin for Ascii-art output
Group: Libraries/Multimedia
Requires: aalib >= 1.3
+BuildRequires: aalib-devel >= 1.3
Requires: %{name} = %{ver}
%description -n gstreamer-aalib
@@ -148,7 +148,7 @@ Plugin for supporting reading and writing all files audiofile support
Summary: Gstreamer plugin for AVI format movie playback
Group: Libraries/Multimedia
Requires: %{name} = %{ver}
-Requires: avifile = 0.53.5
+Requires: avifile = 0.6.20011111DD
%description -n gstreamer-avi
Plugins for playback of AVI format media files.
@@ -163,9 +163,10 @@ Summary: Gstreamer plugin for CD audio input using CDParanoia IV
Group: Libraries/Multimedia
Requires: cdparanoia >= alpha9.7
Requires: %{name} = %{ver}
+BuildRequires: cdparanoia-devel >= alpha9.7
%description -n gstreamer-cdparanoia
-Plugin for ripping audio tracks using cdparania under GStreamer
+Plugin for ripping audio tracks using cdparanoia under GStreamer
%files -n gstreamer-cdparanoia
%defattr(-, root, root)
@@ -204,21 +205,21 @@ Requires: festival >= 1.4.1
%description -n gstreamer-festival
Element for text-to-speech using the festival server.
-# %files -n gstreamer-festival
-# %defattr(-, root, root)
-# %{prefix}/lib/gst/libfestivalll*
+%files -n gstreamer-festival
+%defattr(-, root, root)
+%{prefix}/lib/gst/libgstfestival*
-# %package -n gstreamer-flac
-# Summary: Gstreamer plugin for FLAC lossless audio format
-# Group: Libraries/Multimedia
-# Requires: %{name} = %{ver}
+%package -n gstreamer-flac
+Summary: Gstreamer plugin for FLAC lossless audio format
+Group: Libraries/Multimedia
+Requires: %{name} = %{ver}
-# %description -n gstreamer-flac
-# Plugin for the free FLAC lossless audioformat.
+%description -n gstreamer-flac
+Plugin for the free FLAC lossless audio format.
-# %files -n gstreamer-flac
-# %defattr(-, root, root)
-# %{prefix}/lib/gst/libflacccc*
+%files -n gstreamer-flac
+%defattr(-, root, root)
+%{prefix}/lib/gst/libgstflac*
%package -n gstreamer-flx
Summary: Gstreamer plugin for FLI/FLX animation format
@@ -255,6 +256,7 @@ Summary: GStreamer plugins for GNOME VFS input and output
Group: Libraries/Multimedia
Requires: gnome-vfs > 1.0
Requires: %{name} = %{ver}
+BuildRequires: gnome-vfs-devel > 1.0
%description -n gstreamer-gnomevfs
Plugins for reading and writing through GNOME VFS.
@@ -301,7 +303,6 @@ Plugins for playing mpeg level 2 encoded movies
%files -n gstreamer-mpeg2
%defattr(-, root, root)
-%{prefix}/lib/gst/libmpeg2parse*
%{prefix}/lib/gst/libmpeg2play*
%{prefix}/lib/gst/libmpeg2enc*
%{prefix}/lib/gst/libmpeg2subt*
@@ -318,7 +319,7 @@ Plugins for playing mpeg level 2 encoded movies
%files -n gstreamer-mpeg2dec
%defattr(-, root, root)
-%{prefix}/lib/gst/libmpeg2dec*
+%{prefix}/lib/gst/libgstmpeg2dec*
%package -n gstreamer-mp3
Summary: GStreamer plugins for mp3 playback
@@ -327,8 +328,8 @@ Requires: %{name} = %{ver}
%description -n gstreamer-mp3
Plugins for decoding mp3 files. We do recommend you
-use Ogg Vorbis format instead however since it is both free and
-better.
+use Ogg Vorbis format instead however since it is both unencumbered by patents
+and better.
%files -n gstreamer-mp3
%defattr(-, root, root)
@@ -356,7 +357,7 @@ Requires: libvorbis >= 1.0beta4
Requires: %{name} = %{ver}
%description -n gstreamer-vorbis
-Plugins for creating end playing Ogg Vorbis audio files.
+Plugins for creating and playing Ogg Vorbis audio files.
%files -n gstreamer-vorbis
%defattr(-, root, root)
@@ -367,6 +368,7 @@ Summary: Gstreamer plugin for outputing to SDL
Group: Libraries/Multimedia
Requires: SDL >= 1.2.0
Requires: %{name} = %{ver}
+BuildRequires: SDL-devel >= 1.2.0
%description -n gstreamer-sdl
Plugin for sending output to the Simple Direct Media architecture.
@@ -383,7 +385,7 @@ Requires: %{name} = %{ver}
%description -n gstreamer-oss
Plugins for output and input to the OpenSoundSytem audio
-drivers found in the Linux kernels or comercially available
+drivers found in the Linux kernels or commercially available
from OpenSound.
%files -n gstreamer-oss
@@ -450,7 +452,7 @@ Group: Libraries/Multimedia
Requires: %{name} = %{ver}
%description -n gstreamer-v4l
-Plugin for inputing video for Linux streams.
+Plugin for accessing video for Linux streams.
%files -n gstreamer-v4l
%defattr(-, root, root)
@@ -480,16 +482,27 @@ Video CD playback plugin
%defattr(-, root, root)
%{prefix}/lib/gst/libvcd*
-# %package -n gstreamer-alsa
-# Summary: GStreamer plugins for the ALSA sound architecture
-# Group: Libraries/Multimedia
+%package -n gstreamer-alsa
+Summary: GStreamer plugins for the ALSA sound architecture
+Group: Libraries/Multimedia
-# %description -n gstreamer-alsa
-# Input and output plugin for the ALSA soundcard driver architecture.
+%description -n gstreamer-alsa
+Input and output plugin for the ALSA soundcard driver architecture.
-# %files -n gstreamer-alsa
-# %defattr(-, root, root)
-# %{prefix}/lib/gst/libalsa*
+%files -n gstreamer-alsa
+%defattr(-, root, root)
+%{prefix}/lib/gst/libdvd*
+
+%package -n gstreamer-libdvd
+Summary: GStreamer plugins for DVD playback
+Group: Libraries/Multimedia
+
+%description -n gstreamer-libdvd
+Input and output plugin for the ALSA soundcard driver architecture.
+
+%files -n gstreamer-libdvd
+%defattr(-, root, root)
+%{prefix}/lib/gst/libdvd*
%package -n gstreamer-au
Summary: GStreamer au audiofile plugin
@@ -503,7 +516,137 @@ Plugin for playback of the SUN au audio format.
%defattr(-, root, root)
%{prefix}/lib/gst/libgstparseau*
+%package -n gstreamer-a52dec
+Summary: GStreamer VOB decoder plugin
+Group: Libraries/Multimedia
+Requires: %{name} = %{ver}
+
+%description -n gstreamer-a52dec
+Plugin for decoding of VOB files
+
+%files -n gstreamer-a52dec
+%defattr(-, root, root)
+%{prefix}/lib/gst/libgsta52dec*
+
+%package -n gstreamer-bstest
+Summary: GStreamer BS test package
+Group: Libraries/Multimedia
+Requires: %{name} = %{ver}
+
+%description -n gstreamer-bstest
+Plugin for ByteStream testing of GStreamer
+
+%files -n gstreamer-bstest
+%defattr(-, root, root)
+%{prefix}/lib/gst/libgstbstest*
+
+%package -n gstreamer-mikmod
+Summary: GStreamer Mikmod plugin
+Group: Libraries/Multimedia
+Requires: %{name} = %{ver}
+
+%description -n gstreamer-mikmod
+Plugin for playback of module files supported by mikmod under GStreamer
+
+%files -n gstreamer-mikmod
+%defattr(-, root, root)
+%{prefix}/lib/gst/libgstmikmod*
+
+%package -n gstreamer-qcam
+Summary: GStreamer QuickCam plugin
+Group: Libraries/Multimedia
+Requires: %{name} = %{ver}
+
+%description -n gstreamer-qcam
+Plugin for accessing a Quickcam source
+
+%files -n gstreamer-qcam
+%defattr(-, root, root)
+%{prefix}/lib/gst/libgstqcam*
+
+%package -n gstreamer-sid
+Summary: GStreamer Sid C64 music plugin
+Group: Libraries/Multimedia
+Requires: %{name} = %{ver}
+
+%description -n gstreamer-sid
+Plugin for playback of C64 SID format music files
+
+%files -n gstreamer-sid
+%defattr(-, root, root)
+%{prefix}/lib/gst/libgstsid*
+
+%package -n gstreamer-silence
+Summary: GStreamer Silence plugin
+Group: Libraries/Multimedia
+Requires: %{name} = %{ver}
+
+%description -n gstreamer-silence
+Plugin for generation of silence
+
+%files -n gstreamer-silence
+%defattr(-, root, root)
+%{prefix}/lib/gst/libgstsilence*
+
+%package -n gstreamer-sine
+Summary: GStreamer Sine effect plugin
+Group: Libraries/Multimedia
+Requires: %{name} = %{ver}
+
+%description -n gstreamer-sine
+Plugin for generating sine waves.
+
+%files -n gstreamer-sine
+%defattr(-, root, root)
+%{prefix}/lib/gst/libgstsine*
+
+%package -n gstreamer-lavencode
+Summary: GStreamer YUV to LAV converter
+Group: Libraries/Multimedia
+Requires: %{name} = %{ver}
+
+%description -n gstreamer-lavencode
+It takes YUV video frames and adds a header in front of it so it can be processed with the lavtools from mjpeg
+
+%files -n gstreamer-lavencode
+%defattr(-, root, root)
+%{prefix}/lib/gst/liblav*
+
+%package -n gstreamer-resample
+Summary: GStreamer resample plugin
+Group: Libraries/Multimedia
+Requires: %{name} = %{ver}
+
+%description -n gstreamer-resample
+Library for resampling of sound
+
+%files -n gstreamer-resample
+%defattr(-, root, root)
+%{prefix}/lib/gst/libresample*
+
+%package -n gstreamer-rtp
+Summary: GStreamer RTP plugin
+Group: Libraries/Multimedia
+Requires: %{name} = %{ver}
+Requires: librtp >= 0.1
+
+%description -n gstreamer-rtp
+Library for transfering data with the RTP protocol
+
+%files -n gstreamer-rtp
+%defattr(-, root, root)
+%{prefix}/lib/gst/libgstrtp*
+
%changelog
+* Sat Dec 08 2001 Christian Schaller <Uraeus@linuxrising.org>
+- More minor cleanups including some fixed descriptions from Andrew Mitchell
+
+* Fri Dec 07 2001 Christian Schaller <Uraeus@linuxrising.org>
+- Added logging to the make statement
+
+* Wed Dec 05 2001 Christian Schaller <Uraeus@linuxrising.org>
+- Updated in preparation for 0.3.0 release
+
* Fri Jun 29 2001 Christian Schaller <Uraeus@linuxrising.org>
- Updated for 0.2.1 release
- Split out the GUI packages into their own RPM
@@ -518,6 +661,7 @@ Plugin for playback of the SUN au audio format.
* Fri Jun 01 2001 Christian Schaller <Uraeus@linuxrising.org>
- Updated with change suggestions from Dennis Bjorklund
+
* Tue Jan 09 2001 Erik Walthinsen <omega@cse.ogi.edu>
- updated to build -devel package as well
@@ -532,9 +676,9 @@ CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{prefix} --sysconfdir=%{sysconfdir
if [ "$SMP" != "" ]; then
(make "MAKE=make -k -j $SMP"; exit 0)
- make
+ make 2>&1 | tee make.log
else
- make
+ make 2>&1 | tee make.log
fi
%install
@@ -542,20 +686,6 @@ fi
make prefix=$RPM_BUILD_ROOT%{prefix} install
-# Some hackish magic to build the udp and flac plugin since the
-# build scripts didn't include these in 0.2.1
-
-cd $RPM_BUILD_DIR/%{name}-%{ver}/plugins/udp
-make install $RPM_BUILD_ROOT%{prefix}/lib/gst/
-
-# cd $RPM_BUILD_DIR/%{name}-%{ver}/plugins/flac
-# make install $RPM_BUILD_ROOT%{prefix}/lib/gst/
-
-cd $RPM_BUILD_DIR/%{name}-%{ver}/plugins/avi
-make install $RPM_BUILD_ROOT%{prefix}/lib/gst/
-mv %{prefix}/lib/gst/*avi* $RPM_BUILD_ROOT%{prefix}/lib/gst/
-mv %{prefix}/lib/gst/*udp* $RPM_BUILD_ROOT%{prefix}/lib/gst/
-
%clean
[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT
@@ -629,11 +759,11 @@ mv %{prefix}/lib/gst/*udp* $RPM_BUILD_ROOT%{prefix}/lib/gst/
%post -n gstreamer-vcd
%{prefix}/bin/gstreamer-register --gst-mask=0
-# %post -n gstreamer-alsa
-# %{prefix}/bin/gstreamer-register --gst-mask=0
+%post -n gstreamer-alsa
+%{prefix}/bin/gstreamer-register --gst-mask=0
-# %post -n gstreamer-flac
-# %{prefix}/bin/gstreamer-register --gst-mask=0
+%post -n gstreamer-flac
+%{prefix}/bin/gstreamer-register --gst-mask=0
%post -n gstreamer-festival
%{prefix}/bin/gstreamer-register --gst-mask=0
@@ -650,5 +780,38 @@ mv %{prefix}/lib/gst/*udp* $RPM_BUILD_ROOT%{prefix}/lib/gst/
%post -n gstreamer-quicktime
%{prefix}/bin/gstreamer-register --gst-mask=0
+%post -n gstreamer-libdvd
+%{prefix}/bin/gstreamer-register --gst-mask=0
+
+%post -n gstreamer-a52dec
+%{prefix}/bin/gstreamer-register --gst-mask=0
+
+%post -n gstreamer-bstest
+%{prefix}/bin/gstreamer-register --gst-mask=0
+
+%post -n gstreamer-mikmod
+%{prefix}/bin/gstreamer-register --gst-mask=0
+
+%post -n gstreamer-qcam
+%{prefix}/bin/gstreamer-register --gst-mask=0
+
+%post -n gstreamer-sid
+%{prefix}/bin/gstreamer-register --gst-mask=0
+
+%post -n gstreamer-silence
+%{prefix}/bin/gstreamer-register --gst-mask=0
+
+%post -n gstreamer-sine
+%{prefix}/bin/gstreamer-register --gst-mask=0
+
+%post -n gstreamer-lavencode
+%{prefix}/bin/gstreamer-register --gst-mask=0
+
+%post -n gstreamer-resample
+%{prefix}/bin/gstreamer-register --gst-mask=0
+
+%post -n gstreamer-rtp
+%{prefix}/bin/gstreamer-register --gst-mask=0
+
%postun
/csbin/ldconfig
diff --git a/libs/getbits/Makefile.am b/libs/getbits/Makefile.am
index 1149f2d513..4c93657c30 100644
--- a/libs/getbits/Makefile.am
+++ b/libs/getbits/Makefile.am
@@ -16,10 +16,7 @@ libgstgetbitsinclude_HEADERS = gstgetbits.h
noinst_HEADERS = gstgetbits.h gstgetbits_inl.h
-check_PROGRAMS = gbtest
-
-gbtest_SOURCES = gbtest.c
-gbtest_LDADD = libgstgetbits.la $(GST_LIBS)
+# check_PROGRAMS = gbtest
libgstgetbits_la_LIBADD = $(GST_LIBS)
libgstgetbits_la_CFLAGS = $(GST_CFLAGS) -funroll-all-loops -finline-functions -ffast-math
diff --git a/libs/idct/Makefile.am b/libs/idct/Makefile.am
index 3fe43a18ef..9350571f6f 100644
--- a/libs/idct/Makefile.am
+++ b/libs/idct/Makefile.am
@@ -22,7 +22,7 @@ check_PROGRAMS = ieeetest
ieeetest_SOURCES = ieeetest.c
ieeetest_LDADD = libgstidct.la
-ieeetest_CFLAGS = $(GNOME_CFLAGS) $(GST_CFLAGS)
+ieeetest_CFLAGS = $(GNOME_CFLAGS) $(GST_CFLAGS) $(XML_CFLAGS)
ieeetest_LDFLAGS = $(GNOME_LIBS) $(GST_LIBS)
noinst_HEADERS = dct.h
diff --git a/makeconfigure b/makeconfigure
deleted file mode 100755
index b3edc9fd94..0000000000
--- a/makeconfigure
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-# Run this to generate configure.in and configure.ac from configure.base
-
-# args: $1 - configure file to create
-
-sed "
-s/^SUBSTFOR $1://g;
-/^SUBSTFOR .*:.*/d;
-s/^ *GST_CHECK_FEATURE *(\\([A-Za-z0-9_]*\\) *,/translit(dnm, m, l) AM_CONDITIONAL(USE_\\1, true)\\
-GST_CHECK_FEATURE(\\1,/
-s/^ *GST_SUBSYSTEM_DISABLE *(\\([A-Za-z0-9_]*\\) *,/translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_\\1, true)\\
-GST_SUBSYSTEM_DISABLE(\\1,/
-s/^ *GST_CHECK_CONFIGPROG *(\\([A-Za-z0-9_]*\\) *,/translit(dnm, m, l) AC_SUBST(\\1_LIBS)\\
-GST_CHECK_CONFIGPROG(\\1,/" |
-sed "
-s/^ *GST_CHECK_CONFIGPROG *(\\([A-Za-z0-9_]*\\) *,/translit(dnm, m, l) AC_SUBST(\\1_CFLAGS)\\
-GST_CHECK_CONFIGPROG(\\1,/"
diff --git a/missing b/missing
index 7789652e87..0a7fb5a2ac 100755
--- a/missing
+++ b/missing
@@ -1,7 +1,7 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
-# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1996.
+# Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -18,11 +18,37 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
if test $# -eq 0; then
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
fi
+run=:
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+ configure_ac=configure.ac
+else
+ configure_ac=configure.in
+fi
+
+case "$1" in
+--run)
+ # Try to run requested program, and just exit if it succeeds.
+ run=
+ shift
+ "$@" && exit 0
+ ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
case "$1" in
-h|--h|--he|--hel|--help)
@@ -35,6 +61,7 @@ error status if there is no known handling for PROGRAM.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
+ --run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
aclocal touch file \`aclocal.m4'
@@ -43,13 +70,15 @@ Supported PROGRAM values:
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
+ help2man touch the output file
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
+ tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
- echo "missing - GNU libit 0.0"
+ echo "missing 0.3 - GNU automake"
;;
-*)
@@ -61,7 +90,7 @@ Supported PROGRAM values:
aclocal)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`acinclude.m4' or \`configure.in'. You might want
+ you modified \`acinclude.m4' or \`${configure_ac}'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site."
touch aclocal.m4
@@ -70,7 +99,7 @@ WARNING: \`$1' is missing on your system. You should only need it if
autoconf)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`configure.in'. You might want to install the
+ you modified \`${configure_ac}'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site."
touch configure
@@ -79,10 +108,10 @@ WARNING: \`$1' is missing on your system. You should only need it if
autoheader)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`acconfig.h' or \`configure.in'. You might want
+ you modified \`acconfig.h' or \`${configure_ac}'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in`
+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
@@ -98,7 +127,7 @@ WARNING: \`$1' is missing on your system. You should only need it if
automake)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
+ you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site."
find . -type f -name Makefile.am -print |
@@ -159,7 +188,32 @@ WARNING: \`$1' is missing on your system. You should only need it if
fi
;;
+ help2man)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified a dependency of a manual page. You may need the
+ \`Help2man' package in order for those modifications to take
+ effect. You can get \`Help2man' from any GNU archive site."
+
+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ if test -z "$file"; then
+ file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
+ fi
+ if [ -f "$file" ]; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo ".ab help2man is required to generate this page"
+ exit 1
+ fi
+ ;;
+
makeinfo)
+ if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
+ # We have makeinfo, but it failed.
+ exit 1
+ fi
+
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
@@ -175,6 +229,45 @@ WARNING: \`$1' is missing on your system. You should only need it if
touch $file
;;
+ tar)
+ shift
+ if test -n "$run"; then
+ echo 1>&2 "ERROR: \`tar' requires --run"
+ exit 1
+ fi
+
+ # We have already tried tar in the generic part.
+ # Look for gnutar/gtar before invocation to avoid ugly error
+ # messages.
+ if (gnutar --version > /dev/null 2>&1); then
+ gnutar ${1+"$@"} && exit 0
+ fi
+ if (gtar --version > /dev/null 2>&1); then
+ gtar ${1+"$@"} && exit 0
+ fi
+ firstarg="$1"
+ if shift; then
+ case "$firstarg" in
+ *o*)
+ firstarg=`echo "$firstarg" | sed s/o//`
+ tar "$firstarg" ${1+"$@"} && exit 0
+ ;;
+ esac
+ case "$firstarg" in
+ *h*)
+ firstarg=`echo "$firstarg" | sed s/h//`
+ tar "$firstarg" ${1+"$@"} && exit 0
+ ;;
+ esac
+ fi
+
+ echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+ You may want to install GNU tar or Free paxutils, or check the
+ command line arguments."
+ exit 1
+ ;;
+
*)
echo 1>&2 "\
WARNING: \`$1' is needed, and you do not seem to have it handy on your
diff --git a/tests/old/testsuite/Makefile.am b/tests/old/testsuite/Makefile.am
index e5d82ee00a..10dd10fd24 100644
--- a/tests/old/testsuite/Makefile.am
+++ b/tests/old/testsuite/Makefile.am
@@ -1,4 +1,4 @@
-# thomas : removed refcounting for now until it is fixed
+# FIXME : refcounting threads
SUBDIRS = capsnego plugin bytestream
testprogs = test_gst_init
@@ -11,5 +11,5 @@ check_PROGRAMS = $(testprogs)
LIBS = $(GST_LIBS)
CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
-
-DIST_SUBDIRS = refcounting capsnego plugin bytestream
+# FIXME : refcounting threadds
+DIST_SUBDIRS = capsnego plugin bytestream
diff --git a/tests/old/testsuite/bytestream/Makefile.am b/tests/old/testsuite/bytestream/Makefile.am
index 1f617b231f..656796656b 100644
--- a/tests/old/testsuite/bytestream/Makefile.am
+++ b/tests/old/testsuite/bytestream/Makefile.am
@@ -7,6 +7,7 @@ check_PROGRAMS = $(testprogs)
test1_SOURCES = test1.c gstbstest.c mem.c
test1_LDFLAGS = -L$(top_builddir)/libs/bytestream/ -lgstbytestream
+noinst_HEADERS = mem.h
# we have nothing but apps here, we can do this safely
LIBS = $(GST_LIBS)
diff --git a/tests/old/testsuite/capsnego/Makefile.am b/tests/old/testsuite/capsnego/Makefile.am
index 8dc74bb8c0..032061da59 100644
--- a/tests/old/testsuite/capsnego/Makefile.am
+++ b/tests/old/testsuite/capsnego/Makefile.am
@@ -1,4 +1,4 @@
-testprogs = capsnego converter converter2 enum
+testprogs = converter enum # capsnego converter2
TESTS = $(testprogs)
diff --git a/tests/old/testsuite/capsnego/capsnego.c b/tests/old/testsuite/capsnego/capsnego.c
index b21105056f..5b669cc4a6 100644
--- a/tests/old/testsuite/capsnego/capsnego.c
+++ b/tests/old/testsuite/capsnego/capsnego.c
@@ -139,7 +139,7 @@ perform_check (void)
g_print ("%d%d%d -> %d%d%d ..", (i&4)>>2, (i&2)>>1, i&1, (j&4)>>2, (j&2)>>1, j&1);
- /*result = thomasvs: void value should be ignored */gst_pad_connect (srctest, sinktest);
+ result = gst_pad_try_connect (srctest, sinktest);
g_print (".. %s\n", (result? "ok":"fail"));
if (result) gst_pad_disconnect (srctest, sinktest);
diff --git a/tests/old/testsuite/capsnego/converter.c b/tests/old/testsuite/capsnego/converter.c
index 9400b5e0b6..67395188f1 100644
--- a/tests/old/testsuite/capsnego/converter.c
+++ b/tests/old/testsuite/capsnego/converter.c
@@ -164,10 +164,10 @@ main (int argc, char *argv[])
g_print ("set caps on src: %d\n", result);
g_print ("initial converter status: %d %d\n", converter_in, converter_out);
- /* result = FIXME */ gst_pad_connect (srcpad, sinkconvpad);
+ result = gst_pad_try_connect (srcpad, sinkconvpad);
g_print ("pad connect 1: %d\n", result);
overall &= (result == TRUE);
- /* result = FIXME */ gst_pad_connect (srcconvpad, sinkpad);
+ result = gst_pad_try_connect (srcconvpad, sinkpad);
g_print ("pad connect 2: %d\n", result);
overall &= (result == TRUE);
diff --git a/tests/old/testsuite/capsnego/converter2.c b/tests/old/testsuite/capsnego/converter2.c
index 9b06590a85..8577b2d68a 100644
--- a/tests/old/testsuite/capsnego/converter2.c
+++ b/tests/old/testsuite/capsnego/converter2.c
@@ -206,10 +206,10 @@ main (int argc, char *argv[])
g_print ("result: %d, converter status: %d %d, target: %d\n\n", result,
converter_in, converter_out, target_rate);
- /* result = FIXME */ gst_pad_connect (srcpad, sinkconvpad);
+ result = gst_pad_try_connect (srcpad, sinkconvpad);
g_print ("pad connect 1: %d\n", result);
overall &= (result == TRUE);
- /* result = FIXME */ gst_pad_connect (srcconvpad, sinkpad);
+ result = gst_pad_try_connect (srcconvpad, sinkpad);
g_print ("pad connect 2: %d\n", result);
overall &= (result == TRUE);
diff --git a/tests/old/testsuite/capsnego/enum.c b/tests/old/testsuite/capsnego/enum.c
index 9acb9b37ee..08d77de073 100644
--- a/tests/old/testsuite/capsnego/enum.c
+++ b/tests/old/testsuite/capsnego/enum.c
@@ -154,7 +154,7 @@ main (int argc, char *argv[])
g_print ("The wild goose chase...\n");
- /* result FIXME = */ gst_pad_connect (srcconvpad, sinkconvpad);
+ result = gst_pad_try_connect (srcconvpad, sinkconvpad);
g_print ("pad connect 1: %d\n", result);
overall &= (result == TRUE);
diff --git a/tests/old/testsuite/plugin/Makefile.am b/tests/old/testsuite/plugin/Makefile.am
index 4cadb77724..c4d5e6c697 100644
--- a/tests/old/testsuite/plugin/Makefile.am
+++ b/tests/old/testsuite/plugin/Makefile.am
@@ -1,5 +1,5 @@
-testprogs = loading dynamic linked static registry static2
-
+# FIXME : tests need fixing
+testprogs = dynamic linked static # loading registry static2
filterdir = $(libdir)/gst
filter_LTLIBRARIES = libtestplugin.la libtestplugin2.la
diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am
index e5d82ee00a..10dd10fd24 100644
--- a/testsuite/Makefile.am
+++ b/testsuite/Makefile.am
@@ -1,4 +1,4 @@
-# thomas : removed refcounting for now until it is fixed
+# FIXME : refcounting threads
SUBDIRS = capsnego plugin bytestream
testprogs = test_gst_init
@@ -11,5 +11,5 @@ check_PROGRAMS = $(testprogs)
LIBS = $(GST_LIBS)
CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
-
-DIST_SUBDIRS = refcounting capsnego plugin bytestream
+# FIXME : refcounting threadds
+DIST_SUBDIRS = capsnego plugin bytestream
diff --git a/testsuite/bytestream/Makefile.am b/testsuite/bytestream/Makefile.am
index 1f617b231f..656796656b 100644
--- a/testsuite/bytestream/Makefile.am
+++ b/testsuite/bytestream/Makefile.am
@@ -7,6 +7,7 @@ check_PROGRAMS = $(testprogs)
test1_SOURCES = test1.c gstbstest.c mem.c
test1_LDFLAGS = -L$(top_builddir)/libs/bytestream/ -lgstbytestream
+noinst_HEADERS = mem.h
# we have nothing but apps here, we can do this safely
LIBS = $(GST_LIBS)
diff --git a/testsuite/capsnego/Makefile.am b/testsuite/capsnego/Makefile.am
index 8dc74bb8c0..032061da59 100644
--- a/testsuite/capsnego/Makefile.am
+++ b/testsuite/capsnego/Makefile.am
@@ -1,4 +1,4 @@
-testprogs = capsnego converter converter2 enum
+testprogs = converter enum # capsnego converter2
TESTS = $(testprogs)
diff --git a/testsuite/capsnego/capsnego.c b/testsuite/capsnego/capsnego.c
index b21105056f..5b669cc4a6 100644
--- a/testsuite/capsnego/capsnego.c
+++ b/testsuite/capsnego/capsnego.c
@@ -139,7 +139,7 @@ perform_check (void)
g_print ("%d%d%d -> %d%d%d ..", (i&4)>>2, (i&2)>>1, i&1, (j&4)>>2, (j&2)>>1, j&1);
- /*result = thomasvs: void value should be ignored */gst_pad_connect (srctest, sinktest);
+ result = gst_pad_try_connect (srctest, sinktest);
g_print (".. %s\n", (result? "ok":"fail"));
if (result) gst_pad_disconnect (srctest, sinktest);
diff --git a/testsuite/capsnego/converter.c b/testsuite/capsnego/converter.c
index 9400b5e0b6..67395188f1 100644
--- a/testsuite/capsnego/converter.c
+++ b/testsuite/capsnego/converter.c
@@ -164,10 +164,10 @@ main (int argc, char *argv[])
g_print ("set caps on src: %d\n", result);
g_print ("initial converter status: %d %d\n", converter_in, converter_out);
- /* result = FIXME */ gst_pad_connect (srcpad, sinkconvpad);
+ result = gst_pad_try_connect (srcpad, sinkconvpad);
g_print ("pad connect 1: %d\n", result);
overall &= (result == TRUE);
- /* result = FIXME */ gst_pad_connect (srcconvpad, sinkpad);
+ result = gst_pad_try_connect (srcconvpad, sinkpad);
g_print ("pad connect 2: %d\n", result);
overall &= (result == TRUE);
diff --git a/testsuite/capsnego/converter2.c b/testsuite/capsnego/converter2.c
index 9b06590a85..8577b2d68a 100644
--- a/testsuite/capsnego/converter2.c
+++ b/testsuite/capsnego/converter2.c
@@ -206,10 +206,10 @@ main (int argc, char *argv[])
g_print ("result: %d, converter status: %d %d, target: %d\n\n", result,
converter_in, converter_out, target_rate);
- /* result = FIXME */ gst_pad_connect (srcpad, sinkconvpad);
+ result = gst_pad_try_connect (srcpad, sinkconvpad);
g_print ("pad connect 1: %d\n", result);
overall &= (result == TRUE);
- /* result = FIXME */ gst_pad_connect (srcconvpad, sinkpad);
+ result = gst_pad_try_connect (srcconvpad, sinkpad);
g_print ("pad connect 2: %d\n", result);
overall &= (result == TRUE);
diff --git a/testsuite/capsnego/enum.c b/testsuite/capsnego/enum.c
index 9acb9b37ee..08d77de073 100644
--- a/testsuite/capsnego/enum.c
+++ b/testsuite/capsnego/enum.c
@@ -154,7 +154,7 @@ main (int argc, char *argv[])
g_print ("The wild goose chase...\n");
- /* result FIXME = */ gst_pad_connect (srcconvpad, sinkconvpad);
+ result = gst_pad_try_connect (srcconvpad, sinkconvpad);
g_print ("pad connect 1: %d\n", result);
overall &= (result == TRUE);
diff --git a/testsuite/plugin/Makefile.am b/testsuite/plugin/Makefile.am
index 4cadb77724..c4d5e6c697 100644
--- a/testsuite/plugin/Makefile.am
+++ b/testsuite/plugin/Makefile.am
@@ -1,5 +1,5 @@
-testprogs = loading dynamic linked static registry static2
-
+# FIXME : tests need fixing
+testprogs = dynamic linked static # loading registry static2
filterdir = $(libdir)/gst
filter_LTLIBRARIES = libtestplugin.la libtestplugin2.la