diff --git a/ChangeLog b/ChangeLog
index 0eb9a02..48ef7e0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,437 @@
-=== release 1.9.90 ===
+=== release 1.10.0 ===
 
-2016-09-30  Sebastian Dröge <slomo@coaxion.net>
+2016-11-01  Sebastian Dröge <slomo@coaxion.net>
 
 	* configure.ac:
-	  releasing 1.9.90
+	  releasing 1.10.0
+
+2016-11-01 17:41:51 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* po/el.po:
+	  po: Update translations
+
+2016-10-27 12:01:55 +0200  Tobias Schneider <tobias.schneider@voiceinterconnect.de>
+
+	* sys/v4l2/gstv4l2object.c:
+	  v4l2object: fix extra-controls leak
+	  Gst struct v4l2object->extra_controls is created if user sets appropriate
+	  option but it is not freed on destruction of v4l2object.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=773580
+
+2016-10-31 18:00:07 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/soup/gstsouphttpsrc.c:
+	* ext/soup/gstsouphttpsrc.h:
+	  Revert "souphttpsrc: reduce reading latency by using non-blocking read"
+	  This reverts commit 8816764112408766889c8b680a3af51115df4bf5.
+	  It causes issues with the timeouts, and causes connections to be closed
+	  without actual reason. Needs further investigation.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=773509
+
+2016-10-31 09:00:49 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/wavparse/gstwavparse.c:
+	  wavparse: Don't try to add srcpad if we don't know valid caps yet
+	  Otherwise we'll run into an assertion on specially crafted files.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=773643
+
+2016-10-27 11:23:51 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* meson.build:
+	  meson: Remove uselessly duplicated dep checks
+	  These checks are done inside the meson.build files for each plugin.
+
+2016-10-27 11:22:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* ext/meson.build:
+	  meson: dv plugin now works on MSVC
+	  Needs a Meson patch to filter out the useless -lpthread
+	  https://github.com/mesonbuild/meson/pull/962
+
+2016-10-27 14:03:48 +0200  Branko Subasic <branko@axis.com>
+
+	* gst/matroska/matroska-mux.c:
+	  matroskamux: allow resolutions above 4096
+	  Modify the caps string to allow width and height greater than 4096.
+	  There is no need to restrict it since the matroska format allows the
+	  width and height values to be up to eight bytes long.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=773582
+
+2016-10-23 17:23:10 -0700  Scott D Phillips <scott.d.phillips@intel.com>
+
+	* gst/udp/gstudpsrc.c:
+	  udpsrc: Check for G_PLATFORM_WIN32 for presence of ipi_spec_dest
+	  G_OS_WIN32 is only set when not building with cygwin, but
+	  ipi_spec_dest is missing both with and without cygwin.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=773114
+
+2016-10-26 08:51:40 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+	* ext/soup/gstsouphttpsrc.c:
+	  souphttpsrc: reset read_position when reading fails
+	  souphttpsrc maintains two variables for the position:
+	  * 'request_position' is where we want to be
+	  * 'read_position' is where we are
+	  During Normal operations both are updated in sync when data arrives. A seek
+	  changes 'request_position' but not 'read_position'.
+	  When the two positions get out of sync, then a new request is send and the
+	  'Range' header is adjusted to the current 'request_position'.
+	  Without this patch, if reading fails, then the source is destroyed. This
+	  triggers a new request, but the range remains unchanged. As a result, the
+	  old range is used and old data will be read.
+	  Changing the 'read_position' to -1 makes it explicitly different from
+	  'request_position' and as a result the 'Range' header is updated correctly.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=773509
+
+2016-10-25 08:54:34 -0700  Scott D Phillips <scott.d.phillips@intel.com>
+
+	* meson.build:
+	  meson: Don't depend on gstreamer-check-1.0 on windows
+	  https://bugzilla.gnome.org/show_bug.cgi?id=773114
+
+2016-10-25 15:24:20 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+	* gst/rtsp/gstrtspsrc.c:
+	  rtspsrc: reset connection info to non-flushing when closing
+	  This solves a hanging mainloop in following scenario:
+	  * connect to source
+	  * network/server drops
+	  * pipeline set to NULL (and connection to flushing as part)
+	  * pipeline set to PAUSED/PLAYING (connection to non-flushing, but not recorded)
+	  * [connecting still not possible]
+	  * pipeline set to NULL => mainloop hangs (since no actual flushing is done)
+
+2016-10-26 14:32:48 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/multifile/gstsplitmuxsink.c:
+	* gst/multifile/gstsplitmuxsink.h:
+	  splitmuxsink: Only allow one video request pad
+	  The pacing of the overall muxing is controlled
+	  by the video GOPs arriving, so we can only handle
+	  1 video stream, and the request pad is named accordingly.
+	  Ignore a request for a 2nd video pad if there's already
+	  an active one.
+
+2016-10-26 11:59:32 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/multifile/gstsplitmuxsink.c:
+	  splitmuxsink: Take ownership of floating refs
+	  sink the floating ref when handed a muxer or sink to use so
+	  we clearly take ownership.
+
+2016-10-25 14:51:52 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/multifile/gstsplitmuxsink.c:
+	  splitmuxsink: Set child elements to NULL when removing.
+	  Make sure that elements are in the NULL state when removing.
+	  Fixes critical warnings when errors occur early on in starting up.
+
+2016-10-25 14:50:53 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/multifile/gstsplitmuxsink.c:
+	  splitmuxsink: Set pad template on request sink pads
+	  Ensure that the ghost pad returned as a request pad
+	  has the template that was requested
+
+2016-10-25 10:50:47 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* meson.build:
+	* tests/check/meson.build:
+	  Revert "meson: move gstreamer-check-1.0 dependency to tests/check"
+	  This reverts commit 46632694662b96fddb848a1f2091a215b28a2d35.
+	  Does not actually work. See:
+	  https://bugzilla.gnome.org/show_bug.cgi?id=773114#c31
+
+2016-06-08 11:24:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst/flv/gstflvmux.c:
+	  flvmux: Assume PTS is DTS when PTS is missing
+	  This fixes issue for encoders that only sets the DTS. We assume that
+	  there was no re-ordering when that happens.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=762207
+
+2016-10-24 00:34:15 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/meson.build:
+	  meson: fix build outside of gst-all
+
+2016-10-21 00:42:54 -0700  Scott D Phillips <scott.d.phillips@intel.com>
+
+	* sys/directsound/meson.build:
+	  meson: directsound: Add ole32 library dependency
+	  https://bugzilla.gnome.org/show_bug.cgi?id=773114
+
+2016-10-21 00:42:18 -0700  Scott D Phillips <scott.d.phillips@intel.com>
+
+	* meson.build:
+	* tests/check/meson.build:
+	  meson: move gstreamer-check-1.0 dependency to tests/check
+	  https://bugzilla.gnome.org/show_bug.cgi?id=773114
+
+2016-10-20 22:08:14 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/videomixer.c:
+	  tests: videomixer: disable racy flush_start_flush_stop test
+	  It's been broken for years, and it's unlikely it will ever
+	  be fixed for collectpads/videomixer now that there's compositor
+	  which works fine. So let's disable it, since all it does
+	  is that it creates noise that distracts from other failures.
+	  Also see the corresponding adder bug as it failed in the same way:
+	  https://bugzilla.gnome.org/show_bug.cgi?id=708891
+
+2016-10-09 16:56:10 +0200  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+	* tests/check/elements/souphttpsrc.c:
+	  tests: Fix souphttpsrc tests without CK_FORK=no
+	  It seems that the forked processes all attempt to handle the listening
+	  socket from the server, and only one has to shutdown the socket to break
+	  the server completely.
+	  Create a new server inside each test to avoid this.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=772656
+
+2016-10-09 15:23:51 +0200  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+	* tests/check/elements/level.c:
+	  tests: Fix level test in CK_FORK=no mode
+	  The tests accumulate buffers in GstCheck's buffers list, and the list is
+	  not (consistently) reset between tests. Do that and remove the now
+	  conflicting unrefs for outbuffers.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=772644
+
+2016-10-07 13:04:27 +0530  Gaurav Gupta <g.gupta@samsung.com>
+
+	* sys/waveform/gstwaveformsink.c:
+	  waveformsink: Fix Memory leak using GST_PTR_FORMAT
+	  https://bugzilla.gnome.org/show_bug.cgi?id=772497
+
+2016-10-18 12:23:42 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/monoscope/meson.build:
+	  meson: Add missing gstaudio dep to monoscope
+	  In file included from ../subprojects/gst-plugins-good/gst/monoscope/gstmonoscope.c:42:0:
+	  ../subprojects/gst-plugins-base/gst-libs/gst/audio/audio.h:26:39: fatal error: gst/audio/audio-enumtypes.h: No such file or directory
+	  #include <gst/audio/audio-enumtypes.h>
+	  ^
+	  compilation terminated.
+	  https://ci.gstreamer.net/job/GStreamer-master-meson/271/console
+
+2016-10-16 02:18:22 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/multifile/meson.build:
+	  meson: Add missing pbutils dependency to multifile
+	  Found via the Jenkins CI:
+	  FAILED: subprojects/gst-plugins-good/gst/multifile/gstmultifile@sha/gstsplitmuxsink.c.o
+	  [...]
+	  In file included from ../subprojects/gst-plugins-good/gst/multifile/gstsplitmuxsink.h:24:0,
+	  from ../subprojects/gst-plugins-good/gst/multifile/gstsplitmuxsink.c:59:
+	  ../subprojects/gst-plugins-base/gst-libs/gst/pbutils/pbutils.h:30:43: fatal error: gst/pbutils/pbutils-enumtypes.h: No such file or directory
+	  #include <gst/pbutils/pbutils-enumtypes.h>
+	  ^
+	  compilation terminated.
+	  https://ci.gstreamer.net/job/GStreamer-master-meson/263/console
+
+2016-10-15 22:11:08 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* meson.build:
+	  meson: Don't set c_std to gnu99
+	  Use the default for each compiler on every platform instead. This
+	  improves our compatibility with compilers that don't have gnu99 as
+	  a c_std.
+
+2016-10-04 18:04:11 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
+
+	* meson.build:
+	* tests/check/getpluginsdir:
+	* tests/check/meson.build:
+	  meson: Make use of new environment object and set plugin path to builddir
+	  Workaround source_root being the root directory of all projects in the subproject
+	  case and remove now unneeded getpluginsdir
+	  Bump meson requirement to 0.35
+
+2016-10-06 11:15:54 +0530  Gaurav Gupta <g.gupta@samsung.com>
+
+	* tests/examples/rtp/client-rtpaux.c:
+	  tests: Fix memory leak in test rtpaux test
+	  https://bugzilla.gnome.org/show_bug.cgi?id=772496
+
+2016-10-03 11:27:54 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/imagefreeze/gstimagefreeze.c:
+	  imagefreeze: Forward latency queries to upstream
+	  Without this, latency queries to imagefreeze will fail.
+
+2016-09-30 11:35:39 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
+
+	* hooks/pre-commit.hook:
+	* meson.build:
+	* tests/check/getpluginsdir:
+	  meson: Setup pre commit hook and fix getpluginsdir for standalone case
+
+2016-09-29 04:55:14 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst/multifile/gstsplitmuxsrc.c:
+	  splitmuxsrc: Handle stop point from segment
+	  If the seek stop point (or start, during reverse play)
+	  was within the segment we just finished, go EOS immediately
+	  instead of proceeding through all other parts and sending
+	  0 length seeks to them.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=772138
+
+2016-09-29 03:21:26 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst/multifile/gstsplitmuxsrc.c:
+	  splitmuxsrc: Drop lock shutting down pads
+	  Avoid a sporadic deadlock on shutdown by dropping
+	  the splitmux lock around pad shutdown
+	  https://bugzilla.gnome.org/show_bug.cgi?id=772138
+
+2016-09-29 02:47:36 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst/multifile/gstsplitmuxpartreader.c:
+	  splitmuxsrc: Fix extra unref handling queries
+	  https://bugzilla.gnome.org/show_bug.cgi?id=772138
+
+2016-09-29 04:50:25 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst/multifile/gstsplitmuxpartreader.c:
+	* gst/multifile/gstsplitmuxpartreader.h:
+	* gst/multifile/gstsplitmuxsrc.c:
+	  splitmuxsrc: Avoid stall when parts get out of sync
+	  When one part moves ahead of the others - due to excessive
+	  downstream queueing, or really small input files - then
+	  we can end up activating parts more than once. That can lead to
+	  effects like shutting down pad tasks prematurely.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=772138
+
+2016-09-30 11:41:19 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* meson.build:
+	  meson: update version
+
+=== release 1.9.90 ===
+
+2016-09-30 13:02:19 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ChangeLog:
+	* NEWS:
+	* RELEASE:
+	* configure.ac:
+	* docs/plugins/gst-plugins-good-plugins.args:
+	* docs/plugins/gst-plugins-good-plugins.interfaces:
+	* docs/plugins/inspect/plugin-1394.xml:
+	* docs/plugins/inspect/plugin-aasink.xml:
+	* docs/plugins/inspect/plugin-alaw.xml:
+	* docs/plugins/inspect/plugin-alpha.xml:
+	* docs/plugins/inspect/plugin-alphacolor.xml:
+	* docs/plugins/inspect/plugin-apetag.xml:
+	* docs/plugins/inspect/plugin-audiofx.xml:
+	* docs/plugins/inspect/plugin-audioparsers.xml:
+	* docs/plugins/inspect/plugin-auparse.xml:
+	* docs/plugins/inspect/plugin-autodetect.xml:
+	* docs/plugins/inspect/plugin-avi.xml:
+	* docs/plugins/inspect/plugin-cacasink.xml:
+	* docs/plugins/inspect/plugin-cairo.xml:
+	* docs/plugins/inspect/plugin-cutter.xml:
+	* docs/plugins/inspect/plugin-debug.xml:
+	* docs/plugins/inspect/plugin-deinterlace.xml:
+	* docs/plugins/inspect/plugin-dtmf.xml:
+	* docs/plugins/inspect/plugin-dv.xml:
+	* docs/plugins/inspect/plugin-effectv.xml:
+	* docs/plugins/inspect/plugin-equalizer.xml:
+	* docs/plugins/inspect/plugin-flac.xml:
+	* docs/plugins/inspect/plugin-flv.xml:
+	* docs/plugins/inspect/plugin-flxdec.xml:
+	* docs/plugins/inspect/plugin-gdkpixbuf.xml:
+	* docs/plugins/inspect/plugin-goom.xml:
+	* docs/plugins/inspect/plugin-goom2k1.xml:
+	* docs/plugins/inspect/plugin-icydemux.xml:
+	* docs/plugins/inspect/plugin-id3demux.xml:
+	* docs/plugins/inspect/plugin-imagefreeze.xml:
+	* docs/plugins/inspect/plugin-interleave.xml:
+	* docs/plugins/inspect/plugin-isomp4.xml:
+	* docs/plugins/inspect/plugin-jack.xml:
+	* docs/plugins/inspect/plugin-jpeg.xml:
+	* docs/plugins/inspect/plugin-level.xml:
+	* docs/plugins/inspect/plugin-matroska.xml:
+	* docs/plugins/inspect/plugin-mulaw.xml:
+	* docs/plugins/inspect/plugin-multifile.xml:
+	* docs/plugins/inspect/plugin-multipart.xml:
+	* docs/plugins/inspect/plugin-navigationtest.xml:
+	* docs/plugins/inspect/plugin-oss4.xml:
+	* docs/plugins/inspect/plugin-ossaudio.xml:
+	* docs/plugins/inspect/plugin-png.xml:
+	* docs/plugins/inspect/plugin-pulseaudio.xml:
+	* docs/plugins/inspect/plugin-replaygain.xml:
+	* docs/plugins/inspect/plugin-rtp.xml:
+	* docs/plugins/inspect/plugin-rtpmanager.xml:
+	* docs/plugins/inspect/plugin-rtsp.xml:
+	* docs/plugins/inspect/plugin-shapewipe.xml:
+	* docs/plugins/inspect/plugin-shout2send.xml:
+	* docs/plugins/inspect/plugin-smpte.xml:
+	* docs/plugins/inspect/plugin-soup.xml:
+	* docs/plugins/inspect/plugin-spectrum.xml:
+	* docs/plugins/inspect/plugin-speex.xml:
+	* docs/plugins/inspect/plugin-taglib.xml:
+	* docs/plugins/inspect/plugin-udp.xml:
+	* docs/plugins/inspect/plugin-video4linux2.xml:
+	* docs/plugins/inspect/plugin-videobox.xml:
+	* docs/plugins/inspect/plugin-videocrop.xml:
+	* docs/plugins/inspect/plugin-videofilter.xml:
+	* docs/plugins/inspect/plugin-videomixer.xml:
+	* docs/plugins/inspect/plugin-vpx.xml:
+	* docs/plugins/inspect/plugin-wavenc.xml:
+	* docs/plugins/inspect/plugin-wavpack.xml:
+	* docs/plugins/inspect/plugin-wavparse.xml:
+	* docs/plugins/inspect/plugin-ximagesrc.xml:
+	* docs/plugins/inspect/plugin-y4menc.xml:
+	* gst-plugins-good.doap:
+	* win32/common/config.h:
+	  Release 1.9.90
+
+2016-09-30 12:17:26 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* po/af.po:
+	* po/az.po:
+	* po/bg.po:
+	* po/ca.po:
+	* po/cs.po:
+	* po/da.po:
+	* po/de.po:
+	* po/el.po:
+	* po/en_GB.po:
+	* po/eo.po:
+	* po/es.po:
+	* po/eu.po:
+	* po/fi.po:
+	* po/fr.po:
+	* po/gl.po:
+	* po/hr.po:
+	* po/hu.po:
+	* po/id.po:
+	* po/it.po:
+	* po/ja.po:
+	* po/lt.po:
+	* po/lv.po:
+	* po/mt.po:
+	* po/nb.po:
+	* po/nl.po:
+	* po/or.po:
+	* po/pl.po:
+	* po/pt_BR.po:
+	* po/ro.po:
+	* po/ru.po:
+	* po/sk.po:
+	* po/sl.po:
+	* po/sq.po:
+	* po/sr.po:
+	* po/sv.po:
+	* po/tr.po:
+	* po/uk.po:
+	* po/vi.po:
+	* po/zh_CN.po:
+	* po/zh_HK.po:
+	* po/zh_TW.po:
+	  Update .po files
 
 2016-09-30 11:43:54 +0300  Sebastian Dröge <sebastian@centricular.com>
 
