Merged from trunk

Original commit message from CVS:
Merged from trunk
This commit is contained in:
Wrobell 2001-12-10 19:38:29 +00:00
parent dda833d67e
commit ac51127f55
54 changed files with 1294 additions and 492 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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
])

View file

@ -1,152 +1,103 @@
#!/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
}
(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
echo
echo "You must have automake version 1.4 or greater installed."
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;
debug ()
# print out a debug message if DEBUG is a defined variable
{
if test ! -z "$DEBUG"
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
echo "DEBUG: $1"
fi
}
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 $PACKAGE installed to compile $package."
echo "Download the appropriate package for your distribution,"
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
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
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
}
(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
# 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
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
fi
@ -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

View file

@ -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"
)

View file

@ -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)

View file

@ -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>

View file

@ -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,41 +290,51 @@ 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>
@ -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
@ -1299,6 +1317,22 @@ GstPipefilterClass
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>

View file

@ -45,14 +45,11 @@ GtkObject
GstPipefilter
GstIdentity
GstQueue
GstStatistics
GstTypeFind
GstPad
GstPadTemplate
GstPluginFeature
GstAutoplugFactory
GstTypeFactory
GstElementFactory
GstSchedule
GstAutoplug
GstStaticAutoplug
GstStaticAutoplugRender
GstSchedulerFactory

View file

@ -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

View file

@ -98,6 +98,7 @@ Use the regular gst_object_destroy() call to destroy the autoplugger.
</para>
@object:
<!-- ##### ENUM GstAutoplugFlags ##### -->
<para>

View file

@ -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.

View file

@ -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

View file

@ -670,6 +670,15 @@ Destroy the pad.
@Returns:
<!-- ##### FUNCTION gst_pad_event_default ##### -->
<para>
</para>
@pad:
@event:
<!-- ##### FUNCTION gst_pad_set_event_function ##### -->
<para>

View file

@ -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:

View file

@ -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>

View file

@ -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>

View file

@ -23,120 +23,7 @@ Get the parent #GstElement of this scheduler.
@sched: the scheduler to query.
<!-- ##### STRUCT GstScheduleChain ##### -->
<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.
<!-- ##### FUNCTION gst_schedule_new ##### -->
<para>
</para>
@parent:
@Returns:
<!-- ##### FUNCTION gst_schedule_add_element ##### -->
<!-- ##### FUNCTION gst_scheduler_add_element ##### -->
<para>
</para>
@ -145,7 +32,7 @@ Fast macro to perform one iteration of the scheduler.
@element:
<!-- ##### FUNCTION gst_schedule_remove_element ##### -->
<!-- ##### FUNCTION gst_scheduler_remove_element ##### -->
<para>
</para>
@ -154,7 +41,7 @@ Fast macro to perform one iteration of the scheduler.
@element:
<!-- ##### FUNCTION gst_schedule_enable_element ##### -->
<!-- ##### FUNCTION gst_scheduler_enable_element ##### -->
<para>
</para>
@ -163,7 +50,7 @@ Fast macro to perform one iteration of the scheduler.
@element:
<!-- ##### FUNCTION gst_schedule_disable_element ##### -->
<!-- ##### FUNCTION gst_scheduler_disable_element ##### -->
<para>
</para>
@ -172,7 +59,7 @@ Fast macro to perform one iteration of the scheduler.
@element:
<!-- ##### FUNCTION gst_schedule_pad_connect ##### -->
<!-- ##### FUNCTION gst_scheduler_pad_connect ##### -->
<para>
</para>
@ -182,7 +69,7 @@ Fast macro to perform one iteration of the scheduler.
@sinkpad:
<!-- ##### FUNCTION gst_schedule_pad_disconnect ##### -->
<!-- ##### FUNCTION gst_scheduler_pad_disconnect ##### -->
<para>
</para>
@ -192,7 +79,7 @@ Fast macro to perform one iteration of the scheduler.
@sinkpad:
<!-- ##### FUNCTION gst_schedule_pad_select ##### -->
<!-- ##### FUNCTION gst_scheduler_pad_select ##### -->
<para>
</para>
@ -202,7 +89,7 @@ Fast macro to perform one iteration of the scheduler.
@Returns:
<!-- ##### FUNCTION gst_schedule_iterate ##### -->
<!-- ##### FUNCTION gst_scheduler_iterate ##### -->
<para>
</para>
@ -211,7 +98,7 @@ Fast macro to perform one iteration of the scheduler.
@Returns:
<!-- ##### FUNCTION gst_schedule_show ##### -->
<!-- ##### FUNCTION gst_scheduler_show ##### -->
<para>
</para>
@ -219,3 +106,21 @@ Fast macro to perform one iteration of the scheduler.
@sched:
<!-- ##### FUNCTION gst_scheduler_lock_element ##### -->
<para>
</para>
@sched:
@element:
<!-- ##### FUNCTION gst_scheduler_unlock_element ##### -->
<para>
</para>
@sched:
@element:

View file

@ -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:

View file

@ -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>

View file

@ -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>

View file

@ -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

View file

@ -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

View file

@ -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) {

View file

@ -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)
{

View file

@ -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)
{

View file

@ -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),

View file

@ -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.
*/

View file

@ -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)

View file

@ -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)

View file

@ -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

View file

@ -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;

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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,/"

109
missing
View file

@ -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

View file

@ -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

View file

@ -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)

View file

@ -1,4 +1,4 @@
testprogs = capsnego converter converter2 enum
testprogs = converter enum # capsnego converter2
TESTS = $(testprogs)

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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

View file

@ -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

View file

@ -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)

View file

@ -1,4 +1,4 @@
testprogs = capsnego converter converter2 enum
testprogs = converter enum # capsnego converter2
TESTS = $(testprogs)

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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