New upstream version 1.9.90
diff --git a/ChangeLog b/ChangeLog
index 7eaa8df..6ce2c39 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,291 @@
-=== release 1.9.2 ===
+=== release 1.9.90 ===
 
-2016-09-01  Sebastian Dröge <slomo@coaxion.net>
+2016-09-30  Sebastian Dröge <slomo@coaxion.net>
 
 	* configure.ac:
-	  releasing 1.9.2
+	  releasing 1.9.90
+
+2016-09-30 11:41:14 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* po/de.po:
+	  po: Update translations
+
+2016-09-27 18:00:47 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* meson.build:
+	* plugins/tracers/meson.build:
+	  meson: tracers: signal availability of libunwind and backtrace() to code
+	  Not setting cdata here on purpose because of .. complications.
+
+2016-09-26 18:21:19 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
+
+	* config.h.meson:
+	* meson.build:
+	* plugins/meson.build:
+	* plugins/tracers/meson.build:
+	  meson: Build tracers
+
+2016-09-23 20:40:39 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
+
+	* docs/gst/meson.build:
+	* docs/libs/meson.build:
+	* docs/meson.build:
+	  meson: Fix gtkdoc using new meson features
+
+2016-09-26 12:14:14 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/gst/gstbuffer.c:
+	* tests/check/gst/gstmemory.c:
+	* tests/check/gst/gstmeta.c:
+	  tests: remove unused valgrind stuff
+	  Code was also checking the wrong define anyway.
+
+2016-09-26 12:12:12 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/pipelines/parse-launch.c:
+	  tests: parse-launch: looks clean nowadays, so re-enable for valgrind
+	  Also, the valgrind bits weren't hooked up properly anyway,
+	  checking the wrong define.
+
+2016-09-24 18:22:26 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* config.h.meson:
+	* meson.build:
+	  meson: remove incorrect and unneeded check for ptrdiff_t
+	  Need to include stddef.h for it, so this would've worked:
+	  if cc.has_type('ptrdiff_t', prefix: '#include <stddef.h>')
+
+2016-09-24 18:06:31 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/printf/meson.build:
+	  meson: fix internal printf for %ll format modifier on 32-bit systems
+	  gst/gstprintf unit test would fail on 32-bit x86 with:
+	  gstprintf.c:83:printf_I32_I64:0: 'str' (64-bit x value = b5a6978f) is not equal to '"64-bit x value = f1e2d3c4b5a6978f"'
+
+2016-09-23 04:19:47 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/meson.build:
+	  Revert "meson: Force gstenum_h to be built when using gst_dep"
+	  This reverts commit cfc565e2d88a8e7d656b68c5c2a1b7acb08cdb7f.
+	  The commit was redundant since gst_gen_sources already contains
+	  gstenum_h. We're still investigating why some people are still seeing
+	  a racy build failure.
+
+2016-09-23 00:28:53 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/meson.build:
+	  meson: Force gstenum_h to be built when using gst_dep
+	  This forces gstenumtypes.h to be built whenever something uses gst_dep
+	  as a subproject dependency. This is needed since gst/gst.h includes
+	  gstenumtypes.h
+	  Closes https://github.com/mesonbuild/meson/issues/714 which is not
+	  actually a Meson bug.
+
+2016-09-19 10:07:51 -0400  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstbin.c:
+	  bin: Add forgotten "git commit --amend" for last commit
+	  Need to cast away the const as g_queue_foreach() takes a non-const GQueue*
+
+2016-09-19 10:04:55 -0400  Kouhei Sutou <kou@clear-code.com>
+
+	* gst/gstbin.c:
+	  bin: When copying the sort iterator, also copy its internal queue
+	  Otherwise both iterators share the same references, the second one
+	  usually resulting in a crash when being freed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=771649
+
+2016-09-11 15:28:43 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+	* tests/check/elements/queue2.c:
+	  queue2: Fix watermark test
+	  This carries over code for a similar test from multiqueue to ensure full
+	  control over the dataflow while testing. (The previous attempt was racy
+	  since the fill level changed without any thread sync with the test code.)
+	  https://bugzilla.gnome.org/show_bug.cgi?id=771210
+
+2016-09-11 15:26:26 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+	* plugins/elements/gstqueue2.c:
+	  queue2: Update buffering if its enabled and low/high watermarks are changed
+	  https://bugzilla.gnome.org/show_bug.cgi?id=771210
+
+2016-09-15 17:38:49 +0530  Arun Raghavan <arun@arunraghavan.net>
+
+	* gst/gstmessage.c:
+	  message: Fix documentation for gst_message_new_duration()
+	  Seems like there was some documentation left over from when this was
+	  gst_message_new_duration().
+
+2016-09-12 17:41:16 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/base/gstbasesink.c:
+	  basesink: Remove unused fields and always use the buffer timestamp difference for calculating the QoS proportion
+	  The buffer timestamps are only hints and more often than not have
+	  nothing to do with reality.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=771306
+
+2016-09-08 12:58:54 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* configure.ac:
+	* gst/gstconfig.h.in:
+	* meson.build:
+	  gstconfig: Use __declspec when built with MinGW and linking with MSVC
+	  Earlier we were only using __declspec(dllexport/import) when we were
+	  built with MSVC because when built with MinGW and linking with MinGW we
+	  don't need it (and we get linker errors because of it).
+	  However, when we're built with MinGW and someone wants to link to us
+	  with MSVC, we still need the prototypes to have __declspec(dllimport)
+	  since MSVC cannot do auto-import like GCC can.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=771029
+
+2016-09-12 17:07:09 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstbin.c:
+	  bin: Also don't *unset* element flags if they're in the suppressed flags
+	  Otherwise our bin might lose various flags that were explicitly set on
+	  it at arbitrary times.
+
+2016-09-10 11:59:11 -0300  Thiago Santos <thiagossantos@gmail.com>
+
+	* tests/check/gst/gstbin.c:
+	  tests: gstbin: add tests for suppressed flags
+	  Some simple tests to make sure it keeps working
+
+2016-09-02 17:39:17 +0900  Wonchul Lee <wonchul.lee@collabora.com>
+
+	* gst/gstbin.c:
+	* gst/gstbin.h:
+	* win32/common/libgstreamer.def:
+	  bin: Add setter and getter to suppress element flags
+	  Suppress-flags is for preventing propagation of child element's specific
+	  flag when it is added to the bin.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=770627
+
+2016-09-10 20:50:48 +1000  Jan Schmidt <jan@centricular.com>
+
+	* autogen.sh:
+	* common:
+	  Automatic update of common submodule
+	  From b18d820 to f980fd9
+
+2015-11-13 16:00:02 +0000  Graham Leggett <minfrin@sharp.fm>
+
+	* gst/gst.c:
+	  gst: Ensure gst_value is initialised before gst_tag
+	  Otherwise GST_TYPE_FRACTION will work correctly in tags.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=753922
+
+2016-09-09 11:46:11 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstutils.c:
+	  element: Reset the stop position to NONE in seek_simple()
+	  When using seek_simple() in combination with other kinds of seeks, this
+	  becomes problematic. seek_simple() does not reset the stop position to
+	  GST_CLOCK_TIME_NONE but keeps whatever a previous seek did. So for example
+	  when doing a seek_simple() after a rate=-1 seek, we would usually get
+	  assertions that start>stop (and stop being the old stop from the rate=1 seek).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=771104
+
+2016-09-10 09:53:42 +1000  Jan Schmidt <jan@centricular.com>
+
+	* autogen.sh:
+	* common:
+	  Automatic update of common submodule
+	  From f49c55e to b18d820
+
+2016-09-09 09:36:40 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
+
+	* tests/check/meson.build:
+	  meson:tests: Bump timeout to 3 minutes
+	  Basically we already have each test with a 20sec timeout,
+	  and testsuite can last more than the default 30secs from
+	  meson. 3 minutes is another arbitrary timeout but should
+	  be good enough.
+
+2016-09-08 15:19:38 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/base/gstbasesink.c:
+	  basesink: Use the average durations based on timestamps for the QoS proportion when doing trickmodes
+	  The durations of the buffers are (usually) assuming that no frames are being
+	  dropped and are just the durations coming from the stream. However if we do
+	  trickmodes, frames are being dropped regularly especially if only key units
+	  are supposed to be played.
+	  Fixes completely bogus QoS proportion values in the above case.
+
+2016-09-05 18:07:49 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
+
+	* meson.build:
+	  meson: Fix building with meson 0.34
+
+2016-08-26 20:06:59 -0300  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/meson.build:
+	* meson.build:
+	* meson_options.txt:
+	  meson: Allow others to build GIR files when using GStreamer as subproject
+	  And add a way to disable the introspection and bump version to 1.9.2
+
+2016-09-05 11:11:29 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstconfig.h.in:
+	  gstconfig.h.in: Add another version of the SH4 #define and S390x
+	  https://bugzilla.gnome.org/show_bug.cgi?id=770731
+
+2016-09-05 09:50:17 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* gst/gstconfig.h.in:
+	  config: newer gcc doesn't know __ppc__ and __ppc64__ anymore
+	  __ppc__ and __ppc64__ are non-standard defines, we should use
+	  __powerpc__ and __powerpc64__ instead because newer gcc doesn't know
+	  them anymore.
+
+2016-09-04 20:39:31 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tools/gst-inspect.c:
+	  tools: gst-inspect: add * for pointer signal arguments where needed
+	  Print GObject argument properly with pointer marker:
+	  "client-added" :  void user_function (GstElement* object,
+	  GObject* arg0,
+	  gpointer user_data);
+	  instead of
+	  "client-added" :  void user_function (GstElement* object,
+	  GObject arg0,
+	  gpointer user_data);
+	  for gst-inspect-1.0 tcpserversink.
+
+2016-09-02 23:22:17 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/Makefile.am:
+	  tests: don't build misc subdir if both examples and benchmarks have been disabled
+	  https://bugzilla.gnome.org/show_bug.cgi?id=770740
+
+2016-09-01 14:13:40 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* gst/gstconfig.h.in:
+	  config: support System z
+
+2016-09-01 12:25:23 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  Back to development
+
+=== release 1.9.2 ===
+
+2016-09-01 12:24:45 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ChangeLog:
+	* NEWS:
+	* RELEASE:
+	* configure.ac:
+	* docs/plugins/gstreamer-plugins.args:
+	* docs/plugins/inspect/plugin-coreelements.xml:
+	* gstreamer.doap:
+	* win32/common/config.h:
+	* win32/common/gstenumtypes.c:
+	* win32/common/gstversion.h:
+	  Release 1.9.2
 
 2016-09-01 11:22:45 +0300  Sebastian Dröge <sebastian@centricular.com>
 
diff --git a/Makefile.in b/Makefile.in
index fe58261..e888043 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -359,7 +359,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
@@ -1239,8 +1239,11 @@
 
 update-exports:
 	make check-exports 2>&1 | patch -p1
-	git add win32/common/libgst*.def
-	git diff --cached -- win32/common/
+	if test -f "$(top_srcdir)/win32/common/libgstgl.def"; then \
+	  git checkout "$(top_srcdir)/win32/common/libgstgl.def";  \
+	fi
+	git add $(top_srcdir)/win32/common/libgst*.def
+	git diff --cached -- $(top_srcdir)/win32/common/
 	echo '^^^--- updated and staged changes above'
 
 # complain about nonportable printf format strings (%lld, %llu, %zu etc.)
diff --git a/NEWS b/NEWS
index 027c018..072b2df 100644
--- a/NEWS
+++ b/NEWS
@@ -1 +1 @@
-This is GStreamer 1.9.2
+This is GStreamer 1.9.90
diff --git a/RELEASE b/RELEASE
index 3dfe52e..6c009a2 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,13 +1,10 @@
 
-Release notes for GStreamer 1.9.2
+Release notes for GStreamer 1.9.90
 