diff --git a/NEWS b/NEWS
index 072b2df..547de7f 100644
--- a/NEWS
+++ b/NEWS
@@ -1 +1,1114 @@
-This is GStreamer 1.9.90
+# GStreamer 1.10 Release Notes
+
+**GStreamer 1.10.0 was released on 1st November 2016.**
+
+The GStreamer team is proud to announce a new major feature release in the
+stable 1.x API series of your favourite cross-platform multimedia framework!
+
+As always, this release is again packed with new features, bug fixes and other
+improvements.
+
+See [https://gstreamer.freedesktop.org/releases/1.10/][latest] for the latest
+version of this document.
+
+*Last updated: Tuesday 1 Nov 2016, 15:00 UTC [(log)][gitlog]*
+
+[latest]: https://gstreamer.freedesktop.org/releases/1.10/
+[gitlog]: https://cgit.freedesktop.org/gstreamer/www/log/src/htdocs/releases/1.10/release-notes-1.10.md
+
+## Introduction
+
+The GStreamer team is proud to announce a new major feature release in the
+stable 1.x API series of your favourite cross-platform multimedia framework!
+
+As always, this release is again packed with new features, bug fixes and other
+improvements.
+
+## Highlights
+
+- Several convenience APIs have been added to make developers' lives easier
+- A new `GstStream` API provides applications a more meaningful view of the
+  structure of streams, simplifying the process of dealing with media in
+  complex container formats
+- Experimental `decodebin3` and `playbin3` elements which bring a number of
+  improvements which were hard to implement within `decodebin` and `playbin`
+- A new `parsebin` element to automatically unpack and parse a stream, stopping
+  just short of decoding
+- Experimental new `meson`-based build system, bringing faster build and much
+  better Windows support (including for building with Visual Studio)
+- A new `gst-docs` module has been created, and we are in the process of moving
+  our documentation to a markdown-based format for easier maintenance and
+  updates
+- A new `gst-examples` module has been create, which contains example
+  GStreamer applications and is expected to grow with many more examples in
+  the future
+- Various OpenGL and OpenGL|ES-related fixes and improvements for greater
+  efficiency on desktop and mobile platforms, and Vulkan support on Wayland was
+  also added
+- Extensive improvements to the VAAPI plugins for improved robustness and
+  efficiency
+- Lots of fixes and improvements across the board, spanning RTP/RTSP, V4L2,
+  Bluetooth, audio conversion, echo cancellation, and more!
+
+## Major new features and changes
+
+### Noteworthy new API, features and other changes
+
+#### Core API additions
+
+##### Receive property change notifications via bus messages
+
+New API was added to receive element property change notifications via
+bus messages. So far, applications had to connect a callback to an element's
+`notify::property-name` signal via the GObject API, which was inconvenient for
+at least two reasons: one had to implement a signal callback function, and that
+callback function would usually be called from one of the streaming threads, so
+one had to marshal (send) any information gathered or pending requests to the
+main application thread which was tedious and error-prone.
+
+Enter [`gst_element_add_property_notify_watch()`][notify-watch] and
+[`gst_element_add_property_deep_notify_watch()`][deep-notify-watch] which will
+watch for changes of a property on the specified element, either only for this
+element or recursively for a whole bin or pipeline. Whenever such a
+property change happens, a `GST_MESSAGE_PROPERTY_NOTIFY` message will be posted
+on the pipeline bus with details of the element, the property and the new
+property value, all of which can be retrieved later from the message in the
+application via [`gst_message_parse_property_notify()`][parse-notify]. Unlike
+the GstBus watch functions, this API does not rely on a running GLib main loop.
+
+The above can be used to be notified asynchronously of caps changes in the
+pipeline, or volume changes on an audio sink element, for example.
+
+[notify-watch]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-add-property-notify-watch
+[deep-notify-watch]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-add-property-deep-notify-watch
+[parse-notify]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-parse-property-notify
+
+##### GstBin "deep" element-added and element-removed signals
+
+GstBin has gained `"deep-element-added"` and `"deep-element-removed"` signals
+which makes it easier for applications and higher-level plugins to track when
+elements are added or removed from a complex pipeline with multiple sub-bins.
+
+`playbin` makes use of this to implement the new `"element-setup"` signal which
+can be used to configure elements as they are added to `playbin`, just like the
+existing `"source-setup"` signal which can be used to configure the source
+element created.
+
+##### Error messages can contain additional structured details
+
+It is often useful to provide additional, structured information in error,
+warning or info messages for applications (or higher-level elements) to make
+intelligent decisions based on them. To allow this, error, warning and info
+messages now have API for adding arbitrary additional information to them
+using a `GstStructure`:
+[`GST_ELEMENT_ERROR_WITH_DETAILS`][element-error-with-details] and
+corresponding API for the other message types.
+
+This is now used e.g. by the new [`GST_ELEMENT_FLOW_ERROR`][element-flow-error]
+API to include the actual flow error in the error message, and the
+[souphttpsrc element][souphttpsrc-detailed-errors] to provide the HTTP
+status code, and the URL (if any) to which a redirection has happened.
+
+[element-error-with-details]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-ELEMENT-ERROR-WITH-DETAILS:CAPS
+[element-flow-error]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-ELEMENT-FLOW-ERROR:CAPS
+[souphttpsrc-detailed-errors]: https://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/ext/soup/gstsouphttpsrc.c?id=60d30db912a1aedd743e66b9dcd2e21d71fbb24f#n1318
+
+##### Redirect messages have official API now
+
+Sometimes, elements need to redirect the current stream URL and tell the
+application to proceed with this new URL, possibly using a different
+protocol too (thus changing the pipeline configuration). Until now, this was
+informally implemented using `ELEMENT` messages on the bus.
+
+Now this has been formalized in the form of a new `GST_MESSAGE_REDIRECT` message.
+A new redirect message can be created using [`gst_message_new_redirect()`][new-redirect].
+If needed, multiple redirect locations can be specified by calling
+[`gst_message_add_redirect_entry()`][add-redirect] to add further redirect
+entries, all with metadata, so the application can decide which is
+most suitable (e.g. depending on the bitrate tags).
+
+[new-redirect]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-new-redirect
+[add-redirect]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-add-redirect-entry
+
+##### New pad linking convenience functions that automatically create ghost pads
+
+New pad linking convenience functions were added:
+[`gst_pad_link_maybe_ghosting()`][pad-maybe-ghost] and
+[`gst_pad_link_maybe_ghosting_full()`][pad-maybe-ghost-full] which were
+previously internal to GStreamer have now been exposed for general use.
+
+The existing pad link functions will refuse to link pads or elements at
+different levels in the pipeline hierarchy, requiring the developer to
+create ghost pads where necessary. These new utility functions will
+automatically create ghostpads as needed when linking pads at different
+levels of the hierarchy (e.g. from an element inside a bin to one that's at
+the same level in the hierarchy as the bin, or in another bin).
+
+[pad-maybe-ghost]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-link-maybe-ghosting
+[pad-maybe-ghost-full]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-link-maybe-ghosting-full
+
+##### Miscellaneous
+
+Pad probes: IDLE and BLOCK probes now work slightly differently in pull mode,
+so that push and pull mode have opposite scenarios for idle and blocking probes.
+In push mode, it will block with some data type and IDLE won't have any data.
+In pull mode, it will block _before_ getting a buffer and will be IDLE once some
+data has been obtained. ([commit][commit-pad-probes], [bug][bug-pad-probes])
+
+[commit-pad-probes]: https://cgit.freedesktop.org/gstreamer/gstreamer/commit/gst/gstpad.c?id=368ee8a336d0c868d81fdace54b24431a8b48cbf
+[bug-pad-probes]: https://bugzilla.gnome.org/show_bug.cgi?id=761211
+
+[`gst_parse_launch_full()`][parse-launch-full] can now be made to return a
+`GstBin` instead of a top-level pipeline by passing the new
+`GST_PARSE_FLAG_PLACE_IN_BIN` flag.
+
+[parse-launch-full]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstParse.html#gst-parse-launch-full
+
+The default GStreamer debug log handler can now be removed before
+calling `gst_init()`, so that it will never get installed and won't be active
+during initialization.
+
+A new [`STREAM_GROUP_DONE` event][stream-group-done-event] was added. In some
+ways it works similar to the `EOS` event in that it can be used to unblock
+downstream elements which may be waiting for further data, such as for example
+`input-selector`. Unlike `EOS`, further data flow may happen after the
+`STREAM_GROUP_DONE` event though (and without the need to flush the pipeline).
+This is used to unblock input-selector when switching between streams in
+adaptive streaming scenarios (e.g. HLS).
+
+[stream-group-done-event]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-new-stream-group-done
+
+The `gst-launch-1.0` command line tool will now print unescaped caps in verbose
+mode (enabled by the -v switch).
+
+[`gst_element_call_async()`][call-async] has been added as convenience API for
+plugin developers. It is useful for one-shot operations that need to be done
+from a thread other than the current streaming thread. It is backed by a
+thread-pool that is shared by all elements.
+
+[call-async]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-call-async
+
+Various race conditions have been fixed around the `GstPoll` API used by e.g.
+`GstBus` and `GstBufferPool`. Some of these manifested themselves primarily
+on Windows.
+
+`GstAdapter` can now keep track of discontinuities signalled via the `DISCONT`
+buffer flag, and has gained [new API][new-adapter-api] to track PTS, DTS and
+offset at the last discont. This is useful for plugins implementing advanced
+trick mode scenarios.
+
+[new-adapter-api]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstAdapter.html#gst-adapter-pts-at-discont
+
+`GstTestClock` gained a new [`"clock-type"` property][clock-type-prop].
+
+[clock-type-prop]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstTestClock.html#GstTestClock--clock-type
+
+#### GstStream API for stream announcement and stream selection
+
+New stream listing and stream selection API: new API has been added to
+provide high-level abstractions for streams ([`GstStream`][stream-api])
+and collections of streams ([`GstStreamCollections`][stream-collection-api]).
+
+##### Stream listing
+
+A [`GstStream`][stream-api] contains all the information pertinent to a stream,
+such as stream id, caps, tags, flags and stream type(s); it can represent a
+single elementary stream (e.g. audio, video, subtitles, etc.) or a container
+stream. This will depend on the context. In a decodebin3/playbin3 one
+it will typically be elementary streams that can be selected and unselected.
+
+A [`GstStreamCollection`][stream-collection-api] represents a group of streams
+and is used to announce or publish all available streams. A GstStreamCollection
+is immutable - once created it won't change. If the available streams change,
+e.g. because a new stream appeared or some streams disappeared, a new stream
+collection will be published. This new stream collection may contain streams
+from the previous collection if those streams persist, or completely new ones.
+Stream collections do not yet list all theoretically available streams,
+e.g. other available DVD angles or alternative resolutions/bitrate of the same
+stream in case of adaptive streaming.
+
+New events and messages have been added to notify or update other elements and
+the application about which streams are currently available and/or selected.
+This way, we can easily and seamlessly let the application know whenever the
+available streams change, as happens frequently with digital television streams
+for example. The new system is also more flexible. For example, it is now also
+possible for the application to select multiple streams of the same type
+(e.g. in a transcoding/transmuxing scenario).
+
+A [`STREAM_COLLECTION` message][stream-collection-msg] is posted on the bus
+to inform the parent bin (e.g. `playbin3`, `decodebin3`) and/or the application
+about what streams are available, so you no longer have to hunt for this
+information at different places. The available information includes number of
+streams of each type, caps, tags etc.  Bins and/or the application can intercept
+the message synchronously to select and deselect streams before any data is
+produced - for the case where elements such as the demuxers support the new
+stream API, not necessarily in the parsebin compatibility fallback case.
+
+Similarly, there is also a [`STREAM_COLLECTION` event][stream-collection-event]
+to inform downstream elements of the available streams. This event can be used
+by elements to aggregate streams from multiple inputs into one single collection.
+
+The `STREAM_START` event was extended so that it can also contain a GstStream
+object with all information about the current stream, see
+[`gst_event_set_stream()`][event-set-stream] and
+[`gst_event_parse_stream()`][event-parse-stream].
+[`gst_pad_get_stream()`][pad-get-stream] is a new utility function that can be
+used to look up the GstStream from the `STREAM_START` sticky event on a pad.
+
+[stream-api]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStream.html
+[stream-collection-api]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStreamCollection.html
+[stream-collection-msg]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-new-stream-collection
+[stream-collection-event]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-new-stream-collection
+[event-set-stream]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-set-stream
+[event-parse-stream]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-parse-stream
+[pad-get-stream]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-get-stream
+
+##### Stream selection
+
+Once the available streams have been published, streams can be selected via
+their stream ID using the new `SELECT_STREAMS` event, which can be created
+with [`gst_event_new_select_streams()`][event-select-streams]. The new API
+supports selecting multiple streams per stream type. In the future, we may also
+implement explicit deselection of streams that will never be used, so
+elements can skip these and never expose them or output data for them in the
+first place.
+
+The application is then notified of the currently selected streams via the
+new `STREAMS_SELECTED` message on the pipeline bus, containing both the current
+stream collection as well as the selected streams. This might be posted in
+response to the application sending a `SELECT_STREAMS` event or when
+`decodebin3` or `playbin3` decide on the streams to be initially selected without
+application input.
+
+[event-select-streams]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-new-select-streams
+
+##### Further reading
+
+See further below for some notes on the new elements supporting this new
+stream API, namely: `decodebin3`, `playbin3` and `parsebin`.
+
+More information about the new API and the new elements can also be found here:
+
+- GStreamer [stream selection design docs][streams-design]
+- Edward Hervey's talk ["The new streams API: Design and usage"][streams-talk] ([slides][streams-slides])
+- Edward Hervey's talk ["Decodebin3: Dealing with modern playback use cases"][db3-talk] ([slides][db3-slides])
+
+[streams-design]: https://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/part-stream-selection.txt
+[streams-talk]: https://gstconf.ubicast.tv/videos/the-new-gststream-api-design-and-usage/
+[streams-slides]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2016/Edward%20Hervey%20-%20The%20New%20Streams%20API%20Design%20and%20Usage.pdf
+[db3-talk]: https://gstconf.ubicast.tv/videos/decodebin3-or-dealing-with-modern-playback-use-cases/
+[db3-slides]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2015/Edward%20Hervey%20-%20decodebin3.pdf
+
+#### Audio conversion and resampling API
+
+The audio conversion library received a completely new and rewritten audio
+resampler, complementing the audio conversion routines moved into the audio
+library in the [previous release][release-notes-1.8]. Integrating the resampler
+with the other audio conversion library allows us to implement generic
+conversion much more efficiently, as format conversion and resampling can now
+be done in the same processing loop instead of having to do it in separate
+steps (our element implementations do not make use of this yet though).
+
+The new audio resampler library is a combination of some of the best features
+of other samplers such as ffmpeg, speex and SRC. It natively supports S16, S32,
+F32 and F64 formats and uses optimized x86 and neon assembly for most of its
+processing. It also has support for dynamically changing sample rates by incrementally
+updating the filter tables using linear or cubic interpolation. According to
+some benchmarks, it's one of the fastest and most accurate resamplers around.
+
+The `audioresample` plugin has been ported to the new audio library functions
+to make use of the new resampler.
+
+[release-notes-1.8]: https://gstreamer.freedesktop.org/releases/1.8/
+
+#### Support for SMPTE timecodes
+
+Support for SMPTE timecodes was added to the GStreamer video library. This
+comes with an abstraction for timecodes, [`GstVideoTimeCode`][video-timecode]
+and a [`GstMeta`][video-timecode-meta] that can be placed on video buffers for
+carrying the timecode information for each frame. Additionally there is
+various API for making handling of timecodes easy and to do various
+calculations with them.
+
+A new plugin called [`timecode`][timecode-plugin] was added, that contains an
+element called `timecodestamper` for putting the timecode meta on video frames
+based on counting the frames and another element called `timecodewait` that
+drops all video (and audio) until a specific timecode is reached.
+
+Additionally support was added to the Decklink plugin for including the
+timecode information when sending video out or capturing it via SDI, the
+`qtmux` element is able to write timecode information into the MOV container,
+and the `timeoverlay` element can overlay timecodes on top of the video.
+
+More information can be found in the [talk about timecodes][timecode-talk] at
+the GStreamer Conference 2016.
+
+[video-timecode]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideo.html#GstVideoTimeCode
+[video-timecode-meta]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideometa.html#gst-buffer-add-video-time-code-meta
+[timecode-plugin]: https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/gst/timecode
+[timecode-talk]: https://gstconf.ubicast.tv/videos/smpte-timecodes-in-gstreamer/
+
+#### GStreamer OpenMAX IL plugin
+
+The last gst-omx release, 1.2.0, was in July 2014. It was about time to get
+a new one out with all the improvements that have happened in the meantime.
+From now on, we will try to release gst-omx together with all other modules.
+
+This release features a lot of bugfixes, improved support for the Raspberry Pi
+and in general improved support for zerocopy rendering via EGL and a few minor
+new features.
+
+At this point, gst-omx is known to work best on the Raspberry Pi platform but
+it is also known to work on various other platforms. Unfortunately, we are
+not including configurations for any other platforms, so if you happen to use
+gst-omx: please send us patches with your configuration and code changes!
+
+### New Elements
+
+#### decodebin3, playbin3, parsebin (experimental)
+
+This release features new decoding and playback elements as experimental
+technology previews: `decodebin3` and `playbin3` will soon supersede the
+existing `decodebin` and `playbin` elements. We skipped the number 2 because
+it was already used back in the 0.10 days, which might cause confusion.
+Experimental technology preview means that everything should work fine already,
+but we can't guarantee there won't be minor behavioural changes in the
+next cycle. In any case, please test and report any problems back.
+
+Before we go into detail about what these new elements improve, let's look at
+the new [`parsebin`][parsebin] element. It works similarly to `decodebin` and
+`decodebin3`, only that it stops one step short and does not plug any actual
+decoder elements. It will only plug parsers, tag readers, demuxers and
+depayloaders. Also note that parsebin does not contain any queueing element.
+
+[`decodebin3`'s][decodebin3] internal architecture is slightly different from
+the existing `decodebin` element and fixes many long-standing issues with our
+decoding engine. For one, data is now fed into the internal `multiqueue` element
+*after* it has been parsed and timestamped, which means that the `multiqueue`
+element now has more knowledge and is able to calculate the interleaving of the
+various streams, thus minimizing memory requirements and doing away with magic
+values for buffering limits that were conceived when videos were 240p or 360p.
+Anyone who has tried to play back 4k video streams with decodebin2
+will have noticed the limitations of that approach. The improved timestamp
+tracking also enables `multiqueue` to keep streams of the same type (audio,
+video) aligned better, making sure switching between streams of the same type
+is very fast.
+
+Another major improvement in `decodebin3` is that it will no longer decode
+streams that are not being used. With the old `decodebin` and `playbin`, when
+there were 8 audio streams we would always decode all 8 streams even
+if 7 were not actually used. This caused a lot of CPU overhead, which was
+particularly problematic on embedded devices. When switching between streams
+`decodebin3` will try hard to re-use existing decoders. This is useful when
+switching between multiple streams of the same type if they are encoded in the
+same format.
+
+Re-using decoders is also useful when the available streams change on the fly,
+as might happen with radio streams (chained Oggs), digital television
+broadcasts, when adaptive streaming streams change bitrate, or when switching
+gaplessly to the next title. In order to guarantee a seamless transition, the
+old `decodebin2` would plug a second decoder for the new stream while finishing
+up the old stream. With `decodebin3`, this is no longer needed - at least not
+when the new and old format are the same. This will be particularly useful
+on embedded systems where it is often not possible to run multiple decoders
+at the same time, or when tearing down and setting up decoders is fairly
+expensive.
+
+`decodebin3` also allows for multiple input streams, not just a single one.
+This will be useful, in the future, for gapless playback, or for feeding
+multiple external subtitle streams to decodebin/playbin.
+
+`playbin3` uses `decodebin3` internally, and will supercede `playbin`.
+It was decided that it would be too risky to make the old `playbin` use the
+new `decodebin3` in a backwards-compatible way. The new architecture
+makes it awkward, if not impossible, to maintain perfect backwards compatibility
+in some aspects, hence `playbin3` was born, and developers can migrate to the
+new element and new API at their own pace.
+
+All of these new elements make use of the new `GstStream` API for listing and
+selecting streams, as described above. `parsebin` provides backwards
+compatibility for demuxers and parsers which do not advertise their streams
+using the new API yet (which is most).
+
+The new elements are not entirely feature-complete yet: `playbin3` does not
+support so-called decodersinks yet where the data is not decoded inside
+GStreamer but passed directly for decoding to the sink. `decodebin3` is missing
+the various `autoplug-*` signals to influence which decoders get autoplugged
+in which order. We're looking to add back this functionality, but it will probably
+be in a different way, with a single unified signal and using GstStream perhaps.
+
+For more information on these new elements, check out Edward Hervey's talk
+[*decodebin3 - dealing with modern playback use cases*][db3-talk]
+
+[parsebin]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-parsebin.html
+[decodebin3]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-decodebin3.html
+[db3-talk]: https://gstconf.ubicast.tv/videos/decodebin3-or-dealing-with-modern-playback-use-cases/
+
+#### LV2 ported from 0.10 and switched from slv2 to lilv2
+
+The LV2 wrapper plugin has been ported to 1.0 and moved from using the
+deprecated slv2 library to its replacement liblv2. We support sources and
+filter elements. lv2 is short for *Linux Audio Developer's Simple Plugin API
+(LADSPA) version 2* and is an open standard for audio plugins which includes
+support for audio synthesis (generation), digital signal processing of digital
+audio, and MIDI. The new lv2 plugin supersedes the existing LADSPA plugin.
+
+#### WebRTC DSP Plugin for echo-cancellation, gain control and noise suppression
+
+A set of new elements ([webrtcdsp][webrtcdsp], [webrtcechoprobe][webrtcechoprobe])
+based on the WebRTC DSP software stack can now be used to improve your audio
+voice communication pipelines. They support echo cancellation, gain control,
+noise suppression and more. For more details you may read
+[Nicolas' blog post][webrtc-blog-post].
+
+[webrtcdsp]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-webrtcdsp.html
+[webrtcechoprobe]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-webrtcechoprobe.html
+[webrtc-blog-post]: https://ndufresne.ca/2016/06/gstreamer-echo-canceller/
+
+#### Fraunhofer FDK AAC encoder and decoder
+
+New encoder and decoder elements wrapping the Fraunhofer FDK AAC library have
+been added (`fdkaacdec`, `fdkaacdec`). The Fraunhofer FDK AAC encoder is
+generally considered to be a very high-quality AAC encoder, but unfortunately
+it comes under a non-free license with the option to obtain a paid, commercial
+license.
+
+### Noteworthy element features and additions
+
+#### Major RTP and RTSP improvements
+
+- The RTSP server and source element, as well as the RTP jitterbuffer now support
+  remote clock synchronization according to [RFC7273][https://tools.ietf.org/html/rfc7273].
+- Support for application and profile specific RTCP packets was added.
+- The H265/HEVC payloader/depayloader is again in sync with the final RFC.
+- Seeking stability of the RTSP source and server was improved a lot and
+  runs stably now, even when doing scrub-seeking.
+- The RTSP server received various major bugfixes, including for regressions that
+  caused the IP/port address pool to not be considered, or NAT hole punching
+  to not work anymore. [Bugzilla #766612][https://bugzilla.gnome.org/show_bug.cgi?id=766612]
+- Various other bugfixes that improve the stability of RTP and RTSP, including
+  many new unit / integration tests.
+
+#### Improvements to splitmuxsrc and splitmuxsink
+
+- The splitmux element received reliability and error handling improvements,
+  removing at least one deadlock case. `splitmuxsrc` now stops cleanly at the end
+  of the segment when handling seeks with a stop time. We fixed a bug with large
+  amounts of downstream buffering causing incorrect out-of-sequence playback.
+
+- `splitmuxsrc` now has a `"format-location"` signal to directly specify the list
+  of files to play from.
+
+- `splitmuxsink` can now optionally send force-keyunit events to upstream
+  elements to allow splitting files more accurately instead of having to wait
+  for upstream to provide a new keyframe by itself.
+
+#### OpenGL/GLES improvements
+
+##### iOS and macOS (OS/X)
+
+- We now create OpenGL|ES 3.x contexts on iOS by default with a fallback to
+  OpenGL|ES 2.x if that fails.
+- Various zerocopy decoding fixes and enhancements with the
+  encoding/decoding/capturing elements.
+- libdispatch is now used on all Apple platforms instead of GMainLoop, removing
+  the expensive poll()/pthread_*() overhead.
+
+##### New API
+
+- `GstGLFramebuffer` - for wrapping OpenGL frame buffer objects.  It provides
+  facilities for attaching `GstGLMemory` objects to the necessary attachment
+  points, binding and unbinding and running a user-supplied function with the
+  framebuffer bound.
+- `GstGLRenderbuffer` (a `GstGLBaseMemory` subclass) - for wrapping OpenGL
+  render buffer objects that are typically used for depth/stencil buffers or
+  for color buffers where we don't care about the output.
+- `GstGLMemoryEGL` (a `GstGLMemory` subclass) - for combining `EGLImage`s with a GL
+  texture that replaces `GstEGLImageMemory` bringing the improvements made to the
+  other `GstGLMemory` implementations.  This fixes a performance regression in
+  zerocopy decoding on the Raspberry Pi when used with an updated gst-omx.
+
+##### Miscellaneous improvements
+
+- `gltestsrc` is now usable on devices/platforms with OpenGL 3.x and OpenGL|ES
+  and has completed or gained support for new patterns in line with the
+  existing ones in `videotestsrc`.
+- `gldeinterlace` is now available on devices/platforms with OpenGL|ES
+  implementations.
+- The dispmanx backend (used on the Raspberry Pi) now supports the
+  `gst_video_overlay_set_window_handle()` and
+  `gst_video_overlay_set_render_rectangle()` functions.
+- The `gltransformation` element now correctly transforms mouse coordinates (in
+  window space) to stream coordinates for both perspective and orthographic
+  projections.
+- The `gltransformation` element now detects if the
+  `GstVideoAffineTransformationMeta` is supported downstream and will efficiently
+  pass its transformation downstream. This is a performance improvement as it
+  results in less processing being required.
+- The wayland implementation now uses the multi-threaded safe event-loop API
+  allowing correct usage in applications that call wayland functions from
+  multiple threads.
+- Support for native 90 degree rotations and horizontal/vertical flips
+  in `glimagesink`.
+
+#### Vulkan
+
+- The Vulkan elements now work under Wayland and have received numerous
+  bugfixes.
+
+#### QML elements
+
+- `qmlglsink` video sink now works on more platforms, notably, Windows, Wayland,
+  and Qt's eglfs (for embedded devices with an OpenGL implementation) including
+  the Raspberry Pi.
+- New element `qmlglsrc` to record a QML scene into a GStreamer pipeline.
+
+#### KMS video sink
+
+- New element `kmssink` to render video using Direct Rendering Manager
+  (DRM) and Kernel Mode Setting (KMS) subsystems in the Linux
+  kernel. It is oriented to be used mostly in embedded systems.
+
+#### Wayland video sink
+
+- `waylandsink` now supports the wl_viewporter extension allowing
+  video scaling and cropping to be delegated to the Wayland
+  compositor. This extension is also been made optional, so that it can
+  also work on current compositors that don't support it. It also now has
+  support for the video meta, allowing zero-copy operations in more
+  cases.
+
+#### DVB improvements
+
+- `dvbsrc` now has better delivery-system autodetection and several
+  new parameter sanity-checks to improve its resilience to configuration
+  omissions and errors. Superfluous polling continues to be trimmed down,
+  and the debugging output has been made more consistent and precise.
+  Additionally, the channel-configuration parser now supports the new dvbv5
+  format, enabling `dvbbasebin` to automatically playback content transmitted
+  on delivery systems that previously required manual description, like ISDB-T.
+
+#### DASH, HLS and adaptivedemux
+
+- HLS now has support for Alternate Rendition audio and video tracks. Full
+  support for Alternate Rendition subtitle tracks will be in an upcoming release.
+- DASH received support for keyframe-only trick modes if the
+  `GST_SEEK_FLAG_TRICKMODE_KEY_UNITS` flag is given when seeking. It will
+  only download keyframes then, which should help with high-speed playback.
+  Changes to skip over multiple frames based on bandwidth and other metrics
+  will be added in the near future.
+- Lots of reliability fixes around seek handling and bitrate switching.
+
+#### Bluetooth improvements
+
+- The `avdtpsrc` element now supports metadata such as track title, artist
+  name, and more, which devices can send via AVRCP. These are published as
+  tags on the pipeline.
+- The `a2dpsink` element received some love and was cleaned up so that it
+  actually works after the initial GStreamer 1.0 port.
+
+#### GStreamer VAAPI
+
+- All the decoders have been split, one plugin feature per codec. So
+  far, the available ones, depending on the driver, are:
+  `vaapimpeg2dec`, `vaapih264dec`, `vaapih265dec`, `vaapivc1dec`, `vaapivp8dec`,
+  `vaapivp9dec` and `vaapijpegdec` (which already was split).
+- Improvements when mapping VA surfaces into memory. It now differentiates
+  between negotiation caps and allocations caps, since the allocation
+  memory for surfaces may be bigger than one that is going to be
+  mapped.
+- `vaapih265enc` now supports constant bitrate mode (CBR).
+- Since several VA drivers are unmaintained, we decide to keep a whitelist
+  with the va drivers we actually test, which is mostly the i915 and to a lesser
+  degree gallium from the mesa project. Exporting the environment variable
+  `GST_VAAPI_ALL_DRIVERS` disables the whitelist.
+- Plugin features are registered at run-time, according to their support by
+  the loaded VA driver. So only the decoders and encoder supported by the
+  system are registered. Since the driver can change, some dependencies are
+  tracked to invalidate the GStreamer registry and reload the plugin.
+- `dmabuf` importation from upstream has been improved, gaining performance.
+- `vaapipostproc` now can negotiate buffer transformations via caps.
+- Decoders now can do I-frame only reverse playback. This decodes I-frames
+  only because the surface pool is smaller than the required by the GOP to show all the
+  frames.
+- The upload of frames onto native GL textures has been optimized too, keeping
+  a cache of the internal structures for the offered textures by the sink.
+
+#### V4L2 changes
+
+- More pixels formats are now supported
+- Decoder is now using `G_SELECTION` instead of the deprecated `G_CROP`
+- Decoder now uses the `STOP` command to handle EOS
+- Transform element can now scale the pixel aspect ratio
+- Colorimetry support has been improved even more
+- We now support the `OUTPUT_OVERLAY` type of video node in v4l2sink
+
+#### Miscellaneous
+
+- `multiqueue`'s input pads gained a new `"group-id"` property which
+  can be used to group input streams. Typically one will assign
+  different id numbers to audio, video and subtitle streams for
+  example. This way `multiqueue` can make sure streams of the same
+  type advance in lockstep if some of the streams are unlinked and the
+  `"sync-by-running-time"` property is set. This is used in
+  decodebin3/playbin3 to implement almost-instantaneous stream
+  switching.  The grouping is required because different downstream
+  paths (audio, video, etc.)  may have different buffering/latency
+  etc. so might be consuming data from multiqueue with a slightly
+  different phase, and if we track different stream groups separately
+  we minimize stream switching delays and buffering inside the
+  `multiqueue`.
+- `alsasrc` now supports ALSA drivers without a position for each
+  channel, this is common in some professional or industrial hardware.
+- `libvpx` based decoders (`vp8dec` and `vp9dec`) now create multiple threads on
+  computers with multiple CPUs automatically.
+- `rfbsrc` - used for capturing from a VNC server - has seen a lot of
+  debugging. It now supports the latest version of the RFB
+  protocol and uses GIO everywhere.
+- `tsdemux` can now read ATSC E-AC-3 streams.
+- New `GstVideoDirection` video orientation interface for rotating, flipping
+  and mirroring video in 90° steps. It is implemented by the `videoflip` and
+  `glvideoflip` elements currently.
+- It is now possible to give `appsrc` a duration in time, and there is now a
+  non-blocking try-pull API for `appsink` that returns NULL if nothing is
+  available right now.
+- `x264enc` has support now for chroma-site and colorimetry settings
+- A new JPEG2000 parser element was added, and the JPEG2000 caps were cleaned
+  up and gained more information needed in combination with RTP and various
+  container formats.
+- Reverse playback support for `videorate` and `deinterlace` was implemented
+- Various improvements everywhere for reverse playback and `KEY_UNITS` trick mode
+- New cleaned up `rawaudioparse` and `rawvideoparse` elements that replace the
+  old `audioparse` and `videoparse` elements. There are compatibility element
+  factories registered with the old names to allow existing code to continue
+  to work.
+- The Decklink plugin gained support for 10 bit video SMPTE timecodes, and
+  generally got many bugfixes for various issues.
+- New API in `GstPlayer` for setting the multiview mode for stereoscopic
+  video, setting an HTTP/RTSP user agent and a time offset between audio and
+  video. In addition to that, there were various bugfixes and the new
+  gst-examples module contains Android, iOS, GTK+ and Qt example applications.
+- `GstBin` has new API for suppressing various `GstElement` or `GstObject`
+  flags that would otherwise be affected by added/removed child elements. This
+  new API allows `GstBin` subclasses to handle for themselves if they
+  should be considered a sink or source element, for example.
+- The `subparse` element can handle WebVTT streams now.
+- A new `sdpsrc` element was added that can read an SDP from a file, or get it
+  as a string as property and then sets up an RTP pipeline accordingly.
+
+### Plugin moves
+
+No plugins were moved this cycle. We'll make up for it next cycle, promise!
+
+### Rewritten memory leak tracer
+
+GStreamer has had basic functionality to trace allocation and freeing of
+both mini-objects (buffers, events, caps, etc.) and objects in the form of the
+internal `GstAllocTrace` tracing system. This API was never exposed in the
+1.x API series though. When requested, this would dump a list of objects and
+mini-objects at exit time which had still not been freed at that point,
+enabled with an environment variable. This subsystem has now been removed
+in favour of a new implementation based on the recently-added tracing framework.
+
+Tracing hooks have been added to trace the creation and destruction of
+GstObjects and mini-objects, and a new tracer plugin has been written using
+those new hooks to track which objects are still live and which are not. If
+GStreamer has been compiled against the libunwind library, the new leaks tracer
+will remember where objects were allocated from as well. By default the leaks
+tracer will simply output a warning if leaks have been detected on `gst_deinit()`.
+
+If the `GST_LEAKS_TRACER_SIG` environment variable is set, the leaks tracer
+will also handle the following UNIX signals:
+
+ - `SIGUSR1`: log alive objects
+ - `SIGUSR2`: create a checkpoint and print a list of objects created and
+   destroyed since the previous checkpoint.
+
+Unfortunately this will not work on Windows due to no signals, however.
+
+If the `GST_LEAKS_TRACER_STACK_TRACE` environment variable is set, the leaks
+tracer will also log the creation stack trace of leaked objects. This may
+significantly increase memory consumption however.
+
+New `MAY_BE_LEAKED` flags have been added to GstObject and GstMiniObject, so
+that objects and mini-objects that are likely to stay around forever can be
+flagged and blacklisted from the leak output.
+
+To give the new leak tracer a spin, simply call any GStreamer application such
+as `gst-launch-1.0` or `gst-play-1.0` like this:
+
+    GST_TRACERS=leaks gst-launch-1.0 videotestsrc num-buffers=10 ! fakesink
+
+If there are any leaks, a warning will be raised at the end.
+
+It is also possible to trace only certain types of objects or mini-objects:
+
+    GST_TRACERS="leaks(GstEvent,GstMessage)" gst-launch-1.0 videotestsrc num-buffers=10 ! fakesink
+
+This dedicated leaks tracer is much much faster than valgrind since all code is
+executed natively instead of being instrumented. This makes it very suitable
+for use on slow machines or embedded devices. It is however limited to certain
+types of leaks and won't catch memory leaks when the allocation has been made
+via plain old `malloc()` or `g_malloc()` or other means. It will also not trace
+non-GstObject GObjects.
+
+The goal is to enable leak tracing on GStreamer's Continuous-Integration and
+testing system, both for the regular unit tests (make check) and media tests
+(gst-validate), so that accidental leaks in common code paths can be detected
+and fixed quickly.
+
+For more information about the new tracer, check out Guillaume Desmottes's
+["Tracking Memory Leaks"][leaks-talk] talk or his [blog post][leaks-blog] about
+the topic.
+
+[leaks-talk]: https://gstconf.ubicast.tv/videos/tracking-memory-leaks/
+[leaks-blog]: https://blog.desmottes.be/?post/2016/06/20/GStreamer-leaks-tracer
+
+### GES and NLE changes
+
+- Clip priorities are now handled by the layers, and the GESTimelineElement
+  priority property is now deprecated and unused
+- Enhanced (de)interlacing support to always use the `deinterlace` element
+  and expose needed properties to users
+- Allow reusing clips children after removing the clip from a layer
+- We are now testing many more rendering formats in the gst-validate
+  test suite, and failures have been fixed.
+- Also many bugs have been fixed in this cycle!
+
+### GStreamer validate changes
+
+This cycle has been focused on making GstValidate more than just a validating
+tool, but also a tool to help developers debug their GStreamer issues. When
+reporting issues, we try to gather as much information as possible and expose
+it to end users in a useful way. For an example of such enhancements, check out
+Thibault Saunier's [blog post](improving-debugging-gstreamer-validate) about
+the new Not Negotiated Error reporting mechanism.
+
+Playbin3 support has been added so we can run validate tests with `playbin3`
+instead of playbin.
+
+We are now able to properly communicate between `gst-validate-launcher` and
+launched subprocesses with actual IPC between them. That has enabled the test
+launcher to handle failing tests specifying the exact expected issue(s).
+
+[improving-debugging-gstreamer-validate]: https://blogs.s-osg.org/improving-debugging-gstreamer-validate/
+
+### gst-libav changes
+
+gst-libav uses the recently released ffmpeg 3.2 now, which brings a lot of
+improvements and bugfixes from the ffmpeg team in addition to various new
+codec mappings on the GStreamer side and quite a few bugfixes to the GStreamer
+integration to make it more robust.
+
+## Build and Dependencies
+
+### Experimental support for Meson as build system
+
+#### Overview
+
+We have have added support for building GStreamer using the
+[Meson build system][meson]. This is currently experimental, but should work
+fine at least on Linux using the gcc or clang toolchains and on Windows using
+the MingW or MSVC toolchains.
+
+Autotools remains the primary build system for the time being, but we hope to
+someday replace it and will steadily work towards that goal.
+
+More information about the background and implications of all this and where
+we're hoping to go in future with this can be found in [Tim's mail][meson-mail]
+to the gstreamer-devel mailing list.
+
+For more information on Meson check out [these videos][meson-videos] and also
+the [Meson talk][meson-gstconf] at the GStreamer Conference.
+
+Immediate benefits for Linux users are faster builds and rebuilds. At the time
+of writing the Meson build of GStreamer is used by default in GNOME's jhbuild
+system.
+
+The Meson build currently still lacks many of the fine-grained configuration
+options to enable/disable specific plugins. These will be added back in due
+course.
+
+Note: The meson build files are not distributed in the source tarballs, you will
+need to get GStreamer from git if you want try it out.
+
+[meson]: http://mesonbuild.com/
+[meson-mail]: https://lists.freedesktop.org/archives/gstreamer-devel/2016-September/060231.html
+[meson-videos]: http://mesonbuild.com/videos.html
+[meson-gstconf]: https://gstconf.ubicast.tv/videos/gstreamer-development-on-windows-ans-faster-builds-everywhere-with-meson/
+
+#### Windows Visual Studio toolchain support
+
+Windows users might appreciate being able to build GStreamer using the MSVC
+toolchain, which is not possible using autotools. This means that it will be
+possible to debug GStreamer and applications in Visual Studio, for example.
+We require VS2015 or newer for this at the moment.
+
+There are two ways to build GStreamer using the MSVC toolchain:
+
+1. Using the MSVC command-line tools (`cl.exe` etc.) via Meson's "ninja" backend.
+2. Letting Meson's "vs2015" backend generate Visual Studio project files that
+   can be opened in Visual Studio and compiled from there.
+
+This is currently only for adventurous souls though. All the bits are in place,
+but support for all of this has not been merged into GStreamer's cerbero build
+tool yet at the time of writing. This will hopefully happen in the next cycle,
+but for now this means that those wishing to compile GStreamer with MSVC will
+have to get their hands dirty.
+
+There are also no binary SDK builds using the MSVC toolchain yet.
+
+For more information on GStreamer builds using Meson and the Windows toolchain
+check out Nirbheek Chauhan's blog post ["Building and developing GStreamer using Visual Studio"][msvc-blog].
+
+[msvc-blog]: http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html
+
+### Dependencies
+
+#### gstreamer
+
+libunwind was added as an optional dependency. It is used only for debugging
+and tracing purposes.
+
+The `opencv` plugin in gst-plugins-bad can now be built against OpenCV
+version 3.1, previously only 2.3-2.5 were supported.
+
+#### gst-plugins-ugly
+
+- `mpeg2dec` now requires at least libmpeg2 0.5.1 (from 2008).
+
+#### gst-plugins-bad
+
+- `gltransformation` now requires at least graphene 1.4.0.
+
+- `lv2` now plugin requires at least lilv 0.16 instead of slv2.
+
+### Packaging notes
+
+Packagers please note that the `gst/gstconfig.h` public header file in the
+GStreamer core library moved back from being an architecture dependent include
+to being architecture independent, and thus it is no longer installed into
+`$(libdir)/gstreamer-1.0/include/gst` but into the normal include directory
+where it lives happily ever after with all the other public header files. The
+reason for this is that we now check whether the target supports unaligned
+memory access based on predefined compiler macros at compile time instead of
+checking it at configure time.
+
+## Platform-specific improvements
+
+### Android
+
+#### New universal binaries for all supported ABIs
+
+We now provide a "universal" tarball to allow building apps against all the
+architectures currently supported (x86, x86-64, armeabi, armeabi-v7a,
+armeabi-v8a). This is needed for building with recent versions of the Android
+NDK which defaults to building against all supported ABIs. Use [the Android
+player example][android-player-example-build] as a reference for the required
+changes.
+
+[android-player-example-build]: https://cgit.freedesktop.org/gstreamer/gst-examples/commit/playback/player/android?id=a5cdde9119f038a1eb365aca20faa9741a38e788
+
+#### Miscellaneous
+
+- New `ahssrc` element that allows reading the hardware sensors, e.g. compass
+  or accelerometer.
+
+### macOS (OS/X) and iOS
+
+- Support for querying available devices on OS/X via the GstDeviceProvider
+  API was added.
+- It is now possible to create OpenGL|ES 3.x contexts on iOS and use them in
+  combination with the VideoToolbox based decoder element.
+- many OpenGL/GLES improvements, see OpenGL section above
+
+### Windows
+
+- gstconfig.h: Always use dllexport/import on Windows with MSVC
+- Miscellaneous fixes to make libs and plugins compile with the MVSC toolchain
+- MSVC toolchain support (see Meson section above for more details)
+
+## New Modules for Documentation, Examples, Meson Build
+
+Three new git modules have been added recently:
+
+### gst-docs
+
+This is a new module where we will maintain documentation in the markdown
+format.
+
+It contains the former gstreamer.com SDK tutorials which have kindly been made
+available by Fluendo under a Creative Commons license. The tutorials have been
+reviewed and updated for GStreamer 1.x and will be available as part of the
+[official GStreamer documentation][doc] going forward. The old gstreamer.com
+site will then be shut down with redirects pointing to the updated tutorials.
+
+Some of the existing docbook XML-formatted documentation from the GStreamer
+core module such as the *Application Development Manual* and the *Plugin
+Writer's Guide* have been converted to markdown as well and will be maintained
+in the gst-docs module in future. They will be removed from the GStreamer core
+module in the next cycle.
+
+This is just the beginning. Our goal is to provide a more cohesive documentation
+experience for our users going forward, and easier to create and maintain
+documentation for developers. There is a lot more work to do, get in touch if
+you want to help out.
+
+If you encounter any problems or spot any omissions or outdated content in the
+new documentation, please [file a bug in bugzilla][doc-bug] to let us know.
+
+We will probably release gst-docs as a separate tarball for distributions to
+package in the next cycle.
+
+[doc]: http://gstreamer.freedesktop.org/documentation/
+[doc-bug]: https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer&component=documentation
+
+### gst-examples
+
+A new [module][examples-git] has been added for examples. It does not contain
+much yet, currently it only contains a small [http-launch][http-launch] utility
+that serves a pipeline over http as well as various [GstPlayer playback frontends][puis]
+for Android, iOS, Gtk+ and Qt.
+
+More examples will be added over time. The examples in this repository should
+be more useful and more substantial than most of the examples we ship as part
+of our other modules, and also written in a way that makes them good example
+code. If you have ideas for examples, let us know.
+
+No decision has been made yet if this module will be released and/or packaged.
+It probably makes sense to do so though.
+
+[examples-git]: https://cgit.freedesktop.org/gstreamer/gst-examples/tree/
+[http-launch]: https://cgit.freedesktop.org/gstreamer/gst-examples/tree/network/http-launch/
+[puis]: https://cgit.freedesktop.org/gstreamer/gst-examples/tree/playback/player
+
+### gst-build
+
+[gst-build][gst-build-git] is a new meta module to build GStreamer using the
+new Meson build system. This module is not required to build GStreamer with
+Meson, it is merely for convenience and aims to provide a development setup
+similar to the existing `gst-uninstalled` setup.
+
+gst-build makes use of Meson's [subproject feature][meson-subprojects] and sets
+up the various GStreamer modules as subprojects, so they can all be updated and
+built in parallel.
+
+This module is still very new and highly experimental. It should work at least
+on Linux and Windows (OS/X needs some build fixes). Let us know of any issues
+you encounter by popping into the `#gstreamer` IRC channel or by
+[filing a bug][gst-build-bug].
+
+This module will probably not be released or packaged (does not really make sense).
+
+[gst-build-git]: https://cgit.freedesktop.org/gstreamer/gst-build/tree/
+[gst-build-bug]: https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer&component=gst-build
+[meson-subprojects]: https://github.com/mesonbuild/meson/wiki/Subprojects
+
+## Contributors
+
+Aaron Boxer, Aleix Conchillo Flaqué, Alessandro Decina, Alexandru Băluț, Alex
+Ashley, Alex-P. Natsios, Alistair Buxton, Allen Zhang, Andreas Naumann, Andrew
+Eikum, Andy Devar, Anthony G. Basile, Arjen Veenhuizen, Arnaud Vrac, Artem
+Martynovich, Arun Raghavan, Aurélien Zanelli, Barun Kumar Singh, Bernhard
+Miller, Brad Lackey, Branko Subasic, Carlos Garcia Campos, Carlos Rafael
+Giani, Christoffer Stengren, Daiki Ueno, Damian Ziobro, Danilo Cesar Lemes de
+Paula, David Buchmann, Dimitrios Katsaros, Duncan Palmer, Edward Hervey,
+Emmanuel Poitier, Enrico Jorns, Enrique Ocaña González, Fabrice Bellet,
+Florian Zwoch, Florin Apostol, Francisco Velazquez, Frédéric Bertolus, Fredrik
+Fornwall, Gaurav Gupta, George Kiagiadakis, Georg Lippitsch, Göran Jönsson,
+Graham Leggett, Gregoire Gentil, Guillaume Desmottes, Gwang Yoon Hwang, Haakon
+Sporsheim, Haihua Hu, Havard Graff, Heinrich Fink, Hoonhee Lee, Hyunjun Ko,
+Iain Lane, Ian, Ian Jamison, Jagyum Koo, Jake Foytik, Jakub Adam, Jan
+Alexander Steffens (heftig), Jan Schmidt, Javier Martinez Canillas, Jerome
+Laheurte, Jesper Larsen, Jie Jiang, Jihae Yi, Jimmy Ohn, Jinwoo Ahn, Joakim
+Johansson, Joan Pau Beltran, Jonas Holmberg, Jonathan Matthew, Jonathan Roy,
+Josep Torra, Julien Isorce, Jun Ji, Jürgen Slowack, Justin Kim, Kazunori
+Kobayashi, Kieran Bingham, Kipp Cannon, Koop Mast, Kouhei Sutou, Kseniia, Kyle
+Schwarz, Kyungyong Kim, Linus Svensson, Luis de Bethencourt, Marcin Kolny,
+Marcin Lewandowski, Marianna Smidth Buschle, Mario Sanchez Prada, Mark
+Combellack, Mark Nauwelaerts, Martin Kelly, Matej Knopp, Mathieu Duponchelle,
+Mats Lindestam, Matthew Gruenke, Matthew Waters, Michael Olbrich, Michal Lazo,
+Miguel París Díaz, Mikhail Fludkov, Minjae Kim, Mohan R, Munez, Nicola Murino,
+Nicolas Dufresne, Nicolas Huet, Nikita Bobkov, Nirbheek Chauhan, Olivier
+Crête, Paolo Pettinato, Patricia Muscalu, Paulo Neves, Peng Liu, Peter
+Seiderer, Philippe Normand, Philippe Renon, Philipp Zabel, Pierre Lamot, Piotr
+Drąg, Prashant Gotarne, Raffaele Rossi, Ray Strode, Reynaldo H. Verdejo
+Pinochet, Santiago Carot-Nemesio, Scott D Phillips, Sebastian Dröge, Sebastian
+Rasmussen, Sergei Saveliev, Sergey Borovkov, Sergey Mamonov, Sergio Torres
+Soldado, Seungha Yang, sezero, Song Bing, Sreerenj Balachandran, Stefan Sauer,
+Stephen, Steven Hoving, Stian Selnes, Thiago Santos, Thibault Saunier, Thijs
+Vermeir, Thomas Bluemel, Thomas Jones, Thomas Klausner, Thomas Scheuermann,
+Tim-Philipp Müller, Ting-Wei Lan, Tom Schoonjans, Ursula Maplehurst, Vanessa
+Chipirras Navalon, Víctor Manuel Jáquez Leal, Vincent Penquerc'h, Vineeth TM,
+Vivia Nikolaidou, Vootele Vesterblom, Wang Xin-yu (王昕宇), William Manley,
+Wim Taymans, Wonchul Lee, Xabier Rodriguez Calvar, Xavier Claessens, xlazom00,
+Yann Jouanin, Zaheer Abbas Merali
+
+... and many others who have contributed bug reports, translations, sent
+suggestions or helped testing.
+
+## Bugs fixed in 1.10
+
+More than [750 bugs][bugs-fixed-in-1.10] have been fixed during
+the development of 1.10.
+
+This list does not include issues that have been cherry-picked into the
+stable 1.8 branch and fixed there as well, all fixes that ended up in the
+1.8 branch are also included in 1.10.
+
+This list also does not include issues that have been fixed without a bug
+report in bugzilla, so the actual number of fixes is much higher.
+
+[bugs-fixed-in-1.10]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=164074&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.8.1&target_milestone=1.8.2&target_milestone=1.8.3&target_milestone=1.8.4&target_milestone=1.9.1&target_milestone=1.9.2&target_milestone=1.9.90&target_milestone=1.10.0
+
+## Stable 1.10 branch
+
+After the 1.10.0 release there will be several 1.10.x bug-fix releases which
+will contain bug fixes which have been deemed suitable for a stable branch,
+but no new features or intrusive changes will be added to a bug-fix release
+usually. The 1.10.x bug-fix releases will be made from the git 1.10 branch,
+which is a stable branch.
+
+### 1.10.0
+
+1.10.0 was released on 1st November 2016.
+
+## Known Issues
+
+- iOS builds with iOS 6 SDK and old C++ STL. You need to select iOS 6 instead
+  of 7 or 8 in your projects settings to be able to link applications.
+  [Bug #766366](https://bugzilla.gnome.org/show_bug.cgi?id=766366)
+- Code signing for Apple platforms has some problems currently, requiring
+  manual work to get your application signed. [Bug #771860](https://bugzilla.gnome.org/show_bug.cgi?id=771860)
+- Building applications with Android NDK r13 on Windows does not work. Other
+  platforms and earlier/later versions of the NDK are not affected.
+  [Bug #772842](https://bugzilla.gnome.org/show_bug.cgi?id=772842)
+- The new leaks tracer may deadlock the application (or exhibit other undefined
+  behaviour) when `SIGUSR` handling is enabled via the `GST_LEAKS_TRACER_SIG`
+  environment variable. [Bug #770373](https://bugzilla.gnome.org/show_bug.cgi?id=770373)
+- vp8enc crashes on 32 bit Windows, but was working fine in 1.6. 64 bit Windows is unaffected.
+  [Bug #763663](https://bugzilla.gnome.org/show_bug.cgi?id=763663)
+
+## Schedule for 1.12
+
+Our next major feature release will be 1.12, and 1.11 will be the unstable
+development version leading up to the stable 1.12 release. The development
+of 1.11/1.12 will happen in the git master branch.
+
+The plan for the 1.12 development cycle is yet to be confirmed, but it is
+expected that feature freeze will be around early/mid-January,
+followed by several 1.11 pre-releases and the new 1.12 stable release
+in March.
+
+1.12 will be backwards-compatible to the stable 1.10, 1.8, 1.6, 1.4, 1.2 and
+1.0 release series.
+
+- - -
+
+*These release notes have been prepared by Olivier Crête, Sebastian Dröge,
+Nicolas Dufresne, Edward Hervey, Víctor Manuel Jáquez Leal, Tim-Philipp
+Müller, Reynaldo H. Verdejo Pinochet, Arun Raghavan, Thibault Saunier,
+Jan Schmidt, Wim Taymans, Matthew Waters*
+
+*License: [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)*
+
diff --git a/RELEASE b/RELEASE
index e8db314..e51488c 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,13 +1,15 @@
 
-Release notes for GStreamer Good Plugins 1.9.90
+Release notes for GStreamer Good Plugins 1.10.0
 
-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.
+The GStreamer team is pleased to announce the first release of the new 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.
+Binaries for Android, iOS, Mac OS X and Windows will be provided shortly after
+the source release by the GStreamer project during the stable 1.10 release
+series.
 
 
 "Such ingratitude.  After all the times I've saved your life."
@@ -53,17 +55,15 @@
 
 Bugs fixed in this release
      
-      * 751559 : qtmux: Implement the preset interface.
-      * 766990 : multifilesink: 'buffer'-mode writes no longer atomic (regression)
-      * 769278 : aacparse: a few fixes and improvements for LOAS parsing
-      * 769757 : rtpjitterbuffer: Fix calculating next_seqnum when dropping old buffers from a full queue.
-      * 769768 : rtpjitterbuffer: lots of improvements around RTX
-      * 770951 : qtdemux: Crash with no cenc auxiliary offset available
-      * 771272 : jackaudiosink: hangs when jackd changes sample rate and/or buffer size
-      * 771278 : udpsrc: Compilation error on NetBSD
-      * 771395 : autodetect: Use gst_bin_set_suppressed_flags() API
-      * 772143 : qtmux: Don't calculate PTS offset and DTS with GST_CLOCK_TIME_NONE
-      * 772228 : tagschecking: Unit test fails because it sends untimestamped buffers to qtdemux
+      * 762207 : flvmux: Ensure we fallback to DTS when clipping
+      * 772496 : tests: Fix memory leak by gst_caps_to_string()
+      * 772497 : waveform : Fix Memory leak by gst_caps_to_string
+      * 772644 : Fix level test in CK_FORK=no mode
+      * 772656 : Fix souphttpsrc tests without CK_FORK=no
+      * 773509 : souphttpsrc: connection loss / reconnect issues
+      * 773580 : v4l2object: fix extra-controls leak
+      * 773582 : matroskamux does not allow resolutions above 4096x4096
+      * 773643 : wavparse: crashes on invalid wav file
 
 ==== Download ====
 
@@ -100,21 +100,17 @@
         
 Contributors to this release
     
-      * Arun Raghavan
-      * Georg Lippitsch
-      * Havard Graff
+      * Branko Subasic
+      * Gaurav Gupta
+      * Jan Alexander Steffens (heftig)
       * Jan Schmidt
-      * Mathieu Duponchelle
+      * Mark Nauwelaerts
+      * Michael Olbrich
       * Nicolas Dufresne
-      * Olivier Crête
+      * Nirbheek Chauhan
+      * Scott D Phillips
       * Sebastian Dröge
-      * Stian Selnes
       * Thibault Saunier
-      * Thomas Bluemel
-      * Thomas Klausner
-      * Thomas Scheuermann
       * Tim-Philipp Müller
-      * Vincent Penquerc'h
-      * Wonchul Lee
-      * Xabier Rodriguez Calvar
+      * Tobias Schneider
  
\ No newline at end of file
diff --git a/configure b/configure
index 3b0341c..972b0ae 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 Good Plug-ins 1.9.90.
+# Generated by GNU Autoconf 2.69 for GStreamer Good Plug-ins 1.10.0.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
 #
@@ -591,8 +591,8 @@
 # Identity of this package.
 PACKAGE_NAME='GStreamer Good Plug-ins'
 PACKAGE_TARNAME='gst-plugins-good'
-PACKAGE_VERSION='1.9.90'
-PACKAGE_STRING='GStreamer Good Plug-ins 1.9.90'
+PACKAGE_VERSION='1.10.0'
+PACKAGE_STRING='GStreamer Good Plug-ins 1.10.0'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
 PACKAGE_URL=''
 
@@ -1969,7 +1969,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 Good Plug-ins 1.9.90 to adapt to many kinds of systems.
+\`configure' configures GStreamer Good Plug-ins 1.10.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2042,7 +2042,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GStreamer Good Plug-ins 1.9.90:";;
+     short | recursive ) echo "Configuration of GStreamer Good Plug-ins 1.10.0:";;
    esac
   cat <<\_ACEOF
 
@@ -2418,7 +2418,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GStreamer Good Plug-ins configure 1.9.90
+GStreamer Good Plug-ins configure 1.10.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -3229,7 +3229,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 Good Plug-ins $as_me 1.9.90, which was
+It was created by GStreamer Good Plug-ins $as_me 1.10.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -4211,7 +4211,7 @@
 
 # Define the identity of the package.
  PACKAGE='gst-plugins-good'
- VERSION='1.9.90'
+ VERSION='1.10.0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4422,9 +4422,9 @@
 
 
 
-  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)
+  PACKAGE_VERSION_MAJOR=$(echo 1.10.0 | cut -d'.' -f1)
+  PACKAGE_VERSION_MINOR=$(echo 1.10.0 | cut -d'.' -f2)
+  PACKAGE_VERSION_MICRO=$(echo 1.10.0 | cut -d'.' -f3)
 
 
 
@@ -4435,7 +4435,7 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
 $as_echo_n "checking nano version... " >&6; }
 
-  NANO=$(echo 1.9.90 | cut -d'.' -f4)
+  NANO=$(echo 1.10.0 | cut -d'.' -f4)
 
   if test x"$NANO" = x || test "x$NANO" = "x0" ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -9276,10 +9276,10 @@
 done
 
 
-  GST_CURRENT=990
+  GST_CURRENT=1000
   GST_REVISION=0
-  GST_AGE=990
-  GST_LIBVERSION=990:0:990
+  GST_AGE=1000
+  GST_LIBVERSION=1000:0:1000
 
 
 
@@ -13907,8 +13907,8 @@
 
 
 
-GST_REQ=1.9.90
-GSTPB_REQ=1.9.90
+GST_REQ=1.10.0
+GSTPB_REQ=1.10.0
 
 
 
@@ -37545,7 +37545,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by GStreamer Good Plug-ins $as_me 1.9.90, which was
+This file was extended by GStreamer Good Plug-ins $as_me 1.10.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -37611,7 +37611,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 Good Plug-ins config.status 1.9.90
+GStreamer Good Plug-ins config.status 1.10.0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 3f0e7cd..78c2096 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,7 +5,7 @@
 dnl initialize autoconf
 dnl releases only do -Wall, git and prerelease does -Werror too
 dnl use a three digit version number for releases, and four for git/pre
-AC_INIT([GStreamer Good Plug-ins],[1.9.90],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good])
+AC_INIT([GStreamer Good Plug-ins],[1.10.0],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good])
 
 AG_GST_INIT
 
@@ -43,11 +43,11 @@
   [GStreamer API Version])
 
 AG_GST_LIBTOOL_PREPARE
-AS_LIBTOOL(GST, 990, 0, 990)
+AS_LIBTOOL(GST, 1000, 0, 1000)
 
 dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.9.90
-GSTPB_REQ=1.9.90
+GST_REQ=1.10.0
+GSTPB_REQ=1.10.0
 
 dnl *** autotools stuff ****
 
diff --git a/docs/plugins/gst-plugins-good-plugins.args b/docs/plugins/gst-plugins-good-plugins.args
index cad472a..766e7ad 100644
--- a/docs/plugins/gst-plugins-good-plugins.args
+++ b/docs/plugins/gst-plugins-good-plugins.args
@@ -1015,7 +1015,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>User Agent</NICK>
 <BLURB>The User-Agent string to send to the server.</BLURB>
-<DEFAULT>"GStreamer/1.9.90"</DEFAULT>
+<DEFAULT>"GStreamer/1.10.0"</DEFAULT>
 </ARG>
 
 <ARG>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-matroskamux.html b/docs/plugins/html/gst-plugins-good-plugins-matroskamux.html
index e46cd3d..967f267 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-matroskamux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-matroskamux.html
@@ -315,39 +315,39 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>video/mpeg, mpegversion=(int){ 1, 2, 4 }, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td>video/mpeg, mpegversion=(int){ 1, 2, 4 }, systemstream=(boolean)false, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-h265, stream-format=(string)hvc1, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-h265, stream-format=(string)hvc1, alignment=(string)au, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-divx, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-divx, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-huffyuv, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-huffyuv, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-dv, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-dv, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-h263, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-h263, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-msmpeg, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-msmpeg, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> image/jpeg, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> image/jpeg, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
@@ -355,31 +355,31 @@
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-dirac, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-dirac, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-pn-realvideo, rmversion=(int)[ 1, 4 ], width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-pn-realvideo, rmversion=(int)[ 1, 4 ], width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-vp8, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-vp8, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-vp9, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-vp9, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-raw, format=(string){ YUY2, I420, YV12, UYVY, AYUV, GRAY8, BGR, RGB }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-raw, format=(string){ YUY2, I420, YV12, UYVY, AYUV, GRAY8, BGR, RGB }, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-prores, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-prores, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-wmv, wmvversion=(int)[ 1, 3 ], width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-wmv, wmvversion=(int)[ 1, 3 ], width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html
index 3558548..b0cc7db 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html
index b191129..56d47d6 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html
index 1b43b4e..2577017 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html
index 48397a0..b6d70f2 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html
index c544961..98b64d5 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html
index d98e0ca..e013c94 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html
index 58182f4..6b28622 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-audioparsers.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-audioparsers.html
index ab0eafb..6e94511 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-audioparsers.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-audioparsers.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html
index 2c9ece3..68cc556 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html
index 6a6a42c..4aee8e7 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html
index dab8a32..5120c9c 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html
index ff15d2a..3e4eb58 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html
index 1f67fea..38ce196 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html
index 6996ce4..9821775 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html
index 8cabf2d..dac314e 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html
index d84cb19..bf29bb3 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html
index 59a810e..25245a8 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html
index 85ef7f7..e749b7e 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html
index 7f463ac..49dfd00 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html
index 3572a65..2bb3bf0 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html
index 8d151bb..57ade2f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html
index bb31ef9..13dbb34 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html
index 74fbc54..1891393 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html
index 984f82d..9ad398c 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html
index 5f6f4a5..5dd8395 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html
index b9847f3..3358a9a 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html
index 4545d25..17ce1f3 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html
index a84b51f..2c318b6 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html
index d377d30..0119777 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html
index 9eba158..3e12c16 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html
index 5d2d065..567961a 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html
index 6a75b69..9f01326 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html
index 90334b9..e4fa2e9 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html
index 10c54cd..f57f5f0 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html
index 3eb3bab..60527cf 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html
index 0d88404..f0a5ef7 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html
index b5697cc..beb8d08 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html
index aff4d69..cd19332 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html
index 167c51c..d105502 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html
index c501025..5c2223d 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html
index 6e91ece..f5c2229 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html
index 8274a3e..1c5436e 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html
index 0075c4f..a1c905a 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html
index e6a49c2..fb56684 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html
index e091adb..1126f7a 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html
index 0aec980..d46bd73 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html
index dc60652..256d8bb 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html
index 19872a1..815aed3 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html
index fe27fe4..c2e0ac7 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html
index 460266c..72c8a8b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html
index 34d572f..dcffbbf 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html
index d44df4f..f8afaca 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html
index 5969499..0ef1aa0 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html
index f32fcef..47fb048 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html
index 5481ed5..1cb201c 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html
index f534f92..1bf57bd 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html
index b86ca50..15e83be 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html
index c73e404..7d6309f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html
index b6767bc..e1289d5 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html
index d7e7090..f93666a 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html
index 41520c5..bd6a167 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html
index c0c178a..3fc196f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html
index a98319b..b5add82 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html
index cd6cf63..20c8888 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html
index 38512a0..4c26aeb 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html
index f60486b..3ea1792 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html
@@ -41,7 +41,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-rtpbin.html b/docs/plugins/html/gst-plugins-good-plugins-rtpbin.html
index 842020c..0832545 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-rtpbin.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-rtpbin.html
@@ -71,7 +71,7 @@
 <td class="property_flags">Read / Write</td>
 </tr>
 <tr>
-<td class="property_type"><a href="/usr/share/gtk-doc/html/gst-plugins-good-plugins-1.0gst-plugins-good-plugins-rtpbin.html#RTPJitterBufferMode"><span class="type">RTPJitterBufferMode</span></a></td>
+<td class="property_type"><span class="type">RTPJitterBufferMode</span></td>
 <td class="property_name"><a class="link" href="gst-plugins-good-plugins-rtpbin.html#GstRtpBin--buffer-mode" title="The “buffer-mode” property">buffer-mode</a></td>
 <td class="property_flags">Read / Write</td>
 </tr>
@@ -86,7 +86,7 @@
 <td class="property_flags">Read / Write</td>
 </tr>
 <tr>
-<td class="property_type"><a href="/usr/share/gtk-doc/html/gst-plugins-good-plugins-1.0gst-plugins-good-plugins-rtpbin.html#GstRTCPSync"><span class="type">GstRTCPSync</span></a></td>
+<td class="property_type"><span class="type">GstRTCPSync</span></td>
 <td class="property_name"><a class="link" href="gst-plugins-good-plugins-rtpbin.html#GstRtpBin--rtcp-sync" title="The “rtcp-sync” property">rtcp-sync</a></td>
 <td class="property_flags">Read / Write</td>
 </tr>
@@ -721,7 +721,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstRtpBin--buffer-mode"></a><h3>The <code class="literal">“buffer-mode”</code> property</h3>
-<pre class="programlisting">  “buffer-mode”              <a href="/usr/share/gtk-doc/html/gst-plugins-good-plugins-1.0gst-plugins-good-plugins-rtpbin.html#RTPJitterBufferMode"><span class="type">RTPJitterBufferMode</span></a></pre>
+<pre class="programlisting">  “buffer-mode”              <span class="type">RTPJitterBufferMode</span></pre>
 <p>Control the buffering and timestamping mode used by the jitterbuffer.</p>
 <p>Flags: Read / Write</p>
 <p>Default value: Slave receiver to sender clock</p>
@@ -749,7 +749,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstRtpBin--rtcp-sync"></a><h3>The <code class="literal">“rtcp-sync”</code> property</h3>
-<pre class="programlisting">  “rtcp-sync”                <a href="/usr/share/gtk-doc/html/gst-plugins-good-plugins-1.0gst-plugins-good-plugins-rtpbin.html#GstRTCPSync"><span class="type">GstRTCPSync</span></a></pre>
+<pre class="programlisting">  “rtcp-sync”                <span class="type">GstRTCPSync</span></pre>
 <p>If not synchronizing (directly) to the NTP clock, determines how to sync
 the various streams.</p>
 <p>Flags: Read / Write</p>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-rtpjitterbuffer.html b/docs/plugins/html/gst-plugins-good-plugins-rtpjitterbuffer.html
index 4715d49..374b520 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-rtpjitterbuffer.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-rtpjitterbuffer.html
@@ -64,7 +64,7 @@
 <td class="property_flags">Read / Write</td>
 </tr>
 <tr>
-<td class="property_type"><a href="/usr/share/gtk-doc/html/gst-plugins-good-plugins-1.0gst-plugins-good-plugins-rtpbin.html#RTPJitterBufferMode"><span class="type">RTPJitterBufferMode</span></a></td>
+<td class="property_type"><span class="type">RTPJitterBufferMode</span></td>
 <td class="property_name"><a class="link" href="gst-plugins-good-plugins-rtpjitterbuffer.html#GstRtpJitterBuffer--mode" title="The “mode” property">mode</a></td>
 <td class="property_flags">Read / Write</td>
 </tr>
@@ -439,7 +439,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstRtpJitterBuffer--mode"></a><h3>The <code class="literal">“mode”</code> property</h3>
-<pre class="programlisting">  “mode”                     <a href="/usr/share/gtk-doc/html/gst-plugins-good-plugins-1.0gst-plugins-good-plugins-rtpbin.html#RTPJitterBufferMode"><span class="type">RTPJitterBufferMode</span></a></pre>
+<pre class="programlisting">  “mode”                     <span class="type">RTPJitterBufferMode</span></pre>
 <p>Control the buffering and timestamping mode used by the jitterbuffer.</p>
 <p>Flags: Read / Write</p>
 <p>Default value: Slave receiver to sender clock</p>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-rtspsrc.html b/docs/plugins/html/gst-plugins-good-plugins-rtspsrc.html
index 2da55e3..ad66c13 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-rtspsrc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-rtspsrc.html
@@ -693,7 +693,7 @@
 <pre class="programlisting">  “user-agent”               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
 <p>The User-Agent string to send to the server.</p>
 <p>Flags: Read / Write</p>
-<p>Default value: "GStreamer/1.9.90"</p>
+<p>Default value: "GStreamer/1.10.0"</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/plugins/html/gst-plugins-good-plugins-videoflip.html b/docs/plugins/html/gst-plugins-good-plugins-videoflip.html
index 69272b4..61fe0b8 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-videoflip.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-videoflip.html
@@ -83,7 +83,7 @@
 <a name="gst-plugins-good-plugins-videoflip.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
 <p>
 GstVideoFlip implements
- GstVideoDirection.</p>
+ <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideodirection.html#GstVideoDirection-struct">GstVideoDirection</a>.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-good-plugins-videoflip.description"></a><h2>Description</h2>
diff --git a/docs/plugins/html/home.png b/docs/plugins/html/home.png
index 4bf6d92..884ce1d 100644
--- a/docs/plugins/html/home.png
+++ b/docs/plugins/html/home.png
Binary files differ
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index 768fffc..d9934a6 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 Good Plugins 1.0 Plugins Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GStreamer Good Plugins 1.0 (1.9.90)
+      for GStreamer Good Plugins 1.0 (1.10.0)
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good/html/</a>.
     </p></div>
diff --git a/docs/plugins/html/left-insensitive.png b/docs/plugins/html/left-insensitive.png
index 82cba0a..148fbff 100644
--- a/docs/plugins/html/left-insensitive.png
+++ b/docs/plugins/html/left-insensitive.png
Binary files differ
diff --git a/docs/plugins/html/left.png b/docs/plugins/html/left.png
index 8444ec0..efdeee7 100644
--- a/docs/plugins/html/left.png
+++ b/docs/plugins/html/left.png
Binary files differ
diff --git a/docs/plugins/html/right-insensitive.png b/docs/plugins/html/right-insensitive.png
index 7a90b99..ba481f5 100644
--- a/docs/plugins/html/right-insensitive.png
+++ b/docs/plugins/html/right-insensitive.png
Binary files differ
diff --git a/docs/plugins/html/right.png b/docs/plugins/html/right.png
index 55f3359..2e537ba 100644
--- a/docs/plugins/html/right.png
+++ b/docs/plugins/html/right.png
Binary files differ
diff --git a/docs/plugins/html/up-insensitive.png b/docs/plugins/html/up-insensitive.png
index fdb8cc7..9317461 100644
--- a/docs/plugins/html/up-insensitive.png
+++ b/docs/plugins/html/up-insensitive.png
Binary files differ
diff --git a/docs/plugins/html/up.png b/docs/plugins/html/up.png
index c1aad52..5ecf9ab 100644
--- a/docs/plugins/html/up.png
+++ b/docs/plugins/html/up.png
Binary files differ
diff --git a/docs/plugins/inspect/plugin-1394.xml b/docs/plugins/inspect/plugin-1394.xml
index a38faa6..80efe03 100644
--- a/docs/plugins/inspect/plugin-1394.xml
+++ b/docs/plugins/inspect/plugin-1394.xml
@@ -3,7 +3,7 @@
   <description>Source for video data via IEEE1394 interface</description>
   <filename>../../ext/raw1394/.libs/libgst1394.so</filename>
   <basename>libgst1394.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-aasink.xml b/docs/plugins/inspect/plugin-aasink.xml
index 61d8f92..19a9d5b 100644
--- a/docs/plugins/inspect/plugin-aasink.xml
+++ b/docs/plugins/inspect/plugin-aasink.xml
@@ -3,7 +3,7 @@
   <description>ASCII Art video sink</description>
   <filename>../../ext/aalib/.libs/libgstaasink.so</filename>
   <basename>libgstaasink.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-alaw.xml b/docs/plugins/inspect/plugin-alaw.xml
index 5ec03d2..027d630 100644
--- a/docs/plugins/inspect/plugin-alaw.xml
+++ b/docs/plugins/inspect/plugin-alaw.xml
@@ -3,7 +3,7 @@
   <description>ALaw audio conversion routines</description>
   <filename>../../gst/law/.libs/libgstalaw.so</filename>
   <basename>libgstalaw.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-alpha.xml b/docs/plugins/inspect/plugin-alpha.xml
index c87b6c1..0371709 100644
--- a/docs/plugins/inspect/plugin-alpha.xml
+++ b/docs/plugins/inspect/plugin-alpha.xml
@@ -3,7 +3,7 @@
   <description>adds an alpha channel to video - constant or via chroma-keying</description>
   <filename>../../gst/alpha/.libs/libgstalpha.so</filename>
   <basename>libgstalpha.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-alphacolor.xml b/docs/plugins/inspect/plugin-alphacolor.xml
index 9ef2c4d..c4fa4bb 100644
--- a/docs/plugins/inspect/plugin-alphacolor.xml
+++ b/docs/plugins/inspect/plugin-alphacolor.xml
@@ -3,7 +3,7 @@
   <description>RGBA from/to AYUV colorspace conversion preserving the alpha channel</description>
   <filename>../../gst/alpha/.libs/libgstalphacolor.so</filename>
   <basename>libgstalphacolor.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-apetag.xml b/docs/plugins/inspect/plugin-apetag.xml
index 8d8e548..9f1e597 100644
--- a/docs/plugins/inspect/plugin-apetag.xml
+++ b/docs/plugins/inspect/plugin-apetag.xml
@@ -3,7 +3,7 @@
   <description>APEv1/2 tag reader</description>
   <filename>../../gst/apetag/.libs/libgstapetag.so</filename>
   <basename>libgstapetag.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audiofx.xml b/docs/plugins/inspect/plugin-audiofx.xml
index 8781087..7d229d0 100644
--- a/docs/plugins/inspect/plugin-audiofx.xml
+++ b/docs/plugins/inspect/plugin-audiofx.xml
@@ -3,7 +3,7 @@
   <description>Audio effects plugin</description>
   <filename>../../gst/audiofx/.libs/libgstaudiofx.so</filename>
   <basename>libgstaudiofx.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audioparsers.xml b/docs/plugins/inspect/plugin-audioparsers.xml
index 76c14c7..f187977 100644
--- a/docs/plugins/inspect/plugin-audioparsers.xml
+++ b/docs/plugins/inspect/plugin-audioparsers.xml
@@ -3,7 +3,7 @@
   <description>Parsers for various audio formats</description>
   <filename>../../gst/audioparsers/.libs/libgstaudioparsers.so</filename>
   <basename>libgstaudioparsers.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-auparse.xml b/docs/plugins/inspect/plugin-auparse.xml
index e6cd5fc..aaa3f20 100644
--- a/docs/plugins/inspect/plugin-auparse.xml
+++ b/docs/plugins/inspect/plugin-auparse.xml
@@ -3,7 +3,7 @@
   <description>parses au streams</description>
   <filename>../../gst/auparse/.libs/libgstauparse.so</filename>
   <basename>libgstauparse.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-autodetect.xml b/docs/plugins/inspect/plugin-autodetect.xml
index 79b1a68..7ca31f9 100644
--- a/docs/plugins/inspect/plugin-autodetect.xml
+++ b/docs/plugins/inspect/plugin-autodetect.xml
@@ -3,7 +3,7 @@
   <description>Plugin contains auto-detection plugins for video/audio in- and outputs</description>
   <filename>../../gst/autodetect/.libs/libgstautodetect.so</filename>
   <basename>libgstautodetect.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-avi.xml b/docs/plugins/inspect/plugin-avi.xml
index 56b1906..2c3f917 100644
--- a/docs/plugins/inspect/plugin-avi.xml
+++ b/docs/plugins/inspect/plugin-avi.xml
@@ -3,7 +3,7 @@
   <description>AVI stream handling</description>
   <filename>../../gst/avi/.libs/libgstavi.so</filename>
   <basename>libgstavi.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-cacasink.xml b/docs/plugins/inspect/plugin-cacasink.xml
index 1a0f4b1..7d32d0f 100644
--- a/docs/plugins/inspect/plugin-cacasink.xml
+++ b/docs/plugins/inspect/plugin-cacasink.xml
@@ -3,7 +3,7 @@
   <description>Colored ASCII Art video sink</description>
   <filename>../../ext/libcaca/.libs/libgstcacasink.so</filename>
   <basename>libgstcacasink.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-cairo.xml b/docs/plugins/inspect/plugin-cairo.xml
index 82a0457..bfb736f 100644
--- a/docs/plugins/inspect/plugin-cairo.xml
+++ b/docs/plugins/inspect/plugin-cairo.xml
@@ -3,7 +3,7 @@
   <description>Cairo-based elements</description>
   <filename>../../ext/cairo/.libs/libgstcairo.so</filename>
   <basename>libgstcairo.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-cutter.xml b/docs/plugins/inspect/plugin-cutter.xml
index 009b669..668b19f 100644
--- a/docs/plugins/inspect/plugin-cutter.xml
+++ b/docs/plugins/inspect/plugin-cutter.xml
@@ -3,7 +3,7 @@
   <description>Audio Cutter to split audio into non-silent bits</description>
   <filename>../../gst/cutter/.libs/libgstcutter.so</filename>
   <basename>libgstcutter.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-debug.xml b/docs/plugins/inspect/plugin-debug.xml
index a2a7949..9277425 100644
--- a/docs/plugins/inspect/plugin-debug.xml
+++ b/docs/plugins/inspect/plugin-debug.xml
@@ -3,7 +3,7 @@
   <description>elements for testing and debugging</description>
   <filename>../../gst/debugutils/.libs/libgstdebug.so</filename>
   <basename>libgstdebug.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-deinterlace.xml b/docs/plugins/inspect/plugin-deinterlace.xml
index 994233c..cc60d8d 100644
--- a/docs/plugins/inspect/plugin-deinterlace.xml
+++ b/docs/plugins/inspect/plugin-deinterlace.xml
@@ -3,7 +3,7 @@
   <description>Deinterlacer</description>
   <filename>../../gst/deinterlace/.libs/libgstdeinterlace.so</filename>
   <basename>libgstdeinterlace.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dtmf.xml b/docs/plugins/inspect/plugin-dtmf.xml
index 0c06891..452e6f2 100644
--- a/docs/plugins/inspect/plugin-dtmf.xml
+++ b/docs/plugins/inspect/plugin-dtmf.xml
@@ -3,7 +3,7 @@
   <description>DTMF plugins</description>
   <filename>../../gst/dtmf/.libs/libgstdtmf.so</filename>
   <basename>libgstdtmf.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dv.xml b/docs/plugins/inspect/plugin-dv.xml
index bea3572..8efd949 100644
--- a/docs/plugins/inspect/plugin-dv.xml
+++ b/docs/plugins/inspect/plugin-dv.xml
@@ -3,7 +3,7 @@
   <description>DV demuxer and decoder based on libdv (libdv.sf.net)</description>
   <filename>../../ext/dv/.libs/libgstdv.so</filename>
   <basename>libgstdv.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-effectv.xml b/docs/plugins/inspect/plugin-effectv.xml
index bb6b4ac..696b70f 100644
--- a/docs/plugins/inspect/plugin-effectv.xml
+++ b/docs/plugins/inspect/plugin-effectv.xml
@@ -3,7 +3,7 @@
   <description>effect plugins from the effectv project</description>
   <filename>../../gst/effectv/.libs/libgsteffectv.so</filename>
   <basename>libgsteffectv.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-equalizer.xml b/docs/plugins/inspect/plugin-equalizer.xml
index eae17d6..d0c98cf 100644
--- a/docs/plugins/inspect/plugin-equalizer.xml
+++ b/docs/plugins/inspect/plugin-equalizer.xml
@@ -3,7 +3,7 @@
   <description>GStreamer audio equalizers</description>
   <filename>../../gst/equalizer/.libs/libgstequalizer.so</filename>
   <basename>libgstequalizer.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-flac.xml b/docs/plugins/inspect/plugin-flac.xml
index 29c96e7..96b563f 100644
--- a/docs/plugins/inspect/plugin-flac.xml
+++ b/docs/plugins/inspect/plugin-flac.xml
@@ -3,7 +3,7 @@
   <description>The FLAC Lossless compressor Codec</description>
   <filename>../../ext/flac/.libs/libgstflac.so</filename>
   <basename>libgstflac.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-flv.xml b/docs/plugins/inspect/plugin-flv.xml
index f7c51b1..bfa65b4 100644
--- a/docs/plugins/inspect/plugin-flv.xml
+++ b/docs/plugins/inspect/plugin-flv.xml
@@ -3,7 +3,7 @@
   <description>FLV muxing and demuxing plugin</description>
   <filename>../../gst/flv/.libs/libgstflv.so</filename>
   <basename>libgstflv.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-flxdec.xml b/docs/plugins/inspect/plugin-flxdec.xml
index 30dade7..9b766c6 100644
--- a/docs/plugins/inspect/plugin-flxdec.xml
+++ b/docs/plugins/inspect/plugin-flxdec.xml
@@ -3,7 +3,7 @@
   <description>FLC/FLI/FLX video decoder</description>
   <filename>../../gst/flx/.libs/libgstflxdec.so</filename>
   <basename>libgstflxdec.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-gdkpixbuf.xml b/docs/plugins/inspect/plugin-gdkpixbuf.xml
index aa42b71..4d61dec 100644
--- a/docs/plugins/inspect/plugin-gdkpixbuf.xml
+++ b/docs/plugins/inspect/plugin-gdkpixbuf.xml
@@ -3,7 +3,7 @@
   <description>GdkPixbuf-based image decoder, overlay and sink</description>
   <filename>../../ext/gdk_pixbuf/.libs/libgstgdkpixbuf.so</filename>
   <basename>libgstgdkpixbuf.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-goom.xml b/docs/plugins/inspect/plugin-goom.xml
index c1e16df..58db8d4 100644
--- a/docs/plugins/inspect/plugin-goom.xml
+++ b/docs/plugins/inspect/plugin-goom.xml
@@ -3,7 +3,7 @@
   <description>GOOM visualization filter</description>
   <filename>../../gst/goom/.libs/libgstgoom.so</filename>
   <basename>libgstgoom.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-goom2k1.xml b/docs/plugins/inspect/plugin-goom2k1.xml
index fce07e1..71556cd 100644
--- a/docs/plugins/inspect/plugin-goom2k1.xml
+++ b/docs/plugins/inspect/plugin-goom2k1.xml
@@ -3,7 +3,7 @@
   <description>GOOM 2k1 visualization filter</description>
   <filename>../../gst/goom2k1/.libs/libgstgoom2k1.so</filename>
   <basename>libgstgoom2k1.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-icydemux.xml b/docs/plugins/inspect/plugin-icydemux.xml
index 83a2913..2d5136f 100644
--- a/docs/plugins/inspect/plugin-icydemux.xml
+++ b/docs/plugins/inspect/plugin-icydemux.xml
@@ -3,7 +3,7 @@
   <description>Demux ICY tags from a stream</description>
   <filename>../../gst/icydemux/.libs/libgsticydemux.so</filename>
   <basename>libgsticydemux.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-id3demux.xml b/docs/plugins/inspect/plugin-id3demux.xml
index eac3219..ee46bba 100644
--- a/docs/plugins/inspect/plugin-id3demux.xml
+++ b/docs/plugins/inspect/plugin-id3demux.xml
@@ -3,7 +3,7 @@
   <description>Demux ID3v1 and ID3v2 tags from a file</description>
   <filename>../../gst/id3demux/.libs/libgstid3demux.so</filename>
   <basename>libgstid3demux.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-imagefreeze.xml b/docs/plugins/inspect/plugin-imagefreeze.xml
index df78953..ae84b50 100644
--- a/docs/plugins/inspect/plugin-imagefreeze.xml
+++ b/docs/plugins/inspect/plugin-imagefreeze.xml
@@ -3,7 +3,7 @@
   <description>Still frame stream generator</description>
   <filename>../../gst/imagefreeze/.libs/libgstimagefreeze.so</filename>
   <basename>libgstimagefreeze.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-interleave.xml b/docs/plugins/inspect/plugin-interleave.xml
index 5b22c3c..b577138 100644
--- a/docs/plugins/inspect/plugin-interleave.xml
+++ b/docs/plugins/inspect/plugin-interleave.xml
@@ -3,7 +3,7 @@
   <description>Audio interleaver/deinterleaver</description>
   <filename>../../gst/interleave/.libs/libgstinterleave.so</filename>
   <basename>libgstinterleave.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-isomp4.xml b/docs/plugins/inspect/plugin-isomp4.xml
index 98514e0..a8d3544 100644
--- a/docs/plugins/inspect/plugin-isomp4.xml
+++ b/docs/plugins/inspect/plugin-isomp4.xml
@@ -3,7 +3,7 @@
   <description>ISO base media file format support (mp4, 3gpp, qt, mj2)</description>
   <filename>../../gst/isomp4/.libs/libgstisomp4.so</filename>
   <basename>libgstisomp4.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-jack.xml b/docs/plugins/inspect/plugin-jack.xml
index 0a53c5c..ae563e6 100644
--- a/docs/plugins/inspect/plugin-jack.xml
+++ b/docs/plugins/inspect/plugin-jack.xml
@@ -3,7 +3,7 @@
   <description>JACK audio elements</description>
   <filename>../../ext/jack/.libs/libgstjack.so</filename>
   <basename>libgstjack.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-jpeg.xml b/docs/plugins/inspect/plugin-jpeg.xml
index bd14077..3c0322e 100644
--- a/docs/plugins/inspect/plugin-jpeg.xml
+++ b/docs/plugins/inspect/plugin-jpeg.xml
@@ -3,7 +3,7 @@
   <description>JPeg plugin library</description>
   <filename>../../ext/jpeg/.libs/libgstjpeg.so</filename>
   <basename>libgstjpeg.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-level.xml b/docs/plugins/inspect/plugin-level.xml
index 98b93ef..cb4b72b 100644
--- a/docs/plugins/inspect/plugin-level.xml
+++ b/docs/plugins/inspect/plugin-level.xml
@@ -3,7 +3,7 @@
   <description>Audio level plugin</description>
   <filename>../../gst/level/.libs/libgstlevel.so</filename>
   <basename>libgstlevel.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-matroska.xml b/docs/plugins/inspect/plugin-matroska.xml
index dacc7c3..c62bc42 100644
--- a/docs/plugins/inspect/plugin-matroska.xml
+++ b/docs/plugins/inspect/plugin-matroska.xml
@@ -3,7 +3,7 @@
   <description>Matroska and WebM stream handling</description>
   <filename>../../gst/matroska/.libs/libgstmatroska.so</filename>
   <basename>libgstmatroska.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
@@ -65,7 +65,7 @@
           <name>video_%u</name>
           <direction>sink</direction>
           <presence>request</presence>
-          <details>video/mpeg, mpegversion=(int){ 1, 2, 4 }, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-h265, stream-format=(string)hvc1, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-divx, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-huffyuv, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-dv, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-h263, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-msmpeg, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; image/jpeg, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-theora; video/x-dirac, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-pn-realvideo, rmversion=(int)[ 1, 4 ], width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-vp8, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-vp9, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-raw, format=(string){ YUY2, I420, YV12, UYVY, AYUV, GRAY8, BGR, RGB }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-prores, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-wmv, wmvversion=(int)[ 1, 3 ], width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</details>
+          <details>video/mpeg, mpegversion=(int){ 1, 2, 4 }, systemstream=(boolean)false, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-h265, stream-format=(string)hvc1, alignment=(string)au, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-divx, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-huffyuv, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-dv, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-h263, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-msmpeg, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; image/jpeg, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-theora; video/x-dirac, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-pn-realvideo, rmversion=(int)[ 1, 4 ], width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-vp8, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-vp9, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-raw, format=(string){ YUY2, I420, YV12, UYVY, AYUV, GRAY8, BGR, RGB }, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-prores, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-wmv, wmvversion=(int)[ 1, 3 ], width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</details>
         </caps>
         <caps>
           <name>src</name>
diff --git a/docs/plugins/inspect/plugin-mulaw.xml b/docs/plugins/inspect/plugin-mulaw.xml
index 3061052..5812f6a 100644
--- a/docs/plugins/inspect/plugin-mulaw.xml
+++ b/docs/plugins/inspect/plugin-mulaw.xml
@@ -3,7 +3,7 @@
   <description>MuLaw audio conversion routines</description>
   <filename>../../gst/law/.libs/libgstmulaw.so</filename>
   <basename>libgstmulaw.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-multifile.xml b/docs/plugins/inspect/plugin-multifile.xml
index b9300d0..69dc6a1 100644
--- a/docs/plugins/inspect/plugin-multifile.xml
+++ b/docs/plugins/inspect/plugin-multifile.xml
@@ -3,7 +3,7 @@
   <description>Reads/Writes buffers from/to sequentially named files</description>
   <filename>../../gst/multifile/.libs/libgstmultifile.so</filename>
   <basename>libgstmultifile.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-multipart.xml b/docs/plugins/inspect/plugin-multipart.xml
index c20ecb6..579cdac 100644
--- a/docs/plugins/inspect/plugin-multipart.xml
+++ b/docs/plugins/inspect/plugin-multipart.xml
@@ -3,7 +3,7 @@
   <description>multipart stream manipulation</description>
   <filename>../../gst/multipart/.libs/libgstmultipart.so</filename>
   <basename>libgstmultipart.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-navigationtest.xml b/docs/plugins/inspect/plugin-navigationtest.xml
index e913106..2da433e 100644
--- a/docs/plugins/inspect/plugin-navigationtest.xml
+++ b/docs/plugins/inspect/plugin-navigationtest.xml
@@ -3,7 +3,7 @@
   <description>Template for a video filter</description>
   <filename>../../gst/debugutils/.libs/libgstnavigationtest.so</filename>
   <basename>libgstnavigationtest.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-oss4.xml b/docs/plugins/inspect/plugin-oss4.xml
index 095ab09..5867f69 100644
--- a/docs/plugins/inspect/plugin-oss4.xml
+++ b/docs/plugins/inspect/plugin-oss4.xml
@@ -3,7 +3,7 @@
   <description>Open Sound System (OSS) version 4 support for GStreamer</description>
   <filename>../../sys/oss4/.libs/libgstoss4audio.so</filename>
   <basename>libgstoss4audio.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ossaudio.xml b/docs/plugins/inspect/plugin-ossaudio.xml
index 72ed2eb..09303d7 100644
--- a/docs/plugins/inspect/plugin-ossaudio.xml
+++ b/docs/plugins/inspect/plugin-ossaudio.xml
@@ -3,7 +3,7 @@
   <description>OSS (Open Sound System) support for GStreamer</description>
   <filename>../../sys/oss/.libs/libgstossaudio.so</filename>
   <basename>libgstossaudio.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-png.xml b/docs/plugins/inspect/plugin-png.xml
index 43eb33a..d5c1152 100644
--- a/docs/plugins/inspect/plugin-png.xml
+++ b/docs/plugins/inspect/plugin-png.xml
@@ -3,7 +3,7 @@
   <description>PNG plugin library</description>
   <filename>../../ext/libpng/.libs/libgstpng.so</filename>
   <basename>libgstpng.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-pulseaudio.xml b/docs/plugins/inspect/plugin-pulseaudio.xml
index bf4e6c6..28f9ec3 100644
--- a/docs/plugins/inspect/plugin-pulseaudio.xml
+++ b/docs/plugins/inspect/plugin-pulseaudio.xml
@@ -3,7 +3,7 @@
   <description>PulseAudio plugin library</description>
   <filename>../../ext/pulse/.libs/libgstpulse.so</filename>
   <basename>libgstpulse.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-replaygain.xml b/docs/plugins/inspect/plugin-replaygain.xml
index 3132a51..4e2fa91 100644
--- a/docs/plugins/inspect/plugin-replaygain.xml
+++ b/docs/plugins/inspect/plugin-replaygain.xml
@@ -3,7 +3,7 @@
   <description>ReplayGain volume normalization</description>
   <filename>../../gst/replaygain/.libs/libgstreplaygain.so</filename>
   <basename>libgstreplaygain.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtp.xml b/docs/plugins/inspect/plugin-rtp.xml
index 5d927de..f9a892c 100644
--- a/docs/plugins/inspect/plugin-rtp.xml
+++ b/docs/plugins/inspect/plugin-rtp.xml
@@ -3,7 +3,7 @@
   <description>Real-time protocol plugins</description>
   <filename>../../gst/rtp/.libs/libgstrtp.so</filename>
   <basename>libgstrtp.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtpmanager.xml b/docs/plugins/inspect/plugin-rtpmanager.xml
index 2e5ebdc..47346ee 100644
--- a/docs/plugins/inspect/plugin-rtpmanager.xml
+++ b/docs/plugins/inspect/plugin-rtpmanager.xml
@@ -3,7 +3,7 @@
   <description>RTP session management plugin library</description>
   <filename>../../gst/rtpmanager/.libs/libgstrtpmanager.so</filename>
   <basename>libgstrtpmanager.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtsp.xml b/docs/plugins/inspect/plugin-rtsp.xml
index 36a579e..70c0787 100644
--- a/docs/plugins/inspect/plugin-rtsp.xml
+++ b/docs/plugins/inspect/plugin-rtsp.xml
@@ -3,7 +3,7 @@
   <description>transfer data via RTSP</description>
   <filename>../../gst/rtsp/.libs/libgstrtsp.so</filename>
   <basename>libgstrtsp.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-shapewipe.xml b/docs/plugins/inspect/plugin-shapewipe.xml
index aa1da72..721d489 100644
--- a/docs/plugins/inspect/plugin-shapewipe.xml
+++ b/docs/plugins/inspect/plugin-shapewipe.xml
@@ -3,7 +3,7 @@
   <description>Shape Wipe transition filter</description>
   <filename>../../gst/shapewipe/.libs/libgstshapewipe.so</filename>
   <basename>libgstshapewipe.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-shout2send.xml b/docs/plugins/inspect/plugin-shout2send.xml
index fd9d379..1693371 100644
--- a/docs/plugins/inspect/plugin-shout2send.xml
+++ b/docs/plugins/inspect/plugin-shout2send.xml
@@ -3,7 +3,7 @@
   <description>Sends data to an icecast server using libshout2</description>
   <filename>../../ext/shout2/.libs/libgstshout2.so</filename>
   <basename>libgstshout2.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>libshout2</package>
diff --git a/docs/plugins/inspect/plugin-smpte.xml b/docs/plugins/inspect/plugin-smpte.xml
index 4deda2b..0b9e3ba 100644
--- a/docs/plugins/inspect/plugin-smpte.xml
+++ b/docs/plugins/inspect/plugin-smpte.xml
@@ -3,7 +3,7 @@
   <description>Apply the standard SMPTE transitions on video images</description>
   <filename>../../gst/smpte/.libs/libgstsmpte.so</filename>
   <basename>libgstsmpte.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-soup.xml b/docs/plugins/inspect/plugin-soup.xml
index 04e5b2e..2c9916b 100644
--- a/docs/plugins/inspect/plugin-soup.xml
+++ b/docs/plugins/inspect/plugin-soup.xml
@@ -3,7 +3,7 @@
   <description>libsoup HTTP client src/sink</description>
   <filename>../../ext/soup/.libs/libgstsouphttpsrc.so</filename>
   <basename>libgstsouphttpsrc.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-spectrum.xml b/docs/plugins/inspect/plugin-spectrum.xml
index c6cf452..e69d83e 100644
--- a/docs/plugins/inspect/plugin-spectrum.xml
+++ b/docs/plugins/inspect/plugin-spectrum.xml
@@ -3,7 +3,7 @@
   <description>Run an FFT on the audio signal, output spectrum data</description>
   <filename>../../gst/spectrum/.libs/libgstspectrum.so</filename>
   <basename>libgstspectrum.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-speex.xml b/docs/plugins/inspect/plugin-speex.xml
index d3d2351..c60b331 100644
--- a/docs/plugins/inspect/plugin-speex.xml
+++ b/docs/plugins/inspect/plugin-speex.xml
@@ -3,7 +3,7 @@
   <description>Speex plugin library</description>
   <filename>../../ext/speex/.libs/libgstspeex.so</filename>
   <basename>libgstspeex.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-taglib.xml b/docs/plugins/inspect/plugin-taglib.xml
index 3182912..f5512ae 100644
--- a/docs/plugins/inspect/plugin-taglib.xml
+++ b/docs/plugins/inspect/plugin-taglib.xml
@@ -3,7 +3,7 @@
   <description>Tag writing plug-in based on taglib</description>
   <filename>../../ext/taglib/.libs/libgsttaglib.so</filename>
   <basename>libgsttaglib.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-udp.xml b/docs/plugins/inspect/plugin-udp.xml
index 8294a2a..abb6fb0 100644
--- a/docs/plugins/inspect/plugin-udp.xml
+++ b/docs/plugins/inspect/plugin-udp.xml
@@ -3,7 +3,7 @@
   <description>transfer data via UDP</description>
   <filename>../../gst/udp/.libs/libgstudp.so</filename>
   <basename>libgstudp.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-video4linux2.xml b/docs/plugins/inspect/plugin-video4linux2.xml
index 2c3af4d..dcbb89d 100644
--- a/docs/plugins/inspect/plugin-video4linux2.xml
+++ b/docs/plugins/inspect/plugin-video4linux2.xml
@@ -3,7 +3,7 @@
   <description>elements for Video 4 Linux</description>
   <filename>../../sys/v4l2/.libs/libgstvideo4linux2.so</filename>
   <basename>libgstvideo4linux2.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videobox.xml b/docs/plugins/inspect/plugin-videobox.xml
index 9513d24..00a83eb 100644
--- a/docs/plugins/inspect/plugin-videobox.xml
+++ b/docs/plugins/inspect/plugin-videobox.xml
@@ -3,7 +3,7 @@
   <description>resizes a video by adding borders or cropping</description>
   <filename>../../gst/videobox/.libs/libgstvideobox.so</filename>
   <basename>libgstvideobox.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videocrop.xml b/docs/plugins/inspect/plugin-videocrop.xml
index 35d6f4f..d3c9e2e 100644
--- a/docs/plugins/inspect/plugin-videocrop.xml
+++ b/docs/plugins/inspect/plugin-videocrop.xml
@@ -3,7 +3,7 @@
   <description>Crops video into a user-defined region</description>
   <filename>../../gst/videocrop/.libs/libgstvideocrop.so</filename>
   <basename>libgstvideocrop.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videofilter.xml b/docs/plugins/inspect/plugin-videofilter.xml
index d0fb64d..65a051e 100644
--- a/docs/plugins/inspect/plugin-videofilter.xml
+++ b/docs/plugins/inspect/plugin-videofilter.xml
@@ -3,7 +3,7 @@
   <description>Video filters plugin</description>
   <filename>../../gst/videofilter/.libs/libgstvideofilter.so</filename>
   <basename>libgstvideofilter.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videomixer.xml b/docs/plugins/inspect/plugin-videomixer.xml
index 937eca6..a008a85 100644
--- a/docs/plugins/inspect/plugin-videomixer.xml
+++ b/docs/plugins/inspect/plugin-videomixer.xml
@@ -3,7 +3,7 @@
   <description>Video mixer</description>
   <filename>../../gst/videomixer/.libs/libgstvideomixer.so</filename>
   <basename>libgstvideomixer.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-vpx.xml b/docs/plugins/inspect/plugin-vpx.xml
index d1e4b0e..affec4f 100644
--- a/docs/plugins/inspect/plugin-vpx.xml
+++ b/docs/plugins/inspect/plugin-vpx.xml
@@ -3,7 +3,7 @@
   <description>VP8 plugin</description>
   <filename>../../ext/vpx/.libs/libgstvpx.so</filename>
   <basename>libgstvpx.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-wavenc.xml b/docs/plugins/inspect/plugin-wavenc.xml
index 83941e0..a4b5095 100644
--- a/docs/plugins/inspect/plugin-wavenc.xml
+++ b/docs/plugins/inspect/plugin-wavenc.xml
@@ -3,7 +3,7 @@
   <description>Encode raw audio into WAV</description>
   <filename>../../gst/wavenc/.libs/libgstwavenc.so</filename>
   <basename>libgstwavenc.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-wavpack.xml b/docs/plugins/inspect/plugin-wavpack.xml
index 28f3ce3..04f39ca 100644
--- a/docs/plugins/inspect/plugin-wavpack.xml
+++ b/docs/plugins/inspect/plugin-wavpack.xml
@@ -3,7 +3,7 @@
   <description>Wavpack lossless/lossy audio format handling</description>
   <filename>../../ext/wavpack/.libs/libgstwavpack.so</filename>
   <basename>libgstwavpack.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-wavparse.xml b/docs/plugins/inspect/plugin-wavparse.xml
index 54e03e5..9eb5331 100644
--- a/docs/plugins/inspect/plugin-wavparse.xml
+++ b/docs/plugins/inspect/plugin-wavparse.xml
@@ -3,7 +3,7 @@
   <description>Parse a .wav file into raw audio</description>
   <filename>../../gst/wavparse/.libs/libgstwavparse.so</filename>
   <basename>libgstwavparse.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ximagesrc.xml b/docs/plugins/inspect/plugin-ximagesrc.xml
index dd1f1fc..223679e 100644
--- a/docs/plugins/inspect/plugin-ximagesrc.xml
+++ b/docs/plugins/inspect/plugin-ximagesrc.xml
@@ -3,7 +3,7 @@
   <description>X11 video input plugin using standard Xlib calls</description>
   <filename>../../sys/ximage/.libs/libgstximagesrc.so</filename>
   <basename>libgstximagesrc.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-y4menc.xml b/docs/plugins/inspect/plugin-y4menc.xml
index d050e09..6ef9724 100644
--- a/docs/plugins/inspect/plugin-y4menc.xml
+++ b/docs/plugins/inspect/plugin-y4menc.xml
@@ -3,7 +3,7 @@
   <description>Encodes a YUV frame into the yuv4mpeg format (mjpegtools)</description>
   <filename>../../gst/y4m/.libs/libgsty4menc.so</filename>
   <basename>libgsty4menc.so</basename>
-  <version>1.9.90</version>
+  <version>1.10.0</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/ext/soup/gstsouphttpsrc.c b/ext/soup/gstsouphttpsrc.c
index aef64d3..ce93be8 100644
--- a/ext/soup/gstsouphttpsrc.c
+++ b/ext/soup/gstsouphttpsrc.c
@@ -77,7 +77,6 @@
 #endif
 #include <gst/gstelement.h>
 #include <gst/gst-i18n-plugin.h>
-#include <gio/gio.h>
 #include <libsoup/soup.h>
 #include "gstsouphttpsrc.h"
 #include "gstsouputils.h"
@@ -183,7 +182,6 @@
 static void gst_soup_http_src_authenticate_cb (SoupSession * session,
     SoupMessage * msg, SoupAuth * auth, gboolean retrying,
     GstSoupHTTPSrc * src);
-static void gst_soup_http_src_destroy_input_stream (GstSoupHTTPSrc * src);
 
 #define gst_soup_http_src_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstSoupHTTPSrc, gst_soup_http_src, GST_TYPE_PUSH_SRC,
@@ -451,7 +449,10 @@
 
   src->ret = GST_FLOW_OK;
   g_cancellable_reset (src->cancellable);
-  gst_soup_http_src_destroy_input_stream (src);
+  if (src->input_stream) {
+    g_object_unref (src->input_stream);
+    src->input_stream = NULL;
+  }
 
   gst_caps_replace (&src->src_caps, NULL);
   g_free (src->iradio_name);
@@ -470,7 +471,6 @@
   g_mutex_init (&src->mutex);
   g_cond_init (&src->have_headers_cond);
   src->cancellable = g_cancellable_new ();
-  src->poll_context = g_main_context_new ();
   src->location = NULL;
   src->redirection_uri = NULL;
   src->automatic_redirect = TRUE;
@@ -526,7 +526,6 @@
   g_mutex_clear (&src->mutex);
   g_cond_clear (&src->have_headers_cond);
   g_object_unref (src->cancellable);
-  g_main_context_unref (src->poll_context);
   g_free (src->location);
   g_free (src->redirection_uri);
   g_free (src->user_agent);
@@ -777,21 +776,6 @@
 }
 
 static void
-gst_soup_http_src_destroy_input_stream (GstSoupHTTPSrc * src)
-{
-  if (src->input_stream) {
-    if (src->poll_source) {
-      g_source_destroy (src->poll_source);
-      g_source_unref (src->poll_source);
-      src->poll_source = NULL;
-    }
-    g_input_stream_close (src->input_stream, src->cancellable, NULL);
-    g_object_unref (src->input_stream);
-    src->input_stream = NULL;
-  }
-}
-
-static void
 gst_soup_http_src_cancel_message (GstSoupHTTPSrc * src)
 {
   g_cancellable_cancel (src->cancellable);
@@ -1401,25 +1385,11 @@
   return TRUE;
 }
 
-static void
-gst_soup_http_src_check_input_stream_interfaces (GstSoupHTTPSrc * src)
-{
-  if (!src->input_stream)
-    return;
-
-  src->has_pollable_interface = G_IS_POLLABLE_INPUT_STREAM (src->input_stream)
-      && g_pollable_input_stream_can_poll ((GPollableInputStream *)
-      src->input_stream);
-}
-
 static GstFlowReturn
 gst_soup_http_src_send_message (GstSoupHTTPSrc * src)
 {
   g_return_val_if_fail (src->msg != NULL, GST_FLOW_ERROR);
 
-  g_assert (src->input_stream == NULL);
-  g_assert (src->poll_source == NULL);
-
   /* FIXME We are ignoring the GError here, might be useful to debug */
   src->input_stream =
       soup_session_send (src->session, src->msg, src->cancellable, NULL);
@@ -1444,8 +1414,6 @@
     return GST_FLOW_ERROR;
   }
 
-  gst_soup_http_src_check_input_stream_interfaces (src);
-
   return GST_FLOW_OK;
 }
 
@@ -1554,38 +1522,6 @@
   }
 }
 
-static gboolean
-_gst_soup_http_src_data_available_callback (GObject * pollable_stream,
-    gpointer udata)
-{
-  GstSoupHTTPSrc *src = udata;
-
-  src->have_data = TRUE;
-  return TRUE;
-}
-
-/* Need to wait on a gsource to know when data is available */
-static gboolean
-gst_soup_http_src_wait_for_data (GstSoupHTTPSrc * src)
-{
-  src->have_data = FALSE;
-
-  if (!src->poll_source) {
-    src->poll_source =
-        g_pollable_input_stream_create_source ((GPollableInputStream *)
-        src->input_stream, src->cancellable);
-    g_source_set_callback (src->poll_source,
-        (GSourceFunc) _gst_soup_http_src_data_available_callback, src, NULL);
-    g_source_attach (src->poll_source, src->poll_context);
-  }
-
-  while (!src->have_data && !g_cancellable_is_cancelled (src->cancellable)) {
-    g_main_context_iteration (src->poll_context, TRUE);
-  }
-
-  return src->have_data;
-}
-
 static GstFlowReturn
 gst_soup_http_src_read_buffer (GstSoupHTTPSrc * src, GstBuffer ** outbuf)
 {
@@ -1593,7 +1529,6 @@
   GstMapInfo mapinfo;
   GstBaseSrc *bsrc;
   GstFlowReturn ret;
-  GError *err = NULL;
 
   bsrc = GST_BASE_SRC_CAST (src);
 
@@ -1608,34 +1543,9 @@
     return GST_FLOW_ERROR;
   }
 
-  if (src->has_pollable_interface) {
-    while (1) {
-      read_bytes =
-          g_pollable_input_stream_read_nonblocking ((GPollableInputStream *)
-          src->input_stream, mapinfo.data, mapinfo.size, src->cancellable,
-          &err);
-      if (read_bytes == -1) {
-        if (err && g_error_matches (err, G_IO_ERROR, G_IO_ERROR_WOULD_BLOCK)) {
-          g_error_free (err);
-          err = NULL;
-
-          /* no data yet, wait */
-          if (gst_soup_http_src_wait_for_data (src))
-            /* retry */
-            continue;
-        }
-      }
-      break;
-    }
-  } else {
-    read_bytes =
-        g_input_stream_read (src->input_stream, mapinfo.data, mapinfo.size,
-        src->cancellable, NULL);
-  }
-
-  if (err)
-    g_error_free (err);
-
+  read_bytes =
+      g_input_stream_read (src->input_stream, mapinfo.data, mapinfo.size,
+      src->cancellable, NULL);
   GST_DEBUG_OBJECT (src, "Read %" G_GSSIZE_FORMAT " bytes from http input",
       read_bytes);
 
@@ -1710,7 +1620,11 @@
 
   /* Check for pending position change */
   if (src->request_position != src->read_position) {
-    gst_soup_http_src_destroy_input_stream (src);
+    if (src->input_stream) {
+      g_input_stream_close (src->input_stream, src->cancellable, NULL);
+      g_object_unref (src->input_stream);
+      src->input_stream = NULL;
+    }
   }
 
   if (g_cancellable_is_cancelled (src->cancellable)) {
@@ -1747,7 +1661,10 @@
       gst_event_unref (http_headers_event);
 
     g_mutex_lock (&src->mutex);
-    gst_soup_http_src_destroy_input_stream (src);
+    if (src->input_stream) {
+      g_object_unref (src->input_stream);
+      src->input_stream = NULL;
+    }
     g_mutex_unlock (&src->mutex);
     if (ret == GST_FLOW_CUSTOM_ERROR)
       goto retry;
diff --git a/ext/soup/gstsouphttpsrc.h b/ext/soup/gstsouphttpsrc.h
index 2629cb1..dd01656 100644
--- a/ext/soup/gstsouphttpsrc.h
+++ b/ext/soup/gstsouphttpsrc.h
@@ -89,10 +89,6 @@
 
   GCancellable *cancellable;
   GInputStream *input_stream;
-  gboolean has_pollable_interface;
-  gboolean have_data;
-  GMainContext *poll_context;
-  GSource *poll_source;
 
   gint reduce_blocksize_count;
   gint increase_blocksize_count;
diff --git a/gst-plugins-good.doap b/gst-plugins-good.doap
index a5fb63c..c4d5b57 100644
--- a/gst-plugins-good.doap
+++ b/gst-plugins-good.doap
@@ -34,6 +34,16 @@
 
  <release>
   <Version>
+   <revision>1.10.0</revision>
+   <branch>master</branch>
+   <name></name>
+   <created>2016-11-01</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.10.0.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.9.90</revision>
    <branch>master</branch>
    <name></name>
diff --git a/gst-plugins-good.spec b/gst-plugins-good.spec
index cf7f597..44dda7a 100644
--- a/gst-plugins-good.spec
+++ b/gst-plugins-good.spec
@@ -4,7 +4,7 @@
 %define gst_minver   0.11.0
 
 Name: 		%{gstreamer}-plugins-good
-Version: 	1.9.90
+Version: 	1.10.0
 Release: 	1.gst
 Summary: 	GStreamer plug-ins with good code and licensing
 
diff --git a/gst/flv/gstflvmux.c b/gst/flv/gstflvmux.c
index 2080a3c..fec8f93 100644
--- a/gst/flv/gstflvmux.c
+++ b/gst/flv/gstflvmux.c
@@ -152,6 +152,20 @@
   *buffer = _gst_buffer_new_wrapped (*data, size, g_free);
 }
 
+static GstFlowReturn
+gst_flv_mux_clip_running_time (GstCollectPads * pads,
+    GstCollectData * cdata, GstBuffer * buf, GstBuffer ** outbuf,
+    gpointer user_data)
+{
+  buf = gst_buffer_make_writable (buf);
+
+  if (!GST_CLOCK_TIME_IS_VALID (GST_BUFFER_PTS (buf)))
+    GST_BUFFER_PTS (buf) = GST_BUFFER_DTS (buf);
+
+  return gst_collect_pads_clip_running_time (pads, cdata, buf, outbuf,
+      user_data);
+}
+
 static void
 gst_flv_mux_class_init (GstFlvMuxClass * klass)
 {
@@ -217,7 +231,7 @@
   gst_collect_pads_set_event_function (mux->collect,
       GST_DEBUG_FUNCPTR (gst_flv_mux_handle_sink_event), mux);
   gst_collect_pads_set_clip_function (mux->collect,
-      GST_DEBUG_FUNCPTR (gst_collect_pads_clip_running_time), mux);
+      GST_DEBUG_FUNCPTR (gst_flv_mux_clip_running_time), mux);
 
   gst_flv_mux_reset (GST_ELEMENT (mux));
 }
diff --git a/gst/imagefreeze/gstimagefreeze.c b/gst/imagefreeze/gstimagefreeze.c
index f122645..b331bff 100644
--- a/gst/imagefreeze/gstimagefreeze.c
+++ b/gst/imagefreeze/gstimagefreeze.c
@@ -491,6 +491,13 @@
       ret = TRUE;
       break;
     }
+    case GST_QUERY_LATENCY:
+      /* This will only return an accurate latency for the first buffer since
+       * all further buffers outputted by us are just copies of that one, and
+       * the latency is 0 in that case. However, latency changes are not
+       * straightforward, so let's do the conservative fix for now. */
+      ret = gst_pad_query_default (pad, parent, query);
+      break;
     default:
       ret = FALSE;
       break;
diff --git a/gst/matroska/matroska-mux.c b/gst/matroska/matroska-mux.c
index f77bd49..731612e 100644
--- a/gst/matroska/matroska-mux.c
+++ b/gst/matroska/matroska-mux.c
@@ -89,8 +89,8 @@
     );
 
 #define COMMON_VIDEO_CAPS \
-  "width = (int) [ 16, 4096 ], " \
-  "height = (int) [ 16, 4096 ] "
+  "width = (int) [ 16, MAX ], " \
+  "height = (int) [ 16, MAX ] "
 
 /* FIXME:
  * * require codec data, etc as needed
diff --git a/gst/multifile/gstsplitmuxpartreader.c b/gst/multifile/gstsplitmuxpartreader.c
index 5e98166..1753b37 100644
--- a/gst/multifile/gstsplitmuxpartreader.c
+++ b/gst/multifile/gstsplitmuxpartreader.c
@@ -994,7 +994,6 @@
     return FALSE;
 
   ret = gst_pad_peer_query (target, query);
-  gst_object_unref (GST_OBJECT_CAST (target));
 
   if (ret == FALSE)
     goto out;
@@ -1185,6 +1184,18 @@
   return TRUE;
 }
 
+gboolean
+gst_splitmux_part_reader_is_active (GstSplitMuxPartReader * part)
+{
+  gboolean ret;
+
+  SPLITMUX_PART_LOCK (part);
+  ret = part->active;
+  SPLITMUX_PART_UNLOCK (part);
+
+  return ret;
+}
+
 void
 gst_splitmux_part_reader_deactivate (GstSplitMuxPartReader * reader)
 {
diff --git a/gst/multifile/gstsplitmuxpartreader.h b/gst/multifile/gstsplitmuxpartreader.h
index 593d8ae..95d920f 100644
--- a/gst/multifile/gstsplitmuxpartreader.h
+++ b/gst/multifile/gstsplitmuxpartreader.h
@@ -103,6 +103,7 @@
 
 gboolean gst_splitmux_part_reader_activate (GstSplitMuxPartReader *part, GstSegment *seg);
 void gst_splitmux_part_reader_deactivate (GstSplitMuxPartReader *part);
+gboolean gst_splitmux_part_reader_is_active (GstSplitMuxPartReader *part);
 
 gboolean gst_splitmux_part_reader_src_query (GstSplitMuxPartReader *part, GstPad *src_pad, GstQuery * query);
 void gst_splitmux_part_reader_set_start_offset (GstSplitMuxPartReader *part, GstClockTime offset);
diff --git a/gst/multifile/gstsplitmuxsink.c b/gst/multifile/gstsplitmuxsink.c
index 585b1ff..12b2cac 100644
--- a/gst/multifile/gstsplitmuxsink.c
+++ b/gst/multifile/gstsplitmuxsink.c
@@ -264,12 +264,21 @@
 static void
 gst_splitmux_reset (GstSplitMuxSink * splitmux)
 {
-  if (splitmux->mq)
+  if (splitmux->mq) {
+    gst_element_set_locked_state (splitmux->mq, TRUE);
+    gst_element_set_state (splitmux->mq, GST_STATE_NULL);
     gst_bin_remove (GST_BIN (splitmux), splitmux->mq);
-  if (splitmux->muxer)
+  }
+  if (splitmux->muxer) {
+    gst_element_set_locked_state (splitmux->muxer, TRUE);
+    gst_element_set_state (splitmux->muxer, GST_STATE_NULL);
     gst_bin_remove (GST_BIN (splitmux), splitmux->muxer);
-  if (splitmux->active_sink)
+  }
+  if (splitmux->active_sink) {
+    gst_element_set_locked_state (splitmux->active_sink, TRUE);
+    gst_element_set_state (splitmux->active_sink, GST_STATE_NULL);
     gst_bin_remove (GST_BIN (splitmux), splitmux->active_sink);
+  }
 
   splitmux->sink = splitmux->active_sink = splitmux->muxer = splitmux->mq =
       NULL;
@@ -350,14 +359,16 @@
       GST_OBJECT_LOCK (splitmux);
       if (splitmux->provided_sink)
         gst_object_unref (splitmux->provided_sink);
-      splitmux->provided_sink = g_value_dup_object (value);
+      splitmux->provided_sink = g_value_get_object (value);
+      gst_object_ref_sink (splitmux->provided_sink);
       GST_OBJECT_UNLOCK (splitmux);
       break;
     case PROP_MUXER:
       GST_OBJECT_LOCK (splitmux);
       if (splitmux->provided_muxer)
         gst_object_unref (splitmux->provided_muxer);
-      splitmux->provided_muxer = g_value_dup_object (value);
+      splitmux->provided_muxer = g_value_get_object (value);
+      gst_object_ref_sink (splitmux->provided_muxer);
       GST_OBJECT_UNLOCK (splitmux);
       break;
     default:
@@ -1360,6 +1371,9 @@
 
   if (templ->name_template) {
     if (g_str_equal (templ->name_template, "video")) {
+      if (splitmux->have_video)
+        goto already_have_video;
+
       /* FIXME: Look for a pad template with matching caps, rather than by name */
       mux_template =
           gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS
@@ -1424,7 +1438,7 @@
     ctx->is_reference = TRUE;
   }
 
-  res = gst_ghost_pad_new (gname, mq_sink);
+  res = gst_ghost_pad_new_from_template (gname, mq_sink, templ);
   g_object_set_qdata ((GObject *) (res), PAD_CONTEXT, ctx);
 
   mq_stream_ctx_ref (ctx);
@@ -1443,14 +1457,22 @@
   gst_object_unref (mq_sink);
   gst_object_unref (mq_src);
 
+  if (is_video)
+    splitmux->have_video = TRUE;
+
   gst_pad_set_active (res, TRUE);
   gst_element_add_pad (element, res);
+
   GST_SPLITMUX_UNLOCK (splitmux);
 
   return res;
 fail:
   GST_SPLITMUX_UNLOCK (splitmux);
   return NULL;
+already_have_video:
+  GST_DEBUG_OBJECT (splitmux, "video sink pad already requested");
+  GST_SPLITMUX_UNLOCK (splitmux);
+  return NULL;
 }
 
 static void
@@ -1483,6 +1505,8 @@
 
   /* Can release the context now */
   mq_stream_ctx_unref (ctx);
+  if (ctx == splitmux->reference_ctx)
+    splitmux->reference_ctx = NULL;
 
   /* Release and free the mq input */
   gst_element_release_request_pad (splitmux->mq, mqsink);
@@ -1494,6 +1518,11 @@
   gst_object_unref (mqsrc);
   gst_object_unref (muxpad);
 
+  if (GST_PAD_PAD_TEMPLATE (pad) &&
+      g_str_equal (GST_PAD_TEMPLATE_NAME_TEMPLATE (GST_PAD_PAD_TEMPLATE (pad)),
+          "video"))
+    splitmux->have_video = FALSE;
+
   gst_element_remove_pad (element, pad);
 
   /* Reset the internal elements only after all request pads are released */
@@ -1551,6 +1580,8 @@
               create_element (splitmux, "mp4mux", "muxer")) == NULL)
         goto fail;
     } else {
+      /* Ensure it's not in locked state (we might be reusing an old element) */
+      gst_element_set_locked_state (provided_muxer, FALSE);
       if (!gst_bin_add (GST_BIN (splitmux), provided_muxer)) {
         g_warning ("Could not add muxer element - splitmuxsink will not work");
         gst_object_unref (provided_muxer);
@@ -1627,6 +1658,8 @@
         goto fail;
       splitmux->active_sink = splitmux->sink;
     } else {
+      /* Ensure it's not in locked state (we might be reusing an old element) */
+      gst_element_set_locked_state (provided_sink, FALSE);
       if (!gst_bin_add (GST_BIN (splitmux), provided_sink)) {
         g_warning ("Could not add sink elements - splitmuxsink will not work");
         gst_object_unref (provided_sink);
diff --git a/gst/multifile/gstsplitmuxsink.h b/gst/multifile/gstsplitmuxsink.h
index aeda8a5..fe832a5 100644
--- a/gst/multifile/gstsplitmuxsink.h
+++ b/gst/multifile/gstsplitmuxsink.h
@@ -129,6 +129,8 @@
 
   gboolean opening_first_fragment;
   gboolean switching_fragment;
+
+  gboolean have_video;
 };
 
 struct _GstSplitMuxSinkClass {
diff --git a/gst/multifile/gstsplitmuxsrc.c b/gst/multifile/gstsplitmuxsrc.c
index b710ca6..209d29f 100644
--- a/gst/multifile/gstsplitmuxsrc.c
+++ b/gst/multifile/gstsplitmuxsrc.c
@@ -750,12 +750,14 @@
   splitmux->pads = NULL;
   SPLITMUX_SRC_PADS_UNLOCK (splitmux);
 
+  SPLITMUX_SRC_UNLOCK (splitmux);
   for (cur = g_list_first (pads_list); cur != NULL; cur = g_list_next (cur)) {
     SplitMuxSrcPad *tmp = (SplitMuxSrcPad *) (cur->data);
     gst_pad_stop_task (GST_PAD (tmp));
     gst_element_remove_pad (GST_ELEMENT (splitmux), GST_PAD (tmp));
   }
   g_list_free (pads_list);
+  SPLITMUX_SRC_LOCK (splitmux);
 
   g_free (splitmux->parts);
   splitmux->parts = NULL;
@@ -943,6 +945,28 @@
   if (gst_splitmux_part_is_eos (splitmux->parts[splitpad->cur_part]))
     gst_splitmux_part_reader_deactivate (splitmux->parts[cur_part]);
 
+  if (splitmux->play_segment.rate >= 0.0) {
+    if (splitmux->play_segment.stop != -1) {
+      GstClockTime part_end =
+          gst_splitmux_part_reader_get_end_offset (splitmux->parts[cur_part]);
+      if (part_end >= splitmux->play_segment.stop) {
+        GST_DEBUG_OBJECT (splitmux,
+            "Stop position was within that part. Finishing");
+        next_part = -1;
+      }
+    }
+  } else {
+    if (splitmux->play_segment.start != -1) {
+      GstClockTime part_start =
+          gst_splitmux_part_reader_get_start_offset (splitmux->parts[cur_part]);
+      if (part_start >= splitmux->play_segment.start) {
+        GST_DEBUG_OBJECT (splitmux,
+            "Start position was within that part. Finishing");
+        next_part = -1;
+      }
+    }
+  }
+
   if (next_part != -1) {
     GST_DEBUG_OBJECT (splitmux, "At EOS on pad %" GST_PTR_FORMAT
         " moving to part %d", splitpad, next_part);
@@ -955,21 +979,23 @@
         (GstPad *) (splitpad));
 
     if (splitmux->cur_part != next_part) {
-      GstSegment tmp;
-      /* If moving backward into a new part, set stop
-       * to -1 to ensure we play the entire file - workaround
-       * a bug in qtdemux that misses bits at the end */
-      gst_segment_copy_into (&splitmux->play_segment, &tmp);
-      if (tmp.rate < 0)
-        tmp.stop = -1;
+      if (!gst_splitmux_part_reader_is_active (splitpad->reader)) {
+        GstSegment tmp;
+        /* If moving backward into a new part, set stop
+         * to -1 to ensure we play the entire file - workaround
+         * a bug in qtdemux that misses bits at the end */
+        gst_segment_copy_into (&splitmux->play_segment, &tmp);
+        if (tmp.rate < 0)
+          tmp.stop = -1;
 
-      /* This is the first pad to move to the new part, activate it */
+        /* This is the first pad to move to the new part, activate it */
+        GST_DEBUG_OBJECT (splitpad,
+            "First pad to change part. Activating part %d with seg %"
+            GST_SEGMENT_FORMAT, next_part, &tmp);
+        if (!gst_splitmux_part_reader_activate (splitpad->reader, &tmp))
+          goto error;
+      }
       splitmux->cur_part = next_part;
-      GST_DEBUG_OBJECT (splitpad,
-          "First pad to change part. Activating part %d with seg %"
-          GST_SEGMENT_FORMAT, next_part, &tmp);
-      if (!gst_splitmux_part_reader_activate (splitpad->reader, &tmp))
-        goto error;
     }
     res = TRUE;
   }
diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c
index 189adc2..7e942d0 100644
--- a/gst/rtsp/gstrtspsrc.c
+++ b/gst/rtsp/gstrtspsrc.c
@@ -4178,6 +4178,7 @@
     GST_DEBUG_OBJECT (src, "freeing connection...");
     gst_rtsp_connection_free (info->connection);
     info->connection = NULL;
+    info->flushing = FALSE;
   }
   GST_RTSP_STATE_UNLOCK (src);
   return GST_RTSP_OK;
diff --git a/gst/udp/gstudpsrc.c b/gst/udp/gstudpsrc.c
index d60a014..0f22a76 100644
--- a/gst/udp/gstudpsrc.c
+++ b/gst/udp/gstudpsrc.c
@@ -128,7 +128,7 @@
 
 /* Required for other parts of in_pktinfo / in6_pktinfo but only
  * on non-Windows and can be included after glib.h */
-#ifndef G_OS_WIN32
+#ifndef G_PLATFORM_WIN32
 #include <netinet/ip.h>
 #endif
 
@@ -157,7 +157,7 @@
   GSocketControlMessage parent;
 
   guint ifindex;
-#ifndef G_OS_WIN32
+#ifndef G_PLATFORM_WIN32
 #ifndef __NetBSD__
   struct in_addr spec_dst;
 #endif
@@ -203,7 +203,7 @@
 
   message = g_object_new (GST_TYPE_IP_PKTINFO_MESSAGE, NULL);
   message->ifindex = pktinfo->ipi_ifindex;
-#ifndef G_OS_WIN32
+#ifndef G_PLATFORM_WIN32
 #ifndef __NetBSD__
   message->spec_dst = pktinfo->ipi_spec_dst;
 #endif
diff --git a/gst/wavparse/gstwavparse.c b/gst/wavparse/gstwavparse.c
index 6650d18..49bc03c 100644
--- a/gst/wavparse/gstwavparse.c
+++ b/gst/wavparse/gstwavparse.c
@@ -2216,7 +2216,7 @@
         else if (wav->segment.rate < 0.0)
           wav->segment.position = wav->segment.start;
       }
-      if (wav->state == GST_WAVPARSE_START) {
+      if (wav->state == GST_WAVPARSE_START || !wav->caps) {
         GST_ELEMENT_ERROR (wav, STREAM, WRONG_TYPE, (NULL),
             ("No valid input found before end of stream"));
         gst_pad_push_event (wav->srcpad, gst_event_new_eos ());
@@ -2427,7 +2427,7 @@
       break;
     }
     case GST_EVENT_EOS:
-      if (wav->state == GST_WAVPARSE_START) {
+      if (wav->state == GST_WAVPARSE_START || !wav->caps) {
         GST_ELEMENT_ERROR (wav, STREAM, WRONG_TYPE, (NULL),
             ("No valid input found before end of stream"));
       } else {
diff --git a/po/af.gmo b/po/af.gmo
index 1282875..a64bb66 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index acb5b65..c8768f4 100644
--- a/po/af.po
+++ b/po/af.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins 0.7.6\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2004-03-18 14:16+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 cfaa53c..16f75c6 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index 877e300..eb8ab83 100644
--- a/po/az.po
+++ b/po/az.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-0.8.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2004-03-19 18:29+0200\n"
 "Last-Translator: Metin Amiroff <metin@karegen.com>\n"
 "Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
diff --git a/po/bg.gmo b/po/bg.gmo
index 7fb39b9..579805e 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index 66cd2b5..c178a65 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2016-02-21 21:03+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 9113e8c..ed9e980 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index 65eb600..fc2e788 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2012-01-01 14:19+0100\n"
 "Last-Translator: Gil Forcada <gforcada@gnome.org>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
diff --git a/po/cs.gmo b/po/cs.gmo
index e9f611d..eff02bc 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 454ac54..1728937 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2016-02-27 16:40+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 6c72f2e..67d2a30 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index df8e70a..d13eb38 100644
--- a/po/da.po
+++ b/po/da.po
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2016-03-27 23:54+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 f6d25c0..5de95c3 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index bd8a643..35265ab 100644
--- a/po/de.po
+++ b/po/de.po
@@ -14,7 +14,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2016-02-22 23:42+0100\n"
 "Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
diff --git a/po/el.gmo b/po/el.gmo
index 9d033c2..935ae22 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index cf5f53f..ca410ff 100644
--- a/po/el.po
+++ b/po/el.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2012-05-05 19:05+0100\n"
 "Last-Translator: Savvas Radevic <vicedar@gmail.com>\n"
 "Language-Team: Greek <team@lists.gnome.gr>\n"
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index 4487c55..e104ac1 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 57df2ec..bdaa8d2 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins 0.8.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2004-04-26 10:41-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 85bf32c..16f8ad8 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index a2bc1ff..13dc879 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2011-06-04 21:48+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 a435580..93725e7 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 96ec954..7a64b00 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.26.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2011-02-12 18:30+0100\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 037886b..77b0641 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index 0a8c118..ee56d9f 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-0.10.18.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2010-03-25 12:37+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 c3ef98a..a92f349 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index 8a2ddd9..0acd618 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.25.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2010-11-17 23:03+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 04becb6..fc2751a 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index 02d810e..d88aae5 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2016-02-20 16:27+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 e3f70f8..3752c8a 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index b1ed6e5..2b4f4ab 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2012-12-15 03:46+0200\n"
 "Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n"
 "Language-Team: Galician <proxecto@trasno.net>\n"
diff --git a/po/gst-plugins-good-1.0.pot b/po/gst-plugins-good-1.0.pot
index bdbdc27..faa2bb7 100644
--- a/po/gst-plugins-good-1.0.pot
+++ b/po/gst-plugins-good-1.0.pot
@@ -5,9 +5,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-good 1.9.90\n"
+"Project-Id-Version: gst-plugins-good 1.10.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\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"
@@ -37,32 +37,32 @@
 msgid "Could not connect to server"
 msgstr ""
 
-#: ext/soup/gstsouphttpsrc.c:912
+#: ext/soup/gstsouphttpsrc.c:896
 msgid "No URL set."
 msgstr ""
 
-#: ext/soup/gstsouphttpsrc.c:1227
+#: ext/soup/gstsouphttpsrc.c:1211
 msgid "Server does not support seeking."
 msgstr ""
 
-#: ext/soup/gstsouphttpsrc.c:1281
+#: ext/soup/gstsouphttpsrc.c:1265
 msgid "Could not resolve server name."
 msgstr ""
 
-#: ext/soup/gstsouphttpsrc.c:1287
+#: ext/soup/gstsouphttpsrc.c:1271
 msgid "Could not establish connection to server."
 msgstr ""
 
-#: ext/soup/gstsouphttpsrc.c:1292
+#: ext/soup/gstsouphttpsrc.c:1276
 msgid "Secure connection setup failed."
 msgstr ""
 
-#: ext/soup/gstsouphttpsrc.c:1300
+#: ext/soup/gstsouphttpsrc.c:1284
 msgid ""
 "A network error occurred, or the server closed the connection unexpectedly."
 msgstr ""
 
-#: ext/soup/gstsouphttpsrc.c:1307
+#: ext/soup/gstsouphttpsrc.c:1291
 msgid "Server sent bad data."
 msgstr ""
 
@@ -107,13 +107,13 @@
 msgid "This file contains too many streams. Only playing first %d"
 msgstr ""
 
-#: gst/rtsp/gstrtspsrc.c:6432
+#: gst/rtsp/gstrtspsrc.c:6433
 msgid ""
 "No supported stream was found. You might need to install a GStreamer RTSP "
 "extension plugin for Real media streams."
 msgstr ""
 
-#: gst/rtsp/gstrtspsrc.c:6437
+#: gst/rtsp/gstrtspsrc.c:6438
 msgid ""
 "No supported stream was found. You might need to allow more transport "
 "protocols or may otherwise be missing the right GStreamer RTSP extension "
@@ -253,80 +253,80 @@
 msgid "Error reading %d bytes from device '%s'."
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:1168
+#: sys/v4l2/gstv4l2object.c:1172
 #, c-format
 msgid "Failed to enumerate possible video formats device '%s' can work with"
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:2876
+#: sys/v4l2/gstv4l2object.c:2880
 #, c-format
 msgid "Could not map buffers from device '%s'"
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:2884
+#: sys/v4l2/gstv4l2object.c:2888
 #, c-format
 msgid "The driver of device '%s' does not support the IO method %d"
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:2891
+#: sys/v4l2/gstv4l2object.c:2895
 #, c-format
 msgid "The driver of device '%s' does not support any known IO method."
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:3514 sys/v4l2/gstv4l2object.c:3525
+#: sys/v4l2/gstv4l2object.c:3518 sys/v4l2/gstv4l2object.c:3529
 #, c-format
 msgid "Device '%s' is busy"
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:3531 sys/v4l2/gstv4l2object.c:3543
+#: sys/v4l2/gstv4l2object.c:3535 sys/v4l2/gstv4l2object.c:3547
 #, c-format
 msgid "Device '%s' cannot capture at %dx%d"
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:3554
+#: sys/v4l2/gstv4l2object.c:3558
 #, c-format
 msgid "Device '%s' cannot capture in the specified format"
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:3567
+#: sys/v4l2/gstv4l2object.c:3571
 #, c-format
 msgid "Device '%s' does support non-contiguous planes"
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:3578
+#: sys/v4l2/gstv4l2object.c:3582
 #, c-format
 msgid "Could not get parameters on device '%s'"
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:3586
+#: sys/v4l2/gstv4l2object.c:3590
 msgid "Video device did not accept new frame rate setting."
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:3708
+#: sys/v4l2/gstv4l2object.c:3712
 msgid "Video device did not provide output format."
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:3714
+#: sys/v4l2/gstv4l2object.c:3718
 msgid "Video device returned invalid dimensions."
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:3722
+#: sys/v4l2/gstv4l2object.c:3726
 msgid "Video devices uses an unsupported interlacing method."
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:3729
+#: sys/v4l2/gstv4l2object.c:3733
 msgid "Video devices uses an unsupported pixel format."
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:4156
+#: sys/v4l2/gstv4l2object.c:4160
 msgid "Failed to configure internal buffer pool."
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:4162
+#: sys/v4l2/gstv4l2object.c:4166
 msgid "Video device did not suggest any buffer size."
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:4177
+#: sys/v4l2/gstv4l2object.c:4181
 msgid "No downstream pool to import from."
 msgstr ""
 
diff --git a/po/hr.gmo b/po/hr.gmo
index 4a17795..c1090e7 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index 9907c25..9e30592 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2016-05-27 12:47-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 f8ccda4..ac40d95 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index e36935b..3e3d428 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2016-03-14 18:35+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 a73b695..2a4db4a 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index a1d2a63..8e82b32 100644
--- a/po/id.po
+++ b/po/id.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.3.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2014-07-06 21:37+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 bd53af9..53cd4aa 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index 799759b..b7ac423 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.25.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2010-10-25 10:11+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 d9a6e75..673b098 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 6b550dc..7097cea 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2012-12-22 20:13+0900\n"
 "Last-Translator: Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
diff --git a/po/lt.gmo b/po/lt.gmo
index 8b11df7..4067430 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index 15963ed..b3a0588 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.23.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2010-07-16 19:34+0300\n"
 "Last-Translator: Žygimantas Beručka <uid0@akl.lt>\n"
 "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
diff --git a/po/lv.gmo b/po/lv.gmo
index 347368f..12f5ff1 100644
--- a/po/lv.gmo
+++ b/po/lv.gmo
Binary files differ
diff --git a/po/lv.po b/po/lv.po
index 9dcfc2c..dd97370 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2014-04-20 16:38+0300\n"
 "Last-Translator: Rihards Prieditis <rprieditis@gmail.com>\n"
 "Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
diff --git a/po/mt.gmo b/po/mt.gmo
index 0e34cb4..a240d64 100644
--- a/po/mt.gmo
+++ b/po/mt.gmo
Binary files differ
diff --git a/po/mt.po b/po/mt.po
index 091ca8a..325bcc2 100644
--- a/po/mt.po
+++ b/po/mt.po
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-0.10.10.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2008-10-26 19:09+0100\n"
 "Last-Translator: Michel Bugeja <michelbugeja@rabatmalta.com>\n"
 "Language-Team: Maltese <translation-team-mt@lists.sourceforge.net>\n"
diff --git a/po/nb.gmo b/po/nb.gmo
index f806a8e..ee727e6 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index 22171cd..0a733a1 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2016-08-05 23:47+0200\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 12fbdf7..4abfeab 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 5a273fd..194ac24 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2016-02-20 16:40+0100\n"
 "Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
diff --git a/po/or.gmo b/po/or.gmo
index efacd54..a3a7240 100644
--- a/po/or.gmo
+++ b/po/or.gmo
Binary files differ
diff --git a/po/or.po b/po/or.po
index 47e1dc6..0cf3ffe 100644
--- a/po/or.po
+++ b/po/or.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-0.8.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2004-09-27 13:32+0530\n"
 "Last-Translator: Gora Mohanty <gora_mohanty@yahoo.co.in>\n"
 "Language-Team: Oriya <gora_mohanty@yahoo.co.in>\n"
diff --git a/po/pl.gmo b/po/pl.gmo
index d502dd9..53bf122 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index d974478..073155d 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2016-02-20 21:43+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 3c6aa16..2939511 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 b8fe44a..0e63770 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2016-05-06 17:49-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 97f49ca..61d6a65 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index 9f4ac1a..3979b5c 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.23.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2010-08-16 03:22+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 0176890..22bb6f0 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index 48a619a..cfbb332 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2016-02-21 09:55+0300\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
 "Language-Team: Russian <gnu@d07.ru>\n"
diff --git a/po/sk.gmo b/po/sk.gmo
index c60ba03..30b4310 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index 8213ce4..af8ae36 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2016-05-20 12:31+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 bb0b11b..127db04 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index 5327073..10f76e8 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2014-04-09 22:52+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 ccc58ea..49ed5af 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index f755648..6be8b1c 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins 0.8.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2004-08-07 20:29+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 ca222f7..1a2d602 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index 064499c..2ad2f70 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2016-03-05 09:52+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <(nothing)>\n"
diff --git a/po/sv.gmo b/po/sv.gmo
index 5e610fa..068b3a9 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index dbdb58b..e96f530 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2016-02-20 16:13+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 549629a..d9fd32f 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index ab087f6..053d252 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2015-01-10 21:07+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 1e8670c..5cbb513 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index fa55884..138146b 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2016-02-20 17:27+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 df24dc2..a9d7a5c 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 5dfbe7e..c168f37 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2016-02-21 07:25+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 1590b02..9971292 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 a8a2c49..3bd25a0 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2016-02-21 16:52+0800\n"
 "Last-Translator: Tianze Wang <zwpwjwtz@126.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
diff --git a/po/zh_HK.gmo b/po/zh_HK.gmo
index 7eecb14..33f4de5 100644
--- a/po/zh_HK.gmo
+++ b/po/zh_HK.gmo
Binary files differ
diff --git a/po/zh_HK.po b/po/zh_HK.po
index ce3dc35..bd301a9 100644
--- a/po/zh_HK.po
+++ b/po/zh_HK.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-0.10.2 0.10.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2006-08-29 01:08+0800\n"
 "Last-Translator: Abel Cheung <abelcheung@gmail.com>\n"
 "Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo
index 8aaa25b..6a75768 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 abea9b8..241778e 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-0.10.2 0.10.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:16+0300\n"
+"POT-Creation-Date: 2016-11-01 17:46+0200\n"
 "PO-Revision-Date: 2006-08-29 01:08+0800\n"
 "Last-Translator: Abel Cheung <abelcheung@gmail.com>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
diff --git a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c
index e7637d2..fb87744 100644
--- a/sys/v4l2/gstv4l2object.c
+++ b/sys/v4l2/gstv4l2object.c
@@ -519,6 +519,10 @@
     gst_caps_unref (v4l2object->probed_caps);
   }
 
+  if (v4l2object->extra_controls) {
+    gst_structure_free (v4l2object->extra_controls);
+  }
+
   g_free (v4l2object);
 }
 
diff --git a/sys/waveform/gstwaveformsink.c b/sys/waveform/gstwaveformsink.c
index 30b2ad5..b670a5f 100644
--- a/sys/waveform/gstwaveformsink.c
+++ b/sys/waveform/gstwaveformsink.c
@@ -322,8 +322,8 @@
     wfsink->cached_caps = gst_caps_ref (caps);
   }
 
-  GST_CAT_LOG_OBJECT (waveformsink_debug, wfsink, "Returning caps %s",
-      gst_caps_to_string (caps));
+  GST_CAT_LOG_OBJECT (waveformsink_debug, wfsink,
+      "Returning caps %" GST_PTR_FORMAT, caps);
 
   return caps;
 }
diff --git a/tests/check/elements/level.c b/tests/check/elements/level.c
index f05370f..b17ea16 100644
--- a/tests/check/elements/level.c
+++ b/tests/check/elements/level.c
@@ -96,6 +96,7 @@
 {
   GST_DEBUG ("cleanup_level");
 
+  gst_check_drop_buffers ();
   gst_pad_set_active (mysrcpad, FALSE);
   gst_pad_set_active (mysinkpad, FALSE);
   gst_check_teardown_src_pad (level);
@@ -194,7 +195,6 @@
   gst_element_set_bus (level, NULL);
   ASSERT_OBJECT_REFCOUNT (bus, "bus", 1);
   gst_object_unref (bus);
-  gst_buffer_unref (outbuffer);
   fail_unless (gst_element_set_state (level,
           GST_STATE_NULL) == GST_STATE_CHANGE_SUCCESS, "could not set to null");
   ASSERT_OBJECT_REFCOUNT (level, "level", 1);
@@ -241,7 +241,6 @@
   gst_object_unref (bus);
   gst_element_set_state (level, GST_STATE_NULL);
   cleanup_level (level);
-  gst_check_drop_buffers ();
 }
 
 GST_END_TEST;
@@ -298,7 +297,6 @@
   gst_message_unref (message);
   gst_element_set_bus (level, NULL);
   gst_object_unref (bus);
-  gst_buffer_unref (outbuffer);
   gst_element_set_state (level, GST_STATE_NULL);
   cleanup_level (level);
 }
@@ -377,7 +375,6 @@
   gst_bus_set_flushing (bus, TRUE);
   gst_element_set_bus (level, NULL);
   gst_object_unref (bus);
-  gst_buffer_unref (outbuffer);
   gst_element_set_state (level, GST_STATE_NULL);
   cleanup_level (level);
 }
@@ -436,7 +433,6 @@
   gst_message_unref (message);
   gst_element_set_bus (level, NULL);
   gst_object_unref (bus);
-  gst_buffer_unref (outbuffer);
   gst_element_set_state (level, GST_STATE_NULL);
   cleanup_level (level);
 }
@@ -503,7 +499,6 @@
   gst_message_unref (message);
   gst_element_set_bus (level, NULL);
   gst_object_unref (bus);
-  gst_buffer_unref (outbuffer);
   gst_element_set_state (level, GST_STATE_NULL);
   cleanup_level (level);
 }
@@ -543,7 +538,6 @@
 
   gst_element_set_bus (level, NULL);
   gst_object_unref (bus);
-  gst_buffer_unref (outbuffer);
   gst_element_set_state (level, GST_STATE_NULL);
   cleanup_level (level);
 }
@@ -591,7 +585,6 @@
 
   gst_element_set_bus (level, NULL);
   gst_object_unref (bus);
-  gst_buffer_unref (outbuffer);
   gst_element_set_state (level, GST_STATE_NULL);
   cleanup_level (level);
 }
diff --git a/tests/check/elements/souphttpsrc.c b/tests/check/elements/souphttpsrc.c
index 03f4d40..a6231fa 100644
--- a/tests/check/elements/souphttpsrc.c
+++ b/tests/check/elements/souphttpsrc.c
@@ -36,7 +36,6 @@
 #define SoupStatus SoupKnownStatusCode
 #endif
 
-static guint http_port = 0, https_port = 0;
 
 gboolean redirect = TRUE;
 
@@ -53,8 +52,8 @@
 static const char *basic_auth_path = "/basic_auth";
 static const char *digest_auth_path = "/digest_auth";
 
-static gboolean run_server (guint * http_port, guint * https_port);
-static void stop_server (void);
+static guint get_port_from_server (SoupServer * server);
+static SoupServer *run_server (gboolean use_https);
 
 static void
 handoff_cb (GstElement * fakesink, GstBuffer * buf, GstPad * pad,
@@ -85,22 +84,24 @@
   return NULL;
 }
 
-static int
-run_test (const char *format, ...)
+static gboolean
+run_test (gboolean use_https, const gchar * path, gint expected)
 {
   GstStateChangeReturn ret;
-
   GstElement *pipe, *src, *sink;
-
   GstBuffer *buf = NULL;
-
   GstMessage *msg;
-
   gchar *url;
+  gboolean res = FALSE;
+  SoupServer *server;
+  guint port;
 
-  va_list args;
-
-  int rc = -1;
+  server = run_server (use_https);
+  if (server == NULL) {
+    g_print ("Failed to start up %s server", use_https ? "HTTPS" : "HTTP");
+    /* skip this test */
+    return TRUE;
+  }
 
   pipe = gst_pipeline_new (NULL);
 
@@ -114,13 +115,9 @@
   gst_bin_add (GST_BIN (pipe), sink);
   fail_unless (gst_element_link (src, sink));
 
-  if (http_port == 0) {
-    GST_DEBUG ("failed to start soup http server");
-  }
-  fail_unless (http_port != 0);
-  va_start (args, format);
-  g_vasprintf (&url, format, args);
-  va_end (args);
+  port = get_port_from_server (server);
+  url = g_strdup_printf ("%s://127.0.0.1:%u%s",
+      use_https ? "https" : "http", port, path);
   fail_unless (url != NULL);
   g_object_set (src, "location", url, NULL);
   g_free (url);
@@ -148,8 +145,8 @@
       GST_MESSAGE_EOS | GST_MESSAGE_ERROR, -1);
   if (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_ERROR) {
     gchar *debug = NULL;
-
     GError *err = NULL;
+    gint rc = -1;
 
     gst_message_parse_error (msg, &err, &debug);
     GST_INFO ("error: %s", err->message);
@@ -170,6 +167,8 @@
     g_error_free (err);
     g_free (debug);
     gst_message_unref (msg);
+    GST_DEBUG ("Got HTTP error %u, expected %u", rc, expected);
+    res = (rc == expected);
     goto done;
   }
   gst_message_unref (msg);
@@ -183,6 +182,7 @@
      * it might be for lots of reasons (no network connection, whatever), we're
      * not interested in those */
     GST_DEBUG ("didn't manage to get data within 10 seconds, skipping test");
+    res = TRUE;
     goto done;
   }
 
@@ -191,34 +191,34 @@
   /* first buffer should have a 0 offset */
   fail_unless (GST_BUFFER_OFFSET (buf) == 0);
   gst_buffer_unref (buf);
-  rc = 0;
+  res = (expected == 0);
 
 done:
 
   gst_element_set_state (pipe, GST_STATE_NULL);
   gst_object_unref (pipe);
-  return rc;
+  gst_object_unref (server);
+  return res;
 }
 
 GST_START_TEST (test_first_buffer_has_offset)
 {
-  fail_unless (run_test ("http://127.0.0.1:%u/", http_port) == 0);
+  fail_unless (run_test (FALSE, "/", 0));
 }
 
 GST_END_TEST;
 
 GST_START_TEST (test_not_found)
 {
-  fail_unless (run_test ("http://127.0.0.1:%u/404", http_port) == 404);
-  fail_unless (run_test ("http://127.0.0.1:%u/404-with-data",
-          http_port) == 404);
+  fail_unless (run_test (FALSE, "/404", 404));
+  fail_unless (run_test (FALSE, "/404-with-data", 404));
 }
 
 GST_END_TEST;
 
 GST_START_TEST (test_forbidden)
 {
-  fail_unless (run_test ("http://127.0.0.1:%u/403", http_port) == 403);
+  fail_unless (run_test (FALSE, "/403", 403));
 }
 
 GST_END_TEST;
@@ -226,7 +226,7 @@
 GST_START_TEST (test_redirect_no)
 {
   redirect = FALSE;
-  fail_unless (run_test ("http://127.0.0.1:%u/302", http_port) == 302);
+  fail_unless (run_test (FALSE, "/302", 302));
 }
 
 GST_END_TEST;
@@ -234,17 +234,14 @@
 GST_START_TEST (test_redirect_yes)
 {
   redirect = TRUE;
-  fail_unless (run_test ("http://127.0.0.1:%u/302", http_port) == 0);
+  fail_unless (run_test (FALSE, "/302", 0));
 }
 
 GST_END_TEST;
 
 GST_START_TEST (test_https)
 {
-  if (!https_port)
-    GST_INFO ("Failed to start an HTTPS server; let's just skip this test.");
-  else
-    fail_unless (run_test ("https://127.0.0.1:%u/", https_port) == 0);
+  fail_unless (run_test (TRUE, "/", 0));
 }
 
 GST_END_TEST;
@@ -252,96 +249,96 @@
 GST_START_TEST (test_cookies)
 {
   static const char *biscotti[] = { "delacre=yummie", "koekje=lu", NULL };
-  int rc;
+  gboolean res;
 
   cookies = biscotti;
-  rc = run_test ("http://127.0.0.1:%u/", http_port);
+  res = run_test (FALSE, "/", 0);
   cookies = NULL;
-  fail_unless (rc == 0);
+  fail_unless (res);
 }
 
 GST_END_TEST;
 
 GST_START_TEST (test_good_user_basic_auth)
 {
-  int res;
+  gboolean res;
 
   user_id = good_user;
   user_pw = good_pw;
-  res = run_test ("http://127.0.0.1:%u%s", http_port, basic_auth_path);
+  res = run_test (FALSE, basic_auth_path, 0);
   GST_DEBUG ("Basic Auth user %s password %s res = %d", user_id, user_pw, res);
   user_id = user_pw = NULL;
-  fail_unless (res == 0);
+  fail_unless (res);
 }
 
 GST_END_TEST;
 
 GST_START_TEST (test_bad_user_basic_auth)
 {
-  int res;
+  gboolean res;
 
   user_id = bad_user;
   user_pw = good_pw;
-  res = run_test ("http://127.0.0.1:%u%s", http_port, basic_auth_path);
+  res = run_test (FALSE, basic_auth_path, 401);
   GST_DEBUG ("Basic Auth user %s password %s res = %d", user_id, user_pw, res);
   user_id = user_pw = NULL;
-  fail_unless (res == 401);
+  fail_unless (res);
 }
 
 GST_END_TEST;
 
 GST_START_TEST (test_bad_password_basic_auth)
 {
-  int res;
+  gboolean res;
 
   user_id = good_user;
   user_pw = bad_pw;
-  res = run_test ("http://127.0.0.1:%u%s", http_port, basic_auth_path);
+  res = run_test (FALSE, basic_auth_path, 401);
   GST_DEBUG ("Basic Auth user %s password %s res = %d", user_id, user_pw, res);
   user_id = user_pw = NULL;
-  fail_unless (res == 401);
+  fail_unless (res);
 }
 
 GST_END_TEST;
 
 GST_START_TEST (test_good_user_digest_auth)
 {
-  int res;
+  gboolean res;
 
   user_id = good_user;
   user_pw = good_pw;
-  res = run_test ("http://127.0.0.1:%u%s", http_port, digest_auth_path);
+  res = run_test (FALSE, digest_auth_path, 0);
   GST_DEBUG ("Digest Auth user %s password %s res = %d", user_id, user_pw, res);
   user_id = user_pw = NULL;
-  fail_unless (res == 0);
+  fail_unless (res);
 }
 
 GST_END_TEST;
 
 GST_START_TEST (test_bad_user_digest_auth)
 {
-  int res;
+  gboolean res;
 
   user_id = bad_user;
   user_pw = good_pw;
-  res = run_test ("http://127.0.0.1:%u%s", http_port, digest_auth_path);
+  res = run_test (FALSE, digest_auth_path, 401);
   GST_DEBUG ("Digest Auth user %s password %s res = %d", user_id, user_pw, res);
   user_id = user_pw = NULL;
-  fail_unless (res == 401);
+  fail_unless (res);
 }
 
 GST_END_TEST;
 
 GST_START_TEST (test_bad_password_digest_auth)
 {
-  int res;
+  gboolean res;
 
   user_id = good_user;
   user_pw = bad_pw;
-  res = run_test ("http://127.0.0.1:%u%s", http_port, digest_auth_path);
+  res = run_test (FALSE, digest_auth_path, 401);
   GST_DEBUG ("Digest Auth user %s password %s res = %d", user_id, user_pw, res);
   user_id = user_pw = NULL;
-  fail_unless (res == 401);
+  fail_unless (res);
 }
 
 GST_END_TEST;
@@ -424,9 +421,6 @@
 
 GST_END_TEST;
 
-static SoupServer *server;      /* NULL */
-static SoupServer *ssl_server;  /* NULL */
-
 static Suite *
 souphttpsrc_suite (void)
 {
@@ -443,27 +437,19 @@
   tc_internet = tcase_create ("internet");
 
   suite_add_tcase (s, tc_chain);
-  if (run_server (&http_port, &https_port)) {
-    atexit (stop_server);
-    tcase_add_test (tc_chain, test_first_buffer_has_offset);
-    tcase_add_test (tc_chain, test_redirect_yes);
-    tcase_add_test (tc_chain, test_redirect_no);
-    tcase_add_test (tc_chain, test_not_found);
-    tcase_add_test (tc_chain, test_forbidden);
-    tcase_add_test (tc_chain, test_cookies);
-    tcase_add_test (tc_chain, test_good_user_basic_auth);
-    tcase_add_test (tc_chain, test_bad_user_basic_auth);
-    tcase_add_test (tc_chain, test_bad_password_basic_auth);
-    tcase_add_test (tc_chain, test_good_user_digest_auth);
-    tcase_add_test (tc_chain, test_bad_user_digest_auth);
-    tcase_add_test (tc_chain, test_bad_password_digest_auth);
-
-    if (ssl_server != NULL)
-      tcase_add_test (tc_chain, test_https);
-  } else {
-    g_print ("Skipping 12 souphttpsrc tests, couldn't start or connect to "
-        "local http server\n");
-  }
+  tcase_add_test (tc_chain, test_first_buffer_has_offset);
+  tcase_add_test (tc_chain, test_redirect_yes);
+  tcase_add_test (tc_chain, test_redirect_no);
+  tcase_add_test (tc_chain, test_not_found);
+  tcase_add_test (tc_chain, test_forbidden);
+  tcase_add_test (tc_chain, test_cookies);
+  tcase_add_test (tc_chain, test_good_user_basic_auth);
+  tcase_add_test (tc_chain, test_bad_user_basic_auth);
+  tcase_add_test (tc_chain, test_bad_password_basic_auth);
+  tcase_add_test (tc_chain, test_good_user_digest_auth);
+  tcase_add_test (tc_chain, test_bad_user_digest_auth);
+  tcase_add_test (tc_chain, test_bad_password_digest_auth);
+  tcase_add_test (tc_chain, test_https);
 
   suite_add_tcase (s, tc_internet);
   tcase_set_timeout (tc_internet, 250);
@@ -577,84 +563,73 @@
   return port;
 }
 
-static gboolean
-run_server (guint * http_port, guint * https_port)
+static SoupServer *
+run_server (gboolean use_https)
 {
-  guint port = SOUP_ADDRESS_ANY_PORT;
-  guint ssl_port = SOUP_ADDRESS_ANY_PORT;
-  const char *ssl_cert_file = GST_TEST_FILES_PATH "/test-cert.pem";
-  const char *ssl_key_file = GST_TEST_FILES_PATH "/test-key.pem";
-  static int server_running = 0;
-  GSocketAddress *address;
-  GError *err = NULL;
+  SoupServer *server;
+  SoupServerListenOptions listen_flags;
+  guint port;
 
-  SoupAuthDomain *domain = NULL;
 
-  if (server_running)
-    return TRUE;
-
-  server_running = 1;
-
-  *http_port = *https_port = 0;
-
-  server = soup_server_new (NULL, NULL);
-  if (!server) {
-    GST_DEBUG ("Unable to create server");
-    return FALSE;
-  }
-  soup_server_add_handler (server, NULL, server_callback, NULL, NULL);
-  domain = soup_auth_domain_basic_new (SOUP_AUTH_DOMAIN_REALM, realm,
-      SOUP_AUTH_DOMAIN_BASIC_AUTH_CALLBACK, basic_auth_cb,
-      SOUP_AUTH_DOMAIN_ADD_PATH, basic_auth_path, NULL);
-  soup_server_add_auth_domain (server, domain);
-  g_object_unref (domain);
-  domain = soup_auth_domain_digest_new (SOUP_AUTH_DOMAIN_REALM, realm,
-      SOUP_AUTH_DOMAIN_DIGEST_AUTH_CALLBACK, digest_auth_cb,
-      SOUP_AUTH_DOMAIN_ADD_PATH, digest_auth_path, NULL);
-  soup_server_add_auth_domain (server, domain);
-  g_object_unref (domain);
-
-  address = g_inet_socket_address_new_from_string ("0.0.0.0", port);
-  soup_server_listen (server, address, 0, &err);
-  g_object_unref (address);
-  if (err) {
-    stop_server ();
-    g_clear_error (&err);
-    return FALSE;
-  }
-
-  *http_port = get_port_from_server (server);
-  GST_DEBUG ("HTTP server listening on port %u", *http_port);
-
-  if (ssl_cert_file && ssl_key_file) {
+  if (use_https) {
+    const char *ssl_cert_file = GST_TEST_FILES_PATH "/test-cert.pem";
+    const char *ssl_key_file = GST_TEST_FILES_PATH "/test-key.pem";
     GTlsBackend *backend = g_tls_backend_get_default ();
 
-    if (backend != NULL && g_tls_backend_supports_tls (backend)) {
-      ssl_server = soup_server_new (SOUP_SERVER_SSL_CERT_FILE, ssl_cert_file,
-          SOUP_SERVER_SSL_KEY_FILE, ssl_key_file, NULL);
-    } else {
+    if (backend == NULL || !g_tls_backend_supports_tls (backend)) {
       GST_INFO ("No TLS support");
+      return NULL;
     }
 
-    if (ssl_server) {
-      GST_INFO ("HTTPS server listening on port %u", *https_port);
-      soup_server_add_handler (ssl_server, NULL, server_callback, NULL, NULL);
-      address = g_inet_socket_address_new_from_string ("0.0.0.0", ssl_port);
-      soup_server_listen (ssl_server, address, SOUP_SERVER_LISTEN_HTTPS, &err);
-      g_object_unref (address);
+    server = soup_server_new (SOUP_SERVER_SSL_CERT_FILE, ssl_cert_file,
+        SOUP_SERVER_SSL_KEY_FILE, ssl_key_file, NULL);
+    listen_flags = SOUP_SERVER_LISTEN_HTTPS;
+  } else {
+    server = soup_server_new (NULL, NULL);
+    listen_flags = 0;
+  }
 
-      if (err) {
-        GST_ERROR ("Failed to start HTTPS server: %s", err->message);
-        stop_server ();
-        g_clear_error (&err);
-        return FALSE;
-      }
+  soup_server_add_handler (server, NULL, server_callback, NULL, NULL);
 
-      *https_port = get_port_from_server (ssl_server);
-      GST_DEBUG ("HTTPS server listening on port %u", *https_port);
+  {
+    SoupAuthDomain *domain;
+
+    domain = soup_auth_domain_basic_new (SOUP_AUTH_DOMAIN_REALM, realm,
+        SOUP_AUTH_DOMAIN_BASIC_AUTH_CALLBACK, basic_auth_cb,
+        SOUP_AUTH_DOMAIN_ADD_PATH, basic_auth_path, NULL);
+    soup_server_add_auth_domain (server, domain);
+    g_object_unref (domain);
+
+    domain = soup_auth_domain_digest_new (SOUP_AUTH_DOMAIN_REALM, realm,
+        SOUP_AUTH_DOMAIN_DIGEST_AUTH_CALLBACK, digest_auth_cb,
+        SOUP_AUTH_DOMAIN_ADD_PATH, digest_auth_path, NULL);
+    soup_server_add_auth_domain (server, domain);
+    g_object_unref (domain);
+  }
+
+  {
+    GSocketAddress *address;
+    GError *err = NULL;
+
+    address =
+        g_inet_socket_address_new_from_string ("0.0.0.0",
+        SOUP_ADDRESS_ANY_PORT);
+    soup_server_listen (server, address, listen_flags, &err);
+    g_object_unref (address);
+
+    if (err) {
+      GST_ERROR ("Failed to start %s server: %s",
+          use_https ? "HTTPS" : "HTTP", err->message);
+      g_object_unref (server);
+      g_error_free (err);
+      return NULL;
     }
   }
 
+  port = get_port_from_server (server);
+  GST_DEBUG ("%s server listening on port %u", use_https ? "HTTPS" : "HTTP",
+      port);
+
   /* check if we can connect to our local http server */
   {
     GSocketConnection *conn;
@@ -662,48 +637,18 @@
 
     client = g_socket_client_new ();
     g_socket_client_set_timeout (client, 2);
-    conn = g_socket_client_connect_to_host (client, "127.0.0.1", *http_port,
-        NULL, NULL);
+    conn =
+        g_socket_client_connect_to_host (client, "127.0.0.1", port, NULL, NULL);
     if (conn == NULL) {
-      GST_INFO ("Couldn't connect to http server 127.0.0.1:%u", *http_port);
+      GST_INFO ("Couldn't connect to 127.0.0.1:%u", port);
       g_object_unref (client);
-      stop_server ();
-      return FALSE;
+      g_object_unref (server);
+      return NULL;
     }
+
     g_object_unref (conn);
-
-    if (ssl_server == NULL)
-      goto skip_https_check;
-
-    conn = g_socket_client_connect_to_host (client, "127.0.0.1", *https_port,
-        NULL, NULL);
-    if (conn == NULL) {
-      GST_INFO ("Couldn't connect to https server 127.0.0.1:%u", *https_port);
-      g_object_unref (client);
-      stop_server ();
-      return FALSE;
-    }
-    g_object_unref (conn);
-
-  skip_https_check:
-
     g_object_unref (client);
   }
 
-  return TRUE;
-}
-
-static void
-stop_server (void)
-{
-  GST_INFO ("cleaning up");
-
-  if (server) {
-    g_object_unref (server);
-    server = NULL;
-  }
-  if (ssl_server) {
-    g_object_unref (ssl_server);
-    ssl_server = NULL;
-  }
+  return server;
 }
diff --git a/tests/check/elements/videomixer.c b/tests/check/elements/videomixer.c
index 5720092..ff8d1fa 100644
--- a/tests/check/elements/videomixer.c
+++ b/tests/check/elements/videomixer.c
@@ -973,6 +973,7 @@
 
 GST_END_TEST;
 
+#if 0
 GST_START_TEST (test_flush_start_flush_stop)
 {
   GstPadTemplate *sink_template;
@@ -1025,7 +1026,7 @@
 }
 
 GST_END_TEST;
-
+#endif
 
 static Suite *
 videomixer_suite (void)
@@ -1044,7 +1045,14 @@
   tcase_add_test (tc_chain, test_duration_is_max);
   tcase_add_test (tc_chain, test_duration_unknown_overrides);
   tcase_add_test (tc_chain, test_loop);
+  /* This test is racy and occasionally fails in interesting ways
+   * just like the corresponding adder test does/did, see
+   * https://bugzilla.gnome.org/show_bug.cgi?id=708891
+   * It's unlikely that it will ever be fixed for videomixer/collectpads,
+   * as it works fine with compositor */
+#if 0
   tcase_add_test (tc_chain, test_flush_start_flush_stop);
+#endif
 
   /* Use a longer timeout */
 #ifdef HAVE_VALGRIND
diff --git a/tests/examples/rtp/client-rtpaux.c b/tests/examples/rtp/client-rtpaux.c
index 011fcce..890dc1a 100644
--- a/tests/examples/rtp/client-rtpaux.c
+++ b/tests/examples/rtp/client-rtpaux.c
@@ -163,10 +163,13 @@
     gpointer user_data)
 {
   SessionData *data = (SessionData *) user_data;
+  gchar *caps_str;
   g_print ("Looking for caps for pt %u in session %u, have %u\n", pt, session,
       data->sessionNum);
   if (session == data->sessionNum) {
-    g_print ("Returning %s\n", gst_caps_to_string (data->caps));
+    caps_str = gst_caps_to_string (data->caps);
+    g_print ("Returning %s\n", caps_str);
+    g_free (caps_str);
     return gst_caps_ref (data->caps);
   }
   return NULL;
diff --git a/win32/common/config.h b/win32/common/config.h
index 3869d7a..1a142f0 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -64,7 +64,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-30"
+#define GST_PACKAGE_RELEASE_DATETIME "2016-11-01"
 
 /* Define if static plugins should be built */
 #undef GST_PLUGIN_BUILD_STATIC
@@ -401,7 +401,7 @@
 #define PACKAGE_NAME "GStreamer Good Plug-ins"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer Good Plug-ins 1.9.90"
+#define PACKAGE_STRING "GStreamer Good Plug-ins 1.10.0"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gst-plugins-good"
@@ -410,7 +410,7 @@
 #undef PACKAGE_URL
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.9.90"
+#define PACKAGE_VERSION "1.10.0"
 
 /* directory where plugins are located */
 #ifdef _DEBUG
@@ -445,7 +445,7 @@
 #undef TARGET_CPU
 
 /* Version number of package */
-#define VERSION "1.9.90"
+#define VERSION "1.10.0"
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
