diff --git a/autogen.sh b/autogen.sh index fcf1ed50ad..6a06491806 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,6 +1,12 @@ #!/bin/sh # Run this to generate all the initial makefiles, etc. +test -n "$srcdir" || srcdir=`dirname "$0"` +test -n "$srcdir" || srcdir=. + +olddir=`pwd` +cd "$srcdir" + DIE=0 package=gstreamer srcfile=gst/gst.c @@ -97,13 +103,15 @@ test -n "$NOCONFIGURE" && { exit 0 } +cd "$olddir" + echo "+ running configure ... " test ! -z "$CONFIGURE_DEF_OPT" && echo " ./configure default flags: $CONFIGURE_DEF_OPT" test ! -z "$CONFIGURE_EXT_OPT" && echo " ./configure external flags: $CONFIGURE_EXT_OPT" echo -echo ./configure $CONFIGURE_DEF_OPT $CONFIGURE_EXT_OPT -./configure $CONFIGURE_DEF_OPT $CONFIGURE_EXT_OPT || { +echo "$srcdir/configure" $CONFIGURE_DEF_OPT $CONFIGURE_EXT_OPT +"$srcdir/configure" $CONFIGURE_DEF_OPT $CONFIGURE_EXT_OPT || { echo " configure failed" exit 1 } diff --git a/gst/gstbin.c b/gst/gstbin.c index b2b64fa21f..d7e25a1d80 100644 --- a/gst/gstbin.c +++ b/gst/gstbin.c @@ -3081,6 +3081,16 @@ bin_do_eos (GstBin * bin) && g_atomic_int_compare_and_exchange (&bin->priv->posted_eos, FALSE, TRUE)) { GstMessage *tmessage; + + /* Clear out any further messages, and reset posted_eos so we can + detect any new EOS that happens (eg, after a seek). Since all + sinks have now posted an EOS, there will be no further EOS events + seen unless there is a new logical EOS */ + GST_OBJECT_LOCK (bin); + bin_remove_messages (bin, NULL, GST_MESSAGE_EOS); + bin->priv->posted_eos = FALSE; + GST_OBJECT_UNLOCK (bin); + tmessage = gst_message_new_eos (GST_OBJECT_CAST (bin)); gst_message_set_seqnum (tmessage, seqnum); GST_DEBUG_OBJECT (bin, diff --git a/gst/gstpreset.h b/gst/gstpreset.h index bb512dc1f3..30973f3a83 100644 --- a/gst/gstpreset.h +++ b/gst/gstpreset.h @@ -23,6 +23,7 @@ #define __GST_PRESET_H__ #include +#include G_BEGIN_DECLS diff --git a/gst/gstregistry.c b/gst/gstregistry.c index 18cddaba94..ab5c32ca86 100644 --- a/gst/gstregistry.c +++ b/gst/gstregistry.c @@ -1145,11 +1145,12 @@ gst_registry_scan_plugin_file (GstRegistryScanContext * context, gst_object_unref (newplugin); changed = TRUE; } - +#ifndef GST_DISABLE_REGISTRY if (!__registry_reuse_plugin_scanner) { clear_scan_context (context); context->helper_state = REGISTRY_SCAN_HELPER_NOT_STARTED; } +#endif return changed; }