-The GStreamer team is pleased to announce the second release of the unstable
-1.9 release series, which marks the feature freeze for 1.10. The 1.9 release
-series is adding new features on top of the 1.0, 1.2, 1.4, 1.6 and 1.8 series
-and is part of the API and ABI-stable 1.x release series of the GStreamer
-multimedia framework. The unstable 1.9 release series will lead to the stable
-1.10 release series in the next weeks. Any newly added API can still change
-until that point.
+The GStreamer team is pleased to announce the first release candidate of the
+stable 1.10 release series. The 1.10 release series is adding new features on
+top of the 1.0, 1.2, 1.4, 1.6 and 1.8 series and is part of the API and
+ABI-stable 1.x release series of the GStreamer multimedia framework.
 
 
 Binaries for Android, iOS, Mac OS X and Windows will be provided in the next days.
@@ -36,25 +33,14 @@
 
 Bugs fixed in this release
      
-      * 631673 : add " redirect " message to core
-      * 756806 : message: Add extra information fields to error/warning/info messages
-      * 767857 : leaks tracer: list alive objects on demand and add 'checkpointing' support
-      * 767862 : leaks tracer: display creation stack trace of leaked objects
-      * 768301 : buffer: add explicit setters and getters for GstBufferFlags
-      * 768577 : element: clean up thread pool from gst_task_cleanup_all()
-      * 768578 : leaks: warn if object is destroyed while the tracer is disposing
-      * 768579 : improve some debug/log output
-      * 768776 : message: fix annotation of message parse API returning objects
-      * 768810 : core: add a couple of transfer annotations
-      * 768948 : collectpads: add g-i transfer annotations to peek/pop/read_buffer/take_buffer functions
-      * 768989 : leaks: update type filter later for unknown types
-      * 768995 : New API: StreamGroupDone event
-      * 769449 : queue2: Add higher-resolution low/high-watermark properties
-      * 770158 : element: Add API to more easily post messages about flowing issues
-      * 770161 : streams: notify tag update only when tags actually changed
-      * 770225 : multiqueue: High CPU usage  with multiple audio tracks in playbin3
-      * 770428 : docs: fix typo on stream selection
-      * 770628 : multiqueue: Add higher-resolution low/high-watermark properties
+      * 753922 : GValue types are registered after types that might use them (e.g. tags)
+      * 770731 : gstconfig.h: Need to add support for more platforms / PPC broken
+      * 770740 : No way to disable build of tests/misc
+      * 771104 : element: seek_simple() does not reset stop position
+      * 771210 : tests: new queue2: Add higher-resolution low/high-watermark properties unit test is flaky
+      * 771306 : basesink: Remove unused fields and always use the buffer timestamp difference for calculating the QoS proportion
+      * 771649 : gst_bin_sort_iterator_copy doesn't copy GstBinSortIterator::queue
+      * 771029 : MSVC can't link against autotools-build generated DLLs
 
 ==== Download ====
 
@@ -91,20 +77,16 @@
         
 Contributors to this release
     
-      * Arjen Veenhuizen
-      * Aurélien Zanelli
+      * Arun Raghavan
       * Carlos Rafael Giani
-      * Edward Hervey
-      * Guillaume Desmottes
-      * Hoonhee Lee
+      * Graham Leggett
       * Jan Schmidt
-      * Josep Torra
-      * Miguel París Díaz
+      * Kouhei Sutou
       * Nirbheek Chauhan
       * Sebastian Dröge
-      * Stefan Sauer
+      * Thiago Santos
       * Thibault Saunier
       * Tim-Philipp Müller
-      * Vincent Penquerc'h
+      * Wim Taymans
       * Wonchul Lee
  
\ No newline at end of file
diff --git a/common/Makefile.in b/common/Makefile.in
index fbe0181..a9deeb4 100644
--- a/common/Makefile.in
+++ b/common/Makefile.in
@@ -288,7 +288,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/common/m4/Makefile.in b/common/m4/Makefile.in
index 781c59a..027a87c 100644
--- a/common/m4/Makefile.in
+++ b/common/m4/Makefile.in
@@ -228,7 +228,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/common/win32.mak b/common/win32.mak
index 87cd346..6060532 100644
--- a/common/win32.mak
+++ b/common/win32.mak
@@ -61,8 +61,11 @@
 
 update-exports:
 	make check-exports 2>&1 | patch -p1
-	git add win32/common/libgst*.def
-	git diff --cached -- win32/common/
+	if test -f "$(top_srcdir)/win32/common/libgstgl.def"; then \
+	  git checkout "$(top_srcdir)/win32/common/libgstgl.def";  \
+	fi
+	git add $(top_srcdir)/win32/common/libgst*.def
+	git diff --cached -- $(top_srcdir)/win32/common/
 	echo '^^^--- updated and staged changes above'
 
 # complain about nonportable printf format strings (%lld, %llu, %zu etc.)
diff --git a/configure b/configure
index b8c0441..af186c2 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GStreamer 1.9.2.
+# Generated by GNU Autoconf 2.69 for GStreamer 1.9.90.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
 #
@@ -591,8 +591,8 @@
 # Identity of this package.
 PACKAGE_NAME='GStreamer'
 PACKAGE_TARNAME='gstreamer'
-PACKAGE_VERSION='1.9.2'
-PACKAGE_STRING='GStreamer 1.9.2'
+PACKAGE_VERSION='1.9.90'
+PACKAGE_STRING='GStreamer 1.9.90'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
 PACKAGE_URL=''
 
@@ -862,7 +862,7 @@
 BASH_COMPLETION_DIR
 BASH_COMPLETION_LIBS
 BASH_COMPLETION_CFLAGS
-GSTCONFIG_USE_MSVC_DECLSPEC
+GSTCONFIG_BUILT_WITH_MSVC
 GST_PKG_CONFIG_PATH
 GST_PACKAGE_ORIGIN
 GST_PACKAGE_NAME
