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
