Commit 08eaa112 authored by wrobell's avatar wrobell Committed by Wim Taymans

- some fixes to int2float making automake 1.5 happy (gst now requires...

- some fixes to int2float making automake 1.5 happy (gst now requires automake1.5). It's still not perfect but it bui...

Original commit message from CVS:
- added playondemand plugin by Leif Morgan Johnson <lmjohns3@eos.ncsu.edu>
- some fixes to int2float
- aplied a patch from wrobell <wrobell@ite.pl> that is a first attempt at
making automake 1.5 happy (gst now requires automake1.5). It's still not
perfect but it builds.
- Made the schedulers plugable. The default scheduler now lives inside a
plugin.
- Added a new mpeg1/2 parser/demuxer.
- Fixed some compiler warnings in the core libs.
- substantial work to GstThread (hopefully less race conditions). simplified
the code in GstThread a bit. A state change can now also happen in the
thread context.
- reworked the state semantics of a bin. it'll now automatically get the
highest state of its children.
- the autoplugger now nests the threads so that a state change failure of
one thread doesn't make its upstream thread lock.
- GstQueue refuses to go to PLAYING if the sinkpad is not connected. This
way the queue will not wedge in the _get lock.
- GstQueue unlocks its mutexes when going to PAUSED.
- make sure that when all elements in a bin/thread go to PAUSED, the bin
is set to PAUSED too.
- make a parent bin wait for its children to PAUSE before ending the
iteration with FALSE (EOS)
- Some changes to GstPlay to deal with EOS.
- aplied the latest patch from Zeenix to gstrtp.

end result: GstPlay doesn't crash on EOS and the pipeline is now shut down
properly.
parent d0cfa2da
......@@ -42,16 +42,14 @@ AC_SUBST(GST_REVISION)
AC_SUBST(GST_AGE)
AC_SUBST(GST_LIBVERSION)
AM_MAINTAINER_MODE
AC_PROG_CC
AM_PROG_CC_STDC
AM_PROG_AS
AC_PROG_CXX
AC_PROG_CXXCPP
AC_ISC_POSIX
SUBSTFOR configure.ac:AC_HEADER_STDC([])
SUBSTFOR configure.in:AC_STDC_HEADERS
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
......@@ -59,7 +57,8 @@ AM_DISABLE_STATIC
AC_LIBTOOL_DLOPEN
AM_PROG_LIBTOOL
CFLAGS=""
SUBSTFOR configure.ac:AC_HEADER_STDC([])
SUBSTFOR configure.in:AC_STDC_HEADERS
dnl This is used for the -config script...
builddir=`pwd`
......@@ -193,8 +192,7 @@ int main () { return !(sizeof(off_t) == 8); }
],
[
AC_MSG_RESULT(yes)
CORE_CFLAGS="$CORE_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
GST_DEFINE_CFLAGS="$GST_DEFINE_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
GST_CFLAGS="$GST_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
],
[
AC_MSG_RESULT(no)
......@@ -210,14 +208,13 @@ dnl Check for glib2
GST_CHECK_FEATURE(GLIB2, [use of glib-2.0 and GObject], , [
PKG_CHECK_MODULES(GLIB2, glib-2.0 gobject-2.0 gthread-2.0 gmodule-2.0,
HAVE_GLIB2=yes,HAVE_GLIB2=no)
AC_SUBST(GLIB2_LIBS)
AC_SUBST(GLIB2_CFLAGS)
GLIB_LIBS=$GLIB2_LIBS
GLIB_CFLAGS=$GLIB2_CFLAGS
AC_SUBST(GLIB_LIBS)
AC_SUBST(GLIB_CFLAGS)
], disabled, [
CORE_LIBS="$CORE_LIBS $GLIB2_LIBS"
CORE_CFLAGS="$CORE_CFLAGS $GLIB2_CFLAGS"
AC_DEFINE(USE_GLIB2)
GST_DEFINE_CFLAGS="$GST_DEFINE_CFLAGS -DUSE_GLIB2"
GST_CFLAGS="$GST_CFLAGS -DUSE_GLIB2"
])
AC_SUBST(USE_GLIB2)
......@@ -232,8 +229,8 @@ if test x$USE_GLIB2 = xno; then
AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?))
HAVE_GTK=yes
CORE_LIBS="$CORE_LIBS $GLIB_LIBS $GTK_LIBS"
CORE_CFLAGS="$CORE_CFLAGS $GLIB_CFLAGS $GTK_CFLAGS"
GLIB_LIBS="$GLIB_LIBS $GTK_LIBS"
GLIB_CFLAGS="$GLIB_CFLAGS $GTK_CFLAGS"
else
GST_PKG_DEPS="glib-2.0 gobject-2.0 gmodule-2.0 gthread-2.0"
......@@ -257,21 +254,13 @@ AC_PATH_PROG(XML_CONFIG, xml-config, no)
if test x$XML_CONFIG = xno; then
AC_MSG_ERROR(Couldn't find xml-config)
fi
xml_save_LIBS=$LIBS
xml_save_CFLAGS=$CFLAGS
XML_LIBS=`xml-config --libs`
XML_CFLAGS=`xml-config --cflags`
LIBS=$XML_LIBS
CFLAGS=$XML_CFLAGS
AC_CHECK_LIB(xml, xmlDocGetRootElement, ,
XML_LIBS="`xml-config --libs`"
XML_CFLAGS="`xml-config --cflags`"
AC_CHECK_LIB(xml, xmlDocGetRootElement, :,
[ AC_MSG_ERROR(Need version 1.8.1 or better of libxml) ],
$XML_LIBS)
LIBS=$xml_save_LIBS
CFLAGS=$xml_save_CFLAGS
AC_SUBST(XML_LIBS)
AC_SUBST(XML_CFLAGS)
CORE_LIBS="$CORE_LIBS $XML_LIBS"
CORE_CFLAGS="$CORE_CFLAGS $XML_CFLAGS"
dnl ==========================================================================
......@@ -317,7 +306,6 @@ dnl AC_CHECK_LIB(artsflow, convert_stereo_2float_i16le, :, HAVE_ARTS=no, $LIBS)
dnl AC_CHECK_HEADER uses CPPFLAGS, but not CFLAGS.
dnl FIXME: ensure only suitable flags result from artsc-config --cflags
CPPFLAGS="$CPPFLAGS $ARTS_CFLAGS"
AC_CHECK_HEADER(artsflow.h, :, HAVE_ARTS=no)
SUBSTFOR configure.ac:AC_LANG_POP(C++)
......@@ -420,17 +408,11 @@ else
else
LIBGLADE_GNOME_LIBS=`libglade-config --libs gnome`
LIBGLADE_GNOME_CFLAGS=`libglade-config --cflags gnome`
libglade_save_CFLAGS="$CFLAGS"
libglade_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $LIBGLADE_GNOME_CFLAGS $GTK_CFLAGS"
LIBS="$LIBS $LIBGLADE_GNOME_LIBS $GTK_LIBS"
AC_TRY_LINK([#include <glade/glade.h>],[glade_gnome_init();],
HAVE_LIBGLADE_GNOME="yes",
AC_MSG_WARN(
[Couldn't find gnome libraries for libglade - Can't build gstmediaplay and gsteditor])
)
CFLAGS="$libglade_save_CFLAGS"
LIBS="$libglade_save_LIBS"
fi
fi
AC_SUBST(LIBGLADE_GNOME_LIBS)
......@@ -681,29 +663,7 @@ AC_CHECK_LIB(dvdread, DVDOpen, HAVE_LIBDVDREAD=yes, HAVE_LIBDVDREAD=no, )
AC_CHECK_HEADER(dvdread/dvd_reader.h, :, HAVE_LIBDVDREAD=no)
dnl Check for SDL library
AC_MSG_CHECKING(SDL library)
HAVE_LIBSDL=yes
if sdl-config --libs > /dev/null 2>&1; then
SDL_VERSION=`sdl-config --version`
AC_MSG_RESULT([found (version $SDL_VERSION)])
SDL_LIBS="`sdl-config --libs`"
SDL_CFLAGS="`sdl-config --cflags`"
AC_CHECK_LIB(SDL, SDL_Init, :, HAVE_LIBSDL=no, $SDL_LIBS)
dnl AC_CHECK_HEADER uses CPPFLAGS, but not CFLAGS.
dnl Assume only suitable flags result from artsc-config --cflags
sdlcheck_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $SDL_CFLAGS"
AC_CHECK_HEADER(SDL.h, :, HAVE_LIBSDL=no)
CPPFLAGS="$sdlcheck_save_CPPFLAGS"
AC_CHECK_LIB(SDL, SDL_CreateYUVOverlay, :, HAVE_LIBSDL=no, $SDL_LIBS)
else
AC_MSG_RESULT(not found)
HAVE_LIBSDL=no
SDL_LIBS=
SDL_CFLAGS=
fi
AC_SUBST(SDL_LIBS)
AC_SUBST(SDL_CFLAGS)
AM_PATH_SDL( , , HAVE_LIBSDL=no)
if test "x$HAVE_LIBSDL" = "xno"; then
AC_MSG_WARN(
......@@ -904,7 +864,7 @@ GST_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
GST_DEFINE_CFLAGS="$GST_DEFINE_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
GST_CFLAGS="$GST_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
dnl ################################################
......@@ -930,12 +890,12 @@ if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
fi
if test "x$USE_DEBUG" = xyes; then
CFLAGS="$CFLAGS -g"
fi
dnl if test "x$USE_DEBUG" = xyes; then
dnl CFLAGS="$CFLAGS -g"
dnl fi
if test "x$USE_PROFILING" = xyes; then
CFLAGS="$CFLAGS -pg -fprofile-arcs"
dnl CFLAGS="$CFLAGS -pg -fprofile-arcs"
FOMIT_FRAME_POINTER=""
else
FOMIT_FRAME_POINTER="-fomit-frame-pointer"
......@@ -1098,19 +1058,6 @@ PLUGINS_BUILDDIR=${builddir}
AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR,"$PLUGINS_BUILDDIR")
AC_SUBST(PLUGINS_BUILDDIR)
dnl ##############################
dnl # Set up the defaults cflags #
dnl ##############################
dnl CC="kgcc"
if test "x$USE_PROFILING" = xyes; then
CFLAGS="$CORE_CFLAGS $CFLAGS -Wall"
else
CFLAGS="$CORE_CFLAGS $CFLAGS -O6 -Wall"
fi
LIBS="$CORE_LIBS $LIBS"
AC_SUBST(CORE_LIBS)
AC_SUBST(CORE_CFLAGS)
dnl Vars for everyone else
GST_LIBS="\$(top_builddir)/gst/libgst.la"
GST_CFLAGS="-I\$(top_srcdir) -I\$(top_srcdir)/include"
......@@ -1118,30 +1065,11 @@ AC_SUBST(GST_LIBS)
AC_SUBST(GST_CFLAGS)
dnl Private vars for libgst only
LIBGST_LIBS="$LIBS"
LIBGST_CFLAGS="$CFLAGS $GST_CFLAGS"
LIBGST_CFLAGS="$GST_CFLAGS"
AC_SUBST(LIBGST_LIBS)
AC_SUBST(LIBGST_CFLAGS)
dnl CFLAGS for everyone else
CFLAGS="$GST_CFLAGS $CFLAGS"
LDFLAGS="$GST_LIBS $LDFLAGS"
dnl Needed to make automake 1.4g happy.
dnl FIXME: find as properly, rather than just using CC
AS="\$(CC)"
dnl Having to AC_SUBST these is messy, but doesn't seem to do any harm.
dnl I'm not sure whether it's really necessary, but it removes some warnings
dnl when automake 1.4g runs, and may be beneficial elsewhere.
AC_SUBST(LIBS)
AC_SUBST(CFLAGS)
AC_SUBST(CPPFLAGS)
AC_SUBST(LDFLAGS)
AC_SUBST(AS)
AC_SUBST(ASFLAGS)
AC_SUBST(GST_DEFINE_CFLAGS)
AC_SUBST(GST_CFLAGS)
dnl #############################
dnl # Configure the subpackages #
......@@ -1173,6 +1101,9 @@ dnl #########################
dnl # Make the output files #
dnl #########################
dnl until ffmpeg is handled by configure plugins/ffmpeg/Makefile
dnl components/bonobo-gstmediaplay/Makefile
dnl someone should fix this test/misc/Makefile
SUBSTFOR configure.ac:AC_OUTPUT(
SUBSTFOR configure.ac:Makefile
SUBSTFOR configure.in:AC_OUTPUT([Makefile
......@@ -1182,6 +1113,7 @@ gst/gstversion.h
gst/types/Makefile
gst/elements/Makefile
gst/autoplug/Makefile
gst/schedulers/Makefile
libs/Makefile
libs/riff/Makefile
libs/getbits/Makefile
......@@ -1237,7 +1169,6 @@ plugins/oss/Makefile
plugins/rtp/Makefile
plugins/mulaw/Makefile
plugins/alaw/Makefile
dnl until ffmpeg is handled by configure plugins/ffmpeg/Makefile
plugins/filters/Makefile
plugins/filters/smooth/Makefile
plugins/filters/median/Makefile
......@@ -1255,6 +1186,7 @@ plugins/filters/cutter/Makefile
plugins/filters/deinterlace/Makefile
plugins/filters/volume/Makefile
plugins/filters/speed/Makefile
plugins/filters/playondemand/Makefile
plugins/gnomevfs/Makefile
plugins/icecast/Makefile
plugins/icecast/icecastsend/Makefile
......@@ -1294,11 +1226,9 @@ plugins/synthesis/Makefile
plugins/synthesis/sinesrc/Makefile
plugins/silence/Makefile
gstplay/Makefile
dnl components/bonobo-gstmediaplay/Makefile
test/Makefile
test/xml/Makefile
test/bindings/Makefile
dnl someone should fix this test/misc/Makefile
test/memchunk/Makefile
test/events/Makefile
tests/Makefile
......@@ -1310,6 +1240,7 @@ testsuite/bytestream/Makefile
testsuite/capsnego/Makefile
testsuite/refcounting/Makefile
testsuite/plugin/Makefile
testsuite/threads/Makefile
tests/nego/Makefile
examples/Makefile
examples/autoplug/Makefile
......
......@@ -6,6 +6,7 @@ gstreamer.signals
gstreamer.types
gstreamer.html
gstreamer-unused.txt
gstreamer-undocumented.txt
gstreamer-decl-list.txt
gstreamer-decl.txt
gstreamer-scan.c
......
......@@ -100,6 +100,7 @@ flow:
unlock (release lock) !
! status = iterate() (*)
lock mutex
signal TH
if (!status) // EOS
unset SPINNING flag
}
......
CFLAGS += -DDATADIR="\"$(gladedir)/\"" $(GNOME_CFLAGS) $(LIBGLADE_GNOME_CFLAGS)
LDFLAGS += $(GNOME_LIBS) $(LIBGLADE_GNOME_LIBS)
lib_LTLIBRARIES = libgsteditor.la
......@@ -19,6 +17,9 @@ libgsteditor_la_SOURCES = \
gstelementselect.c \
gsteditorcreate.c
libgsteditor_la_CFLAGS = -DDATADIR="\"$(gladedir)/\"" $(GNOME_CFLAGS) $(LIBGLADE_GNOME_CFLAGS)
libgsteditor_la_LDFLAGS = $(GNOME_LIBS) $(LIBGLADE_GNOME_LIBS)
libgsteditorincludedir = $(includedir)/gst
libgsteditorinclude_HEADERS = \
gsteditor.h
......
noinst_PROGRAMS = autoplug
# just an app here, we're safe
LIBS += $(GNOME_LIBS) $(GST_LIBS)
CFLAGS += $(GNOME_CFLAGS) $(GST_CFLAGS)
autoplug_LDADD = $(GNOME_LIBS) $(GST_LIBS) $(GLIB_LIBS)
autoplug_CFLAGS = $(GNOME_CFLAGS) $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
noinst_PROGRAMS = cutter
noinst_HEADERS = cutter.h
LIBS += $(GST_LIBS)
CFLAGS += $(GST_CFLAGS)
cutter_LDADD = $(GST_LIBS)
cutter_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
noinst_PROGRAMS = helloworld
LIBS += $(GST_LIBS)
CFLAGS += $(GST_CFLAGS)
helloworld_LDADD = $(GST_LIBS)
helloworld_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
noinst_PROGRAMS = helloworld2
LIBS += $(GST_LIBS)
CFLAGS += $(GST_CFLAGS)
helloworld2_LDADD = $(GST_LIBS)
helloworld2_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
noinst_PROGRAMS = mp3parselaunch
# just an app here, we're safe
LIBS += $(GST_LIBS)
CFLAGS += $(GST_CFLAGS)
mp3parselaunch_LDADD = $(GST_LIBS)
mp3parselaunch_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
noinst_SCRIPTS = mp3play
EXTRA_DIST = mp3play
noinst_PROGRAMS = mixer
noinst_HEADERS = mixer.h
LIBS += $(GST_LIBS)
CFLAGS += $(GST_CFLAGS)
mixer_LDADD = $(GST_LIBS)
mixer_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
......@@ -190,7 +190,7 @@ int main(int argc,char *argv[])
gst_element_set_state(main_bin, GST_STATE_PLAYING);
// write out the schedule
gst_schedule_show(GST_ELEMENT_SCHED(main_bin));
gst_scheduler_show(GST_ELEMENT_SCHED(main_bin));
playing = TRUE;
j = 0;
......
noinst_LTLIBRARIES = libexample.la
libexample_la_SOURCES = example.c
libexample_la_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
noinst_HEADERS = example.h
noinst_PROGRAMS = queue
LIBS += $(GST_LIBS)
CFLAGS += $(GST_CFLAGS)
queue_LDADD = $(GST_LIBS)
queue_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
noinst_PROGRAMS = queue2
LIBS += $(GST_LIBS)
CFLAGS += $(GST_CFLAGS)
queue2_LDADD = $(GST_LIBS)
queue2_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
noinst_PROGRAMS = queue3
LIBS += $(GST_LIBS)
CFLAGS += $(GST_CFLAGS)
queue3_LDADD = $(GST_LIBS)
queue3_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
noinst_PROGRAMS = queue4
LIBS += $(GST_LIBS)
CFLAGS += $(GST_CFLAGS)
queue4_LDADD = $(GST_LIBS)
queue4_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
noinst_PROGRAMS = thread
LIBS += $(GST_LIBS)
CFLAGS += $(GST_CFLAGS)
thread_LDADD = $(GST_LIBS)
thread_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
noinst_PROGRAMS = typefind
LIBS += $(GST_LIBS)
CFLAGS += $(GST_CFLAGS)
typefind_LDADD = $(GST_LIBS)
typefind_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
noinst_PROGRAMS = createxml runxml
LIBS += $(GST_LIBS)
CFLAGS += $(GST_CFLAGS)
createxml_LDADD = $(GST_LIBS)
createxml_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
runxml_LDADD = $(GST_LIBS)
runxml_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS) $(GST_CFLAGS)
......@@ -52,8 +52,8 @@ endif
EXTRA_libgst_la_SOURCES = gstcpuid_i386.s gstmarshal.list gobject2gtk.c gobject2gtk.h gstxml.c gsttypefind.c gstparse.c gstautoplug.c gsttrace.c
SUBDIRS = . types elements $(GST_AUTOPLUG_DIRS)
DIST_SUBDIRS = types elements autoplug
SUBDIRS = . types elements $(GST_AUTOPLUG_DIRS) schedulers
DIST_SUBDIRS = types elements autoplug schedulers
libgst_la_SOURCES = \
cothreads.c \
......@@ -202,21 +202,19 @@ noinst_HEADERS = \
gstarch.h \
gstpropsprivate.h
CFLAGS = \
$(LIBGST_CFLAGS) \
libgst_la_CFLAGS = -D_GNU_SOURCE -DGST_CONFIG_DIR=\""$(GST_CONFIG_DIR)"\" \
$(LIBGST_CFLAGS) $(XML_CFLAGS) $(GLIB_CFLAGS) \
-D_GNU_SOURCE \
-DG_LOG_DOMAIN=g_log_domain_gstreamer \
-DGST_CONFIG_DIR=\""$(GST_CONFIG_DIR)"\" \
\
-W -Wpointer-arith -Wbad-function-cast \
-Wcast-align -Wsign-compare \
-Wmissing-prototypes -Wmissing-declarations \
-Wnested-externs \
-Winline -Wno-unused
CFLAGS = $(LIBGST_CFLAGS) -D_GNU_SOURCE -DGST_CONFIG_DIR=\""$(GST_CONFIG_DIR)"\" -Wall
LIBS = $(LIBGST_LIBS)
LDFLAGS = ""
libgst_la_LIBADD = $(XML_LIBS) $(GLIB_LIBS)
libgst_la_LDFLAGS = -version-info $(GST_LIBVERSION)
EXTRA_DIST = ROADMAP
......@@ -13,7 +13,14 @@ libgststaticautoplugrender_la_LDFLAGS = -version-info $(GST_LIBVERSION)
libgstautoplugcache_la_LDFLAGS = -version-info $(GST_LIBVERSION)
libgstautoplugger_la_LDFLAGS = -version-info $(GST_LIBVERSION)
libgststaticautoplug_la_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS)
libgststaticautoplugrender_la_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS)
libgstautoplugcache_la_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS)
libgstautoplugger_la_CFLAGS = $(GLIB_CFLAGS) $(XML_CFLAGS)
noinst_HEADERS = gststaticautoplug.h gststaticautoplugrender.h
noinst_PROGRAMS = autoplugtest
autoplugtest_LDADD = $(GST_LIBS)
autoplugtest_CFLAGS = $(GST_CFLAGS) $(GLIB_CFLAGS) $(XML_CFLAGS)
autoplugtest_LDADD = $(GST_LIBS) $(GLIB_LIBS) $(XML_LIBS)
......@@ -9,16 +9,16 @@ void cache_empty(GstElement *element, gpointer private) {
gst_element_set_state (pipeline, GST_STATE_PAUSED);
gst_element_disconnect(src,"src",cache,"sink");
gst_schedule_show (GST_ELEMENT_SCHED(pipeline));
gst_scheduler_show (GST_ELEMENT_SCHED(pipeline));
gst_element_disconnect(cache,"src",decoder,"sink");
gst_schedule_show (GST_ELEMENT_SCHED(pipeline));
gst_scheduler_show (GST_ELEMENT_SCHED(pipeline));
gst_bin_remove (GST_BIN(autobin), cache);
gst_schedule_show (GST_ELEMENT_SCHED(pipeline));
gst_scheduler_show (GST_ELEMENT_SCHED(pipeline));
gst_element_connect(src,"src",decoder,"sink");
gst_schedule_show (GST_ELEMENT_SCHED(pipeline));
gst_scheduler_show (GST_ELEMENT_SCHED(pipeline));
gst_element_set_state (pipeline, GST_STATE_PLAYING);
gst_schedule_show (GST_ELEMENT_SCHED(pipeline));
gst_scheduler_show (GST_ELEMENT_SCHED(pipeline));
fprintf(stderr,"done with cache_empty\n");
}
......@@ -32,7 +32,7 @@ void have_type(GstElement *element, GstCaps *caps, GstCaps **private_caps) {
gst_element_disconnect(cache,"src",typefind,"sink");
gst_bin_remove(GST_BIN(autobin),typefind);
gst_schedule_show (GST_ELEMENT_SCHED(pipeline));
gst_scheduler_show (GST_ELEMENT_SCHED(pipeline));
if (strstr(gst_caps_get_mime(caps),"mp3")) {
decoder = gst_elementfactory_make ("mad","decoder");
......
......@@ -475,8 +475,6 @@ differ:
GST_DEBUG (0,"delaying the creation of a ghostpad for %s\n", GST_ELEMENT_NAME (thesrcelement));
g_signal_connect (G_OBJECT (thesrcelement), "new_pad",
G_CALLBACK (autoplug_dynamic_pad), data);
g_signal_connect (G_OBJECT (thesrcelement), "new_ghost_pad",
G_CALLBACK (autoplug_dynamic_pad), data);
}
}
}
......
......@@ -95,6 +95,9 @@ plugin_init (GModule *module, GstPlugin *plugin)
if (factory != NULL) {
gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (factory));
}
else {
g_warning ("could not register autoplugger: staticrender");
}
return TRUE;
}
......@@ -232,8 +235,6 @@ gst_autoplug_pads_autoplug (GstElement *src, GstElement *sink)
GST_ELEMENT_NAME(src), GST_ELEMENT_NAME(sink));
g_signal_connect (G_OBJECT(src),"new_pad",
G_CALLBACK (gst_autoplug_pads_autoplug_func), sink);
g_signal_connect (G_OBJECT(src),"new_ghost_pad",
G_CALLBACK (gst_autoplug_pads_autoplug_func), sink);
}
}
......@@ -398,7 +399,7 @@ next:
GST_DEBUG (0,"common factory \"%s\"\n", GST_OBJECT_NAME (factory));
element = gst_elementfactory_create (factory, GST_OBJECT_NAME (factory));
element = gst_elementfactory_create (factory, g_strdup (GST_OBJECT_NAME (factory)));
gst_bin_add (GST_BIN(result), element);
if (srcelement != NULL) {
......@@ -457,7 +458,7 @@ differ:
factory = (GstElementFactory *)(factories[i]->data);
GST_DEBUG (0,"factory \"%s\"\n", GST_OBJECT_NAME (factory));
element = gst_elementfactory_create(factory, GST_OBJECT_NAME (factory));
element = gst_elementfactory_create(factory, g_strdup (GST_OBJECT_NAME (factory)));
}
else {
element = sinkelement;
......@@ -468,6 +469,7 @@ differ:
if (GST_ELEMENT_IS_THREAD_SUGGESTED(element) || use_thread) {
GstElement *queue;
GstPad *srcpad;
GstElement *current_bin = thebin;
use_thread = FALSE;
......@@ -491,7 +493,7 @@ differ:
gst_bin_add(GST_BIN(thebin), element);
gst_autoplug_signal_new_object (GST_AUTOPLUG (autoplug), GST_OBJECT (element));
GST_DEBUG (0,"adding element %s\n", GST_ELEMENT_NAME (thebin));
gst_bin_add(GST_BIN(result), thebin);
gst_bin_add(GST_BIN(current_bin), thebin);
gst_autoplug_signal_new_object (GST_AUTOPLUG (autoplug), GST_OBJECT (thebin));
thesrcelement = queue;
}
......
......@@ -8,8 +8,6 @@ else
GSTHTTPSRC=
endif
#CFLAGS += -O2 -Wall -finstrument-functions -DGST_ENABLE_FUNC_INSTRUMENTATION
libgstelements_la_DEPENDENCIES = ../libgst.la
libgstelements_la_SOURCES = \
gstelements.c \
......@@ -43,8 +41,6 @@ noinst_HEADERS = \
gstaggregator.h \
gststatistics.h
CFLAGS += -O2 -Wall
LDFLAGS += -lm
libgstelements_la_LIBADD = $(GHTTP_LIBS)
libgstelements_la_CFLAGS = $(GHTTP_CFLAGS) $(GLIB_CFLAGS) $(XML_CFLAGS)
libgstelements_la_LIBADD = $(GHTTP_LIBS) $(GLIB_LIBS) $(XML_LIBS)
libgstelements_la_LDFLAGS = -version-info $(GST_LIBVERSION)
......@@ -213,14 +213,6 @@ gst_fakesink_get_property (GObject *object, guint prop_id, GValue *value, GParam
}
}
/**
* gst_fakesink_chain:
* @pad: the pad this faksink is connected to
* @buffer: the buffer or event that has to be absorbed
*
* Take the buffer or event from the pad and unref it without doing
* anything with it.
*/
static void
gst_fakesink_chain (GstPad *pad, GstBuffer *buf)
{
......@@ -232,21 +224,12 @@ gst_fakesink_chain (GstPad *pad, GstBuffer *buf)
fakesink = GST_FAKESINK (gst_pad_get_parent (pad));
if (GST_IS_EVENT(buf)) {
GstEvent *event = GST_EVENT (buf);
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_EOS:
g_print("fakesink: have EOS event!\n");
gst_element_set_state (GST_ELEMENT (fakesink), GST_STATE_PAUSED);
break;
default:
g_print("fakesink: have unhandled event!\n");
break;
}
gst_event_free (event);
/*
if (GST_IS_EVENT (buf)) {
gst_pad_event_default (pad, GST_EVENT (buf));
return;
}
*/
if (!fakesink->silent)
g_print("fakesink: chain ******* (%s:%s)< (%d bytes, %lld) %p\n",
......
......@@ -220,6 +220,14 @@ gtk_signal_emit((GtkObject *)object,signal, ## args )
g_signal_connect(object,name,func,func_data) \
gtk_signal_connect((GtkObject *)object,name,func,func_data)
#define \
g_signal_handlers_disconnect_by_func(object,func,func_data) \
gtk_signal_disconnect_by_func((GtkObject *)object,func,func_data)
#define \
g_signal_connect_object(object,name,func,func_data) \
gtk_signal_connect_object((GtkObject *)object,name,func,(GtkObject*)func_data)
#define \
g_signal_emit_by_name(object,name,data,self) \
gtk_signal_emit_by_name ((GtkObject *)object,name,data,self)
......@@ -251,8 +259,8 @@ GSList* g_slist_delete_link (GSList *list, GSList *link) __attribute__ ((no_ins
typedef struct _GParamSpec GParamSpec;
struct _GParamSpec {
gchar *name;
gint value_type;
gint flags;
GType value_type;
GParamFlags flags;
};
#define g_value_init(value,t) ((value)->type = (t))
......
......@@ -24,17 +24,8 @@