@@ -1698,7 +1698,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures GStreamer 1.9.2 to adapt to many kinds of systems.
+\`configure' configures GStreamer 1.9.90 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1770,7 +1770,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GStreamer 1.9.2:";;
+     short | recursive ) echo "Configuration of GStreamer 1.9.90:";;
    esac
   cat <<\_ACEOF
 
@@ -1979,7 +1979,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GStreamer configure 1.9.2
+GStreamer configure 1.9.90
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2838,7 +2838,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by GStreamer $as_me 1.9.2, which was
+It was created by GStreamer $as_me 1.9.90, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3819,7 +3819,7 @@
 
 # Define the identity of the package.
  PACKAGE='gstreamer'
- VERSION='1.9.2'
+ VERSION='1.9.90'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4030,9 +4030,9 @@
 
 
 
-  PACKAGE_VERSION_MAJOR=$(echo 1.9.2 | cut -d'.' -f1)
-  PACKAGE_VERSION_MINOR=$(echo 1.9.2 | cut -d'.' -f2)
-  PACKAGE_VERSION_MICRO=$(echo 1.9.2 | cut -d'.' -f3)
+  PACKAGE_VERSION_MAJOR=$(echo 1.9.90 | cut -d'.' -f1)
+  PACKAGE_VERSION_MINOR=$(echo 1.9.90 | cut -d'.' -f2)
+  PACKAGE_VERSION_MICRO=$(echo 1.9.90 | cut -d'.' -f3)
 
 
 
@@ -4043,7 +4043,7 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
 $as_echo_n "checking nano version... " >&6; }
 
-  NANO=$(echo 1.9.2 | cut -d'.' -f4)
+  NANO=$(echo 1.9.90 | cut -d'.' -f4)
 
   if test x"$NANO" = x || test "x$NANO" = "x0" ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -8886,10 +8886,10 @@
 done
 
 
-  GST_CURRENT=902
+  GST_CURRENT=990
   GST_REVISION=0
-  GST_AGE=902
-  GST_LIBVERSION=902:0:902
+  GST_AGE=990
+  GST_LIBVERSION=990:0:990
 
 
 
@@ -16375,7 +16375,7 @@
 
 # We only use this when building with MSVC, which is only done with the
 # alternate Meson build system files
-GSTCONFIG_USE_MSVC_DECLSPEC=0
+GSTCONFIG_BUILT_WITH_MSVC=0
 
 
 
@@ -29662,7 +29662,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by GStreamer $as_me 1.9.2, which was
+This file was extended by GStreamer $as_me 1.9.90, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -29728,7 +29728,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-GStreamer config.status 1.9.2
+GStreamer config.status 1.9.90
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index bd0901c..bf14e2b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,7 +4,7 @@
 dnl when going to/from release please set the nano (fourth number) right !
 dnl releases only do Wall, git and prerelease does Werror too
 dnl
-AC_INIT([GStreamer],[1.9.2],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer])
+AC_INIT([GStreamer],[1.9.90],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer])
 AG_GST_INIT
 
 dnl initialize automake (we require GNU make)
@@ -62,7 +62,7 @@
 dnl      1.10.9 (who knows) => 1009
 dnl
 dnl sets GST_LT_LDFLAGS
-AS_LIBTOOL(GST, 902, 0, 902)
+AS_LIBTOOL(GST, 990, 0, 990)
 
 dnl *** autotools stuff ****
 
@@ -133,8 +133,8 @@
 
 # We only use this when building with MSVC, which is only done with the
 # alternate Meson build system files
-GSTCONFIG_USE_MSVC_DECLSPEC=0
-AC_SUBST(GSTCONFIG_USE_MSVC_DECLSPEC)
+GSTCONFIG_BUILT_WITH_MSVC=0
+AC_SUBST(GSTCONFIG_BUILT_WITH_MSVC)
 
 dnl check for bash completion
 AC_ARG_WITH([bash-completion-dir],
diff --git a/data/Makefile.in b/data/Makefile.in
index bd05529..51b6a20 100644
--- a/data/Makefile.in
+++ b/data/Makefile.in
@@ -261,7 +261,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/docs/Makefile.in b/docs/Makefile.in
index 93496a0..eb6773b 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -293,7 +293,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/docs/design/Makefile.in b/docs/design/Makefile.in
index 31070d3..f6f8bfa 100644
--- a/docs/design/Makefile.in
+++ b/docs/design/Makefile.in
@@ -228,7 +228,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/docs/faq/Makefile.in b/docs/faq/Makefile.in
index c73aaba..6943be6 100644
--- a/docs/faq/Makefile.in
+++ b/docs/faq/Makefile.in
@@ -282,7 +282,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/docs/gst/Makefile.in b/docs/gst/Makefile.in
index 4cdcddf..4a04893 100644
--- a/docs/gst/Makefile.in
+++ b/docs/gst/Makefile.in
@@ -251,7 +251,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/docs/gst/html/GstMessage.html b/docs/gst/html/GstMessage.html
index ede8a56..0b0e6f0 100644
--- a/docs/gst/html/GstMessage.html
+++ b/docs/gst/html/GstMessage.html
@@ -3173,10 +3173,7 @@
 <p>Create a new duration changed message. This message is posted by elements
 that know the duration of a stream when the duration changes. This message
 is received by bins and is used to calculate the total duration of a
-pipeline. Elements may post a duration message with a duration of
-GST_CLOCK_TIME_NONE to indicate that the duration has changed and the 
-cached duration should be discarded. The new duration can then be 
-retrieved via a query.</p>
+pipeline.</p>
 <div class="refsect3">
 <a name="gst-message-new-duration-changed.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
diff --git a/docs/gst/html/gstreamer-GstVersion.html b/docs/gst/html/gstreamer-GstVersion.html
index 509c356..1de00c2 100644
--- a/docs/gst/html/gstreamer-GstVersion.html
+++ b/docs/gst/html/gstreamer-GstVersion.html
@@ -143,7 +143,7 @@
 <hr>
 <div class="refsect2">
 <a name="GST-VERSION-MICRO:CAPS"></a><h3>GST_VERSION_MICRO</h3>
-<pre class="programlisting">#define GST_VERSION_MICRO (2)
+<pre class="programlisting">#define GST_VERSION_MICRO (90)
 </pre>
 <p>The micro version of GStreamer at compile time:</p>
 </div>
diff --git a/docs/gst/html/gstreamer-hierarchy.html b/docs/gst/html/gstreamer-hierarchy.html
index fd2c829..b4701a4 100644
--- a/docs/gst/html/gstreamer-hierarchy.html
+++ b/docs/gst/html/gstreamer-hierarchy.html
@@ -70,10 +70,10 @@
     <span class="lineart">├──</span> <a class="link" href="GstContext.html" title="GstContext">GstContext</a>
     <span class="lineart">├──</span> <a class="link" href="GstDateTime.html" title="GstDateTime">GstDateTime</a>
     <span class="lineart">├──</span> <a class="link" href="GstTagList.html" title="GstTagList">GstTagList</a>
-    <span class="lineart">├──</span> <a class="link" href="GstToc.html" title="GstToc">GstToc</a>
-    <span class="lineart">├──</span> <a class="link" href="GstToc.html#GstTocEntry">GstTocEntry</a>
     <span class="lineart">├──</span> <a class="link" href="GstSegment.html" title="GstSegment">GstSegment</a>
     <span class="lineart">├──</span> <a class="link" href="GstAllocator.html#GstAllocationParams">GstAllocationParams</a>
+    <span class="lineart">├──</span> <a class="link" href="GstToc.html" title="GstToc">GstToc</a>
+    <span class="lineart">├──</span> <a class="link" href="GstToc.html#GstTocEntry">GstTocEntry</a>
     <span class="lineart">╰──</span> <a class="link" href="gstreamer-GstParse.html#GstParseContext">GstParseContext</a>
 </pre>
 </div>
diff --git a/docs/gst/html/index.html b/docs/gst/html/index.html
index c20492c..51d801c 100644
--- a/docs/gst/html/index.html
+++ b/docs/gst/html/index.html
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer 1.0 Core Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GStreamer Core 1.0 (1.9.2)
+      for GStreamer Core 1.0 (1.9.90)
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/</a>.
     </p></div>
diff --git a/docs/libs/Makefile.in b/docs/libs/Makefile.in
index 9ac5bff..4903aca 100644
--- a/docs/libs/Makefile.in
+++ b/docs/libs/Makefile.in
@@ -251,7 +251,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
index cb2b17d..76a2ae1 100644
--- a/docs/libs/html/index.html
+++ b/docs/libs/html/index.html
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer 1.0 Library Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GStreamer Library 1.0 (1.9.2)
+      for GStreamer Library 1.0 (1.9.90)
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/</a>.
     </p></div>
diff --git a/docs/manual/Makefile.in b/docs/manual/Makefile.in
index 322be2b..512ba14 100644
--- a/docs/manual/Makefile.in
+++ b/docs/manual/Makefile.in
@@ -282,7 +282,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/docs/plugins/Makefile.in b/docs/plugins/Makefile.in
index 2bf6b63..7d44609 100644
--- a/docs/plugins/Makefile.in
+++ b/docs/plugins/Makefile.in
@@ -247,7 +247,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html b/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
index e28b9ee..ceadef2 100644
--- a/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
+++ b/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
@@ -41,7 +41,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index ad2e0d2..1dec7f3 100644
--- a/docs/plugins/html/index.html
+++ b/docs/plugins/html/index.html
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer Core Plugins 1.0 Plugins Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GStreamer Core Plugins 1.0 (1.9.2)
+      for GStreamer Core Plugins 1.0 (1.9.90)
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/</a>.
     </p></div>
diff --git a/docs/plugins/inspect/plugin-coreelements.xml b/docs/plugins/inspect/plugin-coreelements.xml
index 37cf313..8b17807 100644
--- a/docs/plugins/inspect/plugin-coreelements.xml
+++ b/docs/plugins/inspect/plugin-coreelements.xml
@@ -3,7 +3,7 @@
   <description>GStreamer core elements</description>
   <filename>../../plugins/elements/.libs/libgstcoreelements.so</filename>
   <basename>libgstcoreelements.so</basename>
-  <version>1.9.2</version>
+  <version>1.9.90</version>
   <license>LGPL</license>
   <source>gstreamer</source>
   <package>GStreamer source release</package>
diff --git a/docs/plugins/inspect/plugin-coretracers.xml b/docs/plugins/inspect/plugin-coretracers.xml
index b9c9d0d..c8b3d0f 100644
--- a/docs/plugins/inspect/plugin-coretracers.xml
+++ b/docs/plugins/inspect/plugin-coretracers.xml
@@ -3,7 +3,7 @@
   <description>GStreamer core tracers</description>
   <filename>../../plugins/tracers/.libs/libgstcoretracers.so</filename>
   <basename>libgstcoretracers.so</basename>
-  <version>1.9.2</version>
+  <version>1.9.90</version>
   <license>LGPL</license>
   <source>gstreamer</source>
   <package>GStreamer source release</package>
diff --git a/docs/pwg/Makefile.in b/docs/pwg/Makefile.in
index 52db793..be1bb68 100644
--- a/docs/pwg/Makefile.in
+++ b/docs/pwg/Makefile.in
@@ -282,7 +282,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/docs/slides/Makefile.in b/docs/slides/Makefile.in
index e3e38b5..d60ff9e 100644
--- a/docs/slides/Makefile.in
+++ b/docs/slides/Makefile.in
@@ -228,7 +228,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/docs/xsl/Makefile.in b/docs/xsl/Makefile.in
index 1c157eb..166c6b6 100644
--- a/docs/xsl/Makefile.in
+++ b/docs/xsl/Makefile.in
@@ -228,7 +228,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/gst/Makefile.in b/gst/Makefile.in
index 2cbedd7..144d927 100644
--- a/gst/Makefile.in
+++ b/gst/Makefile.in
@@ -469,7 +469,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/gst/gst.c b/gst/gst.c
index b6135c8..6c2953d 100644
--- a/gst/gst.c
+++ b/gst/gst.c
@@ -687,9 +687,9 @@
   _priv_gst_sample_initialize ();
   _priv_gst_context_initialize ();
   _priv_gst_date_time_initialize ();
+  _priv_gst_value_initialize ();
   _priv_gst_tag_initialize ();
   _priv_gst_toc_initialize ();
-  _priv_gst_value_initialize ();
 
   g_type_class_ref (gst_param_spec_fraction_get_type ());
   gst_parse_context_get_type ();
diff --git a/gst/gstbin.c b/gst/gstbin.c
index e7218f8..820488b 100644
--- a/gst/gstbin.c
+++ b/gst/gstbin.c
@@ -197,6 +197,7 @@
 
   gboolean posted_eos;
   gboolean posted_playing;
+  GstElementFlags suppressed_flags;
 };
 
 typedef struct
@@ -1206,23 +1207,25 @@
     goto had_parent;
 
   /* if we add a sink we become a sink */
-  if (is_sink) {
+  if (is_sink && !(bin->priv->suppressed_flags & GST_ELEMENT_FLAG_SINK)) {
     GST_CAT_DEBUG_OBJECT (GST_CAT_PARENTAGE, bin, "element \"%s\" was sink",
         elem_name);
     GST_OBJECT_FLAG_SET (bin, GST_ELEMENT_FLAG_SINK);
   }
-  if (is_source) {
+  if (is_source && !(bin->priv->suppressed_flags & GST_ELEMENT_FLAG_SOURCE)) {
     GST_CAT_DEBUG_OBJECT (GST_CAT_PARENTAGE, bin, "element \"%s\" was source",
         elem_name);
     GST_OBJECT_FLAG_SET (bin, GST_ELEMENT_FLAG_SOURCE);
   }
-  if (provides_clock) {
+  if (provides_clock
+      && !(bin->priv->suppressed_flags & GST_ELEMENT_FLAG_PROVIDE_CLOCK)) {
     GST_DEBUG_OBJECT (bin, "element \"%s\" can provide a clock", elem_name);
     clock_message =
         gst_message_new_clock_provide (GST_OBJECT_CAST (element), NULL, TRUE);
     GST_OBJECT_FLAG_SET (bin, GST_ELEMENT_FLAG_PROVIDE_CLOCK);
   }
-  if (requires_clock) {
+  if (requires_clock
+      && !(bin->priv->suppressed_flags & GST_ELEMENT_FLAG_REQUIRE_CLOCK)) {
     GST_DEBUG_OBJECT (bin, "element \"%s\" requires a clock", elem_name);
     GST_OBJECT_FLAG_SET (bin, GST_ELEMENT_FLAG_REQUIRE_CLOCK);
   }
@@ -1407,6 +1410,59 @@
   }
 }
 
+/**
+ * gst_bin_set_suppressed_flags:
+ * @bin: a #GstBin
+ * @flags: the #GstElementFlags to suppress
+ *
+ * Suppress the given flags on the bin. #GstElementFlags of a
+ * child element are propagated when it is added to the bin.
+ * When suppressed flags are set, those specified flags will
+ * not be propagated to the bin.
+ *
+ * MT safe.
+ *
+ * Since: 1.10
+ */
+void
+gst_bin_set_suppressed_flags (GstBin * bin, GstElementFlags flags)
+{
+  g_return_if_fail (GST_IS_BIN (bin));
+
+  GST_OBJECT_LOCK (bin);
+  bin->priv->suppressed_flags = bin->priv->suppressed_flags | flags;
+  GST_OBJECT_UNLOCK (bin);
+
+  GST_DEBUG_OBJECT (bin, "Set suppressed flags(0x%x) to bin '%s'", flags,
+      GST_ELEMENT_NAME (bin));
+}
+
+/**
+ * gst_bin_get_suppressed_flags:
+ * @bin: a #GstBin
+ *
+ * Return the suppressed flags of the bin.
+ *
+ * MT safe.
+ *
+ * Returns: the bin's suppressed #GstElementFlags.
+ *
+ * Since: 1.10
+ */
+GstElementFlags
+gst_bin_get_suppressed_flags (GstBin * bin)
+{
+  GstElementFlags res;
+
+  g_return_val_if_fail (GST_IS_BIN (bin), 0);
+
+  GST_OBJECT_LOCK (bin);
+  res = bin->priv->suppressed_flags;
+  GST_OBJECT_UNLOCK (bin);
+
+  return res;
+}
+
 /* signal vfunc, will be called when a new element was added */
 static void
 gst_bin_deep_element_added_func (GstBin * bin, GstBin * sub_bin,
@@ -1609,22 +1665,26 @@
   if (!GST_BIN_IS_NO_RESYNC (bin))
     bin->priv->structure_cookie++;
 
-  if (is_sink && !othersink) {
+  if (is_sink && !othersink
+      && !(bin->priv->suppressed_flags & GST_ELEMENT_FLAG_SINK)) {
     /* we're not a sink anymore */
     GST_DEBUG_OBJECT (bin, "we removed the last sink");
     GST_OBJECT_FLAG_UNSET (bin, GST_ELEMENT_FLAG_SINK);
   }
-  if (is_source && !othersource) {
+  if (is_source && !othersource
+      && !(bin->priv->suppressed_flags & GST_ELEMENT_FLAG_SOURCE)) {
     /* we're not a source anymore */
     GST_DEBUG_OBJECT (bin, "we removed the last source");
     GST_OBJECT_FLAG_UNSET (bin, GST_ELEMENT_FLAG_SOURCE);
   }
-  if (provides_clock && !otherprovider) {
+  if (provides_clock && !otherprovider
+      && !(bin->priv->suppressed_flags & GST_ELEMENT_FLAG_PROVIDE_CLOCK)) {
     /* we're not a clock provider anymore */
     GST_DEBUG_OBJECT (bin, "we removed the last clock provider");
     GST_OBJECT_FLAG_UNSET (bin, GST_ELEMENT_FLAG_PROVIDE_CLOCK);
   }
-  if (requires_clock && !otherrequirer) {
+  if (requires_clock && !otherrequirer
+      && !(bin->priv->suppressed_flags & GST_ELEMENT_FLAG_REQUIRE_CLOCK)) {
     /* we're not a clock requirer anymore */
     GST_DEBUG_OBJECT (bin, "we removed the last clock requirer");
     GST_OBJECT_FLAG_UNSET (bin, GST_ELEMENT_FLAG_REQUIRE_CLOCK);
@@ -2075,14 +2135,24 @@
 } GstBinSortIterator;
 
 static void
+copy_to_queue (gpointer data, gpointer user_data)
+{
+  GstElement *element = data;
+  GQueue *queue = user_data;
+
+  gst_object_ref (element);
+  g_queue_push_tail (queue, element);
+}
+
+static void
 gst_bin_sort_iterator_copy (const GstBinSortIterator * it,
     GstBinSortIterator * copy)
 {
   GHashTableIter iter;
   gpointer key, value;
 
-  copy->queue = it->queue;
-  g_queue_foreach (&copy->queue, (GFunc) gst_object_ref, NULL);
+  g_queue_init (&copy->queue);
+  g_queue_foreach ((GQueue *) & it->queue, copy_to_queue, &copy->queue);
 
   copy->bin = gst_object_ref (it->bin);
   if (it->best)
diff --git a/gst/gstbin.h b/gst/gstbin.h
index 809bb79..04afa2d 100644
--- a/gst/gstbin.h
+++ b/gst/gstbin.h
@@ -208,6 +208,9 @@
 /* latency */
 gboolean        gst_bin_recalculate_latency      (GstBin * bin);
 
+/* set and get suppressed flags */
+void            gst_bin_set_suppressed_flags (GstBin * bin, GstElementFlags flags);
+GstElementFlags gst_bin_get_suppressed_flags (GstBin * bin);
 
 #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstBin, gst_object_unref)
diff --git a/gst/gstconfig.h.in b/gst/gstconfig.h.in
index 1a96e98..c2e8361 100644
--- a/gst/gstconfig.h.in
+++ b/gst/gstconfig.h.in
@@ -104,9 +104,9 @@
  * http://docs.oracle.com/cd/E19205-01/820-4155/c++_faq.html#Vers6
  * https://software.intel.com/en-us/node/583402
  */
-#if defined(__alpha__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__mips__) || defined(__sh__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_IA64)
+#if defined(__alpha__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__mips__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_IA64)
 #  define GST_HAVE_UNALIGNED_ACCESS 0
-#elif defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__ppc__) || defined(__ppc64__) || defined(__m68k__) || defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64)
+#elif defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__ppc__) || defined(__ppc64__) || defined(__powerpc__) || defined(__powerpc64__) || defined(__m68k__) || defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || defined(__s390__) || defined(__s390x__) || defined(__zarch__)
 #  define GST_HAVE_UNALIGNED_ACCESS 1
 #else
 #  error "Could not detect architecture; don't know whether it supports unaligned access! Please file a bug."
@@ -128,14 +128,17 @@
  * On Windows, this exports the plugin definition from the DLL.
  * On other platforms, this gets defined as a no-op.
  */
-/* Only use __declspec(dllexport/import) when we have been built with MSVC.
- * With MinGW we still rely on the linker to auto-export/import symbols.
+/* Only use __declspec(dllexport/import) when we have been built with MSVC or
+ * the user is linking to us with MSVC. The only remaining case is when we were
+ * built with MinGW and are linking with MinGW in which case we rely on the
+ * linker to auto-export/import symbols. Of course all this is only used when
+ * not linking statically.
  *
  * NOTE: To link to GStreamer statically on Windows, you must define
  * GST_STATIC_COMPILATION or the prototypes will cause the compiler to search
  * for the symbol inside a DLL.
  */
-#if @GSTCONFIG_USE_MSVC_DECLSPEC@ && !defined(GST_STATIC_COMPILATION)
+#if (@GSTCONFIG_BUILT_WITH_MSVC@ || defined(_MSC_VER)) && !defined(GST_STATIC_COMPILATION)
 # define GST_PLUGIN_EXPORT __declspec(dllexport)
 # ifdef GST_EXPORTS
 #  define GST_EXPORT __declspec(dllexport)
diff --git a/gst/gstmessage.c b/gst/gstmessage.c
index 6c91f5e..815485f 100644
--- a/gst/gstmessage.c
+++ b/gst/gstmessage.c
@@ -1007,10 +1007,7 @@
  * Create a new duration changed message. This message is posted by elements
  * that know the duration of a stream when the duration changes. This message
  * is received by bins and is used to calculate the total duration of a
- * pipeline. Elements may post a duration message with a duration of
- * GST_CLOCK_TIME_NONE to indicate that the duration has changed and the 
- * cached duration should be discarded. The new duration can then be 
- * retrieved via a query.
+ * pipeline.
  *
  * Returns: (transfer full): The new duration-changed message.
  *
diff --git a/gst/gstutils.c b/gst/gstutils.c
index b318684..e1265a0 100644
--- a/gst/gstutils.c
+++ b/gst/gstutils.c
@@ -2415,7 +2415,7 @@
   g_return_val_if_fail (seek_pos >= 0, FALSE);
 
   return gst_element_seek (element, 1.0, format, seek_flags,
-      GST_SEEK_TYPE_SET, seek_pos, GST_SEEK_TYPE_NONE, 0);
+      GST_SEEK_TYPE_SET, seek_pos, GST_SEEK_TYPE_SET, GST_CLOCK_TIME_NONE);
 }
 
 /**
diff --git a/gst/parse/Makefile.in b/gst/parse/Makefile.in
index e311faa..d13c7ad 100644
--- a/gst/parse/Makefile.in
+++ b/gst/parse/Makefile.in
@@ -287,7 +287,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/gst/printf/Makefile.in b/gst/printf/Makefile.in
index e43a9ff..6ea65ca 100644
--- a/gst/printf/Makefile.in
+++ b/gst/printf/Makefile.in
@@ -284,7 +284,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/gstreamer.doap b/gstreamer.doap
index 6f29db1..d5881cc 100644
--- a/gstreamer.doap
+++ b/gstreamer.doap
@@ -40,6 +40,16 @@
 
  <release>
   <Version>
+   <revision>1.9.90</revision>
+   <branch>master</branch>
+   <name></name>
+   <created>2016-09-30</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.9.90.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.9.2</revision>
    <branch>master</branch>
    <name></name>
diff --git a/gstreamer.spec b/gstreamer.spec
index 053018c..d37e44e 100644
--- a/gstreamer.spec
+++ b/gstreamer.spec
@@ -4,7 +4,7 @@
 %define 	_glib2		2.40.0
 
 Name: 		%{gstreamer}
-Version: 	1.9.2
+Version: 	1.9.90
 Release: 	1
 Summary: 	GStreamer streaming media framework runtime
 
diff --git a/libs/Makefile.in b/libs/Makefile.in
index 33ba442..da903ad 100644
--- a/libs/Makefile.in
+++ b/libs/Makefile.in
@@ -288,7 +288,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/libs/gst/Makefile.in b/libs/gst/Makefile.in
index e14d7a5..b46618a 100644
--- a/libs/gst/Makefile.in
+++ b/libs/gst/Makefile.in
@@ -287,7 +287,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/libs/gst/base/Makefile.in b/libs/gst/base/Makefile.in
index 1c13117..7d1d67a 100644
--- a/libs/gst/base/Makefile.in
+++ b/libs/gst/base/Makefile.in
@@ -334,7 +334,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c
index 1d82787..ac2390f 100644
--- a/libs/gst/base/gstbasesink.c
+++ b/libs/gst/base/gstbasesink.c
@@ -201,19 +201,8 @@
   GstClockTime last_left;
 
   /* running averages go here these are done on running time */
-  GstClockTime avg_pt;
-  GstClockTime avg_duration;
-  gdouble avg_rate;
-  GstClockTime avg_in_diff;
-
-  /* these are done on system time. avg_jitter and avg_render are
-   * compared to eachother to see if the rendering time takes a
-   * huge amount of the processing, If so we are flooded with
-   * buffers. */
-  GstClockTime last_left_systime;
-  GstClockTime avg_jitter;
-  GstClockTime start, stop;
-  GstClockTime avg_render;
+  GstClockTime avg_pt, avg_in_diff;
+  gdouble avg_rate;             /* average with infinite window */
 
   /* number of rendered and dropped frames */
   guint64 rendered;
@@ -2668,11 +2657,11 @@
     left = start + jitter;
   }
 
-  /* calculate duration of the buffer */
-  if (GST_CLOCK_TIME_IS_VALID (stop) && stop != start)
-    duration = stop - start;
-  else
-    duration = priv->avg_in_diff;
+  /* calculate duration of the buffer, only use buffer durations if not in
+   * trick mode or key-unit mode. Otherwise the buffer durations will be
+   * meaningless as frames are being dropped in-between without updating the
+   * durations. */
+  duration = priv->avg_in_diff;
 
   /* if we have the time when the last buffer left us, calculate
    * processing time */
@@ -2693,29 +2682,24 @@
       GST_TIME_ARGS (entered), GST_TIME_ARGS (left), GST_TIME_ARGS (pt),
       GST_TIME_ARGS (duration), jitter);
 
-  GST_CAT_DEBUG_OBJECT (GST_CAT_QOS, sink, "avg_duration: %" GST_TIME_FORMAT
-      ", avg_pt: %" GST_TIME_FORMAT ", avg_rate: %g",
-      GST_TIME_ARGS (priv->avg_duration), GST_TIME_ARGS (priv->avg_pt),
-      priv->avg_rate);
+  GST_CAT_DEBUG_OBJECT (GST_CAT_QOS, sink,
+      "avg_pt: %" GST_TIME_FORMAT ", avg_rate: %g",
+      GST_TIME_ARGS (priv->avg_pt), priv->avg_rate);
 
   /* collect running averages. for first observations, we copy the
    * values */
-  if (!GST_CLOCK_TIME_IS_VALID (priv->avg_duration))
-    priv->avg_duration = duration;
-  else
-    priv->avg_duration = UPDATE_RUNNING_AVG (priv->avg_duration, duration);
-
   if (!GST_CLOCK_TIME_IS_VALID (priv->avg_pt))
     priv->avg_pt = pt;
   else
     priv->avg_pt = UPDATE_RUNNING_AVG (priv->avg_pt, pt);
 
-  if (priv->avg_duration != 0)
+  if (duration != -1 && duration != 0) {
     rate =
         gst_guint64_to_gdouble (priv->avg_pt) /
-        gst_guint64_to_gdouble (priv->avg_duration);
-  else
+        gst_guint64_to_gdouble (duration);
+  } else {
     rate = 1.0;
+  }
 
   if (GST_CLOCK_TIME_IS_VALID (priv->last_left)) {
     if (dropped || priv->avg_rate < 0.0) {
@@ -2729,9 +2713,8 @@
   }
 
   GST_CAT_DEBUG_OBJECT (GST_CAT_QOS, sink,
-      "updated: avg_duration: %" GST_TIME_FORMAT ", avg_pt: %" GST_TIME_FORMAT
-      ", avg_rate: %g", GST_TIME_ARGS (priv->avg_duration),
-      GST_TIME_ARGS (priv->avg_pt), priv->avg_rate);
+      "updated: avg_pt: %" GST_TIME_FORMAT
+      ", avg_rate: %g", GST_TIME_ARGS (priv->avg_pt), priv->avg_rate);
 
 
   if (priv->avg_rate >= 0.0) {
@@ -2777,10 +2760,8 @@
   priv->prev_rstart = GST_CLOCK_TIME_NONE;
   priv->earliest_in_time = GST_CLOCK_TIME_NONE;
   priv->last_left = GST_CLOCK_TIME_NONE;
-  priv->avg_duration = GST_CLOCK_TIME_NONE;
   priv->avg_pt = GST_CLOCK_TIME_NONE;
   priv->avg_rate = -1.0;
-  priv->avg_render = GST_CLOCK_TIME_NONE;
   priv->avg_in_diff = GST_CLOCK_TIME_NONE;
   priv->rendered = 0;
   priv->dropped = 0;
@@ -2889,35 +2870,6 @@
   }
 }
 
-/* called before and after calling the render vmethod. It keeps track of how
- * much time was spent in the render method and is used to check if we are
- * flooded */
-static void
-gst_base_sink_do_render_stats (GstBaseSink * basesink, gboolean start)
-{
-  GstBaseSinkPrivate *priv;
-
-  priv = basesink->priv;
-
-  if (start) {
-    priv->start = gst_util_get_timestamp ();
-  } else {
-    GstClockTime elapsed;
-
-    priv->stop = gst_util_get_timestamp ();
-
-    elapsed = GST_CLOCK_DIFF (priv->start, priv->stop);
-
-    if (!GST_CLOCK_TIME_IS_VALID (priv->avg_render))
-      priv->avg_render = elapsed;
-    else
-      priv->avg_render = UPDATE_RUNNING_AVG (priv->avg_render, elapsed);
-
-    GST_CAT_DEBUG_OBJECT (GST_CAT_QOS, basesink,
-        "avg_render: %" GST_TIME_FORMAT, GST_TIME_ARGS (priv->avg_render));
-  }
-}
-
 static void
 gst_base_sink_update_start_time (GstBaseSink * basesink)
 {
@@ -3348,7 +3300,6 @@
   GstClockTime start = GST_CLOCK_TIME_NONE, end = GST_CLOCK_TIME_NONE;
   GstSegment *segment;
   GstBuffer *sync_buf;
-  gint do_qos;
   gboolean late, step_end, prepared = FALSE;
 
   if (G_UNLIKELY (basesink->flushing))
@@ -3514,15 +3465,8 @@
         8 * GST_SECOND, priv->max_bitrate);
   }
 
-  /* read once, to get same value before and after */
-  do_qos = g_atomic_int_get (&priv->qos_enabled);
-
   GST_DEBUG_OBJECT (basesink, "rendering object %p", obj);
 
-  /* record rendering time for QoS and stats */
-  if (do_qos)
-    gst_base_sink_do_render_stats (basesink, TRUE);
-
   if (!is_list) {
     /* For buffer lists do not set last buffer for now. */
     gst_base_sink_set_last_buffer (basesink, GST_BUFFER_CAST (obj));
@@ -3541,9 +3485,6 @@
     gst_base_sink_set_last_buffer_list (basesink, buffer_list);
   }
 
-  if (do_qos)
-    gst_base_sink_do_render_stats (basesink, FALSE);
-
   if (ret == GST_FLOW_STEP)
     goto again;
 
diff --git a/libs/gst/check/Makefile.in b/libs/gst/check/Makefile.in
index 66ca825..333bd9a 100644
--- a/libs/gst/check/Makefile.in
+++ b/libs/gst/check/Makefile.in
@@ -369,7 +369,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/libs/gst/check/libcheck/Makefile.in b/libs/gst/check/libcheck/Makefile.in
index 86e1d38..b61bc04 100644
--- a/libs/gst/check/libcheck/Makefile.in
+++ b/libs/gst/check/libcheck/Makefile.in
@@ -325,7 +325,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/libs/gst/controller/Makefile.in b/libs/gst/controller/Makefile.in
index 952607c..89fe786 100644
--- a/libs/gst/controller/Makefile.in
+++ b/libs/gst/controller/Makefile.in
@@ -309,7 +309,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/libs/gst/helpers/Makefile.in b/libs/gst/helpers/Makefile.in
index 045859a..0ae83ed 100644
--- a/libs/gst/helpers/Makefile.in
+++ b/libs/gst/helpers/Makefile.in
@@ -346,7 +346,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/libs/gst/net/Makefile.in b/libs/gst/net/Makefile.in
index c742aa7..34fa492 100644
--- a/libs/gst/net/Makefile.in
+++ b/libs/gst/net/Makefile.in
@@ -330,7 +330,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/m4/Makefile.in b/m4/Makefile.in
index 71847f6..5fadcf8 100644
--- a/m4/Makefile.in
+++ b/m4/Makefile.in
@@ -228,7 +228,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/pkgconfig/Makefile.in b/pkgconfig/Makefile.in
index b430ffd..f25247f 100644
--- a/pkgconfig/Makefile.in
+++ b/pkgconfig/Makefile.in
@@ -272,7 +272,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/plugins/Makefile.in b/plugins/Makefile.in
index 26fe0fc..98ae3d8 100644
--- a/plugins/Makefile.in
+++ b/plugins/Makefile.in
@@ -287,7 +287,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/plugins/elements/Makefile.in b/plugins/elements/Makefile.in
index 2c47145..85862c8 100644
--- a/plugins/elements/Makefile.in
+++ b/plugins/elements/Makefile.in
@@ -335,7 +335,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/plugins/elements/gstqueue2.c b/plugins/elements/gstqueue2.c
index b2f7147..8d78856 100644
--- a/plugins/elements/gstqueue2.c
+++ b/plugins/elements/gstqueue2.c
@@ -3746,16 +3746,24 @@
       break;
     case PROP_LOW_PERCENT:
       queue->low_watermark = g_value_get_int (value) * BUF_LEVEL_PERCENT_FACTOR;
+      if (queue->is_buffering)
+        update_buffering (queue);
       break;
     case PROP_HIGH_PERCENT:
       queue->high_watermark =
           g_value_get_int (value) * BUF_LEVEL_PERCENT_FACTOR;
+      if (queue->is_buffering)
+        update_buffering (queue);
       break;
     case PROP_LOW_WATERMARK:
       queue->low_watermark = g_value_get_double (value) * MAX_BUFFERING_LEVEL;
+      if (queue->is_buffering)
+        update_buffering (queue);
       break;
     case PROP_HIGH_WATERMARK:
       queue->high_watermark = g_value_get_double (value) * MAX_BUFFERING_LEVEL;
+      if (queue->is_buffering)
+        update_buffering (queue);
       break;
     case PROP_TEMP_TEMPLATE:
       gst_queue2_set_temp_template (queue, g_value_get_string (value));
diff --git a/plugins/tracers/Makefile.in b/plugins/tracers/Makefile.in
index f01bee1..90fcab9 100644
--- a/plugins/tracers/Makefile.in
+++ b/plugins/tracers/Makefile.in
@@ -322,7 +322,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/po/af.gmo b/po/af.gmo
index 9b0cc84..5dd4c26 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index 9311853..491b313 100644
--- a/po/af.po
+++ b/po/af.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.9.7\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2005-12-05 11:45+0200\n"
 "Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n"
 "Language-Team: Afrikaans <i18n@af.org.za>\n"
diff --git a/po/az.gmo b/po/az.gmo
index c4ed31f..69033ad 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index 66d8d4e..e4df89d 100644
--- a/po/az.po
+++ b/po/az.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer-0.8.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2004-03-19 18:40+0200\n"
 "Last-Translator: Metin Amiroff <metin@karegen.com>\n"
 "Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
diff --git a/po/be.gmo b/po/be.gmo
index 352d9b4..0b2ad0e 100644
--- a/po/be.gmo
+++ b/po/be.gmo
Binary files differ
diff --git a/po/be.po b/po/be.po
index 3fabca7..d158391 100644
--- a/po/be.po
+++ b/po/be.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.9.7\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2006-01-18 22:26+0200\n"
 "Last-Translator: Ales Nyakhaychyk <nab@mail.by>\n"
 "Language-Team: Belarusian <i18n@mova.org>\n"
diff --git a/po/bg.gmo b/po/bg.gmo
index 62886d8..3d6c9db 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index 6b5c543..f0dc544 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2016-02-21 21:02+0200\n"
 "Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
 "Language-Team: Bulgarian <dict@ludost.net>\n"
diff --git a/po/ca.gmo b/po/ca.gmo
index c47ccf2..e84458f 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index b1638ad..c1bfd6a 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.30.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2010-11-04 19:41+0100\n"
 "Last-Translator: Jordi Mallach <jordi@sindominio.net>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
diff --git a/po/cs.gmo b/po/cs.gmo
index bd5c9d3..8bbd2d2 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index b4f5b18..ad4d531 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2016-03-03 15:31+0100\n"
 "Last-Translator: Marek Černocký <marek@manet.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
diff --git a/po/da.gmo b/po/da.gmo
index 7e56042..bf02d2f 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 368dd5c..58170d1 100644
--- a/po/da.po
+++ b/po/da.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2016-06-25 13:26+0200\n"
 "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
diff --git a/po/de.gmo b/po/de.gmo
index 18d2a74..07d4ac6 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index ab47a5f..b147825 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1,4 +1,4 @@
-# German translation for gstreamer 1.7.2
+# German translation for gstreamer 1.7.90
 # Copyright (C) 2004 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gstreamer package.
 #
@@ -7,18 +7,19 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.7.2\n"
+"Project-Id-Version: gstreamer 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
-"PO-Revision-Date: 2016-02-22 23:41+0100\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
+"PO-Revision-Date: 2016-09-28 21:13+0200\n"
 "Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.8.7\n"
+"X-Generator: Poedit 1.8.9\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 
 msgid "Print the GStreamer version"
@@ -473,10 +474,10 @@
 msgstr "Für die Aufnahme verantwortliche Person(en)"
 
 msgid "conductor"
-msgstr ""
+msgstr "Dirigent"
 
 msgid "conductor/performer refinement"
-msgstr ""
+msgstr "Detaillierung Dirigent/Darsteller"
 
 msgid "duration"
 msgstr "Dauer"
diff --git a/po/el.gmo b/po/el.gmo
index b003446..ea4a86c 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index 1792cf9..8460467 100644
--- a/po/el.po
+++ b/po/el.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer-0.10.30.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2010-11-29 11:14+0200\n"
 "Last-Translator: Michael Kotsarinis <mk73628@gmail.com>\n"
 "Language-Team: Greek <team@lists.gnome.gr>\n"
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index 0eb31c8..6426589 100644
--- a/po/en_GB.gmo
+++ b/po/en_GB.gmo
Binary files differ
diff --git a/po/en_GB.po b/po/en_GB.po
index 7a78ea3..df4a338 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.8.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2004-04-26 10:36-0400\n"
 "Last-Translator: Gareth Owen <gowen72@yahoo.com>\n"
 "Language-Team: English (British) <en_gb@li.org>\n"
diff --git a/po/eo.gmo b/po/eo.gmo
index 1cea3f0..5c005a3 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index e123113..b4e9e1c 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2011-06-04 21:11+0100\n"
 "Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
diff --git a/po/es.gmo b/po/es.gmo
index 615168b..e3986e9 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index c065fd4..84e80a4 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2011-10-02 15:45+0200\n"
 "Last-Translator: Jorge González González <aloriel@gmail.com>\n"
 "Language-Team: Spanish <es@li.org>\n"
diff --git a/po/eu.gmo b/po/eu.gmo
index fbdb36e..f868667 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index f3acb57..1b2ea1c 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer-0.10.26.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2010-03-25 13:10+0100\n"
 "Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n"
 "Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
diff --git a/po/fi.gmo b/po/fi.gmo
index ffc3010..bba61ba 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index 4e996d0..4706b99 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -12,7 +12,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.30.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2010-11-17 23:10+0200\n"
 "Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
diff --git a/po/fr.gmo b/po/fr.gmo
index 0284450..0fa2d90 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index c90ee8b..8ea1e9e 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2016-03-04 13:08+0100\n"
 "Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
 "Language-Team: French <traduc@traduc.org>\n"
diff --git a/po/gl.gmo b/po/gl.gmo
index 8ad1926..9273e7b 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index b1c34c8..374563f 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2012-12-15 03:29+0200\n"
 "Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n"
 "Language-Team: Galician <proxecto@trasno.net>\n"
diff --git a/po/gstreamer-1.0.pot b/po/gstreamer-1.0.pot
index acadc1c..28ea9ba 100644
--- a/po/gstreamer-1.0.pot
+++ b/po/gstreamer-1.0.pot
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.9.2\n"
+"Project-Id-Version: gstreamer 1.9.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -1127,15 +1127,15 @@
 msgid "empty pipeline not allowed"
 msgstr ""
 
-#: libs/gst/base/gstbasesink.c:2852
+#: libs/gst/base/gstbasesink.c:2833
 msgid "A lot of buffers are being dropped."
 msgstr ""
 
-#: libs/gst/base/gstbasesink.c:3381
+#: libs/gst/base/gstbasesink.c:3332
 msgid "Internal data flow problem."
 msgstr ""
 
-#: libs/gst/base/gstbasesink.c:4102 libs/gst/base/gstbasesrc.c:2958
+#: libs/gst/base/gstbasesink.c:4043 libs/gst/base/gstbasesrc.c:2958
 msgid "Internal data flow error."
 msgstr ""
 
@@ -1293,51 +1293,51 @@
 msgid "changeable only in NULL or READY state"
 msgstr ""
 
-#: tools/gst-inspect.c:905
+#: tools/gst-inspect.c:909
 msgid "Blacklisted files:"
 msgstr ""
 
-#: tools/gst-inspect.c:917 tools/gst-inspect.c:1006
+#: tools/gst-inspect.c:921 tools/gst-inspect.c:1010
 msgid "Total count: "
 msgstr ""
 
-#: tools/gst-inspect.c:918
+#: tools/gst-inspect.c:922
 #, c-format
 msgid "%d blacklisted file"
 msgid_plural "%d blacklisted files"
 msgstr[0] ""
 msgstr[1] ""
 
-#: tools/gst-inspect.c:1007
+#: tools/gst-inspect.c:1011
 #, c-format
 msgid "%d plugin"
 msgid_plural "%d plugins"
 msgstr[0] ""
 msgstr[1] ""
 
-#: tools/gst-inspect.c:1010
+#: tools/gst-inspect.c:1014
 #, c-format
 msgid "%d blacklist entry"
 msgid_plural "%d blacklist entries"
 msgstr[0] ""
 msgstr[1] ""
 
-#: tools/gst-inspect.c:1015
+#: tools/gst-inspect.c:1019
 #, c-format
 msgid "%d feature"
 msgid_plural "%d features"
 msgstr[0] ""
 msgstr[1] ""
 
-#: tools/gst-inspect.c:1464
+#: tools/gst-inspect.c:1468
 msgid "Print all elements"
 msgstr ""
 
-#: tools/gst-inspect.c:1466
+#: tools/gst-inspect.c:1470
 msgid "Print list of blacklisted files"
 msgstr ""
 
-#: tools/gst-inspect.c:1468
+#: tools/gst-inspect.c:1472
 msgid ""
 "Print a machine-parsable list of features the specified plugin or all "
 "plugins provide.\n"
@@ -1345,30 +1345,30 @@
 "automatic plugin installation mechanisms"
 msgstr ""
 
-#: tools/gst-inspect.c:1473
+#: tools/gst-inspect.c:1477
 msgid "List the plugin contents"
 msgstr ""
 
-#: tools/gst-inspect.c:1475
+#: tools/gst-inspect.c:1479
 msgid "Check if the specified element or plugin exists"
 msgstr ""
 
-#: tools/gst-inspect.c:1478
+#: tools/gst-inspect.c:1482
 msgid ""
 "When checking if an element or plugin exists, also check that its version is "
 "at least the version specified"
 msgstr ""
 
-#: tools/gst-inspect.c:1482
+#: tools/gst-inspect.c:1486
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
-#: tools/gst-inspect.c:1630
+#: tools/gst-inspect.c:1634
 #, c-format
 msgid "Could not load plugin file: %s\n"
 msgstr ""
 
-#: tools/gst-inspect.c:1635
+#: tools/gst-inspect.c:1639
 #, c-format
 msgid "No such element or plugin '%s'\n"
 msgstr ""
diff --git a/po/hr.gmo b/po/hr.gmo
index 43466ef..857eeae 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index 439b1e6..550980c 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2016-05-27 12:48-0700\n"
 "Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
diff --git a/po/hu.gmo b/po/hu.gmo
index aca4197..bbff153 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 00dbd21..3498692 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2016-03-14 16:10+0100\n"
 "Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
diff --git a/po/id.gmo b/po/id.gmo
index 08d2539..8b228e5 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index f9e8330..a8a6045 100644
--- a/po/id.po
+++ b/po/id.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2014-05-31 22:06+0700\n"
 "Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
diff --git a/po/it.gmo b/po/it.gmo
index 45efd0a..3b36548 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index c2fb316..6ed99af 100644
--- a/po/it.po
+++ b/po/it.po
@@ -106,7 +106,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.30.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2010-10-25 10:03+0200\n"
 "Last-Translator: Luca Ferretti <elle.uca@infinito.it>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
diff --git a/po/ja.gmo b/po/ja.gmo
index 2efd0a7..f859acc 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index d27b829..5c4a7de 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2013-08-20 14:56+0900\n"
 "Last-Translator: Makoto Kato <makoto.kt@gmail.com>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
diff --git a/po/lt.gmo b/po/lt.gmo
index b5aac7c..9f2e732 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index 46a3427..f5779bc 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.29.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2010-07-16 00:50+0300\n"
 "Last-Translator: Žygimantas Beručka <uid0@akl.lt>\n"
 "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
diff --git a/po/nb.gmo b/po/nb.gmo
index eea9fdd..bbfcd6c 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index aae3320..68db42a 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.6.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2015-12-23 02:02+0100\n"
 "Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
 "Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
diff --git a/po/nl.gmo b/po/nl.gmo
index c5a8ca0..cd54bdb 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index fd72fa2..760d751 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2016-02-20 16:42+0100\n"
 "Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
diff --git a/po/pl.gmo b/po/pl.gmo
index 73c10ae..0a1f871 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 7aa4c17..81e2808 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2016-02-20 21:41+0100\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index f7ce092..8bd5b08 100644
--- a/po/pt_BR.gmo
+++ b/po/pt_BR.gmo
Binary files differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
index c78d0e5..ec83585 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -17,7 +17,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer-1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2016-05-06 18:23-0300\n"
 "Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
 "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
diff --git a/po/ro.gmo b/po/ro.gmo
index de4dfea..eee43c5 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index e99417d..939c0b6 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.29.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2010-08-16 01:10+0300\n"
 "Last-Translator: Lucian Adrian Grijincu <lucian.grijincu@gmail.com>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
diff --git a/po/ru.gmo b/po/ru.gmo
index 18b51ac..2059ef8 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index 0650e8c..fea7f05 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2016-03-05 08:41+0300\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
 "Language-Team: Russian <gnu@d07.ru>\n"
diff --git a/po/rw.gmo b/po/rw.gmo
index 42e293f..ca9041b 100644
--- a/po/rw.gmo
+++ b/po/rw.gmo
Binary files differ
diff --git a/po/rw.po b/po/rw.po
index 37e82e6..8be8778 100644
--- a/po/rw.po
+++ b/po/rw.po
@@ -15,7 +15,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.8.8\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2005-04-04 10:55-0700\n"
 "Last-Translator: Steven Michael Murphy <murf@e-tools.com>\n"
 "Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n"
diff --git a/po/sk.gmo b/po/sk.gmo
index 8a23e52..2da481b 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index a4249c1..6c6d7f1 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2016-05-20 11:32+0100\n"
 "Last-Translator: Peter Tuhársky <tuharsky@misbb.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
diff --git a/po/sl.gmo b/po/sl.gmo
index ee2a697..54f865b 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index 684961a..e8d3278 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer-1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2014-04-09 22:38+0100\n"
 "Last-Translator: Klemen Košir <klemen913@gmail.com>\n"
 "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
diff --git a/po/sq.gmo b/po/sq.gmo
index e2f97a0..53fd3bd 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index b066cb8..9a155dc 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.8.4\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2004-08-07 23:46+0200\n"
 "Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n"
 "Language-Team: Albanian <begraj@hotmail.com>\n"
diff --git a/po/sr.gmo b/po/sr.gmo
index f28d9d7..da1100a 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index 7aac893..e0d8afe 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer-1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2016-03-05 10:03+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <(nothing)>\n"
diff --git a/po/sv.gmo b/po/sv.gmo
index e87df0f..7e74e28 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 6083c6d..6ee8029 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2016-03-02 22:19+0100\n"
 "Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
diff --git a/po/tr.gmo b/po/tr.gmo
index 6904196..16c2796 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 020647b..0f603c7 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2015-01-10 21:06+0100\n"
 "Last-Translator: Volkan Gezer <volkangezer@gmail.com>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
diff --git a/po/uk.gmo b/po/uk.gmo
index e12eb6a..d36297b 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index 19a6cdc..6571cf1 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2016-03-02 22:00+0200\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
diff --git a/po/vi.gmo b/po/vi.gmo
index e0f611a..4f4507a 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 648d809..6b9e472 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2016-03-03 07:44+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index 13035c6..5093998 100644
--- a/po/zh_CN.gmo
+++ b/po/zh_CN.gmo
Binary files differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 170cc59..8253356 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2016-03-03 12:49+0800\n"
 "Last-Translator: Tianze Wang <zwpwjwtz@126.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo
index 80bebca..75cbafd 100644
--- a/po/zh_TW.gmo
+++ b/po/zh_TW.gmo
Binary files differ
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 0faa546..700e101 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -27,7 +27,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:22+0300\n"
+"POT-Creation-Date: 2016-09-30 12:08+0300\n"
 "PO-Revision-Date: 2014-06-08 00:22+0800\n"
 "Last-Translator: Wen Liao <wen.cf83@gmail.com>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
diff --git a/tests/Makefile.am b/tests/Makefile.am
index e5909fd..9fe291c 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,7 +1,10 @@
 EXTRA_DIST = README
 
+# Build misc unless both --disable-examples and --disable-benchmarks were passed
+
 if BUILD_BENCHMARKS
 SUBDIRS_BENCHMARKS = benchmarks
+SUBDIRS_MISC = misc
 else
 SUBDIRS_BENCHMARKS =
 endif
@@ -22,6 +25,7 @@
 
 if BUILD_EXAMPLES
 SUBDIRS_EXAMPLES = examples
+SUBDIRS_MISC = misc
 else
 SUBDIRS_EXAMPLES =
 endif
@@ -29,7 +33,7 @@
 SUBDIRS = \
 	$(SUBDIRS_BENCHMARKS) \
 	$(SUBDIRS_CHECK) \
-	misc		\
+	$(SUBDIRS_MISC) \
 	$(SUBDIRS_TESTS) \
 	$(SUBDIRS_EXAMPLES)
 
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 5a77666..e504418 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -287,7 +287,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
@@ -508,7 +508,11 @@
 top_srcdir = @top_srcdir@
 EXTRA_DIST = README
 @BUILD_BENCHMARKS_FALSE@SUBDIRS_BENCHMARKS = 
+
+# Build misc unless both --disable-examples and --disable-benchmarks were passed
 @BUILD_BENCHMARKS_TRUE@SUBDIRS_BENCHMARKS = benchmarks
+@BUILD_BENCHMARKS_TRUE@SUBDIRS_MISC = misc
+@BUILD_EXAMPLES_TRUE@SUBDIRS_MISC = misc
 @BUILD_TESTS_FALSE@SUBDIRS_TESTS = 
 @BUILD_TESTS_TRUE@SUBDIRS_TESTS = 
 @BUILD_TESTS_FALSE@SUBDIRS_CHECK = 
@@ -519,7 +523,7 @@
 SUBDIRS = \
 	$(SUBDIRS_BENCHMARKS) \
 	$(SUBDIRS_CHECK) \
-	misc		\
+	$(SUBDIRS_MISC) \
 	$(SUBDIRS_TESTS) \
 	$(SUBDIRS_EXAMPLES)
 
diff --git a/tests/benchmarks/Makefile.in b/tests/benchmarks/Makefile.in
index c97161d..646a8af 100644
--- a/tests/benchmarks/Makefile.in
+++ b/tests/benchmarks/Makefile.in
@@ -333,7 +333,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am
index 511a60a..1b0ebc4 100644
--- a/tests/check/Makefile.am
+++ b/tests/check/Makefile.am
@@ -234,7 +234,6 @@
 VALGRIND_TO_FIX = \
 	gst/gstinfo \
 	gst/gsttracerrecord \
-	pipelines/parse-launch \
 	tools/gstinspect
 
 VALGRIND_IGNORE = \
diff --git a/tests/check/Makefile.in b/tests/check/Makefile.in
index 015c1c9..52c9cf8 100644
--- a/tests/check/Makefile.in
+++ b/tests/check/Makefile.in
@@ -1272,7 +1272,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
@@ -1639,7 +1639,6 @@
 VALGRIND_TO_FIX = \
 	gst/gstinfo \
 	gst/gsttracerrecord \
-	pipelines/parse-launch \
 	tools/gstinspect
 
 VALGRIND_IGNORE = \
diff --git a/tests/check/elements/queue2.c b/tests/check/elements/queue2.c
index 40395b5..6087569 100644
--- a/tests/check/elements/queue2.c
+++ b/tests/check/elements/queue2.c
@@ -207,6 +207,47 @@
 
 GST_END_TEST;
 
+static gboolean
+queue2_dummypad_query (GstPad * sinkpad, GstObject * parent, GstQuery * query)
+{
+  gboolean res = TRUE;
+
+  switch (GST_QUERY_TYPE (query)) {
+    case GST_QUERY_CAPS:
+    {
+      GstCaps *filter, *caps;
+
+      gst_query_parse_caps (query, &filter);
+      caps = (filter ? gst_caps_ref (filter) : gst_caps_new_any ());
+      gst_query_set_caps_result (query, caps);
+      gst_caps_unref (caps);
+      break;
+    }
+    default:
+      res = gst_pad_query_default (sinkpad, parent, query);
+      break;
+  }
+  return res;
+}
+
+static gpointer
+pad_push_datablock_thread (gpointer data)
+{
+  GstPad *pad = data;
+  GstBuffer *buf;
+
+  buf = gst_buffer_new_allocate (NULL, 80 * 1000, NULL);
+  gst_pad_push (pad, buf);
+
+  return NULL;
+}
+
+static GstPadProbeReturn
+block_probe (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
+{
+  return GST_PAD_PROBE_OK;
+}
+
 #define CHECK_FOR_BUFFERING_MSG(PIPELINE, EXPECTED_PERC) \
   G_STMT_START { \
     gint buf_perc; \
@@ -230,24 +271,37 @@
    * low/high-percent and low/high-watermark properties
    * are coupled together properly. */
 
-  GstElement *pipe, *input, *output, *queue2;
+  GstElement *pipe;
+  GstElement *queue2, *fakesink;
+  GstPad *inputpad;
+  GstPad *queue2_sinkpad;
+  GstPad *sinkpad;
+  GstSegment segment;
+  GThread *thread;
   gint low_perc, high_perc;
 
+
+  /* Setup test pipeline with one multiqueue and one fakesink */
+
   pipe = gst_pipeline_new ("pipeline");
+  queue2 = gst_element_factory_make ("queue2", NULL);
+  fail_unless (queue2 != NULL);
+  gst_bin_add (GST_BIN (pipe), queue2);
 
-  input = gst_element_factory_make ("fakesrc", NULL);
-  fail_unless (input != NULL, "failed to create 'fakesrc' element");
-  /* Configure fakesrc to send one single buffer with 50000 bytes,
-   * which makes 50000 / 1000000 = 50% of the max queue2 size. */
-  g_object_set (input, "num-buffers", 1, "sizetype", 2, "sizemax", 50000, NULL);
+  fakesink = gst_element_factory_make ("fakesink", NULL);
+  fail_unless (fakesink != NULL);
+  gst_bin_add (GST_BIN (pipe), fakesink);
 
-  output = gst_element_factory_make ("fakesink", NULL);
-  fail_unless (output != NULL, "failed to create 'fakesink' element");
+  /* Block fakesink sinkpad flow to ensure the queue isn't emptied
+   * by the prerolling sink */
+  sinkpad = gst_element_get_static_pad (fakesink, "sink");
+  gst_pad_add_probe (sinkpad, GST_PAD_PROBE_TYPE_BLOCK, block_probe, NULL,
+      NULL);
+  gst_object_unref (sinkpad);
 
-  queue2 = setup_queue2 (pipe, input, output);
   g_object_set (queue2,
       "use-buffering", (gboolean) TRUE,
-      "max-size-bytes", (guint) 1000000,
+      "max-size-bytes", (guint) 1000 * 1000,
       "max-size-buffers", (guint) 0,
       "max-size-time", (guint64) 0,
       "low-watermark", (gdouble) 0.01, "high-watermark", (gdouble) 0.10, NULL);
@@ -261,13 +315,59 @@
   fail_unless_equals_int (low_perc, 1);
   fail_unless_equals_int (high_perc, 10);
 
-  gst_element_set_state (pipe, GST_STATE_PLAYING);
+  gst_segment_init (&segment, GST_FORMAT_TIME);
 
-  /* First buffering message will contain 0% (the initial state).
-   * Second buffering message contain 50% after the single
-   * buffer from fakesrc is pushed downstream. */
+  inputpad = gst_pad_new ("dummysrc", GST_PAD_SRC);
+  gst_pad_set_query_function (inputpad, queue2_dummypad_query);
+
+  queue2_sinkpad = gst_element_get_static_pad (queue2, "sink");
+  fail_unless (queue2_sinkpad != NULL);
+  fail_unless (gst_pad_link (inputpad, queue2_sinkpad) == GST_PAD_LINK_OK);
+
+  gst_pad_set_active (inputpad, TRUE);
+
+  gst_pad_push_event (inputpad, gst_event_new_stream_start ("test"));
+  gst_pad_push_event (inputpad, gst_event_new_segment (&segment));
+
+  gst_object_unref (queue2_sinkpad);
+
+  fail_unless (gst_element_link (queue2, fakesink));
+
+  /* Start pipeline in paused state to ensure the sink remains
+   * in preroll mode and blocks */
+  gst_element_set_state (pipe, GST_STATE_PAUSED);
+
+  /* When the use-buffering property is set to TRUE, a buffering
+   * message is posted. Since the queue is empty at that point,
+   * the buffering message contains a value of 0%. */
   CHECK_FOR_BUFFERING_MSG (pipe, 0);
-  CHECK_FOR_BUFFERING_MSG (pipe, 50);
+
+  /* Feed data. queue will be filled to 80% (because it pushes 80000 bytes),
+   * which is below the high-threshold, provoking a buffering message. */
+  thread = g_thread_new ("push1", pad_push_datablock_thread, inputpad);
+  g_thread_join (thread);
+
+  /* Check for the buffering message; it should indicate 80% fill level
+   * (Note that the percentage from the message is normalized) */
+  CHECK_FOR_BUFFERING_MSG (pipe, 80);
+
+  /* Increase the buffer size and lower the watermarks to test
+   * if <1% watermarks are supported. */
+  g_object_set (queue2,
+      "max-size-bytes", (guint) 20 * 1000 * 1000,
+      "low-watermark", (gdouble) 0.0001, "high-watermark", (gdouble) 0.005,
+      NULL);
+
+  /* First buffering message is posted after the max-size-bytes limit
+   * is set to 20000000 bytes & the low-watermark is set. Since the
+   * queue contains 80000 bytes, and the high watermark still is
+   * 0.1 at this point, and the buffer level 80000 / 20000000 = 0.004 is
+   * normalized by 0.1: 0.004 / 0.1 => buffering percentage 4%. */
+  CHECK_FOR_BUFFERING_MSG (pipe, 4);
+  /* Second buffering message is posted after the high-watermark limit
+   * is set to 0.005. This time, the buffer level is normalized this way:
+   * 0.004 / 0.005 => buffering percentage 80%. */
+  CHECK_FOR_BUFFERING_MSG (pipe, 80);
 
   gst_element_set_state (pipe, GST_STATE_NULL);
   gst_object_unref (pipe);
diff --git a/tests/check/gst/gstbin.c b/tests/check/gst/gstbin.c
index 9ac953f..30e0bef 100644
--- a/tests/check/gst/gstbin.c
+++ b/tests/check/gst/gstbin.c
@@ -1645,6 +1645,56 @@
 
 GST_END_TEST;
 
+#define _GST_CHECK_BIN_SUPPRESSED_FLAGS(element_flags, suppressed_flags, \
+    expected_flags) \
+G_STMT_START { \
+  GstBin *bin = GST_BIN (gst_bin_new ("test-bin")); \
+  GstElement *element = gst_element_factory_make ("identity", "test-i"); \
+  GstElementFlags natural_flags = GST_OBJECT_FLAGS (bin); \
+  GST_OBJECT_FLAG_SET (element, element_flags); \
+  gst_bin_set_suppressed_flags (bin, suppressed_flags); \
+  gst_bin_add (bin, element); \
+  fail_unless ((natural_flags | GST_OBJECT_FLAGS (bin)) \
+      == expected_flags); \
+  gst_object_unref (bin); \
+} G_STMT_END
+
+GST_START_TEST (test_suppressed_flags)
+{
+  _GST_CHECK_BIN_SUPPRESSED_FLAGS (GST_ELEMENT_FLAG_SOURCE,
+      0, GST_ELEMENT_FLAG_SOURCE);
+  _GST_CHECK_BIN_SUPPRESSED_FLAGS (GST_ELEMENT_FLAG_SOURCE,
+      GST_ELEMENT_FLAG_SOURCE, 0);
+  _GST_CHECK_BIN_SUPPRESSED_FLAGS (GST_ELEMENT_FLAG_SOURCE,
+      GST_ELEMENT_FLAG_SINK, GST_ELEMENT_FLAG_SOURCE);
+  _GST_CHECK_BIN_SUPPRESSED_FLAGS (GST_ELEMENT_FLAG_SOURCE |
+      GST_ELEMENT_FLAG_PROVIDE_CLOCK,
+      GST_ELEMENT_FLAG_PROVIDE_CLOCK, GST_ELEMENT_FLAG_SOURCE);
+
+  _GST_CHECK_BIN_SUPPRESSED_FLAGS (GST_ELEMENT_FLAG_SINK,
+      0, GST_ELEMENT_FLAG_SINK);
+  _GST_CHECK_BIN_SUPPRESSED_FLAGS (GST_ELEMENT_FLAG_SINK,
+      GST_ELEMENT_FLAG_SINK, 0);
+  _GST_CHECK_BIN_SUPPRESSED_FLAGS (GST_ELEMENT_FLAG_SINK,
+      GST_ELEMENT_FLAG_SOURCE, GST_ELEMENT_FLAG_SINK);
+
+  _GST_CHECK_BIN_SUPPRESSED_FLAGS (GST_ELEMENT_FLAG_PROVIDE_CLOCK,
+      0, GST_ELEMENT_FLAG_PROVIDE_CLOCK);
+  _GST_CHECK_BIN_SUPPRESSED_FLAGS (GST_ELEMENT_FLAG_PROVIDE_CLOCK,
+      GST_ELEMENT_FLAG_PROVIDE_CLOCK, 0);
+  _GST_CHECK_BIN_SUPPRESSED_FLAGS (GST_ELEMENT_FLAG_PROVIDE_CLOCK,
+      GST_ELEMENT_FLAG_REQUIRE_CLOCK, GST_ELEMENT_FLAG_PROVIDE_CLOCK);
+
+  _GST_CHECK_BIN_SUPPRESSED_FLAGS (GST_ELEMENT_FLAG_REQUIRE_CLOCK,
+      0, GST_ELEMENT_FLAG_REQUIRE_CLOCK);
+  _GST_CHECK_BIN_SUPPRESSED_FLAGS (GST_ELEMENT_FLAG_REQUIRE_CLOCK,
+      GST_ELEMENT_FLAG_REQUIRE_CLOCK, 0);
+  _GST_CHECK_BIN_SUPPRESSED_FLAGS (GST_ELEMENT_FLAG_REQUIRE_CLOCK,
+      GST_ELEMENT_FLAG_PROVIDE_CLOCK, GST_ELEMENT_FLAG_REQUIRE_CLOCK);
+}
+
+GST_END_TEST;
+
 static Suite *
 gst_bin_suite (void)
 {
@@ -1675,6 +1725,7 @@
   tcase_add_test (tc_chain, test_duration_is_max);
   tcase_add_test (tc_chain, test_duration_unknown_overrides);
   tcase_add_test (tc_chain, test_deep_added_removed);
+  tcase_add_test (tc_chain, test_suppressed_flags);
 
   /* fails on OSX build bot for some reason, and is a bit silly anyway */
   if (0)
diff --git a/tests/check/gst/gstbuffer.c b/tests/check/gst/gstbuffer.c
index 66bb5d4..620d857 100644
--- a/tests/check/gst/gstbuffer.c
+++ b/tests/check/gst/gstbuffer.c
@@ -24,12 +24,6 @@
 # include "config.h"
 #endif
 
-#ifdef HAVE_VALGRIND_H
-# include <valgrind/valgrind.h>
-#else
-# define RUNNING_ON_VALGRIND FALSE
-#endif
-
 #include <gst/check/gstcheck.h>
 
 GST_START_TEST (test_subbuffer)
@@ -466,20 +460,6 @@
   gst_buffer_unmap (buf, &info);
 
   gst_buffer_unref (buf);
-
-#if 0
-  /* Disabled this part of the test, because it happily succeeds on 64-bit
-   * machines that have enough memory+swap, because the address space is large
-   * enough. There's not really any way to test the failure case except by 
-   * allocating chunks of memory until it fails, which would suck. */
-
-  /* now this better fail (don't run in valgrind, it will abort
-   * or warn when passing silly arguments to malloc) */
-  if (!RUNNING_ON_VALGRIND) {
-    buf = gst_buffer_new_and_alloc ((guint) - 1);
-    fail_unless (buf == NULL);
-  }
-#endif
 }
 
 GST_END_TEST;
diff --git a/tests/check/gst/gstmemory.c b/tests/check/gst/gstmemory.c
index 079174d..d0b3a78 100644
--- a/tests/check/gst/gstmemory.c
+++ b/tests/check/gst/gstmemory.c
@@ -24,12 +24,6 @@
 # include "config.h"
 #endif
 
-#ifdef HAVE_VALGRIND_H
-# include <valgrind/valgrind.h>
-#else
-# define RUNNING_ON_VALGRIND FALSE
-#endif
-
 #include <gst/check/gstcheck.h>
 
 GST_START_TEST (test_submemory)
@@ -271,20 +265,6 @@
   gst_memory_unmap (mem, &info);
 
   gst_memory_unref (mem);
-
-#if 0
-  /* Disabled this part of the test, because it happily succeeds on 64-bit
-   * machines that have enough memory+swap, because the address space is large
-   * enough. There's not really any way to test the failure case except by
-   * allocating chunks of memory until it fails, which would suck. */
-
-  /* now this better fail (don't run in valgrind, it will abort
-   * or warn when passing silly arguments to malloc) */
-  if (!RUNNING_ON_VALGRIND) {
-    mem = gst_allocator_alloc (NULL, (guint) - 1, 0);
-    fail_unless (mem == NULL);
-  }
-#endif
 }
 
 GST_END_TEST;
diff --git a/tests/check/gst/gstmeta.c b/tests/check/gst/gstmeta.c
index 88205fc..db073e4 100644
--- a/tests/check/gst/gstmeta.c
+++ b/tests/check/gst/gstmeta.c
@@ -24,12 +24,6 @@
 # include "config.h"
 #endif
 
-#ifdef HAVE_VALGRIND_H
-# include <valgrind/valgrind.h>
-#else
-# define RUNNING_ON_VALGRIND FALSE
-#endif
-
 #include <gst/check/gstcheck.h>
 
 /* test metadata for PTS/DTS and duration */
diff --git a/tests/check/pipelines/parse-launch.c b/tests/check/pipelines/parse-launch.c
index ec30d9c..6472070 100644
--- a/tests/check/pipelines/parse-launch.c
+++ b/tests/check/pipelines/parse-launch.c
@@ -22,11 +22,6 @@
 #  include "config.h"
 #endif
 
-#ifdef HAVE_VALGRIND_H
-# include <valgrind/valgrind.h>
-# include <valgrind/memcheck.h>
-#endif
-
 #include <gst/check/gstcheck.h>
 
 #define GST_TYPE_PARSE_TEST_ELEMENT (gst_parse_test_element_get_type())
@@ -397,19 +392,14 @@
   NULL
 };
 
+/* These don't seem to leak any longer? */
 GST_START_TEST (leaking_fail_pipes)
 {
   const gchar **s;
 
   for (s = leaking_failures; *s != NULL; s++) {
-    /* Uncomment if you want to try fixing the leaks */
-#if 0
-    g_print ("Trying pipe: %s\n", *s);
+    GST_INFO ("Trying pipe: %s", *s);
     expected_fail_pipe (*s);
-#endif
-#ifdef HAVE_VALGRIND_H
-    VALGRIND_DO_LEAK_CHECK;
-#endif
   }
 }
 
diff --git a/tests/examples/Makefile.in b/tests/examples/Makefile.in
index 6ca2a75..cc2e67c 100644
--- a/tests/examples/Makefile.in
+++ b/tests/examples/Makefile.in
@@ -293,7 +293,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/tests/examples/adapter/Makefile.in b/tests/examples/adapter/Makefile.in
index db8b87c..850046e 100644
--- a/tests/examples/adapter/Makefile.in
+++ b/tests/examples/adapter/Makefile.in
@@ -283,7 +283,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/tests/examples/controller/Makefile.in b/tests/examples/controller/Makefile.in
index 7f34e42..89e5f15 100644
--- a/tests/examples/controller/Makefile.in
+++ b/tests/examples/controller/Makefile.in
@@ -311,7 +311,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/tests/examples/helloworld/Makefile.in b/tests/examples/helloworld/Makefile.in
index 06679c4..460a536 100644
--- a/tests/examples/helloworld/Makefile.in
+++ b/tests/examples/helloworld/Makefile.in
@@ -282,7 +282,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/tests/examples/manual/Makefile.in b/tests/examples/manual/Makefile.in
index b4cc998..7bd0a4d 100644
--- a/tests/examples/manual/Makefile.in
+++ b/tests/examples/manual/Makefile.in
@@ -643,7 +643,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/tests/examples/memory/Makefile.in b/tests/examples/memory/Makefile.in
index ad4ba62..76c3924 100644
--- a/tests/examples/memory/Makefile.in
+++ b/tests/examples/memory/Makefile.in
@@ -284,7 +284,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/tests/examples/netclock/Makefile.in b/tests/examples/netclock/Makefile.in
index bd6dd40..8f621db 100644
--- a/tests/examples/netclock/Makefile.in
+++ b/tests/examples/netclock/Makefile.in
@@ -294,7 +294,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/tests/examples/ptp/Makefile.in b/tests/examples/ptp/Makefile.in
index fe0b6e6..c55d331 100644
--- a/tests/examples/ptp/Makefile.in
+++ b/tests/examples/ptp/Makefile.in
@@ -285,7 +285,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/tests/examples/stepping/Makefile.in b/tests/examples/stepping/Makefile.in
index c039caf..d5a5065 100644
--- a/tests/examples/stepping/Makefile.in
+++ b/tests/examples/stepping/Makefile.in
@@ -282,7 +282,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/tests/examples/streamiddemux/Makefile.in b/tests/examples/streamiddemux/Makefile.in
index aaed23a..d0d31a3 100644
--- a/tests/examples/streamiddemux/Makefile.in
+++ b/tests/examples/streamiddemux/Makefile.in
@@ -284,7 +284,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/tests/examples/streams/Makefile.in b/tests/examples/streams/Makefile.in
index 92d74ea..8628d23 100644
--- a/tests/examples/streams/Makefile.in
+++ b/tests/examples/streams/Makefile.in
@@ -291,7 +291,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/tests/misc/Makefile.in b/tests/misc/Makefile.in
index 8c7cd90..fe5a046 100644
--- a/tests/misc/Makefile.in
+++ b/tests/misc/Makefile.in
@@ -285,7 +285,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/tools/Makefile.in b/tools/Makefile.in
index c44fb5e..a560138 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -360,7 +360,7 @@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
 GSL_LIBS = @GSL_LIBS@
-GSTCONFIG_USE_MSVC_DECLSPEC = @GSTCONFIG_USE_MSVC_DECLSPEC@
+GSTCONFIG_BUILT_WITH_MSVC = @GSTCONFIG_BUILT_WITH_MSVC@
 GST_AGE = @GST_AGE@
 GST_ALL_CFLAGS = @GST_ALL_CFLAGS@
 GST_ALL_CXXFLAGS = @GST_ALL_CXXFLAGS@
diff --git a/tools/gst-inspect.c b/tools/gst-inspect.c
index 4d020ad..3a59ef3 100644
--- a/tools/gst-inspect.c
+++ b/tools/gst-inspect.c
@@ -738,6 +738,19 @@
   return FALSE;
 }
 
+static gboolean
+gtype_needs_ptr_marker (GType type)
+{
+  if (type == G_TYPE_POINTER)
+    return FALSE;
+
+  if (G_TYPE_FUNDAMENTAL (type) == G_TYPE_POINTER || G_TYPE_IS_BOXED (type)
+      || G_TYPE_IS_OBJECT (type))
+    return TRUE;
+
+  return FALSE;
+}
+
 static void
 print_signal_info (GstElement * element)
 {
@@ -808,12 +821,7 @@
       indent_len = strlen (query->signal_name) +
           strlen (g_type_name (query->return_type)) + 24;
 
-
-      if (query->return_type == G_TYPE_POINTER) {
-        pmark = "";
-      } else if (G_TYPE_FUNDAMENTAL (query->return_type) == G_TYPE_POINTER
-          || G_TYPE_IS_BOXED (query->return_type)
-          || G_TYPE_IS_OBJECT (query->return_type)) {
+      if (gtype_needs_ptr_marker (query->return_type)) {
         pmark = "* ";
         indent_len += 2;
       } else {
@@ -828,17 +836,13 @@
           g_type_name (type));
 
       for (j = 0; j < query->n_params; j++) {
+        const gchar *type_name, *asterisk;
+
+        type_name = g_type_name (query->param_types[j]);
+        asterisk = gtype_needs_ptr_marker (query->param_types[j]) ? "*" : "";
+
         g_print (",\n");
-        if (G_TYPE_IS_FUNDAMENTAL (query->param_types[j])) {
-          n_print ("%s%s arg%d", indent,
-              g_type_name (query->param_types[j]), j);
-        } else if (G_TYPE_IS_ENUM (query->param_types[j])) {
-          n_print ("%s%s arg%d", indent,
-              g_type_name (query->param_types[j]), j);
-        } else {
-          n_print ("%s%s* arg%d", indent,
-              g_type_name (query->param_types[j]), j);
-        }
+        n_print ("%s%s%s arg%d", indent, type_name, asterisk, j);
       }
 
       if (k == 0) {
diff --git a/win32/common/config.h b/win32/common/config.h
index 1f0c0c2..9b86d4a 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -68,7 +68,7 @@
 #define GST_PACKAGE_ORIGIN "Unknown package origin"
 
 /* GStreamer package release date/time for plugins as YYYY-MM-DD */
-#define GST_PACKAGE_RELEASE_DATETIME "2016-09-01"
+#define GST_PACKAGE_RELEASE_DATETIME "2016-09-30"
 
 /* Define if static plugins should be built */
 #undef GST_PLUGIN_BUILD_STATIC
@@ -468,7 +468,7 @@
 #define PACKAGE_NAME "GStreamer"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer 1.9.2"
+#define PACKAGE_STRING "GStreamer 1.9.90"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gstreamer"
@@ -477,7 +477,7 @@
 #undef PACKAGE_URL
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.9.2"
+#define PACKAGE_VERSION "1.9.90"
 
 /* directory where plugins are located */
 #ifdef _DEBUG
@@ -521,7 +521,7 @@
 #undef USE_POISONING
 
 /* Version number of package */
-#define VERSION "1.9.2"
+#define VERSION "1.9.90"
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
diff --git a/win32/common/gstversion.h b/win32/common/gstversion.h
index 5589d7c..020bf82 100644
--- a/win32/common/gstversion.h
+++ b/win32/common/gstversion.h
@@ -60,7 +60,7 @@
  *
  * The micro version of GStreamer at compile time:
  */
-#define GST_VERSION_MICRO (2)
+#define GST_VERSION_MICRO (90)
 /**
  * GST_VERSION_NANO:
  *
diff --git a/win32/common/libgstreamer.def b/win32/common/libgstreamer.def
index 9313d92..79fe904 100644
--- a/win32/common/libgstreamer.def
+++ b/win32/common/libgstreamer.def
@@ -98,6 +98,7 @@
 	gst_bin_get_by_interface
 	gst_bin_get_by_name
 	gst_bin_get_by_name_recurse_up
+	gst_bin_get_suppressed_flags
 	gst_bin_get_type
 	gst_bin_iterate_all_by_interface
 	gst_bin_iterate_elements
@@ -109,6 +110,7 @@
 	gst_bin_recalculate_latency
 	gst_bin_remove
 	gst_bin_remove_many
+	gst_bin_set_suppressed_flags
 	gst_bin_sync_children_states
 	gst_bitmask_get_type
 	gst_buffer_add_meta