mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-06-08 09:09:26 +00:00
Merged HEAD from BRANCH-INCSCHED1-200104161 into BRANCH-INCSCHED1.
Original commit message from CVS: Merged HEAD from BRANCH-INCSCHED1-200104161 into BRANCH-INCSCHED1.
This commit is contained in:
parent
395527b2f2
commit
e6a59c8a62
13
AUTHORS
13
AUTHORS
|
@ -1,5 +1,16 @@
|
||||||
Erik Walthinsen <omega@cse.ogi.edu>
|
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@tvd.be>
|
||||||
Richard Boulton <richard@tartarus.org>
|
Richard Boulton <richard@tartarus.org>
|
||||||
Chris Emerson (PPC port)
|
|
||||||
Zaheer Merali <zaheer@grid9.net> (thread synchronization rework)
|
Zaheer Merali <zaheer@grid9.net> (thread synchronization rework)
|
||||||
|
David I. Lehn <dlehn@users.sourceforge.net>
|
||||||
|
- debian packaging
|
||||||
|
- various fixes
|
||||||
|
Chris Emerson <chris@tartarus.org>
|
||||||
|
- PPC port
|
||||||
|
- small libxml patches
|
||||||
|
Jens Thiele <karme@unforgettable.com>
|
||||||
|
- color conversion patches
|
||||||
|
Thomas Nyberg <thomas@codefactory.se>
|
||||||
|
- gstreamer.m4 macros
|
||||||
|
|
15
Makefile.am
15
Makefile.am
|
@ -8,10 +8,17 @@ else
|
||||||
SUBDIRS_LGG =
|
SUBDIRS_LGG =
|
||||||
endif
|
endif
|
||||||
|
|
||||||
SUBDIRS = include gst libs plugins tools test tests examples $(SUBDIRS_LGG) docs
|
if BUILD_DOCS
|
||||||
|
SUBDIRS_DOCS = docs
|
||||||
|
else
|
||||||
|
SUBDIRS_DOCS =
|
||||||
|
endif
|
||||||
|
|
||||||
|
SUBDIRS = include gst libs plugins tools test tests testsuite examples \
|
||||||
|
$(SUBDIRS_LGG) $(SUBDIRS_DOCS)
|
||||||
|
|
||||||
# These are all the possible subdirs
|
# These are all the possible subdirs
|
||||||
DIST_SUBDIRS = intl po include gst libs plugins tools test tests examples gstplay editor docs
|
DIST_SUBDIRS = include gst libs plugins tools test tests testsuite examples gstplay editor docs debian
|
||||||
|
|
||||||
|
|
||||||
bin_SCRIPTS = gstreamer-config
|
bin_SCRIPTS = gstreamer-config
|
||||||
|
@ -22,8 +29,10 @@ m4data_DATA = gstreamer.m4
|
||||||
pkgconfigdir = $(libdir)/pkgconfig
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
pkgconfig_DATA = gstreamer.pc
|
pkgconfig_DATA = gstreamer.pc
|
||||||
|
|
||||||
|
man_MANS = gstreamer-config.1
|
||||||
|
|
||||||
EXTRA_DIST = gstreamer.spec.in gstreamer-config.in gstreamer.m4 gstreamer.pc.in \
|
EXTRA_DIST = gstreamer.spec.in gstreamer-config.in gstreamer.m4 gstreamer.pc.in \
|
||||||
LICENSE REQUIREMENTS ABOUT-NLS
|
LICENSE REQUIREMENTS ABOUT-NLS $(man_MANS)
|
||||||
|
|
||||||
dist-hook:
|
dist-hook:
|
||||||
cp gstreamer.spec $(distdir)
|
cp gstreamer.spec $(distdir)
|
||||||
|
|
|
@ -9,7 +9,10 @@ Required libraries:
|
||||||
===================
|
===================
|
||||||
glib v1.2.0 or better
|
glib v1.2.0 or better
|
||||||
gtk+ v1.2.0 or better
|
gtk+ v1.2.0 or better
|
||||||
libxml
|
libxml (also called gnome-xml, available from http://xmlsoft.org/)
|
||||||
|
|
||||||
|
These libraries are all central parts of gnome, and are available from the
|
||||||
|
ftp.gnome.org or its mirrors, amongst other places.
|
||||||
|
|
||||||
Optional libraries:
|
Optional libraries:
|
||||||
===================
|
===================
|
||||||
|
@ -24,6 +27,8 @@ libvorbis (for vorbisenc, vorbisdec)
|
||||||
libcdparanoia (for cdparanoia ripper)
|
libcdparanoia (for cdparanoia ripper)
|
||||||
liblame (for lame mp3 encoder)
|
liblame (for lame mp3 encoder)
|
||||||
libshout (for the shoutcast plugin)
|
libshout (for the shoutcast plugin)
|
||||||
|
libasound (for the alsa src/sink plugin)
|
||||||
|
librtp (for the rtp sink plugin)
|
||||||
|
|
||||||
for AVI playback you might want to get the windows libraries from
|
for AVI playback you might want to get the windows libraries from
|
||||||
http://divx.euro.ru/ and put the .dll files in /usr/lib/win32/
|
http://divx.euro.ru/ and put the .dll files in /usr/lib/win32/
|
||||||
|
|
|
@ -19,16 +19,23 @@
|
||||||
#undef HAVE_CPU_PPC
|
#undef HAVE_CPU_PPC
|
||||||
#undef HAVE_CPU_ALPHA
|
#undef HAVE_CPU_ALPHA
|
||||||
#undef HAVE_CPU_ARM
|
#undef HAVE_CPU_ARM
|
||||||
|
#undef HAVE_CPU_SPARC
|
||||||
|
|
||||||
#undef HAVE_GDK_PIXBUF
|
#undef HAVE_GDK_PIXBUF
|
||||||
#undef HAVE_LIBGHTTP
|
#undef HAVE_LIBGHTTP
|
||||||
#undef HAVE_LIBMMX
|
#undef HAVE_LIBMMX
|
||||||
#undef HAVE_LIBXV
|
#undef HAVE_LIBXV
|
||||||
|
#undef HAVE_OSS
|
||||||
#undef HAVE_XAUDIO
|
#undef HAVE_XAUDIO
|
||||||
#undef HAVE_CSSAUTH
|
#undef HAVE_CSSAUTH
|
||||||
#undef HAVE_VORBIS
|
#undef HAVE_VORBIS
|
||||||
|
#undef HAVE_LIBMAD
|
||||||
#undef HAVE_LIBJPEG
|
#undef HAVE_LIBJPEG
|
||||||
|
#undef HAVE_LIBHERMES
|
||||||
#undef HAVE_NASM
|
#undef HAVE_NASM
|
||||||
|
#undef HAVE_MPEG2DEC
|
||||||
|
#undef HAVE_LINUX_CDROM
|
||||||
|
#undef HAVE_LINUX_VIDEODEV
|
||||||
|
|
||||||
#undef HAVE_ATOMIC_H
|
#undef HAVE_ATOMIC_H
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ INCLUDES = -I$(top_srcdir)/gst \
|
||||||
-DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
|
-DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
|
||||||
-DDATADIR=\""$(datadir)"\" \
|
-DDATADIR=\""$(datadir)"\" \
|
||||||
-I$(includedir) \
|
-I$(includedir) \
|
||||||
|
$(shell gnome-config --cflags gnome gnomeui bonobo bonobox) \
|
||||||
$(BONOBOX_TEST_CFLAGS) -Wall -O2
|
$(BONOBOX_TEST_CFLAGS) -Wall -O2
|
||||||
|
|
||||||
bin_PROGRAMS = bonobo-gstmediaplay
|
bin_PROGRAMS = bonobo-gstmediaplay
|
||||||
|
@ -15,15 +16,16 @@ bonobo_gstmediaplay_SOURCES = \
|
||||||
bonobo-gstmediaplay.c
|
bonobo-gstmediaplay.c
|
||||||
|
|
||||||
bonobo_gstmediaplay_CFLAGS = -Wall -O2 \
|
bonobo_gstmediaplay_CFLAGS = -Wall -O2 \
|
||||||
$(shell gnome-config --cflags gnomeui bonobo bonobox) $(shell libglade-config --cflags gnome) \
|
$(shell gnome-config --cflags gnome gnomeui bonobo bonobox) $(shell libglade-config --cflags gnome) \
|
||||||
$(shell gstreamer-config --clfags )
|
$(shell gstreamer-config --clfags )
|
||||||
|
|
||||||
bonobo_gstmediaplay_LDADD = \
|
bonobo_gstmediaplay_LDADD = \
|
||||||
$(top_srcdir)/gstplay/libgstmediaplay.la
|
$(top_srcdir)/gstplay/libgstmediaplay.la \
|
||||||
|
$(top_srcdir)/gst/libgst.la
|
||||||
|
|
||||||
bonobo_gstmediaplay_LDFLAGS = \
|
bonobo_gstmediaplay_LDFLAGS = \
|
||||||
$(shell gnome-config --libs gnomeui bonobo bonobox) $(shell libglade-config --libs gnome) \
|
$(shell gnome-config --libs gnome gnomeui bonobo bonobox) $(shell libglade-config --libs gnome) \
|
||||||
$(shell gstreamer-config --libs )
|
$(shell gstreamer-config --libs )
|
||||||
|
|
||||||
oafdir = $(datadir)/oaf
|
oafdir = $(datadir)/oaf
|
||||||
OAF_FILES = gstmediaplay.oafinfo
|
OAF_FILES = gstmediaplay.oafinfo
|
||||||
|
|
|
@ -307,12 +307,16 @@ bonobo_gstmediaplay_factory (BonoboGenericFactory *this, void *data)
|
||||||
|
|
||||||
control_data->play = gst_play_new ();
|
control_data->play = gst_play_new ();
|
||||||
|
|
||||||
|
|
||||||
vbox = gtk_vbox_new (TRUE, 0);
|
vbox = gtk_vbox_new (TRUE, 0);
|
||||||
|
|
||||||
gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (control_data->play),
|
gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (control_data->play),
|
||||||
TRUE, TRUE, 0);
|
TRUE, TRUE, 0);
|
||||||
gtk_widget_show_all (vbox);
|
gtk_widget_show_all (vbox);
|
||||||
|
|
||||||
|
gst_play_set_uri (control_data->play, "/opt/data/armageddon1.mpg");
|
||||||
|
gst_play_play (control_data->play);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Create the BonoboControl object.
|
* Create the BonoboControl object.
|
||||||
*/
|
*/
|
||||||
|
@ -403,6 +407,7 @@ init_server_factory (int argc, char **argv)
|
||||||
int
|
int
|
||||||
main (int argc, char **argv)
|
main (int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
//g_thread_init (NULL);
|
||||||
/*
|
/*
|
||||||
* Setup the factory.
|
* Setup the factory.
|
||||||
*/
|
*/
|
||||||
|
|
227
configure.in
227
configure.in
|
@ -7,7 +7,7 @@ AM_CONFIG_HEADER(config.h)
|
||||||
dnl FIXME this should be GSTREAMER_ now
|
dnl FIXME this should be GSTREAMER_ now
|
||||||
STREAMER_MAJOR_VERSION=0
|
STREAMER_MAJOR_VERSION=0
|
||||||
STREAMER_MINOR_VERSION=1
|
STREAMER_MINOR_VERSION=1
|
||||||
STREAMER_MICRO_VERSION=0
|
STREAMER_MICRO_VERSION=1
|
||||||
STREAMER_VERSION=$STREAMER_MAJOR_VERSION.$STREAMER_MINOR_VERSION.$STREAMER_MICRO_VERSION
|
STREAMER_VERSION=$STREAMER_MAJOR_VERSION.$STREAMER_MINOR_VERSION.$STREAMER_MICRO_VERSION
|
||||||
|
|
||||||
PACKAGE=gstreamer
|
PACKAGE=gstreamer
|
||||||
|
@ -41,20 +41,23 @@ AC_SUBST(GSTREAMER_LIBVERSION)
|
||||||
|
|
||||||
AM_MAINTAINER_MODE
|
AM_MAINTAINER_MODE
|
||||||
|
|
||||||
AC_ISC_POSIX
|
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
|
AC_ISC_POSIX
|
||||||
AC_STDC_HEADERS
|
AC_STDC_HEADERS
|
||||||
AC_ARG_PROGRAM
|
AC_ARG_PROGRAM
|
||||||
|
|
||||||
|
dnl We disable static building for development, for time savings
|
||||||
|
dnl *NOTE*: dnl this line before release, so release does static too
|
||||||
AM_DISABLE_STATIC
|
AM_DISABLE_STATIC
|
||||||
AC_LIBTOOL_DLOPEN
|
AC_LIBTOOL_DLOPEN
|
||||||
AM_PROG_LIBTOOL
|
AM_PROG_LIBTOOL
|
||||||
|
|
||||||
dnl ALL_LINGUAS=""
|
|
||||||
dnl AM_GNU_GETTEXT
|
|
||||||
|
|
||||||
CFLAGS=""
|
CFLAGS=""
|
||||||
|
|
||||||
|
dnl This is used for the -config script...
|
||||||
|
builddir=`pwd`
|
||||||
|
AC_SUBST(builddir)
|
||||||
|
|
||||||
dnl ##############################
|
dnl ##############################
|
||||||
dnl # Do automated configuration #
|
dnl # Do automated configuration #
|
||||||
dnl ##############################
|
dnl ##############################
|
||||||
|
@ -121,6 +124,8 @@ case "x${target_cpu}" in
|
||||||
AC_DEFINE(HAVE_CPU_ALPHA) ;;
|
AC_DEFINE(HAVE_CPU_ALPHA) ;;
|
||||||
xarm*) HAVE_CPU_ARM=yes ;
|
xarm*) HAVE_CPU_ARM=yes ;
|
||||||
AC_DEFINE(HAVE_CPU_ARM) ;;
|
AC_DEFINE(HAVE_CPU_ARM) ;;
|
||||||
|
xsparc*) HAVE_CPU_SPARC=yes ;
|
||||||
|
AC_DEFINE(HAVE_CPU_SPARC) ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
dnl Determine endianness
|
dnl Determine endianness
|
||||||
|
@ -156,16 +161,16 @@ AM_PATH_GLIB(1.2.0,,
|
||||||
AC_MSG_ERROR(Cannot find glib: Is glib-config in path?),
|
AC_MSG_ERROR(Cannot find glib: Is glib-config in path?),
|
||||||
glib gmodule gthread)
|
glib gmodule gthread)
|
||||||
dnl Put the glib flags into $LIBS and $CFLAGS since we always use them
|
dnl Put the glib flags into $LIBS and $CFLAGS since we always use them
|
||||||
LIBS="$LIBS $GLIB_LIBS"
|
CORE_LIBS="$GLIB_LIBS"
|
||||||
CFLAGS="$CFLAGS $GLIB_CFLAGS"
|
CORE_CFLAGS="$GLIB_CFLAGS"
|
||||||
|
|
||||||
|
|
||||||
dnl Check for gtk
|
dnl Check for gtk
|
||||||
AM_PATH_GTK(1.2.0,,
|
AM_PATH_GTK(1.2.0,,
|
||||||
AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?))
|
AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?))
|
||||||
dnl Put the gtk flags into $LIBS and $CFLAGS since we always use them
|
dnl Put the gtk flags into $LIBS and $CFLAGS since we always use them
|
||||||
LIBS="$LIBS $GTK_LIBS"
|
CORE_LIBS="$CORE_LIBS $GTK_LIBS"
|
||||||
CFLAGS="$CFLAGS $GTK_CFLAGS"
|
CORE_CFLAGS="$CORE_CFLAGS $GTK_CFLAGS"
|
||||||
|
|
||||||
|
|
||||||
dnl Check for libxml
|
dnl Check for libxml
|
||||||
|
@ -175,10 +180,13 @@ if test x$XML_CONFIG = xno; then
|
||||||
fi
|
fi
|
||||||
XML_LIBS=`xml-config --libs`
|
XML_LIBS=`xml-config --libs`
|
||||||
XML_CFLAGS=`xml-config --cflags`
|
XML_CFLAGS=`xml-config --cflags`
|
||||||
|
AC_CHECK_LIB(xml, xmlDocGetRootElement, ,
|
||||||
|
[ AC_MSG_ERROR(Need version 1.8.1 or better of libxml) ],
|
||||||
|
$XML_LIBS)
|
||||||
AC_SUBST(XML_LIBS)
|
AC_SUBST(XML_LIBS)
|
||||||
AC_SUBST(XML_CFLAGS)
|
AC_SUBST(XML_CFLAGS)
|
||||||
LIBS="$LIBS $XML_LIBS"
|
CORE_LIBS="$CORE_LIBS $XML_LIBS"
|
||||||
CFLAGS="$CFLAGS $XML_CFLAGS"
|
CORE_CFLAGS="$CORE_CFLAGS $XML_CFLAGS"
|
||||||
|
|
||||||
|
|
||||||
dnl Next, check for the optional libraries:
|
dnl Next, check for the optional libraries:
|
||||||
|
@ -186,7 +194,44 @@ dnl =======================================
|
||||||
|
|
||||||
|
|
||||||
dnl Check for libesd
|
dnl Check for libesd
|
||||||
|
esd_save_LIBS=$LIBS
|
||||||
|
esd_save_CFLAGS=$CFLAGS
|
||||||
AM_PATH_ESD(0.2.12, HAVE_LIBESD=yes, HAVE_LIBESD=no)
|
AM_PATH_ESD(0.2.12, HAVE_LIBESD=yes, HAVE_LIBESD=no)
|
||||||
|
LIBS=$esd_save_LIBS
|
||||||
|
CFLAGS=$esd_save_CFLAGS
|
||||||
|
AC_ARG_ENABLE(esdsink,
|
||||||
|
[ --enable-esdsink enable the building of the esdsink],
|
||||||
|
[case "${enableval}" in
|
||||||
|
yes) : ;;
|
||||||
|
no) HAVE_LIBESD=no ;;
|
||||||
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-esdsink) ;;
|
||||||
|
esac],
|
||||||
|
[HAVE_LIBESD=$HAVE_LIBESD])
|
||||||
|
|
||||||
|
dnl Check for artsc
|
||||||
|
AC_PATH_PROG(ARTSC_CONFIG, artsc-config, no)
|
||||||
|
if test x$ARTSC_CONFIG = xno; then
|
||||||
|
AC_MSG_WARN(Couldn't find artsc-config)
|
||||||
|
ARTSC_LIBS=
|
||||||
|
ARTSC_CFLAGS=
|
||||||
|
HAVE_ARTSC=no
|
||||||
|
else
|
||||||
|
ARTSC_LIBS=`artsc-config --libs`
|
||||||
|
ARTSC_CFLAGS=`artsc-config --cflags`
|
||||||
|
HAVE_ARTSC=yes
|
||||||
|
fi
|
||||||
|
AC_SUBST(ARTSC_LIBS)
|
||||||
|
AC_SUBST(ARTSC_CFLAGS)
|
||||||
|
AC_ARG_ENABLE(artsd,
|
||||||
|
[ --enable-artsd enable the building of artsd plugins],
|
||||||
|
[case "${enableval}" in
|
||||||
|
yes) : ;;
|
||||||
|
no) HAVE_ARTSC=no ;;
|
||||||
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-artsd) ;;
|
||||||
|
esac],
|
||||||
|
[:])
|
||||||
|
|
||||||
|
dnl AM_PATH_XMMS(0.1.0, HAVE_LIBXMMS=yes, HAVE_LIBXMMS=no)
|
||||||
|
|
||||||
dnl Check for libasound
|
dnl Check for libasound
|
||||||
alsa_save_LIBS=$LIBS
|
alsa_save_LIBS=$LIBS
|
||||||
|
@ -194,6 +239,14 @@ alsa_save_CFLAGS=$CFLAGS
|
||||||
AM_PATH_ALSA(0.5.0, HAVE_LIBASOUND=yes, HAVE_LIBASOUND=no)
|
AM_PATH_ALSA(0.5.0, HAVE_LIBASOUND=yes, HAVE_LIBASOUND=no)
|
||||||
LIBS=$alsa_save_LIBS
|
LIBS=$alsa_save_LIBS
|
||||||
CFLAGS=$alsa_save_CFLAGS
|
CFLAGS=$alsa_save_CFLAGS
|
||||||
|
AC_ARG_ENABLE(alsasink,
|
||||||
|
[ --enable-alsasink enable the building of the alsasink],
|
||||||
|
[case "${enableval}" in
|
||||||
|
yes) HAVE_LIBASOUND=$HAVE_LIBASOUND ;;
|
||||||
|
no) HAVE_LIBASOUND=no ;;
|
||||||
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-alsasink) ;;
|
||||||
|
esac],
|
||||||
|
[HAVE_LIBASOUND=$HAVE_LIBASOUND])
|
||||||
|
|
||||||
dnl Check for libgdk-pixbuf
|
dnl Check for libgdk-pixbuf
|
||||||
AC_PATH_PROG(GDK_PIXBUF_CONFIG, gdk-pixbuf-config, no)
|
AC_PATH_PROG(GDK_PIXBUF_CONFIG, gdk-pixbuf-config, no)
|
||||||
|
@ -211,6 +264,24 @@ AC_SUBST(GDK_PIXBUF_LIBS)
|
||||||
AC_SUBST(GDK_PIXBUF_CFLAGS)
|
AC_SUBST(GDK_PIXBUF_CFLAGS)
|
||||||
|
|
||||||
|
|
||||||
|
dnl Check for libgnome
|
||||||
|
AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
|
||||||
|
if test x$GNOME_CONFIG = xno; then
|
||||||
|
AC_MSG_WARN(Couldn't find gnome-config: can't build editor or gstplay)
|
||||||
|
GNOME_LIBS=
|
||||||
|
GNOME_CFLAGS=
|
||||||
|
HAVE_GNOME=no
|
||||||
|
else
|
||||||
|
GNOME_LIBS=`gnome-config --libs gnome gnomeui`
|
||||||
|
GNOME_CFLAGS=`gnome-config --cflags gnome gnomeui`
|
||||||
|
GHTTP_LIBS=`gnome-config --libs gnome gnomeui`
|
||||||
|
GHTTP_CFLAGS=`gnome-config --cflags gnome gnomeui`
|
||||||
|
HAVE_GNOME=yes
|
||||||
|
fi
|
||||||
|
AC_SUBST(GNOME_LIBS)
|
||||||
|
AC_SUBST(GNOME_CFLAGS)
|
||||||
|
AC_SUBST(GHTTP_LIBS)
|
||||||
|
|
||||||
dnl Check for libghttp
|
dnl Check for libghttp
|
||||||
dnl FIXME: need to check for header
|
dnl FIXME: need to check for header
|
||||||
AC_CHECK_LIB(ghttp, ghttp_request_new,
|
AC_CHECK_LIB(ghttp, ghttp_request_new,
|
||||||
|
@ -224,26 +295,8 @@ AC_CHECK_LIB(ghttp, ghttp_request_new,
|
||||||
HAVE_LIBGHTTP=no
|
HAVE_LIBGHTTP=no
|
||||||
],
|
],
|
||||||
$LIBS)
|
$LIBS)
|
||||||
AC_SUBST(GHTTP_LIBS)
|
|
||||||
AC_SUBST(GST_HTTPSRC_GET_TYPE)
|
AC_SUBST(GST_HTTPSRC_GET_TYPE)
|
||||||
|
|
||||||
|
|
||||||
dnl Check for libgnome
|
|
||||||
AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
|
|
||||||
if test x$GNOME_CONFIG = xno; then
|
|
||||||
AC_MSG_WARN(Couldn't find gnome-config: can't build editor or gstplay)
|
|
||||||
GNOME_LIBS=
|
|
||||||
GNOME_CFLAGS=
|
|
||||||
HAVE_GNOME=no
|
|
||||||
else
|
|
||||||
GNOME_LIBS=`gnome-config --libs gnome gnomeui`
|
|
||||||
GNOME_CFLAGS=`gnome-config --cflags gnome gnomeui`
|
|
||||||
HAVE_GNOME=yes
|
|
||||||
fi
|
|
||||||
AC_SUBST(GNOME_LIBS)
|
|
||||||
AC_SUBST(GNOME_CFLAGS)
|
|
||||||
|
|
||||||
|
|
||||||
dnl Check for libglade
|
dnl Check for libglade
|
||||||
HAVE_LIBGLADE_GNOME="no"
|
HAVE_LIBGLADE_GNOME="no"
|
||||||
AC_PATH_PROG(LIBGLADE_CONFIG_PATH, libglade-config, no)
|
AC_PATH_PROG(LIBGLADE_CONFIG_PATH, libglade-config, no)
|
||||||
|
@ -251,19 +304,17 @@ if test x$LIBGLADE_CONFIG_PATH = xno; then
|
||||||
AC_MSG_WARN(Couldn't find libglade-config - Can't build gstplay)
|
AC_MSG_WARN(Couldn't find libglade-config - Can't build gstplay)
|
||||||
LIBGLADE_GNOME_LIBS=
|
LIBGLADE_GNOME_LIBS=
|
||||||
LIBGLADE_GNOME_CFLAGS=
|
LIBGLADE_GNOME_CFLAGS=
|
||||||
HAVE_LIBGLADE_GNOME=NO
|
|
||||||
else
|
else
|
||||||
LIBGLADE_GNOME_LIBS=`libglade-config --libs gnome`
|
LIBGLADE_GNOME_LIBS=`libglade-config --libs gnome`
|
||||||
LIBGLADE_GNOME_CFLAGS=`libglade-config --cflags gnome`
|
LIBGLADE_GNOME_CFLAGS=`libglade-config --cflags gnome`
|
||||||
libglade_save_CFLAGS="$CFLAGS"
|
libglade_save_CFLAGS="$CFLAGS"
|
||||||
libglade_save_LIBS="$LIBS"
|
libglade_save_LIBS="$LIBS"
|
||||||
CFLAGS="$CFLAGS $LIBGLADE_GNOME_CFLAGS"
|
CFLAGS="$CFLAGS $LIBGLADE_GNOME_CFLAGS $GTK_CFLAGS"
|
||||||
LIBS="$LIBS $LIBGLADE_GNOME_LIBS"
|
LIBS="$LIBS $LIBGLADE_GNOME_LIBS $GTK_LIBS"
|
||||||
HAVE_LIBGLADE_GNOME="no"
|
|
||||||
AC_TRY_LINK([#include <glade/glade.h>],[glade_gnome_init();],
|
AC_TRY_LINK([#include <glade/glade.h>],[glade_gnome_init();],
|
||||||
HAVE_LIBGLADE_GNOME="yes",
|
HAVE_LIBGLADE_GNOME="yes",
|
||||||
AC_MSG_WARN(
|
AC_MSG_WARN(
|
||||||
[Couldn't find gnome libraries for libglade - Can't build gstplay])
|
[Couldn't find gnome libraries for libglade - Can't build gstmediaplay and gsteditor])
|
||||||
)
|
)
|
||||||
CFLAGS="$libglade_save_CFLAGS"
|
CFLAGS="$libglade_save_CFLAGS"
|
||||||
LIBS="$libglade_save_LIBS"
|
LIBS="$libglade_save_LIBS"
|
||||||
|
@ -314,13 +365,24 @@ AC_DEFINE(HAVE_LIBXV),
|
||||||
HAVE_LIBXV=no, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS)
|
HAVE_LIBXV=no, $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS)
|
||||||
LIBS=${xvsave_LIBS}
|
LIBS=${xvsave_LIBS}
|
||||||
|
|
||||||
|
dnl Check for OSS audio
|
||||||
|
AC_CHECK_HEADER(sys/soundcard.h,
|
||||||
|
AC_DEFINE(HAVE_OSS)
|
||||||
|
HAVE_OSS=yes, []
|
||||||
|
)
|
||||||
|
|
||||||
dnl Check for xaudio
|
dnl Check for xaudio
|
||||||
AC_CHECK_HEADER(xaudio/decoder.h,[
|
AC_CHECK_HEADER(xaudio/decoder.h,
|
||||||
AC_DEFINE(HAVE_XAUDIO)
|
AC_DEFINE(HAVE_XAUDIO)
|
||||||
HAVE_XAUDIO="yes", []
|
HAVE_XAUDIO="yes", []
|
||||||
])
|
)
|
||||||
|
|
||||||
|
dnl Check for libvorbis
|
||||||
|
AC_MSG_CHECKING(MAD library)
|
||||||
|
AC_CHECK_LIB(mad, mad_decoder_finish,
|
||||||
|
HAVE_LIBMAD=yes
|
||||||
|
AC_DEFINE(HAVE_LIBMAD),
|
||||||
|
HAVE_LIBMAD=no, )
|
||||||
|
|
||||||
dnl Check for libvorbis
|
dnl Check for libvorbis
|
||||||
AC_MSG_CHECKING(Vorbis library)
|
AC_MSG_CHECKING(Vorbis library)
|
||||||
|
@ -336,6 +398,12 @@ HAVE_LIBJPEG=yes
|
||||||
AC_DEFINE(HAVE_LIBJPEG),
|
AC_DEFINE(HAVE_LIBJPEG),
|
||||||
HAVE_LIBJPEG=no, )
|
HAVE_LIBJPEG=no, )
|
||||||
|
|
||||||
|
dnl Check for libvorbis
|
||||||
|
AC_MSG_CHECKING(Hermes library)
|
||||||
|
AC_CHECK_LIB(Hermes, Hermes_ConverterInstance,
|
||||||
|
HAVE_LIBHERMES=yes
|
||||||
|
AC_DEFINE(HAVE_LIBHERMES),
|
||||||
|
HAVE_LIBHERMES=no, )
|
||||||
|
|
||||||
dnl Check for cdparanoia
|
dnl Check for cdparanoia
|
||||||
AC_MSG_CHECKING(CDparanoia library)
|
AC_MSG_CHECKING(CDparanoia library)
|
||||||
|
@ -348,13 +416,22 @@ AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
|
||||||
dnl Check for liblame
|
dnl Check for liblame
|
||||||
AC_MSG_CHECKING(LAME library)
|
AC_MSG_CHECKING(LAME library)
|
||||||
AC_CHECK_LIB(mp3lame, lame_init, HAVE_LIBLAME=yes, HAVE_LIBLAME=no, )
|
AC_CHECK_LIB(mp3lame, lame_init, HAVE_LIBLAME=yes, HAVE_LIBLAME=no, )
|
||||||
AC_CHECK_HEADER(lame.h, :, HAVE_LIBLAME=no)
|
AC_CHECK_HEADER(lame/lame.h, :, HAVE_LIBLAME=no)
|
||||||
|
|
||||||
dnl Check for libshout
|
dnl Check for libshout
|
||||||
AC_MSG_CHECKING(Shout library)
|
AC_MSG_CHECKING(Shout library)
|
||||||
AC_CHECK_LIB(shout, shout_init_connection, HAVE_LIBSHOUT=yes, HAVE_LIBSHOUT=no, )
|
AC_CHECK_LIB(shout, shout_init_connection, HAVE_LIBSHOUT=yes, HAVE_LIBSHOUT=no, )
|
||||||
AC_CHECK_HEADER(shout/shout.h, :, HAVE_LIBSHOUT=no)
|
AC_CHECK_HEADER(shout/shout.h, :, HAVE_LIBSHOUT=no)
|
||||||
|
|
||||||
|
dnl Check for mpeg2dec
|
||||||
|
AC_MSG_CHECKING(mpeg2dec library)
|
||||||
|
AC_CHECK_LIB(mpeg2, mpeg2_init, HAVE_MPEG2DEC=yes, HAVE_MPEG2DEC=no, )
|
||||||
|
AC_CHECK_HEADER(mpeg2dec/mpeg2.h, :, HAVE_MPEG2DEC=no)
|
||||||
|
|
||||||
|
dnl Check for librtp
|
||||||
|
AC_MSG_CHECKING(rtp library)
|
||||||
|
AC_CHECK_LIB(rtp, rtp_packet_new_take_data, HAVE_LIBRTP=yes, HAVE_LIBRTP=no, $GLIB_LIBS $GLIB_CFLAGS)
|
||||||
|
|
||||||
|
|
||||||
dnl check if css-auth.c exists (FIXME)
|
dnl check if css-auth.c exists (FIXME)
|
||||||
AC_MSG_CHECKING(DVD CSS code)
|
AC_MSG_CHECKING(DVD CSS code)
|
||||||
|
@ -368,6 +445,17 @@ else
|
||||||
HAVE_CSSAUTH="no"
|
HAVE_CSSAUTH="no"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
dnl Check for linux/cdrom.h
|
||||||
|
AC_CHECK_HEADER(linux/cdrom.h,
|
||||||
|
AC_DEFINE(HAVE_LINUX_CDROM)
|
||||||
|
HAVE_LINUX_CDROM=yes, []
|
||||||
|
)
|
||||||
|
|
||||||
|
dnl Check for linux/videodev.h
|
||||||
|
AC_CHECK_HEADER(linux/videodev.h,
|
||||||
|
AC_DEFINE(HAVE_LINUX_VIDEODEV)
|
||||||
|
HAVE_LINUX_VIDEODEV=yes, []
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
dnl ######################################################################
|
dnl ######################################################################
|
||||||
|
@ -487,6 +575,27 @@ AC_ARG_WITH(win32_libdir,
|
||||||
esac],
|
esac],
|
||||||
[:]) dnl Default value
|
[:]) dnl Default value
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(docs-build,
|
||||||
|
[ --disable-docs-build disable all building of documentation],
|
||||||
|
[case "${enableval}" in
|
||||||
|
yes) BUILD_DOCS=yes ;;
|
||||||
|
no) BUILD_DOCS=no ;;
|
||||||
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;;
|
||||||
|
esac],
|
||||||
|
[BUILD_DOCS=yes]) dnl Default value
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(plugin-docs,
|
||||||
|
[ --enable-plugin-docs enable the building of plugin documentation
|
||||||
|
(this is currently broken, so off by default)],
|
||||||
|
[case "${enableval}" in
|
||||||
|
yes) BUILD_PLUGIN_DOCS=yes ;;
|
||||||
|
no) BUILD_PLUGIN_DOCS=no ;;
|
||||||
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-docs) ;;
|
||||||
|
esac],
|
||||||
|
[BUILD_PLUGIN_DOCS=no]) dnl Default value
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
dnl ################################################
|
dnl ################################################
|
||||||
dnl # Set defines according to variables set above #
|
dnl # Set defines according to variables set above #
|
||||||
|
@ -551,19 +660,27 @@ AM_CONDITIONAL(HAVE_CPU_I386, test "x$HAVE_CPU_I386" = "xyes")
|
||||||
AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes")
|
AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes")
|
||||||
AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes")
|
AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes")
|
||||||
AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes")
|
AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes")
|
||||||
|
AM_CONDITIONAL(HAVE_CPU_SPARC, test "x$HAVE_CPU_SPARC" = "xyes")
|
||||||
AM_CONDITIONAL(HAVE_GDK_PIXBUF, test "x$USE_GDK_PIXBUF" = "xyes")
|
AM_CONDITIONAL(HAVE_GDK_PIXBUF, test "x$USE_GDK_PIXBUF" = "xyes")
|
||||||
AM_CONDITIONAL(HAVE_LIBGHTTP, test "x$USE_LIBGHTTP" = "xyes")
|
AM_CONDITIONAL(HAVE_LIBGHTTP, test "x$USE_LIBGHTTP" = "xyes")
|
||||||
AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
|
AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
|
||||||
AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
|
AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes")
|
||||||
|
AM_CONDITIONAL(HAVE_OSS, test "x$HAVE_OSS" = "xyes")
|
||||||
AM_CONDITIONAL(HAVE_XAUDIO, test "x$HAVE_XAUDIO" = "xyes")
|
AM_CONDITIONAL(HAVE_XAUDIO, test "x$HAVE_XAUDIO" = "xyes")
|
||||||
|
AM_CONDITIONAL(HAVE_LIBMAD, test "x$HAVE_LIBMAD" = "xyes")
|
||||||
|
AM_CONDITIONAL(HAVE_LINUX_CDROM, test "x$HAVE_LINUX_CDROM" = "xyes")
|
||||||
|
AM_CONDITIONAL(HAVE_LINUX_VIDEODEV, test "x$HAVE_LINUX_VIDEODEV" = "xyes")
|
||||||
AM_CONDITIONAL(HAVE_CSSAUTH, test "x$HAVE_CSSAUTH" = "xyes")
|
AM_CONDITIONAL(HAVE_CSSAUTH, test "x$HAVE_CSSAUTH" = "xyes")
|
||||||
AM_CONDITIONAL(HAVE_VORBIS, test "x$HAVE_VORBIS" = "xyes")
|
AM_CONDITIONAL(HAVE_VORBIS, test "x$HAVE_VORBIS" = "xyes")
|
||||||
AM_CONDITIONAL(HAVE_LIBJPEG, test "x$HAVE_LIBJPEG" = "xyes")
|
AM_CONDITIONAL(HAVE_LIBJPEG, test "x$HAVE_LIBJPEG" = "xyes")
|
||||||
|
AM_CONDITIONAL(HAVE_LIBHERMES, test "x$HAVE_LIBHERMES" = "xyes")
|
||||||
AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
|
AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes")
|
||||||
AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes")
|
AM_CONDITIONAL(HAVE_LIBGLADE_GNOME, test "x$HAVE_LIBGLADE_GNOME" = "xyes")
|
||||||
AM_CONDITIONAL(HAVE_GNOME, test "x$HAVE_GNOME" = "xyes")
|
AM_CONDITIONAL(HAVE_GNOME, test "x$HAVE_GNOME" = "xyes")
|
||||||
AM_CONDITIONAL(HAVE_LIBXV, test "x$HAVE_LIBXV" = "xyes")
|
AM_CONDITIONAL(HAVE_LIBXV, test "x$HAVE_LIBXV" = "xyes")
|
||||||
AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC)
|
AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC)
|
||||||
|
AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes")
|
||||||
|
AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes")
|
||||||
AM_CONDITIONAL(HAVE_DB2HTML, $HAVE_DB2HTML)
|
AM_CONDITIONAL(HAVE_DB2HTML, $HAVE_DB2HTML)
|
||||||
AM_CONDITIONAL(HAVE_DB2PS, $HAVE_DB2PS)
|
AM_CONDITIONAL(HAVE_DB2PS, $HAVE_DB2PS)
|
||||||
AM_CONDITIONAL(HAVE_PS2PDF, $HAVE_PS2PDF)
|
AM_CONDITIONAL(HAVE_PS2PDF, $HAVE_PS2PDF)
|
||||||
|
@ -573,7 +690,11 @@ AM_CONDITIONAL(HAVE_CDPARANOIA, test "x$HAVE_CDPARANOIA" = "xyes")
|
||||||
AM_CONDITIONAL(HAVE_LIBLAME, test "x$HAVE_LIBLAME" = "xyes")
|
AM_CONDITIONAL(HAVE_LIBLAME, test "x$HAVE_LIBLAME" = "xyes")
|
||||||
AM_CONDITIONAL(HAVE_LIBSHOUT, test "x$HAVE_LIBSHOUT" = "xyes")
|
AM_CONDITIONAL(HAVE_LIBSHOUT, test "x$HAVE_LIBSHOUT" = "xyes")
|
||||||
AM_CONDITIONAL(HAVE_LIBESD, test "x$HAVE_LIBESD" = "xyes")
|
AM_CONDITIONAL(HAVE_LIBESD, test "x$HAVE_LIBESD" = "xyes")
|
||||||
|
AM_CONDITIONAL(HAVE_ARTSC, test "x$HAVE_ARTSC" = "xyes")
|
||||||
AM_CONDITIONAL(HAVE_LIBASOUND, test "x$HAVE_LIBASOUND" = "xyes")
|
AM_CONDITIONAL(HAVE_LIBASOUND, test "x$HAVE_LIBASOUND" = "xyes")
|
||||||
|
AM_CONDITIONAL(HAVE_MPEG2DEC, test "x$HAVE_MPEG2DEC" = "xyes")
|
||||||
|
AM_CONDITIONAL(HAVE_LIBXMMS, test "x$HAVE_LIBXMMS" = "xyes")
|
||||||
|
AM_CONDITIONAL(HAVE_LIBRTP, test "x$HAVE_LIBRTP" = "xyes")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -609,7 +730,10 @@ dnl ##############################
|
||||||
dnl # Set up the defaults cflags #
|
dnl # Set up the defaults cflags #
|
||||||
dnl ##############################
|
dnl ##############################
|
||||||
dnl CC="kgcc"
|
dnl CC="kgcc"
|
||||||
CFLAGS="$CFLAGS -O6 -Wall"
|
CFLAGS="$CORE_CFLAGS $CFLAGS -O6 -Wall"
|
||||||
|
LIBS="$CORE_LIBS $LIBS"
|
||||||
|
AC_SUBST(CORE_LIBS)
|
||||||
|
AC_SUBST(CORE_CFLAGS)
|
||||||
|
|
||||||
dnl FIXME: having to AC_SUBST these is messy. Not sure if CPPFLAGS and LDFLAGS
|
dnl FIXME: having to AC_SUBST these is messy. Not sure if CPPFLAGS and LDFLAGS
|
||||||
dnl need it, either.
|
dnl need it, either.
|
||||||
|
@ -648,14 +772,13 @@ dnl # Make the output files #
|
||||||
dnl #########################
|
dnl #########################
|
||||||
|
|
||||||
AC_OUTPUT([Makefile
|
AC_OUTPUT([Makefile
|
||||||
intl/Makefile
|
|
||||||
po/Makefile.in
|
|
||||||
include/Makefile
|
include/Makefile
|
||||||
include/wine/Makefile
|
include/wine/Makefile
|
||||||
gst/Makefile
|
gst/Makefile
|
||||||
gst/types/Makefile
|
gst/types/Makefile
|
||||||
gst/meta/Makefile
|
gst/meta/Makefile
|
||||||
gst/elements/Makefile
|
gst/elements/Makefile
|
||||||
|
gst/autoplug/Makefile
|
||||||
libs/Makefile
|
libs/Makefile
|
||||||
libs/riff/Makefile
|
libs/riff/Makefile
|
||||||
libs/colorspace/Makefile
|
libs/colorspace/Makefile
|
||||||
|
@ -665,15 +788,18 @@ libs/putbits/Makefile
|
||||||
libs/winloader/Makefile
|
libs/winloader/Makefile
|
||||||
libs/idct/Makefile
|
libs/idct/Makefile
|
||||||
plugins/Makefile
|
plugins/Makefile
|
||||||
|
plugins/alsa/Makefile
|
||||||
plugins/au/Makefile
|
plugins/au/Makefile
|
||||||
plugins/wav/Makefile
|
plugins/audioscale/Makefile
|
||||||
plugins/avi/Makefile
|
plugins/avi/Makefile
|
||||||
plugins/avi/wincodec/Makefile
|
plugins/avi/wincodec/Makefile
|
||||||
|
plugins/flx/Makefile
|
||||||
plugins/jpeg/Makefile
|
plugins/jpeg/Makefile
|
||||||
plugins/mp3decode/Makefile
|
plugins/mp3decode/Makefile
|
||||||
plugins/mp3decode/types/Makefile
|
plugins/mp3decode/types/Makefile
|
||||||
plugins/mp3decode/xa/Makefile
|
plugins/mp3decode/xa/Makefile
|
||||||
plugins/mp3decode/mpg123/Makefile
|
plugins/mp3decode/mpg123/Makefile
|
||||||
|
plugins/mp3decode/mad/Makefile
|
||||||
plugins/mp3decode/parse/Makefile
|
plugins/mp3decode/parse/Makefile
|
||||||
plugins/mp3encode/Makefile
|
plugins/mp3encode/Makefile
|
||||||
plugins/mp3encode/lame/Makefile
|
plugins/mp3encode/lame/Makefile
|
||||||
|
@ -696,10 +822,19 @@ plugins/mpeg1/system_encode/Makefile
|
||||||
plugins/mpeg1/mpeg1encoder/Makefile
|
plugins/mpeg1/mpeg1encoder/Makefile
|
||||||
plugins/mpeg1video/Makefile
|
plugins/mpeg1video/Makefile
|
||||||
plugins/mpeg1video/parse/Makefile
|
plugins/mpeg1video/parse/Makefile
|
||||||
|
plugins/oss/Makefile
|
||||||
|
plugins/rtp/Makefile
|
||||||
|
plugins/rtp/rtpsend/Makefile
|
||||||
|
plugins/mulaw/Makefile
|
||||||
|
plugins/alaw/Makefile
|
||||||
plugins/filters/Makefile
|
plugins/filters/Makefile
|
||||||
plugins/filters/smooth/Makefile
|
plugins/filters/smooth/Makefile
|
||||||
plugins/filters/median/Makefile
|
plugins/filters/median/Makefile
|
||||||
plugins/filters/ladspa/Makefile
|
plugins/filters/ladspa/Makefile
|
||||||
|
plugins/filters/stereo2mono/Makefile
|
||||||
|
plugins/filters/passthrough/Makefile
|
||||||
|
plugins/filters/colorspace/Makefile
|
||||||
|
plugins/filters/volenv/Makefile
|
||||||
plugins/icecast/Makefile
|
plugins/icecast/Makefile
|
||||||
plugins/icecast/icecastsend/Makefile
|
plugins/icecast/icecastsend/Makefile
|
||||||
plugins/effects/Makefile
|
plugins/effects/Makefile
|
||||||
|
@ -712,7 +847,8 @@ plugins/visualization/synaesthesia/Makefile
|
||||||
plugins/visualization/smoothwave/Makefile
|
plugins/visualization/smoothwave/Makefile
|
||||||
plugins/videosink/Makefile
|
plugins/videosink/Makefile
|
||||||
plugins/videoscale/Makefile
|
plugins/videoscale/Makefile
|
||||||
plugins/audioscale/Makefile
|
plugins/xvideosink/Makefile
|
||||||
|
plugins/wav/Makefile
|
||||||
plugins/dvdsrc/Makefile
|
plugins/dvdsrc/Makefile
|
||||||
plugins/vcdsrc/Makefile
|
plugins/vcdsrc/Makefile
|
||||||
plugins/rtjpeg/Makefile
|
plugins/rtjpeg/Makefile
|
||||||
|
@ -722,6 +858,9 @@ plugins/capture/v4l/Makefile
|
||||||
plugins/cdparanoia/Makefile
|
plugins/cdparanoia/Makefile
|
||||||
plugins/esd/Makefile
|
plugins/esd/Makefile
|
||||||
plugins/esd/esdsink/Makefile
|
plugins/esd/esdsink/Makefile
|
||||||
|
plugins/artsd/Makefile
|
||||||
|
plugins/xmms/Makefile
|
||||||
|
plugins/mulaw/Makefile
|
||||||
gstplay/Makefile
|
gstplay/Makefile
|
||||||
dnl components/bonobo-gstmediaplay/Makefile
|
dnl components/bonobo-gstmediaplay/Makefile
|
||||||
test/Makefile
|
test/Makefile
|
||||||
|
@ -730,6 +869,9 @@ test/bindings/Makefile
|
||||||
tests/Makefile
|
tests/Makefile
|
||||||
tests/sched/Makefile
|
tests/sched/Makefile
|
||||||
tests/eos/Makefile
|
tests/eos/Makefile
|
||||||
|
testsuite/Makefile
|
||||||
|
testsuite/capsnego/Makefile
|
||||||
|
tests/nego/Makefile
|
||||||
examples/Makefile
|
examples/Makefile
|
||||||
examples/autoplug/Makefile
|
examples/autoplug/Makefile
|
||||||
examples/helloworld/Makefile
|
examples/helloworld/Makefile
|
||||||
|
@ -755,6 +897,7 @@ docs/plugins/Makefile
|
||||||
docs/plugins/gstreamer-plugins.types
|
docs/plugins/gstreamer-plugins.types
|
||||||
docs/manual/Makefile
|
docs/manual/Makefile
|
||||||
docs/fwg/Makefile
|
docs/fwg/Makefile
|
||||||
|
debian/Makefile
|
||||||
stamp.h
|
stamp.h
|
||||||
gstreamer-config
|
gstreamer-config
|
||||||
gstreamer.spec
|
gstreamer.spec
|
||||||
|
|
2
debian/.gitignore
vendored
Normal file
2
debian/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
*.debhelper
|
||||||
|
*substvars
|
40
debian/Makefile.am
vendored
Normal file
40
debian/Makefile.am
vendored
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
EXTRA_DIST = \
|
||||||
|
Makefile.am \
|
||||||
|
README.Debian \
|
||||||
|
changelog \
|
||||||
|
control \
|
||||||
|
copyright \
|
||||||
|
gsteditor.files \
|
||||||
|
gsteditor.manpages \
|
||||||
|
gsteditor.menu \
|
||||||
|
gstmediaplay.files \
|
||||||
|
gstmediaplay.manpages \
|
||||||
|
gstmediaplay.menu \
|
||||||
|
gstreamer-alsa.files \
|
||||||
|
gstreamer-cdparanoia.files \
|
||||||
|
gstreamer-common.files \
|
||||||
|
gstreamer-doc.files \
|
||||||
|
gstreamer-elements.files \
|
||||||
|
gstreamer-esd.files \
|
||||||
|
gstreamer-lame.files \
|
||||||
|
gstreamer-mpeg2dec.files \
|
||||||
|
gstreamer-mpg123.files \
|
||||||
|
gstreamer-plugin-template.postinst \
|
||||||
|
gstreamer-plugin-template.prerm \
|
||||||
|
gstreamer-runtime.files \
|
||||||
|
gstreamer-runtime.manpages \
|
||||||
|
gstreamer-runtime.postinst \
|
||||||
|
gstreamer-tools.files \
|
||||||
|
gstreamer-tools.manpages \
|
||||||
|
gstreamer-vorbis.files \
|
||||||
|
libgst-dev.files \
|
||||||
|
libgst-dev.manpages \
|
||||||
|
libgst0.files \
|
||||||
|
libgst0.postinst \
|
||||||
|
libgsteditor-dev.files \
|
||||||
|
libgsteditor0.files \
|
||||||
|
libgsteditor0.postinst \
|
||||||
|
libgstmediaplay-dev.files \
|
||||||
|
libgstmediaplay0.files \
|
||||||
|
libgstmediaplay0.postinst \
|
||||||
|
rules
|
38
debian/README.Debian
vendored
Normal file
38
debian/README.Debian
vendored
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
GStreamer for Debian
|
||||||
|
----------------------
|
||||||
|
This package contains the GStreamer distribution.
|
||||||
|
|
||||||
|
More information can be found at http://gstreamer.net/
|
||||||
|
|
||||||
|
GStreamer is split into a number of base packages:
|
||||||
|
|
||||||
|
libgst0 shared core libs
|
||||||
|
libgst-dev development libs and headers
|
||||||
|
libgst-runtime tools required by the libs (gstreamer-register)
|
||||||
|
gstreamer-doc documentation
|
||||||
|
gstreamer-tools useful tools
|
||||||
|
|
||||||
|
recommended plugins:
|
||||||
|
|
||||||
|
gstreamer-elements core plugins
|
||||||
|
gstreamer-common many independent plugins
|
||||||
|
|
||||||
|
optional plugins:
|
||||||
|
|
||||||
|
gstreamer-cdparanoia cdparanoia plugin
|
||||||
|
gstreamer-esd ESD plugin
|
||||||
|
gstreamer-lame LAME plugin
|
||||||
|
gstreamer-mpg123 mpg123 plugin
|
||||||
|
gstreamer-vorbis Vorbis plugin
|
||||||
|
|
||||||
|
and applications and their supporting libs:
|
||||||
|
|
||||||
|
libgstmediaplay0 media player libs
|
||||||
|
libgstmediaplay-dev media player dev support
|
||||||
|
gstmediaplay media player application
|
||||||
|
|
||||||
|
libgsteditor0 stream pipeline visual editor libs
|
||||||
|
libgsteditor-dev stream pipeline visual editor dev support
|
||||||
|
gsteditor stream pipeline visual editor application
|
||||||
|
|
||||||
|
David I. Lehn <dlehn@vt.edu> Fri, 19 Jan 2001 19:13:06 -0500
|
40
debian/changelog
vendored
Normal file
40
debian/changelog
vendored
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
gstreamer (0.1.1.20010320-1) unstable; urgency=low
|
||||||
|
|
||||||
|
* Latest CVS code
|
||||||
|
* enable main docs
|
||||||
|
* disable broken plugin docs with new option
|
||||||
|
|
||||||
|
-- David I. Lehn <dlehn@vt.edu> Tue, 20 Mar 2001 18:15:19 -0500
|
||||||
|
|
||||||
|
gstreamer (0.1.1.20010315-1) unstable; urgency=low
|
||||||
|
|
||||||
|
* Latest CVS code
|
||||||
|
* Added man pages
|
||||||
|
* Split mpeg2dec to seperate plugin
|
||||||
|
* libgst Architectures updated to cothread supported archs
|
||||||
|
|
||||||
|
-- David I. Lehn <dlehn@vt.edu> Thu, 15 Mar 2001 20:17:19 -0500
|
||||||
|
|
||||||
|
gstreamer (0.1.1-1) unstable; urgency=low
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
* disable docs build, broken at the momemnt
|
||||||
|
|
||||||
|
-- David I. Lehn <dlehn@vt.edu> Sun, 25 Feb 2001 17:58:25 -0500
|
||||||
|
|
||||||
|
gstreamer (0.1.0-2) unstable; urgency=low
|
||||||
|
|
||||||
|
* debian/rules: call configure instead of autogen.sh
|
||||||
|
|
||||||
|
-- David I. Lehn <dlehn@vt.edu> Sat, 24 Feb 2001 18:31:36 -0500
|
||||||
|
|
||||||
|
gstreamer (0.1.0-1) unstable; urgency=low
|
||||||
|
|
||||||
|
* Initial Release.
|
||||||
|
|
||||||
|
-- David I. Lehn <dlehn@vt.edu> Mon, 15 Jan 2001 18:25:18 -0500
|
||||||
|
|
||||||
|
Local variables:
|
||||||
|
mode: debian-changelog
|
||||||
|
add-log-mailing-address "dlehn@vt.edu"
|
||||||
|
End:
|
157
debian/control
vendored
Normal file
157
debian/control
vendored
Normal file
|
@ -0,0 +1,157 @@
|
||||||
|
Source: gstreamer
|
||||||
|
Section: x11
|
||||||
|
Priority: optional
|
||||||
|
Maintainer: David I. Lehn <dlehn@vt.edu>
|
||||||
|
Build-Depends: debhelper (>= 3.0.0), libxml-dev (>= 1.8.10), zlib1g-dev (>= 1:1.1.3), libghttp-dev (>= 1.0.6), libglib-dev (>= 1.2.8), libgtk1.2-dev (>= 1.2.8), libglade0-dev (>= 0.14), libglade-gnome0-dev (>= 0.14), libesd0-dev (>= 0.2.22), libcdparanoia0-dev (>= 3a9.7), libvorbis-dev (>= 1.0beta3), libgnome-dev (>= 1.2.11), libasound1-dev (>= 0.5.10), libghttp-dev (>= 1.0.9), libjpeg62-dev (>= 6b)
|
||||||
|
Build-Depends-Indep: debhelper (>= 3.0.0), gtk-doc-tools (>= 0.4.0), jade (>= 1.2.1), transfig (>= 3.2.3.c)
|
||||||
|
Standards-Version: 3.5.2.0
|
||||||
|
|
||||||
|
Package: libgst0
|
||||||
|
Architecture: [alpha arm i386 powerpc sparc]
|
||||||
|
Section: libs
|
||||||
|
Depends: ${shlibs:Depends}
|
||||||
|
Suggests: gstreamer-elements, gstreamer-common
|
||||||
|
Description: Core GStreamer shared library
|
||||||
|
Core GStreamer shared library
|
||||||
|
|
||||||
|
Package: libgst-dev
|
||||||
|
Architecture: any
|
||||||
|
Section: devel
|
||||||
|
Depends: libgst0 (= ${Source-Version}), libc6-dev
|
||||||
|
Recommends: gstreamer-doc (= ${Source-Version})
|
||||||
|
Description: GStreamer development libraries and headers
|
||||||
|
GStreamer development libraries and headers
|
||||||
|
|
||||||
|
Package: gstreamer-runtime
|
||||||
|
Architecture: any
|
||||||
|
Section: libs
|
||||||
|
Depends: ${shlibs:Depends}
|
||||||
|
Description: gstreamer-register binary needed to manage plugin registry
|
||||||
|
gstreamer-register binary needed to manage plugin registry
|
||||||
|
|
||||||
|
Package: gstreamer-doc
|
||||||
|
Architecture: all
|
||||||
|
Section: doc
|
||||||
|
Recommends: libgst-dev (= ${Source-Version})
|
||||||
|
Description: Core GStreamer documentation
|
||||||
|
Core GStreamer documentation
|
||||||
|
|
||||||
|
Package: gstreamer-tools
|
||||||
|
Architecture: any
|
||||||
|
Section: x11
|
||||||
|
Depends: ${shlibs:Depends}
|
||||||
|
Suggests: gstreamer-common
|
||||||
|
Description: Tools for use with GStreamer
|
||||||
|
Tools for use with GStreamer
|
||||||
|
.
|
||||||
|
gstreamer-inspect: query details of installed plugins
|
||||||
|
gstreamer-launch: command line pipeline generator
|
||||||
|
|
||||||
|
Package: libgstmediaplay0
|
||||||
|
Architecture: any
|
||||||
|
Section: libs
|
||||||
|
Depends: ${shlibs:Depends}
|
||||||
|
Description: GStreamer media player library
|
||||||
|
GStreamer media player library
|
||||||
|
|
||||||
|
Package: libgstmediaplay-dev
|
||||||
|
Architecture: any
|
||||||
|
Section: devel
|
||||||
|
Depends: libgstmediaplay0 (= ${Source-Version}), libc6-dev
|
||||||
|
Description: GStreamer media player development library and header
|
||||||
|
GStreamer media player development library and header
|
||||||
|
|
||||||
|
Package: gstmediaplay
|
||||||
|
Architecture: any
|
||||||
|
Section: x11
|
||||||
|
Depends: ${shlibs:Depends}
|
||||||
|
Suggests: gstreamer-common
|
||||||
|
Description: GStreamer media player
|
||||||
|
GStreamer media player
|
||||||
|
|
||||||
|
Package: libgsteditor0
|
||||||
|
Architecture: any
|
||||||
|
Section: libs
|
||||||
|
Depends: ${shlibs:Depends}
|
||||||
|
Description: GStreamer editor library
|
||||||
|
GStreamer editor library
|
||||||
|
|
||||||
|
Package: libgsteditor-dev
|
||||||
|
Architecture: any
|
||||||
|
Section: devel
|
||||||
|
Depends: libgsteditor0 (= ${Source-Version}), libc6-dev
|
||||||
|
Description: GStreamer editor development library and header
|
||||||
|
GStreamer editor development library and header
|
||||||
|
|
||||||
|
Package: gsteditor
|
||||||
|
Architecture: any
|
||||||
|
Section: x11
|
||||||
|
Depends: ${shlibs:Depends}
|
||||||
|
Suggests: gstreamer-common
|
||||||
|
Description: GStreamer editor
|
||||||
|
GStreamer editor
|
||||||
|
|
||||||
|
Package: gstreamer-alsa
|
||||||
|
Architecture: any
|
||||||
|
Section: libs
|
||||||
|
Depends: ${shlibs:Depends}, gstreamer-runtime
|
||||||
|
Description: ALSA plugin for GStreamer
|
||||||
|
ALSA plugin for GStreamer
|
||||||
|
|
||||||
|
Package: gstreamer-cdparanoia
|
||||||
|
Architecture: any
|
||||||
|
Section: libs
|
||||||
|
Depends: ${shlibs:Depends}, gstreamer-runtime
|
||||||
|
Description: cdparanoia plugin for GStreamer
|
||||||
|
cdparanoia plugin for GStreamer
|
||||||
|
|
||||||
|
Package: gstreamer-common
|
||||||
|
Architecture: any
|
||||||
|
Section: libs
|
||||||
|
Depends: ${shlibs:Depends}, gstreamer-runtime
|
||||||
|
Description: Collection of GStreamer plugins
|
||||||
|
Collection of GStreamer plugins
|
||||||
|
.
|
||||||
|
These plugins have no special dependencies.
|
||||||
|
|
||||||
|
Package: gstreamer-elements
|
||||||
|
Architecture: any
|
||||||
|
Section: libs
|
||||||
|
Depends: ${shlibs:Depends}, gstreamer-runtime
|
||||||
|
Description: Core elements plugin for GStreamer
|
||||||
|
Core elements plugin for GStreamer
|
||||||
|
|
||||||
|
Package: gstreamer-esd
|
||||||
|
Architecture: any
|
||||||
|
Section: libs
|
||||||
|
Depends: ${shlibs:Depends}, gstreamer-runtime
|
||||||
|
Description: Enlightened Sound Daemon plugin for GStreamer
|
||||||
|
Enlightened Sound Daemon plugin for GStreamer
|
||||||
|
|
||||||
|
Package: gstreamer-lame
|
||||||
|
Architecture: any
|
||||||
|
Section: libs
|
||||||
|
Depends: ${shlibs:Depends}, gstreamer-runtime
|
||||||
|
Description: LAME plugin for GStreamer
|
||||||
|
LAME plugin for GStreamer
|
||||||
|
|
||||||
|
Package: gstreamer-mpeg2dec
|
||||||
|
Architecture: any
|
||||||
|
Section: libs
|
||||||
|
Depends: ${shlibs:Depends}, gstreamer-runtime
|
||||||
|
Description: mpeg2dec plugin for GStreamer
|
||||||
|
mpeg2dec plugin for GStreamer
|
||||||
|
|
||||||
|
Package: gstreamer-mpg123
|
||||||
|
Architecture: any
|
||||||
|
Section: libs
|
||||||
|
Depends: ${shlibs:Depends}, gstreamer-runtime
|
||||||
|
Description: mpg123 plugin for GStreamer
|
||||||
|
mpg123 plugin for GStreamer
|
||||||
|
|
||||||
|
Package: gstreamer-vorbis
|
||||||
|
Architecture: any
|
||||||
|
Section: libs
|
||||||
|
Depends: ${shlibs:Depends}, gstreamer-runtime
|
||||||
|
Description: Vorbis plugin for GStreamer
|
||||||
|
Vorbis plugin for GStreamer
|
29
debian/copyright
vendored
Normal file
29
debian/copyright
vendored
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
This package was debianized by David I. Lehn <dlehn@vt.edu> on
|
||||||
|
Mon, 15 Jan 2001 18:21:37 -0500.
|
||||||
|
|
||||||
|
It was downloaded from http://gstreamer.net/
|
||||||
|
|
||||||
|
Upstream Author(s):
|
||||||
|
Erik Walthinsen <omegahacker@users.sourceforge.net>
|
||||||
|
Wim Taymans <wim.taymans@chello.be>
|
||||||
|
Richard Boulton <richard@tartarus.org>
|
||||||
|
|
||||||
|
Copyright:
|
||||||
|
|
||||||
|
This package is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This package is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with this package; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
|
||||||
|
On Debian GNU/Linux systems, the complete text of the GNU Lesser General
|
||||||
|
Public License can be found in `/usr/share/common-licenses/LGPL'.
|
||||||
|
|
2
debian/gsteditor.files
vendored
Normal file
2
debian/gsteditor.files
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
usr/bin/gsteditor
|
||||||
|
usr/share/gsteditor
|
1
debian/gsteditor.manpages
vendored
Normal file
1
debian/gsteditor.manpages
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
debian/gstreamer/usr/share/man/man1/gsteditor.1
|
5
debian/gsteditor.menu
vendored
Normal file
5
debian/gsteditor.menu
vendored
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
?package(gsteditor): \
|
||||||
|
needs=X11 \
|
||||||
|
section=Apps/Viewers \
|
||||||
|
title="GStreamer Editor" \
|
||||||
|
command="/usr/bin/gsteditor"
|
2
debian/gstmediaplay.files
vendored
Normal file
2
debian/gstmediaplay.files
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
usr/bin/gstmediaplay
|
||||||
|
usr/share/gstmediaplay
|
1
debian/gstmediaplay.manpages
vendored
Normal file
1
debian/gstmediaplay.manpages
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
debian/gstreamer/usr/share/man/man1/gstmediaplay.1
|
5
debian/gstmediaplay.menu
vendored
Normal file
5
debian/gstmediaplay.menu
vendored
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
?package(gstmediaplay): \
|
||||||
|
needs=X11 \
|
||||||
|
section=Apps/Viewers \
|
||||||
|
title="GStreamer Media Player" \
|
||||||
|
command="/usr/bin/gstmediaplay"
|
2
debian/gstreamer-alsa.files
vendored
Normal file
2
debian/gstreamer-alsa.files
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
usr/lib/gst/libalsasrc.*
|
||||||
|
usr/lib/gst/libalsasink.*
|
1
debian/gstreamer-cdparanoia.files
vendored
Normal file
1
debian/gstreamer-cdparanoia.files
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/lib/gst/libcdparanoia.*
|
47
debian/gstreamer-common.files
vendored
Normal file
47
debian/gstreamer-common.files
vendored
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
usr/lib/gst/libgstriff.*
|
||||||
|
usr/lib/gst/libgstcolorspace.*
|
||||||
|
usr/lib/gst/libgstgetbits.*
|
||||||
|
usr/lib/gst/libgstparsewav.*
|
||||||
|
usr/lib/gst/libgstputbits.*
|
||||||
|
usr/lib/gst/libgstidct.*
|
||||||
|
usr/lib/gst/libgsttypes.*
|
||||||
|
usr/lib/gst/libgstvideoscale.*
|
||||||
|
usr/lib/gst/libwinloader.*
|
||||||
|
usr/lib/gst/libgstparseau.*
|
||||||
|
usr/lib/gst/libmp3parse.*
|
||||||
|
usr/lib/gst/libmp3types.*
|
||||||
|
usr/lib/gst/libstereo.*
|
||||||
|
usr/lib/gst/libvolume.*
|
||||||
|
usr/lib/gst/libgstspectrum.*
|
||||||
|
usr/lib/gst/libvumeter.*
|
||||||
|
usr/lib/gst/libsynaesthesia.*
|
||||||
|
usr/lib/gst/libsmoothwave.*
|
||||||
|
usr/lib/gst/libmpeg2parse.*
|
||||||
|
usr/lib/gst/libac3dec.*
|
||||||
|
usr/lib/gst/libac3parse.*
|
||||||
|
usr/lib/gst/libmpeg2play.*
|
||||||
|
usr/lib/gst/libmpeg2enc.*
|
||||||
|
usr/lib/gst/libmpeg2subt.*
|
||||||
|
usr/lib/gst/libmp2videoparse.*
|
||||||
|
usr/lib/gst/libmpeg2types.*
|
||||||
|
usr/lib/gst/libmpeg1parse.*
|
||||||
|
usr/lib/gst/libmpeg_play.*
|
||||||
|
usr/lib/gst/libmpeg1encoder.*
|
||||||
|
usr/lib/gst/libsystem_encode.*
|
||||||
|
usr/lib/gst/libmpegaudio.*
|
||||||
|
usr/lib/gst/libmpeg1types.*
|
||||||
|
usr/lib/gst/libvcdsrc.*
|
||||||
|
usr/lib/gst/librtjpeg.*
|
||||||
|
usr/lib/gst/libvideosink.*
|
||||||
|
usr/lib/gst/libv4lsrc.*
|
||||||
|
usr/lib/gst/libjpeg.*
|
||||||
|
usr/lib/gst/libmp1videoparse.*
|
||||||
|
usr/lib/gst/libvideoscale.*
|
||||||
|
usr/lib/gst/libsmooth.*
|
||||||
|
usr/lib/gst/libmedian.*
|
||||||
|
usr/lib/gst/libgstladspa.*
|
||||||
|
usr/lib/gst/libaudioscale.*
|
||||||
|
usr/lib/gst/libwincodec.*
|
||||||
|
usr/lib/gst/libaviencoder.*
|
||||||
|
usr/lib/gst/libavidecoder.*
|
||||||
|
usr/lib/gst/libdvdsrc.*
|
1
debian/gstreamer-doc.files
vendored
Normal file
1
debian/gstreamer-doc.files
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/share/gstreamer
|
3
debian/gstreamer-elements.files
vendored
Normal file
3
debian/gstreamer-elements.files
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
usr/lib/gst/libgstelements.*
|
||||||
|
usr/lib/gst/libgststaticautoplug.*
|
||||||
|
usr/lib/gst/libgststaticautoplugrender.*
|
1
debian/gstreamer-esd.files
vendored
Normal file
1
debian/gstreamer-esd.files
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/lib/gst/libesdsink.*
|
1
debian/gstreamer-lame.files
vendored
Normal file
1
debian/gstreamer-lame.files
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/lib/gst/libgstlame.*
|
1
debian/gstreamer-mpeg2dec.files
vendored
Normal file
1
debian/gstreamer-mpeg2dec.files
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/lib/gst/libmpeg2dec.*
|
1
debian/gstreamer-mpg123.files
vendored
Normal file
1
debian/gstreamer-mpg123.files
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/lib/gst/libmpg123.*
|
25
debian/gstreamer-plugin-template.postinst
vendored
Normal file
25
debian/gstreamer-plugin-template.postinst
vendored
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
#! /bin/sh
|
||||||
|
# template plugin postinst script
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
configure)
|
||||||
|
# Update shared lib deps
|
||||||
|
gstreamer-register
|
||||||
|
;;
|
||||||
|
|
||||||
|
abort-upgrade|abort-remove|abort-deconfigure)
|
||||||
|
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "postinst called with unknown argument \`$1'" >&2
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
#DEBHELPER#
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
23
debian/gstreamer-plugin-template.prerm
vendored
Normal file
23
debian/gstreamer-plugin-template.prerm
vendored
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
#! /bin/sh
|
||||||
|
# template plugin prerm script
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
remove|upgrade|deconfigure)
|
||||||
|
# update the shared libs
|
||||||
|
gstreamer-register
|
||||||
|
|
||||||
|
;;
|
||||||
|
failed-upgrade)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "prerm called with unknown argument \`$1'" >&2
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
#DEBHELPER#
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
1
debian/gstreamer-runtime.files
vendored
Normal file
1
debian/gstreamer-runtime.files
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/bin/gstreamer-register
|
1
debian/gstreamer-runtime.manpages
vendored
Normal file
1
debian/gstreamer-runtime.manpages
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
debian/gstreamer/usr/share/man/man1/gstreamer-register.1
|
47
debian/gstreamer-runtime.postinst
vendored
Normal file
47
debian/gstreamer-runtime.postinst
vendored
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# postinst script for gstreamer
|
||||||
|
#
|
||||||
|
# see: dh_installdeb(1)
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# summary of how this script can be called:
|
||||||
|
# * <postinst> `configure' <most-recently-configured-version>
|
||||||
|
# * <old-postinst> `abort-upgrade' <new version>
|
||||||
|
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
|
||||||
|
# <new-version>
|
||||||
|
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
|
||||||
|
# <failed-install-package> <version> `removing'
|
||||||
|
# <conflicting-package> <version>
|
||||||
|
# for details, see /usr/share/doc/packaging-manual/
|
||||||
|
#
|
||||||
|
# quoting from the policy:
|
||||||
|
# Any necessary prompting should almost always be confined to the
|
||||||
|
# post-installation script, and should be protected with a conditional
|
||||||
|
# so that unnecessary prompting doesn't happen if a package's
|
||||||
|
# installation fails and the `postinst' is called with `abort-upgrade',
|
||||||
|
# `abort-remove' or `abort-deconfigure'.
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
configure)
|
||||||
|
gstreamer-register
|
||||||
|
;;
|
||||||
|
|
||||||
|
abort-upgrade|abort-remove|abort-deconfigure)
|
||||||
|
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "postinst called with unknown argument \`$1'" >&2
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# dh_installdeb will replace this with shell code automatically
|
||||||
|
# generated by other debhelper scripts.
|
||||||
|
|
||||||
|
#DEBHELPER#
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
|
2
debian/gstreamer-tools.files
vendored
Normal file
2
debian/gstreamer-tools.files
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
usr/bin/gstreamer-inspect
|
||||||
|
usr/bin/gstreamer-launch
|
2
debian/gstreamer-tools.manpages
vendored
Normal file
2
debian/gstreamer-tools.manpages
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
debian/gstreamer/usr/share/man/man1/gstreamer-inspect.1
|
||||||
|
debian/gstreamer/usr/share/man/man1/gstreamer-launch.1
|
1
debian/gstreamer-vorbis.files
vendored
Normal file
1
debian/gstreamer-vorbis.files
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/lib/gst/libgstvorbis.*
|
6
debian/libgst-dev.files
vendored
Normal file
6
debian/libgst-dev.files
vendored
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
usr/include
|
||||||
|
usr/share/aclocal
|
||||||
|
usr/bin/gstreamer-config
|
||||||
|
usr/lib/libgst.la
|
||||||
|
usr/lib/libgst.so
|
||||||
|
usr/lib/gst/libgstelements.la
|
1
debian/libgst-dev.manpages
vendored
Normal file
1
debian/libgst-dev.manpages
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
debian/gstreamer/usr/share/man/man1/gstreamer-config.1
|
1
debian/libgst0.files
vendored
Normal file
1
debian/libgst0.files
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/lib/libgst.so.*
|
47
debian/libgst0.postinst
vendored
Normal file
47
debian/libgst0.postinst
vendored
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# postinst script for gstreamer
|
||||||
|
#
|
||||||
|
# see: dh_installdeb(1)
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# summary of how this script can be called:
|
||||||
|
# * <postinst> `configure' <most-recently-configured-version>
|
||||||
|
# * <old-postinst> `abort-upgrade' <new version>
|
||||||
|
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
|
||||||
|
# <new-version>
|
||||||
|
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
|
||||||
|
# <failed-install-package> <version> `removing'
|
||||||
|
# <conflicting-package> <version>
|
||||||
|
# for details, see /usr/share/doc/packaging-manual/
|
||||||
|
#
|
||||||
|
# quoting from the policy:
|
||||||
|
# Any necessary prompting should almost always be confined to the
|
||||||
|
# post-installation script, and should be protected with a conditional
|
||||||
|
# so that unnecessary prompting doesn't happen if a package's
|
||||||
|
# installation fails and the `postinst' is called with `abort-upgrade',
|
||||||
|
# `abort-remove' or `abort-deconfigure'.
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
configure)
|
||||||
|
ldconfig
|
||||||
|
;;
|
||||||
|
|
||||||
|
abort-upgrade|abort-remove|abort-deconfigure)
|
||||||
|
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "postinst called with unknown argument \`$1'" >&2
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# dh_installdeb will replace this with shell code automatically
|
||||||
|
# generated by other debhelper scripts.
|
||||||
|
|
||||||
|
#DEBHELPER#
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
|
2
debian/libgsteditor-dev.files
vendored
Normal file
2
debian/libgsteditor-dev.files
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
usr/lib/libgsteditor.la
|
||||||
|
usr/lib/libgsteditor.so
|
1
debian/libgsteditor0.files
vendored
Normal file
1
debian/libgsteditor0.files
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/lib/libgsteditor.so.*
|
47
debian/libgsteditor0.postinst
vendored
Normal file
47
debian/libgsteditor0.postinst
vendored
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# postinst script for gstreamer
|
||||||
|
#
|
||||||
|
# see: dh_installdeb(1)
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# summary of how this script can be called:
|
||||||
|
# * <postinst> `configure' <most-recently-configured-version>
|
||||||
|
# * <old-postinst> `abort-upgrade' <new version>
|
||||||
|
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
|
||||||
|
# <new-version>
|
||||||
|
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
|
||||||
|
# <failed-install-package> <version> `removing'
|
||||||
|
# <conflicting-package> <version>
|
||||||
|
# for details, see /usr/share/doc/packaging-manual/
|
||||||
|
#
|
||||||
|
# quoting from the policy:
|
||||||
|
# Any necessary prompting should almost always be confined to the
|
||||||
|
# post-installation script, and should be protected with a conditional
|
||||||
|
# so that unnecessary prompting doesn't happen if a package's
|
||||||
|
# installation fails and the `postinst' is called with `abort-upgrade',
|
||||||
|
# `abort-remove' or `abort-deconfigure'.
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
configure)
|
||||||
|
ldconfig
|
||||||
|
;;
|
||||||
|
|
||||||
|
abort-upgrade|abort-remove|abort-deconfigure)
|
||||||
|
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "postinst called with unknown argument \`$1'" >&2
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# dh_installdeb will replace this with shell code automatically
|
||||||
|
# generated by other debhelper scripts.
|
||||||
|
|
||||||
|
#DEBHELPER#
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
|
2
debian/libgstmediaplay-dev.files
vendored
Normal file
2
debian/libgstmediaplay-dev.files
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
usr/lib/libgstmediaplay.la
|
||||||
|
usr/lib/libgstmediaplay.so
|
1
debian/libgstmediaplay0.files
vendored
Normal file
1
debian/libgstmediaplay0.files
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/lib/libgstmediaplay.so.*
|
47
debian/libgstmediaplay0.postinst
vendored
Normal file
47
debian/libgstmediaplay0.postinst
vendored
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# postinst script for gstreamer
|
||||||
|
#
|
||||||
|
# see: dh_installdeb(1)
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# summary of how this script can be called:
|
||||||
|
# * <postinst> `configure' <most-recently-configured-version>
|
||||||
|
# * <old-postinst> `abort-upgrade' <new version>
|
||||||
|
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
|
||||||
|
# <new-version>
|
||||||
|
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
|
||||||
|
# <failed-install-package> <version> `removing'
|
||||||
|
# <conflicting-package> <version>
|
||||||
|
# for details, see /usr/share/doc/packaging-manual/
|
||||||
|
#
|
||||||
|
# quoting from the policy:
|
||||||
|
# Any necessary prompting should almost always be confined to the
|
||||||
|
# post-installation script, and should be protected with a conditional
|
||||||
|
# so that unnecessary prompting doesn't happen if a package's
|
||||||
|
# installation fails and the `postinst' is called with `abort-upgrade',
|
||||||
|
# `abort-remove' or `abort-deconfigure'.
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
configure)
|
||||||
|
ldconfig
|
||||||
|
;;
|
||||||
|
|
||||||
|
abort-upgrade|abort-remove|abort-deconfigure)
|
||||||
|
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "postinst called with unknown argument \`$1'" >&2
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# dh_installdeb will replace this with shell code automatically
|
||||||
|
# generated by other debhelper scripts.
|
||||||
|
|
||||||
|
#DEBHELPER#
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
|
147
debian/rules
vendored
Executable file
147
debian/rules
vendored
Executable file
|
@ -0,0 +1,147 @@
|
||||||
|
#!/usr/bin/make -f
|
||||||
|
# Sample debian/rules that uses debhelper.
|
||||||
|
# GNU copyright 1997 by Joey Hess.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Uncomment this to turn on verbose mode.
|
||||||
|
#export DH_VERBOSE=1
|
||||||
|
|
||||||
|
# This is the debhelper compatability version to use.
|
||||||
|
export DH_COMPAT=3
|
||||||
|
|
||||||
|
# This has to be exported to make some magic below work.
|
||||||
|
export DH_OPTIONS
|
||||||
|
|
||||||
|
# The plugins are basically the same.
|
||||||
|
# Link special names to a template file.
|
||||||
|
# still need "*.files" to be done by hand
|
||||||
|
|
||||||
|
PLUGINS=alsa cdparanoia common elements esd lame mpeg2dec mpg123 vorbis
|
||||||
|
|
||||||
|
setup-links:
|
||||||
|
for i in $(PLUGINS); do \
|
||||||
|
ln -fs debian/gstreamer-plugin-template.postinst \
|
||||||
|
debian/gstreamer-$$i.postinst; \
|
||||||
|
ln -fs debian/gstreamer-plugin-template.prerm \
|
||||||
|
debian/gstreamer-$$i.prerm; \
|
||||||
|
done
|
||||||
|
|
||||||
|
configure: configure-stamp
|
||||||
|
configure-stamp:
|
||||||
|
dh_testdir
|
||||||
|
# Add here commands to configure the package.
|
||||||
|
./configure \
|
||||||
|
--prefix=/usr \
|
||||||
|
--mandir=\$${prefix}/share/man \
|
||||||
|
--infodir=\$${prefix}/share/info \
|
||||||
|
--with-configdir=/etc/gstreamer \
|
||||||
|
--disable-plugin-srcdir \
|
||||||
|
--enable-docs-build \
|
||||||
|
--disable-plugin-docs
|
||||||
|
|
||||||
|
touch configure-stamp
|
||||||
|
|
||||||
|
build: configure-stamp build-stamp
|
||||||
|
build-stamp:
|
||||||
|
dh_testdir
|
||||||
|
|
||||||
|
# Add here commands to compile the package.
|
||||||
|
$(MAKE)
|
||||||
|
|
||||||
|
touch build-stamp
|
||||||
|
|
||||||
|
clean:
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
rm -f build-stamp configure-stamp
|
||||||
|
|
||||||
|
# Add here commands to clean up after the build process.
|
||||||
|
-$(MAKE) distclean
|
||||||
|
|
||||||
|
dh_clean
|
||||||
|
|
||||||
|
for i in $(PLUGINS); do \
|
||||||
|
rm -f debian/gstreamer-$$i.postinst; \
|
||||||
|
rm -f debian/gstreamer-$$i.prerm; \
|
||||||
|
done
|
||||||
|
|
||||||
|
install: DH_OPTIONS=
|
||||||
|
install: build
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
dh_clean -k
|
||||||
|
dh_installdirs
|
||||||
|
|
||||||
|
# Add here commands to install the package into debian/gstreamer.
|
||||||
|
$(MAKE) install prefix=$(CURDIR)/debian/gstreamer/usr
|
||||||
|
|
||||||
|
dh_movefiles --sourcedir=debian/gstreamer
|
||||||
|
|
||||||
|
# Build architecture-independent files here.
|
||||||
|
# Pass -i to all debhelper commands in this target to reduce clutter.
|
||||||
|
binary-indep: DH_OPTIONS=-i
|
||||||
|
binary-indep: build install
|
||||||
|
# Need this version of debhelper for DH_OPTIONS to work.
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
# dh_installdebconf
|
||||||
|
dh_installdocs
|
||||||
|
dh_installexamples
|
||||||
|
dh_installmenu
|
||||||
|
# dh_installemacsen
|
||||||
|
# dh_installpam
|
||||||
|
# dh_installinit
|
||||||
|
# dh_installcron
|
||||||
|
dh_installman
|
||||||
|
# dh_installinfo
|
||||||
|
# dh_undocumented
|
||||||
|
dh_installchangelogs ChangeLog
|
||||||
|
dh_strip
|
||||||
|
# dh_link
|
||||||
|
dh_compress
|
||||||
|
dh_fixperms
|
||||||
|
# You may want to make some executables suid here.
|
||||||
|
# dh_suidregister
|
||||||
|
dh_installdeb
|
||||||
|
# dh_makeshlibs
|
||||||
|
# dh_perl
|
||||||
|
# dh_shlibdeps
|
||||||
|
dh_gencontrol
|
||||||
|
dh_md5sums
|
||||||
|
dh_builddeb
|
||||||
|
|
||||||
|
# Build architecture-dependent files here.
|
||||||
|
# Pass -a to all debhelper commands in this target to reduce clutter.
|
||||||
|
binary-arch: DH_OPTIONS=-a
|
||||||
|
binary-arch: build install setup-links
|
||||||
|
# Need this version of debhelper for DH_OPTIONS to work.
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
# dh_installdebconf
|
||||||
|
dh_installdocs
|
||||||
|
dh_installexamples
|
||||||
|
dh_installmenu
|
||||||
|
# dh_installemacsen
|
||||||
|
# dh_installpam
|
||||||
|
# dh_installinit
|
||||||
|
# dh_installcron
|
||||||
|
dh_installman
|
||||||
|
# dh_installinfo
|
||||||
|
dh_undocumented
|
||||||
|
dh_installchangelogs ChangeLog
|
||||||
|
dh_strip
|
||||||
|
# dh_link
|
||||||
|
dh_compress
|
||||||
|
dh_fixperms
|
||||||
|
# You may want to make some executables suid here.
|
||||||
|
# dh_suidregister
|
||||||
|
dh_installdeb
|
||||||
|
dh_makeshlibs
|
||||||
|
# dh_perl
|
||||||
|
dh_shlibdeps -l`pwd`/debian/libgst0/usr/lib:`pwd`/debian/libgstmediaplay0/usr/lib:`pwd`/debian/libgsteditor0/usr/lib
|
||||||
|
dh_gencontrol
|
||||||
|
dh_md5sums
|
||||||
|
dh_builddeb
|
||||||
|
|
||||||
|
binary: binary-indep binary-arch
|
||||||
|
.PHONY: build clean binary-indep binary-arch binary install configure
|
|
@ -1,4 +1,11 @@
|
||||||
SUBDIRS = manual fwg gst libs
|
|
||||||
|
if BUILD_PLUGIN_DOCS
|
||||||
|
SUBDIRS_PLUGINS = plugins
|
||||||
|
else
|
||||||
|
SUBDIRS_PLUGINS =
|
||||||
|
endif
|
||||||
|
|
||||||
|
SUBDIRS = manual fwg gst libs $(SUBDIRS_PLUGINS)
|
||||||
|
|
||||||
EXTRA_DIST = random slides manuals.mak
|
EXTRA_DIST = random slides manuals.mak
|
||||||
|
|
||||||
|
|
|
@ -4,11 +4,8 @@ htmlname = index.html
|
||||||
sgml_files = gst-plugin-writers-guide.sgml \
|
sgml_files = gst-plugin-writers-guide.sgml \
|
||||||
titlepage.sgml \
|
titlepage.sgml \
|
||||||
intro.sgml \
|
intro.sgml \
|
||||||
concepts.sgml \
|
|
||||||
firstplugin.sgml \
|
|
||||||
testapp.sgml \
|
testapp.sgml \
|
||||||
loopbased.sgml \
|
loopbased.sgml
|
||||||
typesnprops.sgml
|
|
||||||
|
|
||||||
fig_files =
|
fig_files =
|
||||||
eps_files =
|
eps_files =
|
||||||
|
|
|
@ -1,82 +0,0 @@
|
||||||
<chapter id="cha-plugins">
|
|
||||||
<title>Plugins</title>
|
|
||||||
<para>
|
|
||||||
Extensions to GStreamer can be made using a plugin mechanism. This is
|
|
||||||
used extensively in GStreamer even if only the standard package is
|
|
||||||
being used: a few very basic functions reside in the core library, and
|
|
||||||
all others are in a standard set of plugins.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
Plugins are only loaded when needed: a plugin registry is used to
|
|
||||||
store the details of the plugins so that it is not neccessary to load
|
|
||||||
all plugins to determine which are needed.
|
|
||||||
This registry needs to be updated when a new plugin is added to the
|
|
||||||
system: see the <emphasis>gstreamer-register</emphasis> utility and the
|
|
||||||
documentation in the <emphasis>GStreamer Application Development
|
|
||||||
Manual</emphasis> for more details.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
User extensions to GStreamer can be installed in the main plugin
|
|
||||||
directory, and will immediately be available for use in applications.
|
|
||||||
<emphasis>gstreamer-register</emphasis> should be run to update
|
|
||||||
the repository: but the system will work correctly even if it hasn't
|
|
||||||
been - it will just load the correct plugin faster.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
User specific plugin directories and registries will be available in future
|
|
||||||
versions of GStreamer.
|
|
||||||
</para>
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="cha-elements">
|
|
||||||
<title>Elements</title>
|
|
||||||
<para>
|
|
||||||
Elements are at the core of GStreamer. Without elements, GStreamer is just
|
|
||||||
a bunch of pipe fittings with nothing to connect. A large number of
|
|
||||||
elements (filters, sources and sinks) ship with GStreamer, but extra
|
|
||||||
elements can also be written.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
An element may be constructed in several different ways, but all must
|
|
||||||
conform to the same basic rules. A simple filter may be built with the
|
|
||||||
FilterFactory, where the only code that need be written is the actual
|
|
||||||
filter code. A more complex filter, or a source or sink, will need to be
|
|
||||||
written out fully for complete access to the features and performance
|
|
||||||
possible with GStreamer.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
The implementation of a new element will be contained in a plugin:
|
|
||||||
a single plugin may contain the implementation of several elements, or
|
|
||||||
just a single one.
|
|
||||||
</para>
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="cha-buffers">
|
|
||||||
<title>Buffers</title>
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="cha-scheduling">
|
|
||||||
<title>Scheduling</title>
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="cha-chainloop">
|
|
||||||
<title>Chain vs Loop Elements</title>
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="cha-typing">
|
|
||||||
<title>Typing and Properties</title>
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="cha-metadata">
|
|
||||||
<title>Metadata</title>
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</chapter>
|
|
|
@ -1,156 +0,0 @@
|
||||||
<chapter id="cha-boilerplate">
|
|
||||||
<title>Constructing the boilerplate</title>
|
|
||||||
<para>
|
|
||||||
The first thing to do when making a new element is to specify some basic
|
|
||||||
details about it: what its name is, who wrote it, what version number it
|
|
||||||
is, etc. We also need to define an object to represent the element and to
|
|
||||||
store the data the element needs. I shall refer to these details
|
|
||||||
collectively as the <emphasis>boilerplate</emphasis>.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<sect1 id="sect-boilerplate-gobject">
|
|
||||||
<title>Doing it the hard way with GstObject</title>
|
|
||||||
<para>
|
|
||||||
The standard way of defining the boilerplate is simply to write some
|
|
||||||
code, and fill in some structures. The easiest way to do this is to
|
|
||||||
copy an example and modify according to your needs.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
First we will examine the code you would be likely to place in a header
|
|
||||||
file (although since the interface to the code is entirely defined
|
|
||||||
by the pluging system, and doesn't depend on reading a header file,
|
|
||||||
this is not crucial.)
|
|
||||||
|
|
||||||
The code here can be found in
|
|
||||||
<filename>examples/plugins/example.h</filename>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<programlisting>
|
|
||||||
/* Definition of structure storing data for this element. */
|
|
||||||
typedef struct _GstExample GstExample;
|
|
||||||
struct _GstExample {
|
|
||||||
GstElement element;
|
|
||||||
|
|
||||||
GstPad *sinkpad,*srcpad;
|
|
||||||
|
|
||||||
gint8 active;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Standard definition defining a class for this element. */
|
|
||||||
typedef struct _GstExampleClass GstExampleClass;
|
|
||||||
struct _GstExampleClass {
|
|
||||||
GstElementClass parent_class;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Standard macros for defining types for this element. */
|
|
||||||
#define GST_TYPE_EXAMPLE \
|
|
||||||
(gst_example_get_type())
|
|
||||||
#define GST_EXAMPLE(obj) \
|
|
||||||
(GTK_CHECK_CAST((obj),GST_TYPE_EXAMPLE,GstExample))
|
|
||||||
#define GST_EXAMPLE_CLASS(klass) \
|
|
||||||
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_EXAMPLE,GstExample))
|
|
||||||
#define GST_IS_EXAMPLE(obj) \
|
|
||||||
(GTK_CHECK_TYPE((obj),GST_TYPE_EXAMPLE))
|
|
||||||
#define GST_IS_EXAMPLE_CLASS(obj) \
|
|
||||||
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_EXAMPLE))
|
|
||||||
|
|
||||||
/* Standard function returning type information. */
|
|
||||||
GtkType gst_example_get_type(void);
|
|
||||||
</programlisting>
|
|
||||||
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 id="sect-boilerplate-filterfactory">
|
|
||||||
<title>Doing it the easy way with FilterFactory</title>
|
|
||||||
<para>
|
|
||||||
A plan for the future is to create a FilterFactory, to make the
|
|
||||||
process of making a new filter a simple process of specifying a few
|
|
||||||
details, and writing a small amount of code to perform the actual
|
|
||||||
data processing.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
Unfortunately, this hasn't yet been implemented. It is also likely
|
|
||||||
that when it is, it will not be possible to cover all the possibilities
|
|
||||||
available by writing the boilerplate yourself, so some plugins will
|
|
||||||
always need to be manually registered.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
As a rough outline of what is planned: the FilterFactory will take a
|
|
||||||
list of appropriate function pointers, and data structures to define
|
|
||||||
a filter. With a reasonable measure of preprocessor magic, the
|
|
||||||
plugin writer will then simply need to provide definitions of the
|
|
||||||
functions and data structures desired, and a name for the filter, and
|
|
||||||
then call a macro from within plugin_init() which will register the
|
|
||||||
new filter. All the fluff that goes into the definition of a filter
|
|
||||||
will thus be hidden from view.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
Ideally, we will come up with a way for various FilterFactory-provided
|
|
||||||
functions to be overridden, to the point where you can construct
|
|
||||||
almost the most complex stuff with it, it just saves typing.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
Of course, the filter factory can be used to create sources and sinks
|
|
||||||
too: simply create a filter with only source or sink pads.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
You may be thinking that this should really be called an
|
|
||||||
ElementFactory. Well, we agree, but there is already something else
|
|
||||||
justifiably ealled an ElementFactory (this is the thing which actually
|
|
||||||
makes instances of elements). There is also already something called
|
|
||||||
a PluginFactory. We just have too many factories and not enough words.
|
|
||||||
And since this isn't yet written, it doesn't get priority for claiming
|
|
||||||
a name.
|
|
||||||
</para>
|
|
||||||
</sect1>
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="cha-idfilter">
|
|
||||||
<title>An identity filter</title>
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<sect1 id="sect-idfilter-pads">
|
|
||||||
<title>Building an object with pads</title>
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 id="sect-idfilter-fns">
|
|
||||||
<title>Attaching functions</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 id="sect-idfilter-fns">
|
|
||||||
<title>The chain function</title>
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</sect1>
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="cha-plugininit">
|
|
||||||
<title>The plugin_init function</title>
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<sect1 id="sect-plugininit-types">
|
|
||||||
<title>Registering the types</title>
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 id="sect-plugininit-filter">
|
|
||||||
<title>Registering the filter</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 id="sect-plugininit-multiple">
|
|
||||||
<title>Having multiple filters in a single plugin</title>
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</sect1>
|
|
||||||
</chapter>
|
|
|
@ -3,16 +3,10 @@
|
||||||
|
|
||||||
<!ENTITY INTRO SYSTEM "intro.sgml">
|
<!ENTITY INTRO SYSTEM "intro.sgml">
|
||||||
|
|
||||||
<!ENTITY CONCEPTS SYSTEM "concepts.sgml">
|
|
||||||
|
|
||||||
<!ENTITY FIRSTPLUGIN SYSTEM "firstplugin.sgml">
|
|
||||||
|
|
||||||
<!ENTITY TESTAPP SYSTEM "testapp.sgml">
|
<!ENTITY TESTAPP SYSTEM "testapp.sgml">
|
||||||
|
|
||||||
<!ENTITY LOOPBASED SYSTEM "loopbased.sgml">
|
<!ENTITY LOOPBASED SYSTEM "loopbased.sgml">
|
||||||
|
|
||||||
<!ENTITY TYPESNPROPS SYSTEM "typesnprops.sgml">
|
|
||||||
|
|
||||||
<!ENTITY BUFFERS SYSTEM ".sgml">
|
<!ENTITY BUFFERS SYSTEM ".sgml">
|
||||||
|
|
||||||
<!ENTITY SRCNSINK SYSTEM ".sgml">
|
<!ENTITY SRCNSINK SYSTEM ".sgml">
|
||||||
|
@ -20,6 +14,8 @@
|
||||||
<!ENTITY STATEMANAGE SYSTEM ".sgml">
|
<!ENTITY STATEMANAGE SYSTEM ".sgml">
|
||||||
|
|
||||||
<!ENTITY CHECKLIST SYSTEM ".sgml">
|
<!ENTITY CHECKLIST SYSTEM ".sgml">
|
||||||
|
|
||||||
|
<!ENTITY GStreamer "<application>GStreamer</application>">
|
||||||
]>
|
]>
|
||||||
|
|
||||||
<book id="index">
|
<book id="index">
|
||||||
|
@ -30,22 +26,22 @@
|
||||||
<part id="introduction"><title>Introduction</title>
|
<part id="introduction"><title>Introduction</title>
|
||||||
<partintro>
|
<partintro>
|
||||||
<para>
|
<para>
|
||||||
<application>GStreamer</application> is a framework for creating
|
&GStreamer; is a framework for creating
|
||||||
streaming media applications. It is extremely powerful and versatile,
|
streaming media applications. It is extremely powerful and versatile,
|
||||||
and this versatility stems in part from its modularity, and its ability
|
and this versatility stems in part from its modularity, and its ability
|
||||||
to incorporate new modules seamlessly into its framework.
|
to incorporate new modules seamlessly into its framework.
|
||||||
This document describes how to extend the capabilities of
|
This document describes how to extend the capabilities of
|
||||||
<application>GStreamer</application> by creating new plugins.
|
&GStreamer; by creating new plugins.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
It first describes the concepts required and the ways in which
|
It first describes the concepts required and the ways in which
|
||||||
<application>GStreamer</application> can be extended. It then goes
|
&GStreamer; can be extended. It then goes
|
||||||
through a worked example of how to write a simple filter (for data
|
through a worked example of how to write a simple filter (for data
|
||||||
processing), and how to test and debug it. More advanced concepts are
|
processing), and how to test and debug it. More advanced concepts are
|
||||||
then introduced, with worked examples of each. Next, writing source
|
then introduced, with worked examples of each. Next, writing source
|
||||||
and sink elements (for performing input and output) is discussed.
|
and sink elements (for performing input and output) is discussed.
|
||||||
Finally, checklists of things to be sure to do when extending
|
Finally, checklists of things to be sure to do when extending
|
||||||
<application>GStreamer</application> are presented.
|
&GStreamer; are presented.
|
||||||
</para>
|
</para>
|
||||||
</partintro>
|
</partintro>
|
||||||
|
|
||||||
|
@ -59,12 +55,361 @@
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
This section introduces the basic concepts required to understand the
|
This section introduces the basic concepts required to understand the
|
||||||
issues involved in extending <application>GStreamer</application>
|
issues involved in extending &GStreamer;
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Many of these concepts are explained in greater detail in the
|
||||||
|
GStreamer Application Development Manual, and are merely mentioned
|
||||||
|
here to refresh your memory.
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
</partintro>
|
</partintro>
|
||||||
|
|
||||||
&CONCEPTS;
|
|
||||||
|
<chapter id="cha-plugins">
|
||||||
|
<title>Plugins</title>
|
||||||
|
<para>
|
||||||
|
Extensions to &GStreamer; can be made using a plugin mechanism. This is
|
||||||
|
used extensively in &GStreamer; even if only the standard package is
|
||||||
|
being used: a few very basic functions reside in the core library, and
|
||||||
|
all others are implemented in plugins.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Plugins are only loaded when needed: a plugin registry is used to
|
||||||
|
store the details of the plugins so that it is not neccessary to load
|
||||||
|
all plugins to determine which are needed.
|
||||||
|
This registry needs to be updated whenever a new plugin is added to the
|
||||||
|
system: see the <emphasis>gstreamer-register</emphasis> utility and the
|
||||||
|
documentation in the <emphasis>GStreamer Application Development
|
||||||
|
Manual</emphasis> for more details.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
User extensions to &GStreamer; can be installed in the main plugin
|
||||||
|
directory, and will immediately be available for use in applications.
|
||||||
|
<emphasis>gstreamer-register</emphasis> should be run to update
|
||||||
|
the repository: but the system should work correctly even if it hasn't
|
||||||
|
been - it will just take longer to load the correct plugin.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
User specific plugin directories and registries will be available
|
||||||
|
in future versions of &GStreamer;.
|
||||||
|
</para>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
<chapter id="cha-elements">
|
||||||
|
<title>Elements</title>
|
||||||
|
<para>
|
||||||
|
Elements are at the core of &GStreamer;. Without elements, &GStreamer;
|
||||||
|
is just
|
||||||
|
a bunch of pipe fittings with nothing to connect. A large number of
|
||||||
|
elements (filters, sources and sinks) ship with &GStreamer;, but extra
|
||||||
|
elements can also be written.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
An element may be constructed in several different ways, but all must
|
||||||
|
conform to the same basic rules. A simple filter may be built with the
|
||||||
|
FilterFactory, where the only code that need be written is the actual
|
||||||
|
filter code. A more complex filter, or a source or sink, will need to
|
||||||
|
be written out fully for complete access to the features and
|
||||||
|
performance possible with &GStreamer;.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
The implementation of a new element will be contained in a plugin:
|
||||||
|
a single plugin may contain the implementation of several elements, or
|
||||||
|
just a single one.
|
||||||
|
</para>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
<chapter id="cha-buffers">
|
||||||
|
<title>Buffers</title>
|
||||||
|
<para>
|
||||||
|
Buffers are structures used to pass data between elements. All streams
|
||||||
|
of data are chopped up into chunks which are stored in buffers.
|
||||||
|
Buffers can be of any size, and also contain metadata indicating the
|
||||||
|
type of data contained in them. Buffers can be allocated by various
|
||||||
|
different schemes, and may either be passed on by elements or
|
||||||
|
unreferenced (and the memory used by the buffer freed).
|
||||||
|
</para>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
<chapter id="cha-typing">
|
||||||
|
<title>Typing and Properties</title>
|
||||||
|
<para>
|
||||||
|
A type system is used to ensure that the data passed between elements
|
||||||
|
is in a recognised format, and that the various parameters required
|
||||||
|
to fully specify that format match up correctly. Each connection
|
||||||
|
that is made between elements has a specified type. This is related,
|
||||||
|
but different, to the metadata in buffers which describes the type
|
||||||
|
of data in that particular buffer. See later in this document for
|
||||||
|
details of the available types.
|
||||||
|
</para>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
<chapter id="cha-metadata">
|
||||||
|
<title>Metadata</title>
|
||||||
|
<para>
|
||||||
|
</para>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
<chapter id="cha-scheduling">
|
||||||
|
<title>Scheduling</title>
|
||||||
|
<para>
|
||||||
|
</para>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
<chapter id="cha-chainloop">
|
||||||
|
<title>Chain vs Loop Elements</title>
|
||||||
|
<para>
|
||||||
|
</para>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
<chapter id="cha-autopluggers">
|
||||||
|
<title>Autopluggers</title>
|
||||||
|
<para>
|
||||||
|
&GStreamer; has an autoplugging mechanism, which enables application
|
||||||
|
writers to simply specify start and end elements for a path, and
|
||||||
|
the system will then create a path which links these elements,
|
||||||
|
in accordance with the type information provided by the elements.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
It is possible to devise many different schemes for generating such
|
||||||
|
pathways, perhaps to optimise based on special criteria, or with
|
||||||
|
some specific constraints. It is thus possible to define new
|
||||||
|
autoplugging systems, using the plugin system.
|
||||||
|
</para>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
</part>
|
||||||
|
|
||||||
|
<!-- ############ part ############# -->
|
||||||
|
|
||||||
|
<part id="typesnprops"><title>Types and Properties</title>
|
||||||
|
<partintro>
|
||||||
|
<para>
|
||||||
|
There is a very large set of possible types that may be used to
|
||||||
|
pass data between elements. Indeed, each new element that is defined
|
||||||
|
may use a new data format (though unless at least one other element
|
||||||
|
recognises that format, it will be most likely be useless since
|
||||||
|
nothing will be able to link with it).
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
In order for types to be useful, and for systems like autopluggers to
|
||||||
|
work, it is neccessary that all elements
|
||||||
|
agree on the type definitions, and which properties are required
|
||||||
|
for each type. The &GStreamer; framework itself
|
||||||
|
simply provides the ability to define types and parameters, but does
|
||||||
|
not fix the meaning of types and parameters, and does not enforce
|
||||||
|
standards on the creation of new types. This is a matter for
|
||||||
|
a policy to decide, not technical systems to enforce.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
For now, the policy is simple:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Do not create a new type if you could use one which already
|
||||||
|
exists.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
If creating a new type, discuss it first with the other
|
||||||
|
&GStreamer; developers, on at least one of: IRC, mailing lists,
|
||||||
|
the &GStreamer; wiki.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Try to ensure that the name for a new format is as unlikely to
|
||||||
|
conflict with anything else created already, and is not a more
|
||||||
|
generalised name than it should be. For example:
|
||||||
|
"audio/compressed" would be too generalised a name to represent
|
||||||
|
audio data compressed with an mp3 codec. Instead "audio/mp3"
|
||||||
|
might be an appropriate name, or "audio/compressed" could exist
|
||||||
|
and have a property indicating the type of compression used.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure that, when you do create a new type, you specify it
|
||||||
|
clearly, and get it added to the list of known types so that
|
||||||
|
other developers can use the type correctly when writing their
|
||||||
|
elements.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
</partintro>
|
||||||
|
|
||||||
|
<chapter id="cha-basic-types">
|
||||||
|
<title>The basic types</title>
|
||||||
|
<para>
|
||||||
|
This is a list of the basic types used for buffers. For each type, we
|
||||||
|
give the name ("mime type") of the type, the list of properties which
|
||||||
|
are associated with the type, the meaning of each property, and the
|
||||||
|
purpose of the type.
|
||||||
|
</para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<emphasis>audio/raw</emphasis>
|
||||||
|
- Unstructured and uncompressed raw audio data.
|
||||||
|
</para><para>
|
||||||
|
<emphasis>law</emphasis>
|
||||||
|
- The law used to describe the data. This is an integer for which
|
||||||
|
there are three valid values: 0 for linear, 1 for
|
||||||
|
mu law, 2 for A law.
|
||||||
|
</para><para>
|
||||||
|
<emphasis>endianness</emphasis>
|
||||||
|
- The order of bytes in a sample. This is a boolean:
|
||||||
|
0 means little-endian (ie, bytes are least significant first),
|
||||||
|
1 means big-endian (ie, most significant byte first).
|
||||||
|
</para><para>
|
||||||
|
<emphasis>signed</emphasis>
|
||||||
|
- Whether the samples are signed or not. This is a boolean:
|
||||||
|
0 means unsigned, 1 means signed.
|
||||||
|
</para><para>
|
||||||
|
<emphasis>width</emphasis>
|
||||||
|
- The number of bits per sample. This is extremely likely to be
|
||||||
|
a multiple of 8, but as ever this is up to each element supporting
|
||||||
|
this format to specify.
|
||||||
|
</para><para>
|
||||||
|
<emphasis>depth</emphasis>
|
||||||
|
- The number of bits used per sample. This must be less than or
|
||||||
|
equal to the width: if less than the width, the low bits are
|
||||||
|
assumed to be the ones used. For example, width=32, depth=24
|
||||||
|
means that each sample is stored in a 32 bit word, but only the
|
||||||
|
low 24 bits are actually used.
|
||||||
|
</para><para>
|
||||||
|
<emphasis>rate</emphasis>
|
||||||
|
- The sample rate of the data, in samples per second.
|
||||||
|
</para><para>
|
||||||
|
<emphasis>channels</emphasis>
|
||||||
|
- The number of channels of audio data.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
For example: 16 bit, unsigned, linear, monophonic, big-endian,
|
||||||
|
44100KHz audio would be represented by
|
||||||
|
"law=0,endianness=1,signed=0,width=16,depth=16,rate=44100,channels=1"
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<emphasis>audio/mp3</emphasis>
|
||||||
|
- Audio data compressed using the mp3 encoding scheme.
|
||||||
|
</para><para>
|
||||||
|
<emphasis>framed</emphasis>
|
||||||
|
- This is a boolean. If true (1), each buffer contains exactly
|
||||||
|
one frame. If false (0), frames and buffers do not (necessarily)
|
||||||
|
match up. If the data is not framed, the values of some of the
|
||||||
|
properties will not be available, but others will be assumed to
|
||||||
|
be constant throughout the file, or may be found in other ways.
|
||||||
|
</para><para>
|
||||||
|
<emphasis>layer</emphasis>
|
||||||
|
- The compression scheme layer used to compress the data.
|
||||||
|
This is an integer, and can currently have the value 1, 2
|
||||||
|
or 3.
|
||||||
|
</para><para>
|
||||||
|
<emphasis>bitrate</emphasis>
|
||||||
|
- The bitrate, in kilobits per second.
|
||||||
|
For VBR (variable bitrate) mp3 data, this is the average bitrate.
|
||||||
|
</para><para>
|
||||||
|
<emphasis>channels</emphasis>
|
||||||
|
- The number of channels of audio data present. This could
|
||||||
|
theoretically be any integer greater than 0, but in practice will
|
||||||
|
be either 1 or 2.
|
||||||
|
</para><para>
|
||||||
|
<emphasis>joint-stereo</emphasis>
|
||||||
|
- Boolean. If true, channels must not be zero. If true, this
|
||||||
|
implies that stereo data is stored as a combined signal and
|
||||||
|
the difference between the signals, rather than as two entirely
|
||||||
|
separate signals.
|
||||||
|
</para><para>
|
||||||
|
There are many other properties relevant for
|
||||||
|
<emphasis>audio/mp3</emphasis> data: these may be added to this
|
||||||
|
specification at a later date.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<emphasis>audio/x-ogg</emphasis>
|
||||||
|
- Audio data compressed using the Ogg Vorbis encoding scheme.
|
||||||
|
There are currently no parameters defined for this type. FIXME.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<emphasis>video/raw</emphasis>
|
||||||
|
- Raw video data.
|
||||||
|
</para><para>
|
||||||
|
<emphasis>fourcc</emphasis>
|
||||||
|
- A FOURCC code identifying the format in which this data is
|
||||||
|
stored. FOURCC (Four Character Code) is a simple system to
|
||||||
|
allow unambiguous identification of a video datastream format.
|
||||||
|
See <ulink
|
||||||
|
url="http://www.webartz.com/fourcc/"
|
||||||
|
type="http">http://www.webartz.com/fourcc/</ulink>
|
||||||
|
</para><para>
|
||||||
|
<emphasis>width</emphasis>
|
||||||
|
- The number of pixels wide that each video frame is.
|
||||||
|
</para><para>
|
||||||
|
<emphasis>height</emphasis>
|
||||||
|
- The number of pixels high that each video frame is.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<emphasis>video/mpeg</emphasis>
|
||||||
|
- Video data compressed using an mpeg encoding scheme.
|
||||||
|
</para><para>
|
||||||
|
<emphasis>mpegversion</emphasis>
|
||||||
|
</para><para>
|
||||||
|
<emphasis>systemstream</emphasis>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<emphasis>video/avi</emphasis>
|
||||||
|
- Video data compressed using the AVI encoding scheme.
|
||||||
|
There are currently no parameters defined for this type. FIXME.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
<chapter id="cha-types-test">
|
||||||
|
<title>Building a simple format for testing</title>
|
||||||
|
<para>
|
||||||
|
</para>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
<chapter id="cha-types-simplemime">
|
||||||
|
<title>A simple MIME type</title>
|
||||||
|
<para>
|
||||||
|
</para>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
<chapter id="cha-types-props">
|
||||||
|
<title>Type properties</title>
|
||||||
|
<para>
|
||||||
|
</para>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
<chapter id="cha-types-typefind">
|
||||||
|
<title>Typefind functions and autoplugging</title>
|
||||||
|
<para>
|
||||||
|
</para>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
</part>
|
</part>
|
||||||
|
|
||||||
|
@ -86,7 +431,296 @@
|
||||||
</para>
|
</para>
|
||||||
</partintro>
|
</partintro>
|
||||||
|
|
||||||
&FIRSTPLUGIN;
|
<chapter id="cha-boilerplate">
|
||||||
|
<title>Constructing the boilerplate</title>
|
||||||
|
<para>
|
||||||
|
The first thing to do when making a new element is to specify some basic
|
||||||
|
details about it: what its name is, who wrote it, what version number it
|
||||||
|
is, etc. We also need to define an object to represent the element and to
|
||||||
|
store the data the element needs. I shall refer to these details
|
||||||
|
collectively as the <emphasis>boilerplate</emphasis>.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<sect1 id="sect-boilerplate-gobject">
|
||||||
|
<title>Doing it the hard way with GstObject</title>
|
||||||
|
<para>
|
||||||
|
The standard way of defining the boilerplate is simply to write some
|
||||||
|
code, and fill in some structures. The easiest way to do this is to
|
||||||
|
copy an example and modify according to your needs.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
First we will examine the code you would be likely to place in a header
|
||||||
|
file (although since the interface to the code is entirely defined
|
||||||
|
by the pluging system, and doesn't depend on reading a header file,
|
||||||
|
this is not crucial.)
|
||||||
|
|
||||||
|
The code here can be found in
|
||||||
|
<filename>examples/plugins/example.h</filename>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
/* Definition of structure storing data for this element. */
|
||||||
|
typedef struct _GstExample GstExample;
|
||||||
|
|
||||||
|
struct _GstExample {
|
||||||
|
GstElement element;
|
||||||
|
|
||||||
|
GstPad *sinkpad,*srcpad;
|
||||||
|
|
||||||
|
gint8 active;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Standard definition defining a class for this element. */
|
||||||
|
typedef struct _GstExampleClass GstExampleClass;
|
||||||
|
struct _GstExampleClass {
|
||||||
|
GstElementClass parent_class;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Standard macros for defining types for this element. */
|
||||||
|
#define GST_TYPE_EXAMPLE \
|
||||||
|
(gst_example_get_type())
|
||||||
|
#define GST_EXAMPLE(obj) \
|
||||||
|
(GTK_CHECK_CAST((obj),GST_TYPE_EXAMPLE,GstExample))
|
||||||
|
#define GST_EXAMPLE_CLASS(klass) \
|
||||||
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_EXAMPLE,GstExample))
|
||||||
|
#define GST_IS_EXAMPLE(obj) \
|
||||||
|
(GTK_CHECK_TYPE((obj),GST_TYPE_EXAMPLE))
|
||||||
|
#define GST_IS_EXAMPLE_CLASS(obj) \
|
||||||
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_EXAMPLE))
|
||||||
|
|
||||||
|
/* Standard function returning type information. */
|
||||||
|
GtkType gst_example_get_type(void);
|
||||||
|
</programlisting>
|
||||||
|
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="sect-boilerplate-filterfactory">
|
||||||
|
<title>Doing it the easy way with FilterFactory</title>
|
||||||
|
<para>
|
||||||
|
A plan for the future is to create a FilterFactory, to make the
|
||||||
|
process of making a new filter a simple process of specifying a few
|
||||||
|
details, and writing a small amount of code to perform the actual
|
||||||
|
data processing.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Unfortunately, this hasn't yet been implemented. It is also likely
|
||||||
|
that when it is, it will not be possible to cover all the possibilities
|
||||||
|
available by writing the boilerplate yourself, so some plugins will
|
||||||
|
always need to be manually registered.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
As a rough outline of what is planned: the FilterFactory will take a
|
||||||
|
list of appropriate function pointers, and data structures to define
|
||||||
|
a filter. With a reasonable measure of preprocessor magic, the
|
||||||
|
plugin writer will then simply need to provide definitions of the
|
||||||
|
functions and data structures desired, and a name for the filter, and
|
||||||
|
then call a macro from within plugin_init() which will register the
|
||||||
|
new filter. All the fluff that goes into the definition of a filter
|
||||||
|
will thus be hidden from view.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Ideally, we will come up with a way for various FilterFactory-provided
|
||||||
|
functions to be overridden, to the point where you can construct
|
||||||
|
almost the most complex stuff with it, it just saves typing.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Of course, the filter factory can be used to create sources and sinks
|
||||||
|
too: simply create a filter with only source or sink pads.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
You may be thinking that this should really be called an
|
||||||
|
ElementFactory. Well, we agree, but there is already something else
|
||||||
|
justifiably ealled an ElementFactory (this is the thing which actually
|
||||||
|
makes instances of elements). There is also already something called
|
||||||
|
a PluginFactory. We just have too many factories and not enough words.
|
||||||
|
And since this isn't yet written, it doesn't get priority for claiming
|
||||||
|
a name.
|
||||||
|
</para>
|
||||||
|
</sect1>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
<chapter id="cha-defineelt">
|
||||||
|
<title>Defining an element</title>
|
||||||
|
<para>
|
||||||
|
A new element is defined by creating an element factory. This is a
|
||||||
|
structure containing all the information needed to create an instance
|
||||||
|
of the element. Creating a factory requires two things: a type for
|
||||||
|
the element to be created
|
||||||
|
(this was defined in the boilerplate above: FIXME - reorganise),
|
||||||
|
and a GstElementDetails structure, which contains some
|
||||||
|
general information about the element to be created.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<sect1 id="sect-defineelt-eltdetails">
|
||||||
|
<title>GstElementDetails</title>
|
||||||
|
<para>
|
||||||
|
The GstElementDetails structure gives a heirarchical type for
|
||||||
|
the element, a human-readable description of the element, as
|
||||||
|
well as author and version data. The entries are:
|
||||||
|
</para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para>
|
||||||
|
A long, english, name for the element.
|
||||||
|
</para></listitem><listitem><para>
|
||||||
|
The type of the element, as a heirarchy. The heirarchy is defined
|
||||||
|
by specifying the top level category, followed by a "/", followed
|
||||||
|
by the next level category, etc. The type should be defined
|
||||||
|
according to the guidelines elsewhere in this document.
|
||||||
|
(FIXME: write the guidelines, and give a better reference to them)
|
||||||
|
</para></listitem><listitem><para>
|
||||||
|
A brief description of the purpose of the element.
|
||||||
|
</para></listitem><listitem><para>
|
||||||
|
The version number of the element. For elements in the main
|
||||||
|
GStreamer source code, this will often simply be VERSION, which is
|
||||||
|
a macro defined to be the version number of the current GStreamer
|
||||||
|
version. The only requirement, however, is that the version
|
||||||
|
number should increase monotonically.
|
||||||
|
</para><para>
|
||||||
|
Version numbers should be stored in major.minor.patch form: ie, 3
|
||||||
|
(decimal) numbers, separated by ".".
|
||||||
|
</para></listitem><listitem><para>
|
||||||
|
The name of the author of the element, optionally followed by
|
||||||
|
a contact email address in angle brackets.
|
||||||
|
</para></listitem><listitem><para>
|
||||||
|
The copyright details for the element.
|
||||||
|
</para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<para>
|
||||||
|
For example:
|
||||||
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
static GstElementDetails example_details = {
|
||||||
|
"An example plugin",
|
||||||
|
"Example/FirstExample",
|
||||||
|
"Shows the basic structure of a plugin",
|
||||||
|
VERSION,
|
||||||
|
"your name <your.name@your.isp>",
|
||||||
|
"(C) 2001",
|
||||||
|
};
|
||||||
|
</programlisting>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="sect-defineelt-constructors">
|
||||||
|
<title>Constructor functions</title>
|
||||||
|
<para>
|
||||||
|
Each element has two functions which are used for construction of
|
||||||
|
an element. These are the _class_init() function, which is used to
|
||||||
|
initialise the class (specifying what signals and arguments the class
|
||||||
|
has and setting up global state), and the _init() function, which
|
||||||
|
is used to initialise a specific instance of the class.
|
||||||
|
</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="sect-defineelt-pads">
|
||||||
|
<title>Specifying the pads</title>
|
||||||
|
<para>
|
||||||
|
</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="sect-defineelt-fns">
|
||||||
|
<title>Attaching functions</title>
|
||||||
|
<para>
|
||||||
|
</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="sect-defineelt-chainfn">
|
||||||
|
<title>The chain function</title>
|
||||||
|
<para>
|
||||||
|
</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="sect-defineelt-arguments">
|
||||||
|
<title>Adding arguments</title>
|
||||||
|
<para>
|
||||||
|
Define arguments in enum.
|
||||||
|
|
||||||
|
</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="sect-defineelt-signals">
|
||||||
|
<title>Signals</title>
|
||||||
|
<para>
|
||||||
|
Define signals in enum.
|
||||||
|
|
||||||
|
</para>
|
||||||
|
</sect1>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
<chapter id="cha-definetype">
|
||||||
|
<title>Defining a type</title>
|
||||||
|
<para>
|
||||||
|
A new type is defined by creating an type factory. This is a
|
||||||
|
structure containing all the information needed to create an instance
|
||||||
|
of the type.
|
||||||
|
</para>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
<chapter id="cha-plugininit">
|
||||||
|
<title>The plugin_init function</title>
|
||||||
|
<para>
|
||||||
|
Once we have written code defining all the parts of the plugin,
|
||||||
|
we need to write the plugin_init() function. This is a special
|
||||||
|
function, which is called as soon as the plugin is loaded, and
|
||||||
|
must return a pointer to a newly allocated GstPlugin structure.
|
||||||
|
This structure contains the details of all the facilities provided
|
||||||
|
by the plugin, and is the mechanism by which the definitions are
|
||||||
|
made available to the rest of the &GStreamer; system. Helper
|
||||||
|
functions are provided to help fill the
|
||||||
|
structure: for future compatability it is recommended that these
|
||||||
|
functions are used, as documented below, rather than attempting to
|
||||||
|
access the structure directly.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Note that the information returned by the plugin_init() function
|
||||||
|
will be cached in a central registry. For this reason, it is
|
||||||
|
important that the same information is always returned by
|
||||||
|
the function: for example, it must not make element factories
|
||||||
|
available based on runtime conditions. If an element can only
|
||||||
|
work in certain conditions (for example, if the soundcard is not
|
||||||
|
being used by some other process) this must be reflected by the
|
||||||
|
element being unable to enter the READY state if unavailable, rather
|
||||||
|
than the plugin attempting to deny existence of the plugin.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<sect1 id="sect-plugininit-types">
|
||||||
|
<title>Registering new types</title>
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
void gst_plugin_add_type(GstPlugin *plugin,
|
||||||
|
GstTypeFactory *factory);
|
||||||
|
</programlisting>
|
||||||
|
<para>
|
||||||
|
</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="sect-plugininit-filter">
|
||||||
|
<title>Registering new element factories</title>
|
||||||
|
<para>
|
||||||
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
void gst_plugin_add_factory(GstPlugin *plugin,
|
||||||
|
GstElementFactory *factory);
|
||||||
|
</programlisting>
|
||||||
|
<para>
|
||||||
|
Multiple element factories can be provided by a single plugin:
|
||||||
|
all it needs to do is call gst_plugin_add_factory() for each
|
||||||
|
element factory it wishes to provide.
|
||||||
|
</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="sect-plugininit-autopluggers">
|
||||||
|
<title>Registering new autopluggers</title>
|
||||||
|
<para>
|
||||||
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
void gst_plugin_add_autoplugger(GstPlugin *plugin,
|
||||||
|
GstAutoplugFactory *factory);
|
||||||
|
</programlisting>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
</chapter>
|
||||||
|
|
||||||
</part>
|
</part>
|
||||||
|
|
||||||
|
@ -112,17 +746,6 @@
|
||||||
&LOOPBASED;
|
&LOOPBASED;
|
||||||
</part>
|
</part>
|
||||||
|
|
||||||
<!-- ############ part ############# -->
|
|
||||||
|
|
||||||
<part id="typesnprops"><title>Types and Properties</title>
|
|
||||||
<partintro>
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</partintro>
|
|
||||||
|
|
||||||
&TYPESNPROPS;
|
|
||||||
</part>
|
|
||||||
|
|
||||||
<!-- ############ part ############# -->
|
<!-- ############ part ############# -->
|
||||||
|
|
||||||
<part id="buffersnmeta"><title>Buffers and Metadata</title>
|
<part id="buffersnmeta"><title>Buffers and Metadata</title>
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
</para>
|
</para>
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
||||||
<chapter id="cha-testapp-connect">
|
<chapter id="cha-testapp-running">
|
||||||
<title>Running the pipeline</title>
|
<title>Running the pipeline</title>
|
||||||
<para>
|
<para>
|
||||||
</para>
|
</para>
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
</author>
|
</author>
|
||||||
</authorgroup>
|
</authorgroup>
|
||||||
|
|
||||||
<legalnotice>
|
<legalnotice id="legalnotice">
|
||||||
<para>
|
<para>
|
||||||
This material may be distributed only subject to the terms and
|
This material may be distributed only subject to the terms and
|
||||||
conditions set forth in the Open Publication License, v1.0 or
|
conditions set forth in the Open Publication License, v1.0 or
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
<chapter id="cha-types-test">
|
|
||||||
<title>Building a simple format for testing</title>
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="cha-types-simplemime">
|
|
||||||
<title>A simple MIME type</title>
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="cha-types-props">
|
|
||||||
<title>Type properties</title>
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="cha-types-typefind">
|
|
||||||
<title>Typefind functions and autoplugging</title>
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</chapter>
|
|
||||||
|
|
|
@ -19,17 +19,13 @@ GST_LIBS += ../../gst/elements/libgstelements.la
|
||||||
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
|
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
|
||||||
|
|
||||||
tmpl_sources = \
|
tmpl_sources = \
|
||||||
tmpl/audioraw.sgml \
|
|
||||||
tmpl/cothreads.sgml \
|
tmpl/cothreads.sgml \
|
||||||
tmpl/gst.sgml \
|
tmpl/gst.sgml \
|
||||||
tmpl/gstinfo.sgml \
|
tmpl/gstinfo.sgml \
|
||||||
tmpl/gstasyncdisksrc.sgml \
|
|
||||||
tmpl/gstautoplug.sgml \
|
tmpl/gstautoplug.sgml \
|
||||||
tmpl/gstscheduler.sgml \
|
tmpl/gstscheduler.sgml \
|
||||||
tmpl/gstprops.sgml \
|
tmpl/gstprops.sgml \
|
||||||
tmpl/gstcaps.sgml \
|
tmpl/gstcaps.sgml \
|
||||||
tmpl/gstaudiosink.sgml \
|
|
||||||
tmpl/gstaudiosrc.sgml \
|
|
||||||
tmpl/gstbin.sgml \
|
tmpl/gstbin.sgml \
|
||||||
tmpl/gstbuffer.sgml \
|
tmpl/gstbuffer.sgml \
|
||||||
tmpl/gstbufferpool.sgml \
|
tmpl/gstbufferpool.sgml \
|
||||||
|
@ -56,8 +52,7 @@ tmpl_sources = \
|
||||||
tmpl/gsttype.sgml \
|
tmpl/gsttype.sgml \
|
||||||
tmpl/gstutils.sgml \
|
tmpl/gstutils.sgml \
|
||||||
tmpl/gstxml.sgml \
|
tmpl/gstxml.sgml \
|
||||||
tmpl/spectrum.sgml \
|
tmpl/spectrum.sgml
|
||||||
tmpl/videoraw.sgml
|
|
||||||
|
|
||||||
gstreamer_docdir = $(HTML_DIR)
|
gstreamer_docdir = $(HTML_DIR)
|
||||||
gstreamer_doc_DATA = \
|
gstreamer_doc_DATA = \
|
||||||
|
@ -89,7 +84,7 @@ gstreamer-decl.txt:
|
||||||
|
|
||||||
scanobj: $(srcdir)/$(DOC_MODULE).types
|
scanobj: $(srcdir)/$(DOC_MODULE).types
|
||||||
rm gstreamer-scan.o; ln -s gstreamer-scan.lo gstreamer-scan.o
|
rm gstreamer-scan.o; ln -s gstreamer-scan.lo gstreamer-scan.o
|
||||||
env CC="$(LIBTOOL) $(CC)" CFLAGS="$(GST_CFLAGS) $(GLIB_CFLAGS) $(XML_CFLAGS) -I../../" LDFLAGS="$(GST_LIBS)"\
|
env CC="$(LIBTOOL) $(CC)" CFLAGS="$(LIBGST_CFLAGS) $(GLIB_CFLAGS) $(XML_CFLAGS) -I../../" LDFLAGS="$(GST_LIBS)"\
|
||||||
gtkdoc-scanobj --module=$(DOC_MODULE)
|
gtkdoc-scanobj --module=$(DOC_MODULE)
|
||||||
gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)
|
gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)
|
||||||
|
|
||||||
|
|
|
@ -27,23 +27,20 @@
|
||||||
<!entity GstTypeFind SYSTEM "sgml/gsttypefind.sgml">
|
<!entity GstTypeFind SYSTEM "sgml/gsttypefind.sgml">
|
||||||
<!entity cothreads SYSTEM "sgml/cothreads.sgml">
|
<!entity cothreads SYSTEM "sgml/cothreads.sgml">
|
||||||
|
|
||||||
|
<!entity GstStaticAutoplug SYSTEM "sgml/gststaticautoplug.sgml">
|
||||||
|
<!entity GstStaticAutoplugRender SYSTEM "sgml/gststaticautoplugrender.sgml">
|
||||||
<!entity GstFakeSrc SYSTEM "sgml/gstfakesrc.sgml">
|
<!entity GstFakeSrc SYSTEM "sgml/gstfakesrc.sgml">
|
||||||
<!entity GstFakeSink SYSTEM "sgml/gstfakesink.sgml">
|
<!entity GstFakeSink SYSTEM "sgml/gstfakesink.sgml">
|
||||||
<!entity GstDiskSrc SYSTEM "sgml/gstdisksrc.sgml">
|
<!entity GstDiskSrc SYSTEM "sgml/gstdisksrc.sgml">
|
||||||
<!entity GstAsyncDiskSrc SYSTEM "sgml/gstasyncdisksrc.sgml">
|
|
||||||
<!entity GstHttpSrc SYSTEM "sgml/gsthttpsrc.sgml">
|
<!entity GstHttpSrc SYSTEM "sgml/gsthttpsrc.sgml">
|
||||||
<!entity GstFdSrc SYSTEM "sgml/gstfdsrc.sgml">
|
<!entity GstFdSrc SYSTEM "sgml/gstfdsrc.sgml">
|
||||||
<!entity GstAudioSrc SYSTEM "sgml/gstaudiosrc.sgml">
|
|
||||||
<!entity GstSineSrc SYSTEM "sgml/gstsinesrc.sgml">
|
<!entity GstSineSrc SYSTEM "sgml/gstsinesrc.sgml">
|
||||||
<!entity GstAudioSink SYSTEM "sgml/gstaudiosink.sgml">
|
|
||||||
<!entity GstFdSink SYSTEM "sgml/gstfdsink.sgml">
|
<!entity GstFdSink SYSTEM "sgml/gstfdsink.sgml">
|
||||||
<!entity GstIdentity SYSTEM "sgml/gstidentity.sgml">
|
<!entity GstIdentity SYSTEM "sgml/gstidentity.sgml">
|
||||||
<!entity GstPipefilter SYSTEM "sgml/gstpipefilter.sgml">
|
<!entity GstPipefilter SYSTEM "sgml/gstpipefilter.sgml">
|
||||||
<!entity GstTee SYSTEM "sgml/gsttee.sgml">
|
<!entity GstTee SYSTEM "sgml/gsttee.sgml">
|
||||||
|
|
||||||
<!entity audioraw SYSTEM "sgml/audioraw.sgml">
|
|
||||||
<!entity spectrum SYSTEM "sgml/spectrum.sgml">
|
<!entity spectrum SYSTEM "sgml/spectrum.sgml">
|
||||||
<!entity videoraw SYSTEM "sgml/videoraw.sgml">
|
|
||||||
|
|
||||||
<!entity gstreamer-tree-index SYSTEM "sgml/tree_index.sgml">
|
<!entity gstreamer-tree-index SYSTEM "sgml/tree_index.sgml">
|
||||||
]>
|
]>
|
||||||
|
@ -125,12 +122,8 @@ with some more specialized elements.</para>
|
||||||
&GstFakeSink;
|
&GstFakeSink;
|
||||||
|
|
||||||
&GstDiskSrc;
|
&GstDiskSrc;
|
||||||
&GstAsyncDiskSrc;
|
|
||||||
&GstHttpSrc;
|
&GstHttpSrc;
|
||||||
|
|
||||||
&GstAudioSrc;
|
|
||||||
&GstAudioSink;
|
|
||||||
|
|
||||||
&GstSineSrc;
|
&GstSineSrc;
|
||||||
|
|
||||||
&GstFdSrc;
|
&GstFdSrc;
|
||||||
|
@ -148,8 +141,16 @@ with some more specialized elements.</para>
|
||||||
<para>MetaData is used to specify the content of buffers. See <classname>GstMeta</classname>. </para>
|
<para>MetaData is used to specify the content of buffers. See <classname>GstMeta</classname>. </para>
|
||||||
|
|
||||||
&spectrum;
|
&spectrum;
|
||||||
&audioraw;
|
</chapter>
|
||||||
&videoraw;
|
|
||||||
|
<chapter id="autopluggers">
|
||||||
|
<title>GStreamer Autoppluggers</title>
|
||||||
|
|
||||||
|
<para>the autopluggers provide a way to automatically construct elements based on
|
||||||
|
sink and src capabilities</para>
|
||||||
|
|
||||||
|
&GstStaticAutoplug;
|
||||||
|
&GstStaticAutoplugRender;
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
||||||
<chapter id="gst-index">
|
<chapter id="gst-index">
|
||||||
|
|
|
@ -120,6 +120,7 @@ gst_parse_launch
|
||||||
GST_ARCH_CALL
|
GST_ARCH_CALL
|
||||||
GST_ARCH_SET_SP
|
GST_ARCH_SET_SP
|
||||||
GST_ARCH_SETUP_STACK
|
GST_ARCH_SETUP_STACK
|
||||||
|
GST_ARCH_PRESETJMP
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
<SECTION>
|
<SECTION>
|
||||||
|
@ -191,6 +192,7 @@ GST_ELEMENT_IS_COTHREAD_STOPPING
|
||||||
GST_ELEMENT_IS_EOS
|
GST_ELEMENT_IS_EOS
|
||||||
GST_ELEMENT_PARENT
|
GST_ELEMENT_PARENT
|
||||||
GST_ELEMENT_NAME
|
GST_ELEMENT_NAME
|
||||||
|
GST_ELEMENT_PADS
|
||||||
GstElement
|
GstElement
|
||||||
GstElementDetails
|
GstElementDetails
|
||||||
GstElementFactory
|
GstElementFactory
|
||||||
|
@ -227,8 +229,6 @@ gst_elementfactory_find
|
||||||
gst_elementfactory_get_list
|
gst_elementfactory_get_list
|
||||||
gst_elementfactory_can_src_caps
|
gst_elementfactory_can_src_caps
|
||||||
gst_elementfactory_can_sink_caps
|
gst_elementfactory_can_sink_caps
|
||||||
gst_elementfactory_can_src_caps_list
|
|
||||||
gst_elementfactory_can_sink_caps_list
|
|
||||||
gst_elementfactory_create
|
gst_elementfactory_create
|
||||||
gst_elementfactory_make
|
gst_elementfactory_make
|
||||||
gst_elementfactory_save_thyself
|
gst_elementfactory_save_thyself
|
||||||
|
@ -243,6 +243,32 @@ GST_IS_ELEMENT_CLASS
|
||||||
gst_element_get_type
|
gst_element_get_type
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
|
<SECTION>
|
||||||
|
<FILE>gstautoplug</FILE>
|
||||||
|
<TITLE>GstAutoplug</TITLE>
|
||||||
|
GstAutoplug
|
||||||
|
GstAutoplugFlags
|
||||||
|
GstAutoplugFactory
|
||||||
|
gst_autoplug_signal_new_object
|
||||||
|
gst_autoplug_to_caps
|
||||||
|
gst_autoplug_to_renderers
|
||||||
|
gst_autoplugfactory_new
|
||||||
|
gst_autoplugfactory_destroy
|
||||||
|
gst_autoplugfactory_find
|
||||||
|
gst_autoplugfactory_get_list
|
||||||
|
gst_autoplugfactory_create
|
||||||
|
gst_autoplugfactory_make
|
||||||
|
gst_autoplugfactory_save_thyself
|
||||||
|
gst_autoplugfactory_load_thyself
|
||||||
|
<SUBSECTION Standard>
|
||||||
|
GST_AUTOPLUG
|
||||||
|
GST_IS_AUTOPLUG
|
||||||
|
GST_TYPE_AUTOPLUG
|
||||||
|
gst_autoplug_get_type
|
||||||
|
GST_AUTOPLUG_CLASS
|
||||||
|
GST_IS_AUTOPLUG_CLASS
|
||||||
|
</SECTION>
|
||||||
|
|
||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>gstclock</FILE>
|
<FILE>gstclock</FILE>
|
||||||
GstClockTime
|
GstClockTime
|
||||||
|
@ -340,9 +366,16 @@ GstPadGetFunction
|
||||||
GstPadGetRegionFunction
|
GstPadGetRegionFunction
|
||||||
GstPadQoSFunction
|
GstPadQoSFunction
|
||||||
GstPadEOSFunction
|
GstPadEOSFunction
|
||||||
|
GstPadNewCapsFunction
|
||||||
|
|
||||||
|
|
||||||
|
GstPadNegotiateReturn
|
||||||
|
GstPadNegotiateFunction
|
||||||
|
|
||||||
|
|
||||||
GstPadPushFunction
|
GstPadPushFunction
|
||||||
GstPadPullFunction
|
GstPadPullFunction
|
||||||
|
GstRegionType
|
||||||
GstPadPullRegionFunction
|
GstPadPullRegionFunction
|
||||||
|
|
||||||
GstPadDirection
|
GstPadDirection
|
||||||
|
@ -354,11 +387,12 @@ gst_pad_get_direction
|
||||||
gst_pad_set_chain_function
|
gst_pad_set_chain_function
|
||||||
gst_pad_set_get_function
|
gst_pad_set_get_function
|
||||||
gst_pad_set_getregion_function
|
gst_pad_set_getregion_function
|
||||||
|
gst_pad_set_negotiate_function
|
||||||
gst_pad_set_qos_function
|
gst_pad_set_qos_function
|
||||||
gst_pad_set_eos_function
|
gst_pad_set_eos_function
|
||||||
gst_pad_set_caps_list
|
gst_pad_set_newcaps_function
|
||||||
gst_pad_get_caps_list
|
gst_pad_set_caps
|
||||||
gst_pad_get_caps_by_name
|
gst_pad_get_caps
|
||||||
gst_pad_check_compatibility
|
gst_pad_check_compatibility
|
||||||
gst_pad_set_name
|
gst_pad_set_name
|
||||||
gst_pad_get_name
|
gst_pad_get_name
|
||||||
|
@ -366,6 +400,7 @@ gst_pad_set_element_private
|
||||||
gst_pad_get_element_private
|
gst_pad_get_element_private
|
||||||
gst_pad_set_parent
|
gst_pad_set_parent
|
||||||
gst_pad_get_parent
|
gst_pad_get_parent
|
||||||
|
gst_pad_get_real_parent
|
||||||
gst_pad_add_ghost_pad
|
gst_pad_add_ghost_pad
|
||||||
gst_pad_remove_ghost_pad
|
gst_pad_remove_ghost_pad
|
||||||
gst_pad_get_ghost_pad_list
|
gst_pad_get_ghost_pad_list
|
||||||
|
@ -374,13 +409,20 @@ gst_pad_connect
|
||||||
gst_pad_disconnect
|
gst_pad_disconnect
|
||||||
gst_pad_push
|
gst_pad_push
|
||||||
gst_pad_pull
|
gst_pad_pull
|
||||||
gst_pad_pull_region
|
|
||||||
gst_pad_pullregion
|
gst_pad_pullregion
|
||||||
gst_pad_select
|
|
||||||
gst_pad_set_eos
|
gst_pad_set_eos
|
||||||
gst_pad_handle_qos
|
gst_pad_handle_qos
|
||||||
gst_pad_eos
|
gst_pad_eos
|
||||||
gst_pad_load_and_connect
|
gst_pad_load_and_connect
|
||||||
|
gst_pad_negotiate_proxy
|
||||||
|
gst_pad_renegotiate
|
||||||
|
gst_pad_get_padtemplate
|
||||||
|
gst_pad_get_padtemplate_caps
|
||||||
|
|
||||||
|
|
||||||
|
GST_RPAD_LEN
|
||||||
|
GST_RPAD_OFFSET
|
||||||
|
GST_RPAD_REGIONTYPE
|
||||||
|
|
||||||
GstRealPad
|
GstRealPad
|
||||||
GST_RPAD_DIRECTION
|
GST_RPAD_DIRECTION
|
||||||
|
@ -395,26 +437,24 @@ GST_RPAD_PULLFUNC
|
||||||
GST_RPAD_PULLREGIONFUNC
|
GST_RPAD_PULLREGIONFUNC
|
||||||
GST_RPAD_QOSFUNC
|
GST_RPAD_QOSFUNC
|
||||||
GST_RPAD_EOSFUNC
|
GST_RPAD_EOSFUNC
|
||||||
|
GST_RPAD_NEGOTIATEFUNC
|
||||||
|
GST_RPAD_NEWCAPSFUNC
|
||||||
|
|
||||||
GST_GPAD_REALPAD
|
GST_GPAD_REALPAD
|
||||||
GstGhostPad
|
GstGhostPad
|
||||||
gst_ghost_pad_new
|
gst_ghost_pad_new
|
||||||
|
|
||||||
GstPadFactoryEntry
|
|
||||||
GstPadFactory[]
|
|
||||||
GST_PAD_FACTORY_SOMETIMES
|
|
||||||
GST_PAD_FACTORY_ALWAYS
|
|
||||||
GST_PAD_FACTORY_REQUEST
|
|
||||||
GST_PAD_FACTORY_SINK
|
|
||||||
GST_PAD_FACTORY_SRC
|
|
||||||
GST_PAD_FACTORY_CAPS
|
|
||||||
|
|
||||||
GstPadPresence
|
GstPadPresence
|
||||||
GstPadTemplate
|
GstPadTemplate
|
||||||
|
GST_PADTEMPLATE_CAPS
|
||||||
|
GST_PADTEMPLATE_DIRECTION
|
||||||
|
GST_PADTEMPLATE_NAME_TEMPLATE
|
||||||
|
GST_PADTEMPLATE_PRESENCE
|
||||||
gst_padtemplate_new
|
gst_padtemplate_new
|
||||||
gst_padtemplate_create
|
|
||||||
gst_padtemplate_load_thyself
|
gst_padtemplate_load_thyself
|
||||||
gst_padtemplate_save_thyself
|
gst_padtemplate_save_thyself
|
||||||
|
gst_padtemplate_get_caps
|
||||||
|
gst_padtemplate_get_caps_by_name
|
||||||
|
|
||||||
<SUBSECTION Standard>
|
<SUBSECTION Standard>
|
||||||
GstPadClass
|
GstPadClass
|
||||||
|
@ -455,9 +495,6 @@ gst_padtemplate_get_type
|
||||||
<TITLE>GstPipeline</TITLE>
|
<TITLE>GstPipeline</TITLE>
|
||||||
GstPipeline
|
GstPipeline
|
||||||
gst_pipeline_new
|
gst_pipeline_new
|
||||||
gst_pipeline_add_sink
|
|
||||||
gst_pipeline_add_src
|
|
||||||
gst_pipeline_autoplug
|
|
||||||
gst_pipeline_destroy
|
gst_pipeline_destroy
|
||||||
gst_pipeline_iterate
|
gst_pipeline_iterate
|
||||||
<SUBSECTION Standard>
|
<SUBSECTION Standard>
|
||||||
|
@ -471,25 +508,6 @@ GST_IS_PIPELINE_CLASS
|
||||||
gst_pipeline_details
|
gst_pipeline_details
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
<SECTION>
|
|
||||||
<FILE>gstautoplug</FILE>
|
|
||||||
<TITLE>GstAutoplug</TITLE>
|
|
||||||
GST_AUTOPLUG_MAX_COST
|
|
||||||
GstAutoplugCostFunction
|
|
||||||
GstAutoplugListFunction
|
|
||||||
gst_autoplug_caps
|
|
||||||
gst_autoplug_pads
|
|
||||||
gst_autoplug_caps_list
|
|
||||||
<SUBSECTION Standard>
|
|
||||||
GstAutoplug
|
|
||||||
GST_AUTOPLUG
|
|
||||||
GST_IS_AUTOPLUG
|
|
||||||
GST_TYPE_AUTOPLUG
|
|
||||||
gst_autoplug_get_type
|
|
||||||
GST_AUTOPLUG_CLASS
|
|
||||||
GST_IS_AUTOPLUG_CLASS
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>gstplugin</FILE>
|
<FILE>gstplugin</FILE>
|
||||||
<TITLE>GstPlugin</TITLE>
|
<TITLE>GstPlugin</TITLE>
|
||||||
|
@ -506,16 +524,19 @@ gst_plugin_is_loaded
|
||||||
gst_plugin_load_all
|
gst_plugin_load_all
|
||||||
gst_plugin_load
|
gst_plugin_load
|
||||||
gst_plugin_load_absolute
|
gst_plugin_load_absolute
|
||||||
|
gst_plugin_add_path
|
||||||
gst_library_load
|
gst_library_load
|
||||||
gst_plugin_add_factory
|
gst_plugin_add_factory
|
||||||
gst_plugin_add_type
|
gst_plugin_add_type
|
||||||
|
gst_plugin_add_autoplugger
|
||||||
gst_plugin_find
|
gst_plugin_find
|
||||||
gst_plugin_get_list
|
gst_plugin_get_list
|
||||||
gst_plugin_get_factory_list
|
gst_plugin_get_factory_list
|
||||||
gst_plugin_get_type_list
|
gst_plugin_get_type_list
|
||||||
gst_plugin_find_elementfactory
|
gst_plugin_get_autoplug_list
|
||||||
gst_plugin_load_elementfactory
|
gst_plugin_load_elementfactory
|
||||||
gst_plugin_load_typefactory
|
gst_plugin_load_typefactory
|
||||||
|
gst_plugin_load_autoplugfactory
|
||||||
gst_plugin_load_thyself
|
gst_plugin_load_thyself
|
||||||
gst_plugin_save_thyself
|
gst_plugin_save_thyself
|
||||||
<SUBSECTION Standard>
|
<SUBSECTION Standard>
|
||||||
|
@ -591,63 +612,79 @@ gst_typefactory_save_thyself
|
||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>gstcaps</FILE>
|
<FILE>gstcaps</FILE>
|
||||||
<TITLE>GstCaps</TITLE>
|
<TITLE>GstCaps</TITLE>
|
||||||
|
GST_CAPS_LOCK
|
||||||
|
GST_CAPS_TRYLOCK
|
||||||
|
GST_CAPS_UNLOCK
|
||||||
GstCaps
|
GstCaps
|
||||||
GstCapsFactoryEntry
|
|
||||||
GstCapsFactory[]
|
|
||||||
gst_caps_new
|
gst_caps_new
|
||||||
gst_caps_new_with_props
|
gst_caps_destroy
|
||||||
gst_caps_register
|
gst_caps_ref
|
||||||
gst_caps_register_count
|
gst_caps_unref
|
||||||
|
gst_caps_copy
|
||||||
|
gst_caps_copy_on_write
|
||||||
|
gst_caps_append
|
||||||
|
gst_caps_prepend
|
||||||
|
gst_caps_set_name
|
||||||
gst_caps_get_name
|
gst_caps_get_name
|
||||||
gst_caps_set_mime
|
|
||||||
gst_caps_set_type_id
|
gst_caps_set_type_id
|
||||||
gst_caps_get_type_id
|
gst_caps_get_type_id
|
||||||
|
gst_caps_set_mime
|
||||||
gst_caps_get_mime
|
gst_caps_get_mime
|
||||||
gst_caps_set_name
|
|
||||||
gst_caps_set_props
|
gst_caps_set_props
|
||||||
gst_caps_get_props
|
gst_caps_get_props
|
||||||
gst_caps_check_compatibility
|
gst_caps_check_compatibility
|
||||||
gst_caps_list_check_compatibility
|
|
||||||
|
gst_caps_set
|
||||||
|
gst_caps_get_boolean
|
||||||
|
gst_caps_get_by_name
|
||||||
|
gst_caps_get_fourcc_int
|
||||||
|
gst_caps_get_int
|
||||||
|
gst_caps_get_string
|
||||||
|
|
||||||
gst_caps_save_thyself
|
gst_caps_save_thyself
|
||||||
gst_caps_load_thyself
|
gst_caps_load_thyself
|
||||||
<SUBSECTION Standard>
|
<SUBSECTION Standard>
|
||||||
|
GST_CAPS
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>gstprops</FILE>
|
<FILE>gstprops</FILE>
|
||||||
<TITLE>GstProps</TITLE>
|
<TITLE>GstProps</TITLE>
|
||||||
GstProps
|
GstProps
|
||||||
GstPropsFactoryEntry
|
GST_MAKE_FOURCC
|
||||||
GstPropsFactory[]
|
|
||||||
GST_PROPS_LIST
|
GST_PROPS_LIST
|
||||||
GST_PROPS_INT
|
GST_PROPS_INT
|
||||||
GST_PROPS_INT_RANGE
|
GST_PROPS_INT_RANGE
|
||||||
GST_PROPS_FOURCC
|
GST_PROPS_FOURCC
|
||||||
GST_PROPS_FOURCC_INT
|
|
||||||
GST_PROPS_BOOLEAN
|
GST_PROPS_BOOLEAN
|
||||||
gst_props_register
|
GST_PROPS_STRING
|
||||||
gst_props_register_count
|
GST_PROPS_FLOAT
|
||||||
|
GST_PROPS_FLOAT_RANGE
|
||||||
gst_props_new
|
gst_props_new
|
||||||
|
gst_props_newv
|
||||||
gst_props_merge
|
gst_props_merge
|
||||||
|
gst_props_copy
|
||||||
|
gst_props_copy_on_write
|
||||||
|
gst_props_destroy
|
||||||
|
gst_props_ref
|
||||||
|
gst_props_unref
|
||||||
gst_props_check_compatibility
|
gst_props_check_compatibility
|
||||||
|
gst_props_set
|
||||||
|
gst_props_get_boolean
|
||||||
|
gst_props_get_fourcc_int
|
||||||
|
gst_props_get_int
|
||||||
|
gst_props_get_string
|
||||||
gst_props_save_thyself
|
gst_props_save_thyself
|
||||||
gst_props_load_thyself
|
gst_props_load_thyself
|
||||||
<SUBSECTION Standard>
|
<SUBSECTION Standard>
|
||||||
GstPropsEntry
|
GstPropsEntry
|
||||||
GstPropsListFactory[]
|
|
||||||
GstPropsId
|
GstPropsId
|
||||||
GST_PROPS_END_ID
|
|
||||||
GST_PROPS_LIST_ID
|
|
||||||
GST_PROPS_INT_ID
|
|
||||||
GST_PROPS_INT_RANGE_ID
|
|
||||||
GST_PROPS_FOURCC_ID
|
|
||||||
GST_PROPS_BOOL_ID
|
|
||||||
GST_PROPS_LAST_ID
|
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>gstutils</FILE>
|
<FILE>gstutils</FILE>
|
||||||
<TITLE>GstUtils</TITLE>
|
<TITLE>GstUtils</TITLE>
|
||||||
|
gst_util_set_object_arg
|
||||||
gst_util_get_int_arg
|
gst_util_get_int_arg
|
||||||
gst_util_get_bool_arg
|
gst_util_get_bool_arg
|
||||||
gst_util_get_long_arg
|
gst_util_get_long_arg
|
||||||
|
@ -691,49 +728,29 @@ gst_cpu_get_flags
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>gstasyncdisksrc</FILE>
|
<FILE>gststaticautoplug</FILE>
|
||||||
<TITLE>GstAsyncDiskSrc</TITLE>
|
<TITLE>GstStaticAutoplug</TITLE>
|
||||||
GstAsyncDiskSrcFlags
|
|
||||||
<SUBSECTION Standard>
|
<SUBSECTION Standard>
|
||||||
GstAsyncDiskSrc
|
GstStaticAutoplug
|
||||||
GstAsyncDiskSrcClass
|
GST_STATIC_AUTOPLUG
|
||||||
gst_asyncdisksrc_get_type
|
GST_IS_STATIC_AUTOPLUG
|
||||||
GST_TYPE_ASYNCDISKSRC
|
GST_TYPE_STATIC_AUTOPLUG
|
||||||
GST_ASYNCDISKSRC
|
gst_static_autoplug_get_type
|
||||||
GST_ASYNCDISKSRC_CLASS
|
GST_STATIC_AUTOPLUG_CLASS
|
||||||
GST_IS_ASYNCDISKSRC
|
GST_IS_STATIC_AUTOPLUG_CLASS
|
||||||
GST_IS_ASYNCDISKSRC_CLASS
|
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>gstaudiosink</FILE>
|
<FILE>gststaticautoplugrender</FILE>
|
||||||
<TITLE>GstAudioSink</TITLE>
|
<TITLE>GstStaticAutoplugRender</TITLE>
|
||||||
<SUBSECTION Standard>
|
<SUBSECTION Standard>
|
||||||
GstAudioSink
|
GstStaticAutoplugRender
|
||||||
GstAudioSinkClass
|
GST_STATIC_AUTOPLUG_RENDER
|
||||||
GstAudioSinkFlags
|
GST_IS_STATIC_AUTOPLUG_RENDER
|
||||||
gst_audiosink_get_type
|
GST_TYPE_STATIC_AUTOPLUG_RENDER
|
||||||
GST_TYPE_AUDIOSINK
|
gst_static_autoplug_render_get_type
|
||||||
GST_AUDIOSINK
|
GST_STATIC_AUTOPLUG_RENDER_CLASS
|
||||||
GST_AUDIOSINK_CLASS
|
GST_IS_STATIC_AUTOPLUG_RENDER_CLASS
|
||||||
GST_IS_AUDIOSINK
|
|
||||||
GST_IS_AUDIOSINK_CLASS
|
|
||||||
gst_audiosink_factory_init
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<SECTION>
|
|
||||||
<FILE>gstaudiosrc</FILE>
|
|
||||||
<TITLE>GstAudioSrc</TITLE>
|
|
||||||
<SUBSECTION Standard>
|
|
||||||
GstAudioSrc
|
|
||||||
GstAudioSrcClass
|
|
||||||
GstAudioSrcFlags
|
|
||||||
gst_audiosrc_get_type
|
|
||||||
GST_TYPE_AUDIOSRC
|
|
||||||
GST_AUDIOSRC
|
|
||||||
GST_AUDIOSRC_CLASS
|
|
||||||
GST_IS_AUDIOSRC
|
|
||||||
GST_IS_AUDIOSRC_CLASS
|
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
<SECTION>
|
<SECTION>
|
||||||
|
@ -749,7 +766,6 @@ GST_DISKSRC
|
||||||
GST_DISKSRC_CLASS
|
GST_DISKSRC_CLASS
|
||||||
GST_IS_DISKSRC
|
GST_IS_DISKSRC
|
||||||
GST_IS_DISKSRC_CLASS
|
GST_IS_DISKSRC_CLASS
|
||||||
gst_disksrc_details
|
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
<SECTION>
|
<SECTION>
|
||||||
|
@ -896,9 +912,17 @@ GST_IS_TYPEFIND_CLASS
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
<SECTION>
|
<SECTION>
|
||||||
<INCLUDE>gst/meta/audioraw.h</INCLUDE>
|
<FILE>gstmultidisksrc</FILE>
|
||||||
<FILE>audioraw</FILE>
|
<TITLE>GstMultiDiskSrc</TITLE>
|
||||||
MetaAudioRaw
|
GstMultiDiskSrcFlags
|
||||||
|
<SUBSECTION Standard>
|
||||||
|
GstMultiDiskSrc
|
||||||
|
GST_MULTIDISKSRC
|
||||||
|
GST_IS_MULTIDISKSRC
|
||||||
|
GST_TYPE_MULTIDISKSRC
|
||||||
|
gst_multidisksrc_get_type
|
||||||
|
GST_MULTIDISKSRC_CLASS
|
||||||
|
GST_IS_MULTIDISKSRC_CLASS
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
<SECTION>
|
<SECTION>
|
||||||
|
@ -907,12 +931,3 @@ MetaAudioRaw
|
||||||
MetaAudioSpectrum
|
MetaAudioSpectrum
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
<SECTION>
|
|
||||||
<INCLUDE>gst/meta/videoraw.h</INCLUDE>
|
|
||||||
<FILE>videoraw</FILE>
|
|
||||||
MetaVideoRaw
|
|
||||||
MetaDGA
|
|
||||||
MetaOverlay
|
|
||||||
OverlayClip
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
|
|
|
@ -9,12 +9,9 @@ GtkObject
|
||||||
GstFakeSrc
|
GstFakeSrc
|
||||||
GstFakeSink
|
GstFakeSink
|
||||||
GstDiskSrc
|
GstDiskSrc
|
||||||
GstAsyncDiskSrc
|
|
||||||
GstHttpSrc
|
GstHttpSrc
|
||||||
GstFdSrc
|
GstFdSrc
|
||||||
GstAudioSrc
|
|
||||||
GstSineSrc
|
GstSineSrc
|
||||||
GstAudioSink
|
|
||||||
GstFdSink
|
GstFdSink
|
||||||
GstPipefilter
|
GstPipefilter
|
||||||
GstIdentity
|
GstIdentity
|
||||||
|
|
|
@ -16,13 +16,10 @@ gst_fakesrc_get_type
|
||||||
gst_fakesink_get_type
|
gst_fakesink_get_type
|
||||||
|
|
||||||
gst_disksrc_get_type
|
gst_disksrc_get_type
|
||||||
gst_asyncdisksrc_get_type
|
|
||||||
@GST_HTTPSRC_GET_TYPE@
|
@GST_HTTPSRC_GET_TYPE@
|
||||||
gst_fdsrc_get_type
|
gst_fdsrc_get_type
|
||||||
gst_audiosrc_get_type
|
|
||||||
gst_sinesrc_get_type
|
gst_sinesrc_get_type
|
||||||
|
|
||||||
gst_audiosink_get_type
|
|
||||||
gst_fdsink_get_type
|
gst_fdsink_get_type
|
||||||
|
|
||||||
gst_pipefilter_get_type
|
gst_pipefilter_get_type
|
||||||
|
|
|
@ -38,3 +38,10 @@ gstarch
|
||||||
@sp:
|
@sp:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### MACRO GST_ARCH_PRESETJMP ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,54 +0,0 @@
|
||||||
<!-- ##### SECTION Title ##### -->
|
|
||||||
GstAsyncDiskSrc
|
|
||||||
|
|
||||||
<!-- ##### SECTION Short_Description ##### -->
|
|
||||||
Asynchronous disk reader. (asyncdisksrc)
|
|
||||||
|
|
||||||
<!-- ##### SECTION Long_Description ##### -->
|
|
||||||
<para>
|
|
||||||
Reads data from a file. You can seek to a specific location by setting
|
|
||||||
the offset.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### SECTION See_Also ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### ENUM GstAsyncDiskSrcFlags ##### -->
|
|
||||||
<para>
|
|
||||||
<informaltable pgwide=1 frame="none" role="enum">
|
|
||||||
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
|
|
||||||
<tbody>
|
|
||||||
<row>
|
|
||||||
<entry>GST_ASYNCDISKSRC_OPEN</entry>
|
|
||||||
<entry>the asyncdisksrc is open for reading</entry>
|
|
||||||
</row>
|
|
||||||
|
|
||||||
</tbody></tgroup></informaltable>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@GST_ASYNCDISKSRC_OPEN:
|
|
||||||
@GST_ASYNCDISKSRC_FLAG_LAST:
|
|
||||||
|
|
||||||
<!-- ##### ARG GstAsyncDiskSrc:location ##### -->
|
|
||||||
<para>
|
|
||||||
Specify the location of the file to read.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### ARG GstAsyncDiskSrc:bytesperread ##### -->
|
|
||||||
<para>
|
|
||||||
Specify how many bytes to read at a time.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### ARG GstAsyncDiskSrc:offset ##### -->
|
|
||||||
<para>
|
|
||||||
Specify the current offset in the file.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### ARG GstAsyncDiskSrc:size ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
|
@ -1,45 +0,0 @@
|
||||||
<!-- ##### SECTION Title ##### -->
|
|
||||||
GstAudioSink
|
|
||||||
|
|
||||||
<!-- ##### SECTION Short_Description ##### -->
|
|
||||||
Output to a sound card via OSS. (audiosink)
|
|
||||||
|
|
||||||
<!-- ##### SECTION Long_Description ##### -->
|
|
||||||
<para>
|
|
||||||
Output to a sound card via OSS.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### SECTION See_Also ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### SIGNAL GstAudioSink::handoff ##### -->
|
|
||||||
<para>
|
|
||||||
The buffer is sent to the sound card.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@gstaudiosink: the object which received the signal.
|
|
||||||
<!-- # Unused Parameters # -->
|
|
||||||
@arg1: the audiosink.
|
|
||||||
|
|
||||||
<!-- ##### ARG GstAudioSink:mute ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### ARG GstAudioSink:format ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### ARG GstAudioSink:channels ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### ARG GstAudioSink:frequency ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
|
@ -1,41 +0,0 @@
|
||||||
<!-- ##### SECTION Title ##### -->
|
|
||||||
GstAudioSrc
|
|
||||||
|
|
||||||
<!-- ##### SECTION Short_Description ##### -->
|
|
||||||
Read from the sound card. (audiosrc)
|
|
||||||
|
|
||||||
<!-- ##### SECTION Long_Description ##### -->
|
|
||||||
<para>
|
|
||||||
Create buffers from an OSS sound card.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### SECTION See_Also ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### ARG GstAudioSrc:bytes_per_read ##### -->
|
|
||||||
<para>
|
|
||||||
The number of bytes per read.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### ARG GstAudioSrc:curoffset ##### -->
|
|
||||||
<para>
|
|
||||||
Get the current number of bytes read.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### ARG GstAudioSrc:format ##### -->
|
|
||||||
<para>
|
|
||||||
The audio format as defined in soundcard.h
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### ARG GstAudioSrc:channels ##### -->
|
|
||||||
<para>
|
|
||||||
The number of channels (mono, stereo, ...)
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### ARG GstAudioSrc:frequency ##### -->
|
|
||||||
<para>
|
|
||||||
The frequency.
|
|
||||||
</para>
|
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
GstAutoplug
|
GstAutoplug
|
||||||
|
|
||||||
<!-- ##### SECTION Short_Description ##### -->
|
<!-- ##### SECTION Short_Description ##### -->
|
||||||
Provide automatic element selection.
|
Automatically create and connect elements
|
||||||
|
|
||||||
<!-- ##### SECTION Long_Description ##### -->
|
<!-- ##### SECTION Long_Description ##### -->
|
||||||
<para>
|
<para>
|
||||||
The autoplugger can select a list of elements that are needed
|
GstAutoplug is an abstract class that is used for constructing and
|
||||||
to convert a certain GstCaps to another one.
|
connecting elements.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<!-- ##### SECTION See_Also ##### -->
|
<!-- ##### SECTION See_Also ##### -->
|
||||||
|
@ -15,60 +15,134 @@ to convert a certain GstCaps to another one.
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<!-- ##### MACRO GST_AUTOPLUG_MAX_COST ##### -->
|
<!-- ##### STRUCT GstAutoplug ##### -->
|
||||||
<para>
|
|
||||||
The maximum cost of a certain connection.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### USER_FUNCTION GstAutoplugCostFunction ##### -->
|
|
||||||
<para>
|
|
||||||
Calculate the cost between two elements.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@src: the source element
|
|
||||||
@dest: the destination element
|
|
||||||
@data: optional user data
|
|
||||||
@Returns: the cost for a connection between the two elements
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### USER_FUNCTION GstAutoplugListFunction ##### -->
|
|
||||||
<para>
|
|
||||||
Get a list of all elements. These elements will be used in autoplugging.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@data: user data
|
|
||||||
@Returns: a GList of elements
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_autoplug_caps ##### -->
|
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
@object:
|
||||||
|
|
||||||
|
<!-- ##### ENUM GstAutoplugFlags ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@GST_AUTOPLUG_TO_CAPS:
|
||||||
|
@GST_AUTOPLUG_TO_RENDERER:
|
||||||
|
@GST_AUTOPLUG_FLAG_LAST:
|
||||||
|
|
||||||
|
<!-- ##### STRUCT GstAutoplugFactory ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@name:
|
||||||
|
@longdesc:
|
||||||
|
@type:
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_autoplug_signal_new_object ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@autoplug:
|
||||||
|
@object:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_autoplug_to_caps ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@autoplug:
|
||||||
@srccaps:
|
@srccaps:
|
||||||
@sinkcaps:
|
@sinkcaps:
|
||||||
|
@Varargs:
|
||||||
@Returns:
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_autoplug_pads ##### -->
|
<!-- ##### FUNCTION gst_autoplug_to_renderers ##### -->
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@srcpad:
|
|
||||||
@sinkpad:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_autoplug_caps_list ##### -->
|
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
@autoplug:
|
||||||
@srccaps:
|
@srccaps:
|
||||||
@sinkcaps:
|
@target:
|
||||||
|
@Varargs:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_autoplugfactory_new ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@name:
|
||||||
|
@longdesc:
|
||||||
|
@type:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_autoplugfactory_destroy ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@factory:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_autoplugfactory_find ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@name:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_autoplugfactory_get_list ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_autoplugfactory_create ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@factory:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_autoplugfactory_make ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@name:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_autoplugfactory_save_thyself ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@factory:
|
||||||
|
@parent:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_autoplugfactory_load_thyself ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@parent:
|
||||||
@Returns:
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -134,39 +134,6 @@ This macro releases a lock on the object.
|
||||||
<!-- ##### ENUM GstBufferFlags ##### -->
|
<!-- ##### ENUM GstBufferFlags ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
FIXME this is strange.
|
|
||||||
|
|
||||||
<informaltable pgwide=1 frame="none" role="enum">
|
|
||||||
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
|
|
||||||
<tbody>
|
|
||||||
<row>
|
|
||||||
<entry>GST_BUFFER_READONLY</entry>
|
|
||||||
<entry>the buffer is read only</entry>
|
|
||||||
</row>
|
|
||||||
|
|
||||||
<row>
|
|
||||||
<entry>GST_BUFFER_EOS</entry>
|
|
||||||
<entry>this buffer is the last one in the stream</entry>
|
|
||||||
</row>
|
|
||||||
|
|
||||||
<row>
|
|
||||||
<entry>GST_BUFFER_ORIGINAL</entry>
|
|
||||||
<entry>this buffer not a copy</entry>
|
|
||||||
</row>
|
|
||||||
|
|
||||||
<row>
|
|
||||||
<entry>GST_BUFFER_DONTFREE</entry>
|
|
||||||
<entry>do not try to free the data when this buffer is unref-ed</entry>
|
|
||||||
</row>
|
|
||||||
|
|
||||||
<row>
|
|
||||||
<entry>GST_BUFFER_FLUSH</entry>
|
|
||||||
<entry>this buffer is not related to previous buffers. This flag is mainly
|
|
||||||
used when data in a stream has been skipped</entry>
|
|
||||||
</row>
|
|
||||||
|
|
||||||
</tbody></tgroup></informaltable>
|
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@GST_BUFFER_READONLY: the buffer is read only
|
@GST_BUFFER_READONLY: the buffer is read only
|
||||||
|
@ -175,7 +142,7 @@ used when data in a stream has been skipped</entry>
|
||||||
@GST_BUFFER_FLUSH: this buffer is not related to previous buffers. This flag is mainly
|
@GST_BUFFER_FLUSH: this buffer is not related to previous buffers. This flag is mainly
|
||||||
used when data in a stream has been skipped
|
used when data in a stream has been skipped
|
||||||
@GST_BUFFER_EOS: this buffer is the last one in the stream
|
@GST_BUFFER_EOS: this buffer is the last one in the stream
|
||||||
@GST_BUFFER_DISCONTINUOUS:
|
@GST_BUFFER_DISCONTINUOUS: The buffer has a discontinuity
|
||||||
|
|
||||||
<!-- ##### STRUCT GstBuffer ##### -->
|
<!-- ##### STRUCT GstBuffer ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
|
@ -15,6 +15,30 @@ a mime-type and a set of properties.
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
<!-- ##### MACRO GST_CAPS_LOCK ##### -->
|
||||||
|
<para>
|
||||||
|
Lock the caps structure
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@caps: The caps structure to lock
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### MACRO GST_CAPS_TRYLOCK ##### -->
|
||||||
|
<para>
|
||||||
|
Try to lock the caps structure
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@caps: The caps structure to try to lock
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### MACRO GST_CAPS_UNLOCK ##### -->
|
||||||
|
<para>
|
||||||
|
Unlock the caps structure
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@caps: The caps structure to unlock
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### STRUCT GstCaps ##### -->
|
<!-- ##### STRUCT GstCaps ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
|
@ -22,60 +46,91 @@ a mime-type and a set of properties.
|
||||||
|
|
||||||
@name: the name of the capability, for the application
|
@name: the name of the capability, for the application
|
||||||
@id: the typeid of the capability
|
@id: the typeid of the capability
|
||||||
|
@refcount: a refcounter for this caps structure
|
||||||
|
@lock: the lock for this caps structure
|
||||||
@properties: the properties of the capability
|
@properties: the properties of the capability
|
||||||
|
@next: a pointer to the next caps.
|
||||||
<!-- ##### TYPEDEF GstCapsFactoryEntry ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### TYPEDEF GstCapsFactory[] ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_caps_new ##### -->
|
<!-- ##### FUNCTION gst_caps_new ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@name:
|
|
||||||
@mime:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_caps_new_with_props ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@name:
|
@name:
|
||||||
@mime:
|
@mime:
|
||||||
@props:
|
@props:
|
||||||
@Returns:
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_caps_register ##### -->
|
<!-- ##### FUNCTION gst_caps_destroy ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@factory:
|
@caps:
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_caps_register_count ##### -->
|
<!-- ##### FUNCTION gst_caps_ref ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@factory:
|
@caps:
|
||||||
@counter:
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_caps_unref ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@caps:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_caps_copy ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@caps:
|
||||||
@Returns:
|
@Returns:
|
||||||
<!-- # Unused Parameters # -->
|
|
||||||
@count:
|
|
||||||
|
<!-- ##### FUNCTION gst_caps_copy_on_write ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@caps:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_caps_append ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@caps:
|
||||||
|
@capstoadd:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_caps_prepend ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@caps:
|
||||||
|
@capstoadd:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_caps_set_name ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@caps:
|
||||||
|
@name:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_caps_get_name ##### -->
|
<!-- ##### FUNCTION gst_caps_get_name ##### -->
|
||||||
|
@ -87,6 +142,27 @@ a mime-type and a set of properties.
|
||||||
@Returns:
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_caps_set_type_id ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@caps:
|
||||||
|
@type_id:
|
||||||
|
<!-- # Unused Parameters # -->
|
||||||
|
@Param2:
|
||||||
|
@typeid:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_caps_get_type_id ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@caps:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_caps_set_mime ##### -->
|
<!-- ##### FUNCTION gst_caps_set_mime ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
|
@ -96,24 +172,6 @@ a mime-type and a set of properties.
|
||||||
@mime:
|
@mime:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_caps_set_type_id ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@caps:
|
|
||||||
@typeid:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_caps_get_type_id ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@caps:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_caps_get_mime ##### -->
|
<!-- ##### FUNCTION gst_caps_get_mime ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
|
@ -123,15 +181,6 @@ a mime-type and a set of properties.
|
||||||
@Returns:
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_caps_set_name ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@caps:
|
|
||||||
@name:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_caps_set_props ##### -->
|
<!-- ##### FUNCTION gst_caps_set_props ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
|
@ -159,21 +208,64 @@ a mime-type and a set of properties.
|
||||||
@fromcaps:
|
@fromcaps:
|
||||||
@tocaps:
|
@tocaps:
|
||||||
@Returns:
|
@Returns:
|
||||||
<!-- # Unused Parameters # -->
|
|
||||||
@caps1:
|
|
||||||
@caps2:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_caps_list_check_compatibility ##### -->
|
<!-- ##### MACRO gst_caps_set ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@fromcaps:
|
@caps:
|
||||||
@tocaps:
|
@name:
|
||||||
|
@args...:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### MACRO gst_caps_get_boolean ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@caps:
|
||||||
|
@name:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_caps_get_by_name ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@caps:
|
||||||
|
@name:
|
||||||
@Returns:
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### MACRO gst_caps_get_fourcc_int ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@caps:
|
||||||
|
@name:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### MACRO gst_caps_get_int ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@caps:
|
||||||
|
@name:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### MACRO gst_caps_get_string ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@caps:
|
||||||
|
@name:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_caps_save_thyself ##### -->
|
<!-- ##### FUNCTION gst_caps_save_thyself ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,8 @@ features of the CPU.
|
||||||
|
|
||||||
@GST_CPU_FLAG_MMX:
|
@GST_CPU_FLAG_MMX:
|
||||||
@GST_CPU_FLAG_SSE:
|
@GST_CPU_FLAG_SSE:
|
||||||
|
@GST_CPU_FLAG_MMXEXT:
|
||||||
|
@GST_CPU_FLAG_3DNOW:
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_cpu_get_flags ##### -->
|
<!-- ##### FUNCTION gst_cpu_get_flags ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
|
@ -2,12 +2,11 @@
|
||||||
GstDiskSrc
|
GstDiskSrc
|
||||||
|
|
||||||
<!-- ##### SECTION Short_Description ##### -->
|
<!-- ##### SECTION Short_Description ##### -->
|
||||||
Synchronous read from a file (disksrc)
|
Asynchronous read from a file (disksrc)
|
||||||
|
|
||||||
<!-- ##### SECTION Long_Description ##### -->
|
<!-- ##### SECTION Long_Description ##### -->
|
||||||
<para>
|
<para>
|
||||||
Synchonously read buffers from a file. If you need asynchronous reading
|
Asynchonously read buffers from a file.
|
||||||
with seeking capabilities use a <classname>GstAsynDiskSrc</classname> instead.
|
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
@ -45,11 +44,11 @@ Specify how many bytes to read at a time.
|
||||||
|
|
||||||
<!-- ##### ARG GstDiskSrc:offset ##### -->
|
<!-- ##### ARG GstDiskSrc:offset ##### -->
|
||||||
<para>
|
<para>
|
||||||
Get the current offset in the file.
|
Get/set the current offset in the file.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<!-- ##### ARG GstDiskSrc:size ##### -->
|
<!-- ##### ARG GstDiskSrc:size ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
Get the size of the file.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
|
|
@ -174,6 +174,14 @@ Get the name of this element.
|
||||||
@obj: The element to query
|
@obj: The element to query
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### MACRO GST_ELEMENT_PADS ##### -->
|
||||||
|
<para>
|
||||||
|
Get the pads of this elements.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@obj: The element to query
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### STRUCT GstElement ##### -->
|
<!-- ##### STRUCT GstElement ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
|
@ -519,26 +527,6 @@ circumstances.
|
||||||
@Returns:
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_elementfactory_can_src_caps_list ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@factory:
|
|
||||||
@caps:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_elementfactory_can_sink_caps_list ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@factory:
|
|
||||||
@caps:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_elementfactory_create ##### -->
|
<!-- ##### FUNCTION gst_elementfactory_create ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
<!-- ##### SECTION Title ##### -->
|
<!-- ##### SECTION Title ##### -->
|
||||||
audioraw
|
GstMultiDiskSrc
|
||||||
|
|
||||||
<!-- ##### SECTION Short_Description ##### -->
|
<!-- ##### SECTION Short_Description ##### -->
|
||||||
Information about audio buffers.
|
|
||||||
|
|
||||||
<!-- ##### SECTION Long_Description ##### -->
|
<!-- ##### SECTION Long_Description ##### -->
|
||||||
<para>
|
<para>
|
||||||
Information about audio buffers.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<!-- ##### SECTION See_Also ##### -->
|
<!-- ##### SECTION See_Also ##### -->
|
||||||
|
@ -14,14 +14,11 @@ Information about audio buffers.
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<!-- ##### STRUCT MetaAudioRaw ##### -->
|
<!-- ##### ENUM GstMultiDiskSrcFlags ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@meta:
|
@GST_MULTIDISKSRC_OPEN:
|
||||||
@format:
|
@GST_MULTIDISKSRC_FLAG_LAST:
|
||||||
@channels:
|
|
||||||
@frequency:
|
|
||||||
@bps:
|
|
||||||
|
|
|
@ -101,26 +101,26 @@ This macro releases a lock on the object.
|
||||||
|
|
||||||
<!-- ##### MACRO GST_GET_LOCK ##### -->
|
<!-- ##### MACRO GST_GET_LOCK ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
Acquire a reference to the mutex of this object.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@obj:
|
@obj: Object to get the mutex of.
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### MACRO GST_OBJECT_PARENT ##### -->
|
<!-- ##### MACRO GST_OBJECT_PARENT ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
Get the parent of this object
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@obj:
|
@obj: Object to get the parent of.
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### MACRO GST_OBJECT_NAME ##### -->
|
<!-- ##### MACRO GST_OBJECT_NAME ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
Get the name of this object
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@obj:
|
@obj: Object to get the name of.
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_object_new ##### -->
|
<!-- ##### FUNCTION gst_object_new ##### -->
|
||||||
|
|
|
@ -124,12 +124,17 @@ The function that will be called when pulling a buffer.
|
||||||
<!-- ##### USER_FUNCTION GstPadGetRegionFunction ##### -->
|
<!-- ##### USER_FUNCTION GstPadGetRegionFunction ##### -->
|
||||||
<para>
|
<para>
|
||||||
The function that will be called when pulling a region buffer.
|
The function that will be called when pulling a region buffer.
|
||||||
|
You can specify which buffer to get using an offset/length pair or
|
||||||
|
a start/stop timecode pair.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@pad: the pad to get a buffer from
|
@pad: the pad to get a buffer from
|
||||||
|
@type: the type of region to get (time or offset based)
|
||||||
@offset: the offset of the region to get
|
@offset: the offset of the region to get
|
||||||
@size: the size of the region to get
|
@len: the length of the region to get
|
||||||
@Returns: a #GstBuffer
|
@Returns: a #GstBuffer
|
||||||
|
<!-- # Unused Parameters # -->
|
||||||
|
@size: the size of the region to get
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### USER_FUNCTION GstPadQoSFunction ##### -->
|
<!-- ##### USER_FUNCTION GstPadQoSFunction ##### -->
|
||||||
|
@ -150,6 +155,37 @@ The function that will be called in an EOS case.
|
||||||
@Returns: TRUE if EOS was successful, FALSE otherwise
|
@Returns: TRUE if EOS was successful, FALSE otherwise
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### USER_FUNCTION GstPadNewCapsFunction ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@pad:
|
||||||
|
@caps:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### ENUM GstPadNegotiateReturn ##### -->
|
||||||
|
<para>
|
||||||
|
The possible results from padnegotiation.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@GST_PAD_NEGOTIATE_FAIL: The pads could not agree about the media type.
|
||||||
|
@GST_PAD_NEGOTIATE_AGREE: The pads agreed about the media type.
|
||||||
|
@GST_PAD_NEGOTIATE_TRY: The pad did not agree and suggests another media type.
|
||||||
|
|
||||||
|
<!-- ##### USER_FUNCTION GstPadNegotiateFunction ##### -->
|
||||||
|
<para>
|
||||||
|
The function that will be called when negotiating.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@pad: The pad that is being negotiated
|
||||||
|
@caps: The current caps that are being negotiated
|
||||||
|
@data:
|
||||||
|
@Returns: The result of the negotiation process
|
||||||
|
<!-- # Unused Parameters # -->
|
||||||
|
@count: A counter to keep track of the negotiation process
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### USER_FUNCTION GstPadPushFunction ##### -->
|
<!-- ##### USER_FUNCTION GstPadPushFunction ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
|
@ -169,15 +205,28 @@ The function that will be called when pulling buffers.
|
||||||
@Returns: a GstBuffer
|
@Returns: a GstBuffer
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### ENUM GstRegionType ##### -->
|
||||||
|
<para>
|
||||||
|
the region types for #gst_pad_pullregion.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@GST_REGION_NONE: no type specified
|
||||||
|
@GST_REGION_OFFSET_LEN: an offet/length pair
|
||||||
|
@GST_REGION_TIME_LEN: a time start/length pair
|
||||||
|
|
||||||
<!-- ##### USER_FUNCTION GstPadPullRegionFunction ##### -->
|
<!-- ##### USER_FUNCTION GstPadPullRegionFunction ##### -->
|
||||||
<para>
|
<para>
|
||||||
The function that will be called when pulling a region buffer.
|
The function that will be called when pulling a region buffer.
|
||||||
|
You can specify which buffer to get using an offset/length pair or
|
||||||
|
a start/stop timecode pair.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@pad: the pad to pull
|
@pad: the pad to get a buffer from
|
||||||
@offset: the offset of the region to pull
|
@type: the type of region to get (time or offset based)
|
||||||
@size: the size of the region to pull
|
@offset: the offset of the region to get
|
||||||
@Returns: a GstBuffer
|
@len: the length of the region to get
|
||||||
|
@Returns: a #GstBuffer
|
||||||
|
</para>
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### ENUM GstPadDirection ##### -->
|
<!-- ##### ENUM GstPadDirection ##### -->
|
||||||
|
@ -264,6 +313,15 @@ Destroy the pad.
|
||||||
@getregion:
|
@getregion:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_pad_set_negotiate_function ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@pad:
|
||||||
|
@nego:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_pad_set_qos_function ##### -->
|
<!-- ##### FUNCTION gst_pad_set_qos_function ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
|
@ -282,31 +340,31 @@ Destroy the pad.
|
||||||
@eos:
|
@eos:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_pad_set_caps_list ##### -->
|
<!-- ##### FUNCTION gst_pad_set_newcaps_function ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@pad:
|
||||||
|
@newcaps:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_pad_set_caps ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@pad:
|
@pad:
|
||||||
@caps:
|
@caps:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_pad_get_caps_list ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@pad:
|
|
||||||
@Returns:
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_pad_get_caps_by_name ##### -->
|
<!-- ##### FUNCTION gst_pad_get_caps ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@pad:
|
@pad:
|
||||||
@name:
|
|
||||||
@Returns:
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
@ -374,6 +432,15 @@ Destroy the pad.
|
||||||
@Returns:
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_pad_get_real_parent ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@pad:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_pad_add_ghost_pad ##### -->
|
<!-- ##### FUNCTION gst_pad_add_ghost_pad ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
|
@ -417,6 +484,7 @@ Destroy the pad.
|
||||||
|
|
||||||
@srcpad:
|
@srcpad:
|
||||||
@sinkpad:
|
@sinkpad:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_pad_disconnect ##### -->
|
<!-- ##### FUNCTION gst_pad_disconnect ##### -->
|
||||||
|
@ -434,6 +502,8 @@ Destroy the pad.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@pad:
|
@pad:
|
||||||
|
@buf:
|
||||||
|
<!-- # Unused Parameters # -->
|
||||||
@buffer:
|
@buffer:
|
||||||
|
|
||||||
|
|
||||||
|
@ -446,37 +516,20 @@ Destroy the pad.
|
||||||
@Returns:
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_pad_pull_region ##### -->
|
<!-- ##### FUNCTION gst_pad_pullregion ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@pad:
|
@pad:
|
||||||
|
@type:
|
||||||
@offset:
|
@offset:
|
||||||
@size:
|
@len:
|
||||||
@Returns:
|
@Returns:
|
||||||
|
<!-- # Unused Parameters # -->
|
||||||
|
|
||||||
<!-- ##### MACRO gst_pad_pullregion ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@pad:
|
|
||||||
@offset:
|
|
||||||
@size:
|
@size:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_pad_select ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@nextpad:
|
|
||||||
@Varargs:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_pad_set_eos ##### -->
|
<!-- ##### FUNCTION gst_pad_set_eos ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
|
@ -515,6 +568,71 @@ Call the EOS function of the pad
|
||||||
@elements:
|
@elements:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_pad_negotiate_proxy ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@srcpad:
|
||||||
|
@destpad:
|
||||||
|
@caps:
|
||||||
|
@Returns:
|
||||||
|
<!-- # Unused Parameters # -->
|
||||||
|
@counter:
|
||||||
|
@count:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_pad_renegotiate ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@pad:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_pad_get_padtemplate ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@pad:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_pad_get_padtemplate_caps ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@pad:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### MACRO GST_RPAD_LEN ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@pad:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### MACRO GST_RPAD_OFFSET ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@pad:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### MACRO GST_RPAD_REGIONTYPE ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@pad:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### STRUCT GstRealPad ##### -->
|
<!-- ##### STRUCT GstRealPad ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
|
@ -526,6 +644,9 @@ Call the EOS function of the pad
|
||||||
@threadstate:
|
@threadstate:
|
||||||
@peer:
|
@peer:
|
||||||
@bufpen:
|
@bufpen:
|
||||||
|
@regiontype:
|
||||||
|
@offset:
|
||||||
|
@len:
|
||||||
@chainfunc:
|
@chainfunc:
|
||||||
@getfunc:
|
@getfunc:
|
||||||
@getregionfunc:
|
@getregionfunc:
|
||||||
|
@ -534,6 +655,8 @@ Call the EOS function of the pad
|
||||||
@pushfunc:
|
@pushfunc:
|
||||||
@pullfunc:
|
@pullfunc:
|
||||||
@pullregionfunc:
|
@pullregionfunc:
|
||||||
|
@negotiatefunc:
|
||||||
|
@newcapsfunc:
|
||||||
@ghostpads:
|
@ghostpads:
|
||||||
|
|
||||||
<!-- ##### MACRO GST_RPAD_DIRECTION ##### -->
|
<!-- ##### MACRO GST_RPAD_DIRECTION ##### -->
|
||||||
|
@ -632,6 +755,22 @@ Get the EOS function of the real pad.
|
||||||
@pad: the real pad to query.
|
@pad: the real pad to query.
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### MACRO GST_RPAD_NEGOTIATEFUNC ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@pad:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### MACRO GST_RPAD_NEWCAPSFUNC ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@pad:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### MACRO GST_GPAD_REALPAD ##### -->
|
<!-- ##### MACRO GST_GPAD_REALPAD ##### -->
|
||||||
<para>
|
<para>
|
||||||
Get the real pad of this ghost pad.
|
Get the real pad of this ghost pad.
|
||||||
|
@ -658,64 +797,6 @@ Get the real pad of this ghost pad.
|
||||||
@Returns:
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### TYPEDEF GstPadFactoryEntry ##### -->
|
|
||||||
<para>
|
|
||||||
Defines an entry for a padfactory.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### TYPEDEF GstPadFactory[] ##### -->
|
|
||||||
<para>
|
|
||||||
The padfactory.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### MACRO GST_PAD_FACTORY_SOMETIMES ##### -->
|
|
||||||
<para>
|
|
||||||
Indicate that this pad will become available depending
|
|
||||||
on the media type. Use this in the factory definition.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### MACRO GST_PAD_FACTORY_ALWAYS ##### -->
|
|
||||||
<para>
|
|
||||||
Indicate that this pad will always be available.
|
|
||||||
Use this in the factory definition.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### MACRO GST_PAD_FACTORY_REQUEST ##### -->
|
|
||||||
<para>
|
|
||||||
Indicates that this pad will be available on request. Use
|
|
||||||
this in the factory definition.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### MACRO GST_PAD_FACTORY_SINK ##### -->
|
|
||||||
<para>
|
|
||||||
Indicates a sinkpad for the padfactory.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### MACRO GST_PAD_FACTORY_SRC ##### -->
|
|
||||||
<para>
|
|
||||||
Indicates a srcpad for the padfactory.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### MACRO GST_PAD_FACTORY_CAPS ##### -->
|
|
||||||
<para>
|
|
||||||
Starts the declaration of a the capabilities for this padtemplate.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@a...: a capability factory
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### ENUM GstPadPresence ##### -->
|
<!-- ##### ENUM GstPadPresence ##### -->
|
||||||
<para>
|
<para>
|
||||||
Indicates when this pad will become available.
|
Indicates when this pad will become available.
|
||||||
|
@ -736,16 +817,39 @@ Indicates when this pad will become available.
|
||||||
@presence:
|
@presence:
|
||||||
@caps:
|
@caps:
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_padtemplate_new ##### -->
|
<!-- ##### MACRO GST_PADTEMPLATE_CAPS ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@factory:
|
@templ:
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_padtemplate_create ##### -->
|
<!-- ##### MACRO GST_PADTEMPLATE_DIRECTION ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@templ:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### MACRO GST_PADTEMPLATE_NAME_TEMPLATE ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@templ:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### MACRO GST_PADTEMPLATE_PRESENCE ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@templ:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_padtemplate_new ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
@ -754,7 +858,10 @@ Indicates when this pad will become available.
|
||||||
@direction:
|
@direction:
|
||||||
@presence:
|
@presence:
|
||||||
@caps:
|
@caps:
|
||||||
|
@Varargs:
|
||||||
@Returns:
|
@Returns:
|
||||||
|
<!-- # Unused Parameters # -->
|
||||||
|
@factory:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_padtemplate_load_thyself ##### -->
|
<!-- ##### FUNCTION gst_padtemplate_load_thyself ##### -->
|
||||||
|
@ -778,3 +885,22 @@ Indicates when this pad will become available.
|
||||||
@pad:
|
@pad:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_padtemplate_get_caps ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@templ:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_padtemplate_get_caps_by_name ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@templ:
|
||||||
|
@name:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -38,33 +38,6 @@ pipeline figure out what plugins to use.
|
||||||
@Returns:
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_pipeline_add_sink ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@pipeline:
|
|
||||||
@sink:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_pipeline_add_src ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@pipeline:
|
|
||||||
@src:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_pipeline_autoplug ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@pipeline:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### MACRO gst_pipeline_destroy ##### -->
|
<!-- ##### MACRO gst_pipeline_destroy ##### -->
|
||||||
<para>
|
<para>
|
||||||
Destroys the pipeline.
|
Destroys the pipeline.
|
||||||
|
|
|
@ -27,6 +27,8 @@ GStreamer is extensible so <classname>GstElements</classname> can be loaded at r
|
||||||
@numtypes:
|
@numtypes:
|
||||||
@elements:
|
@elements:
|
||||||
@numelements:
|
@numelements:
|
||||||
|
@autopluggers:
|
||||||
|
@numautopluggers:
|
||||||
@loaded:
|
@loaded:
|
||||||
|
|
||||||
<!-- ##### STRUCT GstPluginElement ##### -->
|
<!-- ##### STRUCT GstPluginElement ##### -->
|
||||||
|
@ -133,6 +135,14 @@ by the loader at statup.
|
||||||
@Returns:
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_plugin_add_path ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@path:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_library_load ##### -->
|
<!-- ##### FUNCTION gst_library_load ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
|
@ -160,6 +170,15 @@ by the loader at statup.
|
||||||
@factory:
|
@factory:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_plugin_add_autoplugger ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@plugin:
|
||||||
|
@factory:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_plugin_find ##### -->
|
<!-- ##### FUNCTION gst_plugin_find ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
|
@ -195,12 +214,12 @@ by the loader at statup.
|
||||||
@Returns:
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_plugin_find_elementfactory ##### -->
|
<!-- ##### FUNCTION gst_plugin_get_autoplug_list ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@name:
|
@plugin:
|
||||||
@Returns:
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
@ -221,6 +240,15 @@ by the loader at statup.
|
||||||
@mime:
|
@mime:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_plugin_load_autoplugfactory ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@name:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_plugin_load_thyself ##### -->
|
<!-- ##### FUNCTION gst_plugin_load_thyself ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
|
|
|
@ -20,18 +20,19 @@ GstCaps
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
@refcount:
|
||||||
|
@lock:
|
||||||
@properties: the properties
|
@properties: the properties
|
||||||
|
|
||||||
<!-- ##### TYPEDEF GstPropsFactoryEntry ##### -->
|
<!-- ##### MACRO GST_MAKE_FOURCC ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
@a:
|
||||||
<!-- ##### TYPEDEF GstPropsFactory[] ##### -->
|
@b:
|
||||||
<para>
|
@c:
|
||||||
|
@d:
|
||||||
</para>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### MACRO GST_PROPS_LIST ##### -->
|
<!-- ##### MACRO GST_PROPS_LIST ##### -->
|
||||||
|
@ -65,19 +66,12 @@ Construct a fourcc property out of four bytes.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@a: first byte
|
@a: first byte
|
||||||
|
<!-- # Unused Parameters # -->
|
||||||
@b: second byte
|
@b: second byte
|
||||||
@c: third byte
|
@c: third byte
|
||||||
@d: fourth byte
|
@d: fourth byte
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### MACRO GST_PROPS_FOURCC_INT ##### -->
|
|
||||||
<para>
|
|
||||||
Create a fourcc property out of an integer value.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@a: the integer value
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### MACRO GST_PROPS_BOOLEAN ##### -->
|
<!-- ##### MACRO GST_PROPS_BOOLEAN ##### -->
|
||||||
<para>
|
<para>
|
||||||
Create a boolean property.
|
Create a boolean property.
|
||||||
|
@ -86,23 +80,29 @@ Create a boolean property.
|
||||||
@a: the boolean property
|
@a: the boolean property
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_props_register ##### -->
|
<!-- ##### MACRO GST_PROPS_STRING ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@factory:
|
@a:
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_props_register_count ##### -->
|
<!-- ##### MACRO GST_PROPS_FLOAT ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@factory:
|
@a:
|
||||||
@counter:
|
|
||||||
@Returns:
|
|
||||||
|
<!-- ##### MACRO GST_PROPS_FLOAT_RANGE ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@a:
|
||||||
|
@b:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_props_new ##### -->
|
<!-- ##### FUNCTION gst_props_new ##### -->
|
||||||
|
@ -110,9 +110,21 @@ Create a boolean property.
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@entry:
|
@firstname:
|
||||||
@Varargs:
|
@Varargs:
|
||||||
@Returns:
|
@Returns:
|
||||||
|
<!-- # Unused Parameters # -->
|
||||||
|
@entry:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_props_newv ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@firstname:
|
||||||
|
@var_args:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_props_merge ##### -->
|
<!-- ##### FUNCTION gst_props_merge ##### -->
|
||||||
|
@ -125,6 +137,48 @@ Create a boolean property.
|
||||||
@Returns:
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_props_copy ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@props:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_props_copy_on_write ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@props:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_props_destroy ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@props:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_props_ref ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@props:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_props_unref ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@props:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_props_check_compatibility ##### -->
|
<!-- ##### FUNCTION gst_props_check_compatibility ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
|
@ -138,6 +192,60 @@ Create a boolean property.
|
||||||
@props2:
|
@props2:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_props_set ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@props:
|
||||||
|
@name:
|
||||||
|
@Varargs:
|
||||||
|
@Returns:
|
||||||
|
<!-- # Unused Parameters # -->
|
||||||
|
@entry:
|
||||||
|
@value:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_props_get_boolean ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@props:
|
||||||
|
@name:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_props_get_fourcc_int ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@props:
|
||||||
|
@name:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_props_get_int ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@props:
|
||||||
|
@name:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_props_get_string ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@props:
|
||||||
|
@name:
|
||||||
|
@Returns:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_props_save_thyself ##### -->
|
<!-- ##### FUNCTION gst_props_save_thyself ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -24,13 +24,23 @@ The volume as a double 0.0 is silent, 1.0 is loudest.
|
||||||
The format ad defined in soundcard.h
|
The format ad defined in soundcard.h
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<!-- ##### ARG GstSineSrc:channels ##### -->
|
<!-- ##### ARG GstSineSrc:samplerate ##### -->
|
||||||
<para>
|
<para>
|
||||||
The number of channels.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<!-- ##### ARG GstSineSrc:frequency ##### -->
|
<!-- ##### ARG GstSineSrc:tablesize ##### -->
|
||||||
<para>
|
<para>
|
||||||
The fequency.
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<!-- ##### ARG GstSineSrc:freq ##### -->
|
||||||
|
<para>
|
||||||
|
The frequency.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<!-- ##### ARG GstSineSrc:buffersize ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
|
17
docs/gst/tmpl/gststaticautoplug.sgml
Normal file
17
docs/gst/tmpl/gststaticautoplug.sgml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
<!-- ##### SECTION Title ##### -->
|
||||||
|
GstStaticAutoplug
|
||||||
|
|
||||||
|
<!-- ##### SECTION Short_Description ##### -->
|
||||||
|
A static autoplugger.
|
||||||
|
|
||||||
|
<!-- ##### SECTION Long_Description ##### -->
|
||||||
|
<para>
|
||||||
|
This autoplugger will create a non threaded element before running the
|
||||||
|
pipeline.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<!-- ##### SECTION See_Also ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
17
docs/gst/tmpl/gststaticautoplugrender.sgml
Normal file
17
docs/gst/tmpl/gststaticautoplugrender.sgml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
<!-- ##### SECTION Title ##### -->
|
||||||
|
GstStaticAutoplugRender
|
||||||
|
|
||||||
|
<!-- ##### SECTION Short_Description ##### -->
|
||||||
|
An autoplugger made for media playback
|
||||||
|
|
||||||
|
<!-- ##### SECTION Long_Description ##### -->
|
||||||
|
<para>
|
||||||
|
this autoplugger will create a threaded element that can be used
|
||||||
|
in media players.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<!-- ##### SECTION See_Also ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
|
@ -14,6 +14,16 @@ Some convenience functions
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
<!-- ##### FUNCTION gst_util_set_object_arg ##### -->
|
||||||
|
<para>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
@object:
|
||||||
|
@name:
|
||||||
|
@value:
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gst_util_get_int_arg ##### -->
|
<!-- ##### FUNCTION gst_util_get_int_arg ##### -->
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
|
|
|
@ -1,64 +0,0 @@
|
||||||
<!-- ##### SECTION Title ##### -->
|
|
||||||
videoraw
|
|
||||||
|
|
||||||
<!-- ##### SECTION Short_Description ##### -->
|
|
||||||
Information about video buffers.
|
|
||||||
|
|
||||||
<!-- ##### SECTION Long_Description ##### -->
|
|
||||||
<para>
|
|
||||||
Information about video buffers.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### SECTION See_Also ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### STRUCT MetaVideoRaw ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@meta:
|
|
||||||
@format:
|
|
||||||
@visual:
|
|
||||||
@width:
|
|
||||||
@height:
|
|
||||||
@overlay_info:
|
|
||||||
@dga_info:
|
|
||||||
|
|
||||||
<!-- ##### STRUCT MetaDGA ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@base:
|
|
||||||
@swidth:
|
|
||||||
@sheight:
|
|
||||||
@bytes_per_line:
|
|
||||||
|
|
||||||
<!-- ##### STRUCT MetaOverlay ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@wx:
|
|
||||||
@wy:
|
|
||||||
@overlay_element:
|
|
||||||
@clip_count:
|
|
||||||
@overlay_clip:
|
|
||||||
@width:
|
|
||||||
@height:
|
|
||||||
@did_overlay:
|
|
||||||
@fully_obscured:
|
|
||||||
|
|
||||||
<!-- ##### STRUCT OverlayClip ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@x1:
|
|
||||||
@x2:
|
|
||||||
@y1:
|
|
||||||
@y2:
|
|
||||||
|
|
1
docs/libs/.gitignore
vendored
1
docs/libs/.gitignore
vendored
|
@ -1,6 +1,5 @@
|
||||||
Makefile
|
Makefile
|
||||||
Makefile.in
|
Makefile.in
|
||||||
tmpl
|
|
||||||
html
|
html
|
||||||
sgml
|
sgml
|
||||||
gstreamer-libs-unused.txt
|
gstreamer-libs-unused.txt
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
manualname = gstreamer-manual
|
manualname = gstreamer-manual
|
||||||
htmlname = gstreamer.html
|
htmlname = index.html
|
||||||
|
|
||||||
sgml_files = gstreamer-manual.sgml \
|
sgml_files = gstreamer-manual.sgml \
|
||||||
advanced.sgml \
|
advanced.sgml \
|
||||||
|
@ -20,6 +20,7 @@ sgml_files = gstreamer-manual.sgml \
|
||||||
motivation.sgml \
|
motivation.sgml \
|
||||||
plugins.sgml \
|
plugins.sgml \
|
||||||
programs.sgml \
|
programs.sgml \
|
||||||
|
debugging.sgml \
|
||||||
queues.sgml \
|
queues.sgml \
|
||||||
states.sgml \
|
states.sgml \
|
||||||
threads.sgml \
|
threads.sgml \
|
||||||
|
|
|
@ -110,7 +110,7 @@
|
||||||
while (elements) {
|
while (elements) {
|
||||||
GstElement *element = GST_ELEMENT (elements->data);
|
GstElement *element = GST_ELEMENT (elements->data);
|
||||||
|
|
||||||
g_print ("element in bin: %s\n", gst_element_get_name (element));
|
g_print ("element in bin: %s\n", gst_element_get_name (element));
|
||||||
|
|
||||||
elements = g_list_next (elements);
|
elements = g_list_next (elements);
|
||||||
}
|
}
|
||||||
|
|
89
docs/manual/debugging.sgml
Normal file
89
docs/manual/debugging.sgml
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
<chapter id="cha-debugging">
|
||||||
|
<title>Debugging</title>
|
||||||
|
<para>
|
||||||
|
GStreamer has an extensive set of debugging tools for
|
||||||
|
plugin developers.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<sect1>
|
||||||
|
<title>Command line options</title>
|
||||||
|
<para>
|
||||||
|
Applications using the GStreamer libraries accept the following set
|
||||||
|
of command line argruments to enable the debugging system.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<option>--gst-debug-mask=<replaceable>mask</replaceable></option>
|
||||||
|
Sets the mask for the debugging output.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<option>--gst-info-mask=<replaceable>mask</replaceable></option>
|
||||||
|
Sets the mask for the info output.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<option>--gst-plugin-spew</option>
|
||||||
|
Enable printout of errors while loading GST plugins.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<option>--gst-plugin-path=<replaceable>PATH</replaceable></option>
|
||||||
|
Add a directory to the plugin search path.
|
||||||
|
</para>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<option>--help</option> Print the a short desciption of the
|
||||||
|
options and an overview of the current debugging/info masks
|
||||||
|
set.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
<para>
|
||||||
|
The follwing table gives an overview of the mask values and
|
||||||
|
their meaning. (enabled) means that the corresponding flag
|
||||||
|
has been set.
|
||||||
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
Mask (to be OR'ed) info/debug FLAGS
|
||||||
|
--------------------------------------------------------
|
||||||
|
0x00000001 (enabled)/ GST_INIT
|
||||||
|
0x00000002 / COTHREADS
|
||||||
|
0x00000004 / COTHREAD_SWITCH
|
||||||
|
0x00000008 / AUTOPLUG
|
||||||
|
0x00000010 / AUTOPLUG_ATTEMPT
|
||||||
|
0x00000020 / PARENTAGE
|
||||||
|
0x00000040 / STATES
|
||||||
|
0x00000080 / PLANING
|
||||||
|
0x00000100 / SCHEDULING
|
||||||
|
0x00000200 / OPERATION
|
||||||
|
0x00000400 / BUFFER
|
||||||
|
0x00000800 / CAPS
|
||||||
|
0x00001000 / CLOCK
|
||||||
|
0x00002000 / ELEMENT_PADS
|
||||||
|
0x00004000 / ELEMENTFACTORY
|
||||||
|
0x00008000 / PADS
|
||||||
|
0x00010000 / PIPELINE
|
||||||
|
0x00020000 / PLUGIN_LOADING
|
||||||
|
0x00040000 / PLUGIN_ERRORS
|
||||||
|
0x00080000 / PROPERTIES
|
||||||
|
0x00100000 / THREAD
|
||||||
|
0x00200000 / TYPES
|
||||||
|
0x00400000 / XML
|
||||||
|
</programlisting>
|
||||||
|
</sect1>
|
||||||
|
<sect1>
|
||||||
|
<title>Adding a custom debug handler</title>
|
||||||
|
<para>
|
||||||
|
</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
</chapter>
|
|
@ -102,7 +102,7 @@ new_pad_created (GstElement *parse, GstPad *pad, GstElement *pipeline)
|
||||||
|
|
||||||
GtkWidget *appwindow;
|
GtkWidget *appwindow;
|
||||||
|
|
||||||
g_print ("***** a new pad %s was created\n", gst_pad_get_name (pad));
|
g_print ("***** a new pad %s was created\n", gst_pad_get_name (pad));
|
||||||
|
|
||||||
gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_PAUSED);
|
gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_PAUSED);
|
||||||
|
|
||||||
|
|
|
@ -23,12 +23,13 @@
|
||||||
|
|
||||||
<!ENTITY XML SYSTEM "xml.sgml">
|
<!ENTITY XML SYSTEM "xml.sgml">
|
||||||
<!ENTITY PLUGINS SYSTEM "plugins.sgml">
|
<!ENTITY PLUGINS SYSTEM "plugins.sgml">
|
||||||
|
<!ENTITY DEBUGGING SYSTEM "debugging.sgml">
|
||||||
<!ENTITY PROGRAMS SYSTEM "programs.sgml">
|
<!ENTITY PROGRAMS SYSTEM "programs.sgml">
|
||||||
<!ENTITY COMPONENTS SYSTEM "components.sgml">
|
<!ENTITY COMPONENTS SYSTEM "components.sgml">
|
||||||
<!ENTITY QUOTES SYSTEM "quotes.sgml">
|
<!ENTITY QUOTES SYSTEM "quotes.sgml">
|
||||||
]>
|
]>
|
||||||
|
|
||||||
<book id="GStreamer">
|
<book id="index">
|
||||||
<bookinfo>
|
<bookinfo>
|
||||||
|
|
||||||
<authorgroup>
|
<authorgroup>
|
||||||
|
@ -43,7 +44,7 @@
|
||||||
</author>
|
</author>
|
||||||
</authorgroup>
|
</authorgroup>
|
||||||
|
|
||||||
<legalnotice>
|
<legalnotice id="legalnotice">
|
||||||
<para>
|
<para>
|
||||||
This material may be distributed only subject to the terms and
|
This material may be distributed only subject to the terms and
|
||||||
conditions set forth in the Open Publication License, v1.0 or later (the
|
conditions set forth in the Open Publication License, v1.0 or later (the
|
||||||
|
@ -183,9 +184,12 @@
|
||||||
<partintro>
|
<partintro>
|
||||||
<para>
|
<para>
|
||||||
<application>GStreamer</application> comes prepackaged with a few programs.
|
<application>GStreamer</application> comes prepackaged with a few programs.
|
||||||
|
and some usefull debugging options.
|
||||||
</para>
|
</para>
|
||||||
</partintro>
|
</partintro>
|
||||||
|
|
||||||
|
&DEBUGGING;
|
||||||
|
|
||||||
&PROGRAMS;
|
&PROGRAMS;
|
||||||
|
|
||||||
&COMPONENTS;
|
&COMPONENTS;
|
||||||
|
|
|
@ -38,7 +38,7 @@ main (int argc, char *argv[])
|
||||||
gst_init(&argc, &argv);
|
gst_init(&argc, &argv);
|
||||||
|
|
||||||
if (argc != 2) {
|
if (argc != 2) {
|
||||||
g_print ("usage: %s <filename>n", argv[0]);
|
g_print ("usage: %s <filename>n", argv[0]);
|
||||||
exit (-1);
|
exit (-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ main (int argc, char *argv[])
|
||||||
GstElement *pipeline;
|
GstElement *pipeline;
|
||||||
|
|
||||||
if (argc != 2) {
|
if (argc != 2) {
|
||||||
g_print ("usage: %s <filename>\n", argv[0]);
|
g_print ("usage: %s <filename>\n", argv[0]);
|
||||||
exit (-1);
|
exit (-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
while (pads) {
|
while (pads) {
|
||||||
GstPad *pad = GST_PAD (pads->data);
|
GstPad *pad = GST_PAD (pads->data);
|
||||||
|
|
||||||
g_print ("pad name %s\n", gst_pad_get_name (pad));
|
g_print ("pad name %s\n", gst_pad_get_name (pad));
|
||||||
|
|
||||||
pads = g_list_next (pads);
|
pads = g_list_next (pads);
|
||||||
}
|
}
|
||||||
|
@ -57,7 +57,7 @@
|
||||||
GstObject.
|
GstObject.
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
<sect2 id="sec-pads-synamic">
|
<sect2 id="sec-pads-dynamic">
|
||||||
<title>Dynamic pads</title>
|
<title>Dynamic pads</title>
|
||||||
<para>
|
<para>
|
||||||
Some elements might not have their pads when they are created. This can, for
|
Some elements might not have their pads when they are created. This can, for
|
||||||
|
@ -82,7 +82,7 @@
|
||||||
static void
|
static void
|
||||||
pad_connect_func (GstElement *parser, GstPad *pad, GstElement *pipeline)
|
pad_connect_func (GstElement *parser, GstPad *pad, GstElement *pipeline)
|
||||||
{
|
{
|
||||||
g_print("***** a new pad %s was created\n", gst_pad_get_name(pad));
|
g_print("***** a new pad %s was created\n", gst_pad_get_name(pad));
|
||||||
|
|
||||||
gst_element_set_state (pipeline, GST_STATE_PAUSED);
|
gst_element_set_state (pipeline, GST_STATE_PAUSED);
|
||||||
|
|
||||||
|
@ -119,6 +119,58 @@ main(int argc, char *argv[])
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
<sect2 id="sec-pads-request">
|
||||||
|
<title>Request pads</title>
|
||||||
|
<para>
|
||||||
|
An element can also have request pads. These pads are not created automatically
|
||||||
|
but are only created on demand. This is very usefull for muxers, aggregators
|
||||||
|
and tee elements.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
The tee element, for example, has one input pad and a request padtemplate for the
|
||||||
|
output pads. Whenever an element wants to get an output pad from the tee element, it
|
||||||
|
has to request the pad.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
The following piece of code can be used to get a pad from the tee element. After
|
||||||
|
the pad has been requested, it can be used to connect another element to it.
|
||||||
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
...
|
||||||
|
GstPad *pad;
|
||||||
|
...
|
||||||
|
element = gst_elementfactory_make ("tee", "element");
|
||||||
|
|
||||||
|
pad = gst_element_request_pad_by_name (element, "src%d");
|
||||||
|
g_print ("new pad %s\n", gst_pad_get_name (pad));
|
||||||
|
...
|
||||||
|
</programlisting>
|
||||||
|
<para>
|
||||||
|
The gst_element_request_pad_by_name method can be used to get a pad
|
||||||
|
from the element based on the name_template of the padtemplate.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
It is also possible to request a pad that is compatible with another
|
||||||
|
padtemplate. This is very usefull if you want to connect an element to
|
||||||
|
a muxer element and you need to request a pad that is compatible. The
|
||||||
|
gst_element_request_compatible_pad is used to request a compatible pad, as
|
||||||
|
is shown in the next example.
|
||||||
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
...
|
||||||
|
GstPadTemplate *templ;
|
||||||
|
GstPad *pad;
|
||||||
|
...
|
||||||
|
element = gst_elementfactory_make ("tee", "element");
|
||||||
|
mp3parse = gst_elementfactory_make ("mp3parse", "mp3parse");
|
||||||
|
|
||||||
|
templ = gst_element_get_padtemplate_by_name (mp3parse, "sink");
|
||||||
|
|
||||||
|
pad = gst_element_request_compatible_pad (element, templ);
|
||||||
|
g_print ("new pad %s\n", gst_pad_get_name (pad));
|
||||||
|
...
|
||||||
|
</programlisting>
|
||||||
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="sec-pads-description">
|
<sect1 id="sec-pads-description">
|
||||||
<title>Capabilities of a GstPad</title>
|
<title>Capabilities of a GstPad</title>
|
||||||
|
@ -258,12 +310,12 @@ Pads:
|
||||||
...
|
...
|
||||||
caps = gst_pad_get_caps_list (pad);
|
caps = gst_pad_get_caps_list (pad);
|
||||||
|
|
||||||
g_print ("pad name %s\n", gst_pad_get_name (pad));
|
g_print ("pad name %s\n", gst_pad_get_name (pad));
|
||||||
|
|
||||||
while (caps) {
|
while (caps) {
|
||||||
GstCaps *cap = (GstCaps *) caps->data;
|
GstCaps *cap = (GstCaps *) caps->data;
|
||||||
|
|
||||||
g_print (" Capability name %s, MIME type\n", gst_caps_get_name (cap),
|
g_print (" Capability name %s, MIME type\n", gst_caps_get_name (cap),
|
||||||
gst_caps_get_mime (cap));
|
gst_caps_get_mime (cap));
|
||||||
|
|
||||||
caps = g_list_next (caps);
|
caps = g_list_next (caps);
|
||||||
|
|
|
@ -15,6 +15,11 @@
|
||||||
one or more typedefinitions
|
one or more typedefinitions
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
one or more autopluggers
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
<para>
|
<para>
|
||||||
The plugins have one simple method: plugin_init () where all the elementfactories are
|
The plugins have one simple method: plugin_init () where all the elementfactories are
|
||||||
|
@ -39,6 +44,8 @@ struct _GstPlugin {
|
||||||
gint numtypes;
|
gint numtypes;
|
||||||
GList *elements; /* list of elements provided */
|
GList *elements; /* list of elements provided */
|
||||||
gint numelements;
|
gint numelements;
|
||||||
|
GList *autopluggers; /* list of autopluggers provided */
|
||||||
|
gint numautopluggers;
|
||||||
|
|
||||||
gboolean loaded; /* if the plugin is in memory */
|
gboolean loaded; /* if the plugin is in memory */
|
||||||
};
|
};
|
||||||
|
@ -55,7 +62,7 @@ struct _GstPlugin {
|
||||||
while (plugins) {
|
while (plugins) {
|
||||||
GstPlugin *plugin = (GstPlugin *)plugins->data;
|
GstPlugin *plugin = (GstPlugin *)plugins->data;
|
||||||
|
|
||||||
g_print ("plugin: %s\n", gst_plugin_get_name (plugin));
|
g_print ("plugin: %s\n", gst_plugin_get_name (plugin));
|
||||||
|
|
||||||
plugins = g_list_next (plugins);
|
plugins = g_list_next (plugins);
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,7 +66,7 @@ main (int argc, char *argv[])
|
||||||
gst_init (&argc,&argv);
|
gst_init (&argc,&argv);
|
||||||
|
|
||||||
if (argc != 2) {
|
if (argc != 2) {
|
||||||
g_print ("usage: %s <filename>\n", argv[0]);
|
g_print ("usage: %s <filename>\n", argv[0]);
|
||||||
exit (-1);
|
exit (-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,26 @@
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term>16 Feb 2001</term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<emphasis>wtay:</emphasis>
|
||||||
|
I shipped a few commerical products to >40000 people now but
|
||||||
|
GStreamer is way more exciting...
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term>16 Feb 2001</term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
*
|
||||||
|
<emphasis>tool-man</emphasis>
|
||||||
|
is a gstreamer groupie
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>14 Jan 2001</term>
|
<term>14 Jan 2001</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
|
|
@ -77,7 +77,7 @@ main (int argc, char *argv[])
|
||||||
GstElement *thread;
|
GstElement *thread;
|
||||||
|
|
||||||
if (argc != 2) {
|
if (argc != 2) {
|
||||||
g_print ("usage: %s <filename>\n", argv[0]);
|
g_print ("usage: %s <filename>\n", argv[0]);
|
||||||
exit (-1);
|
exit (-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<para>
|
<para>
|
||||||
Sometimes the capabilities of a pad are not specificied. The disksrc, for
|
Sometimes the capabilities of a pad are not specificied. The disksrc, for
|
||||||
example, does not know what type of file it is reading. Before you can attach
|
example, does not know what type of file it is reading. Before you can attach
|
||||||
and element to the pad of the disksrc, you need to determine the media type in
|
an element to the pad of the disksrc, you need to determine the media type in
|
||||||
order to be able to choose a compatible element.
|
order to be able to choose a compatible element.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
|
@ -64,7 +64,7 @@ main(int argc, char *argv[])
|
||||||
gst_init(&argc,&argv);
|
gst_init(&argc,&argv);
|
||||||
|
|
||||||
if (argc != 2) {
|
if (argc != 2) {
|
||||||
g_print("usage: %s <filename>\n", argv[0]);
|
g_print("usage: %s <filename>\n", argv[0]);
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ main (int argc, char *argv[])
|
||||||
gst_init (&argc,&argv);
|
gst_init (&argc,&argv);
|
||||||
|
|
||||||
if (argc != 2) {
|
if (argc != 2) {
|
||||||
g_print ("usage: %s <filename>\n", argv[0]);
|
g_print ("usage: %s <filename>\n", argv[0]);
|
||||||
exit (-1);
|
exit (-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -120,7 +120,9 @@ main (int argc, char *argv[])
|
||||||
<sect1 id="sec-xml-load">
|
<sect1 id="sec-xml-load">
|
||||||
<title>Loading a GstElement from an XML file</title>
|
<title>Loading a GstElement from an XML file</title>
|
||||||
<para>
|
<para>
|
||||||
A saved XML file can be loade with the gst_xml_new (filename, rootelement).
|
Before an XML file can be loaded, you must create a GstXML object.
|
||||||
|
A saved XML file can then be loaded with the
|
||||||
|
gst_xml_parse_file (xml, filename, rootelement) method.
|
||||||
The root element can optionally left NULL. The following code example loads
|
The root element can optionally left NULL. The following code example loads
|
||||||
the previously created XML file and runs it.
|
the previously created XML file and runs it.
|
||||||
</para>
|
</para>
|
||||||
|
@ -128,37 +130,28 @@ main (int argc, char *argv[])
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
|
|
||||||
gboolean playing;
|
|
||||||
|
|
||||||
/* eos will be called when the src element has an end of stream */
|
|
||||||
void
|
|
||||||
eos (GstElement *element, gpointer data)
|
|
||||||
{
|
|
||||||
g_print ("have eos, quitting\n");
|
|
||||||
|
|
||||||
playing = FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
int
|
||||||
main(int argc, char *argv[])
|
main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
GstXML *xml;
|
GstXML *xml;
|
||||||
GstElement *bin;
|
GstElement *bin;
|
||||||
GstElement *disk;
|
gboolean ret;
|
||||||
|
|
||||||
gst_init (&argc, &argv);
|
gst_init (&argc, &argv);
|
||||||
|
|
||||||
xml = gst_xml_new ("xmlTest.gst", NULL);
|
xml = gst_xml_new ();
|
||||||
|
|
||||||
|
ret = gst_xml_parse_file(xml, "xmlTest.gst", NULL);
|
||||||
|
g_assert (ret == TRUE);
|
||||||
|
|
||||||
bin = gst_xml_get_element (xml, "bin");
|
bin = gst_xml_get_element (xml, "bin");
|
||||||
|
g_assert (bin != NULL);
|
||||||
|
|
||||||
gst_element_set_state (bin, GST_STATE_PLAYING);
|
gst_element_set_state (bin, GST_STATE_PLAYING);
|
||||||
|
|
||||||
playing = TRUE;
|
playing = TRUE;
|
||||||
|
|
||||||
while (playing) {
|
while (gst_bin_iterate(GST_BIN(bin)));
|
||||||
gst_bin_iterate (GST_BIN (bin));
|
|
||||||
}
|
|
||||||
|
|
||||||
gst_element_set_state (bin, GST_STATE_NULL);
|
gst_element_set_state (bin, GST_STATE_NULL);
|
||||||
|
|
||||||
|
@ -173,6 +166,127 @@ main(int argc, char *argv[])
|
||||||
gst_xml_get_topelements (xml) can be used to get a list of all toplevel elements
|
gst_xml_get_topelements (xml) can be used to get a list of all toplevel elements
|
||||||
in the XML file.
|
in the XML file.
|
||||||
</para>
|
</para>
|
||||||
|
<para>
|
||||||
|
In addition to loading a file, you can also load a from a xmlDocPtr and
|
||||||
|
an in memory buffer using gst_xml_parse_doc and gst_xml_parse_memory
|
||||||
|
respectivily. both of these methods return a gboolean indicating success
|
||||||
|
or failure of the requested action.
|
||||||
|
</para>
|
||||||
|
</sect1>
|
||||||
|
<sect1 id="sec-xml-custom">
|
||||||
|
<title>Adding custom XML tags into the core XML data</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
It is possible to add custom XML tags to the core XML created with
|
||||||
|
gst_xml_write. This feature can be used by an application to add more
|
||||||
|
information to the save plugins. the editor will for example insert
|
||||||
|
the position of the elements on the screen using the custom XML tags.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
It is strongly suggested to save and load the custom XML tags using
|
||||||
|
a namespace. This will solve the problem of having your XML tags
|
||||||
|
interfere with the core XML tags.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
To insert a hook into the element saving procedure you can connect
|
||||||
|
a signal to the GstElement using the following piece of code:
|
||||||
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
xmlNsPtr ns;
|
||||||
|
|
||||||
|
...
|
||||||
|
ns = xmlNewNs (NULL, "http://gstreamer.net/gst-test/1.0/", "test");
|
||||||
|
...
|
||||||
|
thread = gst_elementfactory_make("thread", "thread");
|
||||||
|
gtk_signal_connect (GTK_OBJECT (thread), "object_saved", object_saved, g_strdup ("decoder thread"));
|
||||||
|
...
|
||||||
|
</programlisting>
|
||||||
|
<para>
|
||||||
|
When the thread is saved, the object_save method will be caled. Our example
|
||||||
|
will insert a comment tag:
|
||||||
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
static void
|
||||||
|
object_saved (GstObject *object, xmlNodePtr parent, gpointer data)
|
||||||
|
{
|
||||||
|
xmlNodePtr child;
|
||||||
|
|
||||||
|
child = xmlNewChild(parent, ns, "comment", NULL);
|
||||||
|
xmlNewChild(child, ns, "text", (gchar *)data);
|
||||||
|
}
|
||||||
|
</programlisting>
|
||||||
|
<para>
|
||||||
|
Adding the custom tag code to the above example you will get an XML file
|
||||||
|
with the custom tags in it. Here's an excerpt:
|
||||||
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
...
|
||||||
|
<gst:element>
|
||||||
|
<gst:name>thread</gst:name>
|
||||||
|
<gst:type>thread</gst:type>
|
||||||
|
<gst:version>0.1.0</gst:version>
|
||||||
|
...
|
||||||
|
</gst:children>
|
||||||
|
<test:comment>
|
||||||
|
<test:text>decoder thread</test:text>
|
||||||
|
</test:comment>
|
||||||
|
</gst:element>
|
||||||
|
...
|
||||||
|
</programlisting>
|
||||||
|
<para>
|
||||||
|
To retrieve the custom XML again, you need to attach a signal to
|
||||||
|
the GstXML object used to load the XML data. You can then parse your
|
||||||
|
custom XML from the XML tree whenever an object is loaded.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
We can extend our previous example with the following piece of
|
||||||
|
code.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
xml = gst_xml_new ();
|
||||||
|
|
||||||
|
gtk_signal_connect (GTK_OBJECT (xml), "object_loaded", xml_loaded, xml);
|
||||||
|
|
||||||
|
ret = gst_xml_parse_file(xml, "xmlTest.gst", NULL);
|
||||||
|
g_assert (ret == TRUE);
|
||||||
|
</programlisting>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Whenever a new object has been loaded, the xml_loaded function will be
|
||||||
|
called. this function looks like:
|
||||||
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
static void
|
||||||
|
xml_loaded (GstXML *xml, GstObject *object, xmlNodePtr self, gpointer data)
|
||||||
|
{
|
||||||
|
xmlNodePtr children = self->xmlChildrenNode;
|
||||||
|
|
||||||
|
while (children) {
|
||||||
|
if (!strcmp (children->name, "comment")) {
|
||||||
|
xmlNodePtr nodes = children->xmlChildrenNode;
|
||||||
|
|
||||||
|
while (nodes) {
|
||||||
|
if (!strcmp (nodes->name, "text")) {
|
||||||
|
gchar *name = g_strdup (xmlNodeGetContent (nodes));
|
||||||
|
g_print ("object %s loaded with comment '%s'\n",
|
||||||
|
gst_object_get_name (object), name);
|
||||||
|
}
|
||||||
|
nodes = nodes->next;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
children = children->next;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</programlisting>
|
||||||
|
<para>
|
||||||
|
As you can see, you'll get a handle to the GstXML object, the
|
||||||
|
newly loaded GstObject and the xmlNodePtr that was used to create
|
||||||
|
this object. In the above example we look for our special tag inside
|
||||||
|
the XML tree that was used to load the object and we print our
|
||||||
|
comment to the console.
|
||||||
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
|
@ -47,7 +47,9 @@ sgml/$(DOC_MODULE)-doc.bottom: $(tmpl_sources)
|
||||||
$(MAKE) sgml
|
$(MAKE) sgml
|
||||||
|
|
||||||
scanobj:
|
scanobj:
|
||||||
CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" ./gstdoc-scanobj --module=$(DOC_MODULE)
|
env CC="$(LIBTOOL) $(CC)" CFLAGS="$(LIBGST_CFLAGS) $(GLIB_CFLAGS) $(XML_CFLAGS) -I../../" LDFLAGS="$(GST_LIBS)"\
|
||||||
|
./gstdoc-scanobj --module=$(DOC_MODULE)
|
||||||
|
|
||||||
|
|
||||||
tmpl: scanobj
|
tmpl: scanobj
|
||||||
./gstdoc-mktmpl --module=$(DOC_MODULE)
|
./gstdoc-mktmpl --module=$(DOC_MODULE)
|
||||||
|
|
|
@ -839,7 +839,7 @@ output_widget_pads (FILE *fp, GstElement *element)
|
||||||
type = gst_type_find_by_id(1);
|
type = gst_type_find_by_id(1);
|
||||||
|
|
||||||
fprintf (fp, "<PAD>\n<NAME>%s::%s</NAME>\n",
|
fprintf (fp, "<PAD>\n<NAME>%s::%s</NAME>\n",
|
||||||
gtk_type_name(factory->type), pad->name);
|
gtk_type_name(factory->type), gst_object_get_name (GST_OBJECT (pad)));
|
||||||
|
|
||||||
if (type) {
|
if (type) {
|
||||||
fprintf(fp, "<MIME>%s</MIME>\n", type->mime);
|
fprintf(fp, "<MIME>%s</MIME>\n", type->mime);
|
||||||
|
|
|
@ -14,8 +14,3 @@ Ac3Parse
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<!-- ##### ARG Ac3Parse:skip ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue