Imported Upstream version 1.8.3
diff --git a/ChangeLog b/ChangeLog
index 4b624f5..4b85486 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,334 @@
-=== release 1.8.2 ===
+=== release 1.8.3 ===
 
-2016-06-09  Sebastian Dröge <slomo@coaxion.net>
+2016-08-19  Sebastian Dröge <slomo@coaxion.net>
 
 	* configure.ac:
-	  releasing 1.8.2
+	  releasing 1.8.3
+
+2016-08-19 11:54:35 +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/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:
+	  Update .po files
+
+2016-06-16 10:01:50 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/ogg/gstoggdemux.c:
+	  oggdemux: remove eos avoidance workaround
+	  This workaround tried to avoid an EOS event when seeking to the
+	  end of an Ogg stream in order to find its duration. At some point,
+	  an EOS event there would cause any queue2 upstream to pause and
+	  not restart on a seek back to the beginning. This now appears to
+	  not be the case anymore, and so the workaround can be removed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767689
+
+2016-05-24 00:44:21 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/allocators/Makefile.am:
+	* gst-libs/gst/app/Makefile.am:
+	* gst-libs/gst/audio/Makefile.am:
+	* gst-libs/gst/fft/Makefile.am:
+	* gst-libs/gst/pbutils/Makefile.am:
+	* gst-libs/gst/riff/Makefile.am:
+	* gst-libs/gst/rtp/Makefile.am:
+	* gst-libs/gst/rtsp/Makefile.am:
+	* gst-libs/gst/sdp/Makefile.am:
+	* gst-libs/gst/tag/Makefile.am:
+	* gst-libs/gst/video/Makefile.am:
+	  g-i: pass compiler env to g-ir-scanner
+	  It's what introspection.mak does as well. Should
+	  fix spurious build failures on gnome-continuous.
+
+2016-07-20 11:47:48 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/ogg/gstoggdemux.c:
+	  oggdemux: fix unknown duration playing Ogg over HTTP
+	  If the duration is not known from the chain, it might be known
+	  by the startup seek.
+	  This fixes failure to seek.
+	  Merged with a patch from Tim-Philipp Müller <tim@centricular.com>
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768991
+
+2016-07-18 19:59:23 +1000  Duncan Palmer <dpalmer@digisoft.tv>
+
+	* sys/xvimage/xvimageallocator.c:
+	* sys/xvimage/xvimageallocator.h:
+	  xvimageallocator: const correctness in gst_xvimage_allocator_alloc().
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767712
+
+2016-07-18 14:20:11 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* sys/xvimage/xvimageallocator.c:
+	  xvimagesink: only error out if the allocated memory is too small
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767712
+
+2016-07-07 22:27:15 +1000  Duncan Palmer <dpalmer@digisoft.tv>
+
+	* sys/xvimage/xvimageallocator.c:
+	* sys/xvimage/xvimageallocator.h:
+	* sys/xvimage/xvimagepool.c:
+	  xvimagesink: error out on buffer size sanity check failure.
+	  If sanity checks on the buffer size allocated by XvShmCreateImage() fail,
+	  call on g_set_error(), rather than just logging a warning, as this
+	  failure is fatal.
+	  Add a sanity check on buffer size when the video format is RGB. This adds to
+	  existing checks on various YUV pixel formats.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767712
+
+2016-07-08 16:43:05 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/pbutils/encoding-profile.c:
+	  encoding-profile: Remove some more fields from the caps when creating from discoverer info
+	  parsed, framed, stream-format and alignment are only relevant for parsers and
+	  should not matter here. We still want to be able to use an encoder that can
+	  only output byte-stream if the input was avc.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768566
+
+2016-07-08 15:45:25 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/pbutils/missing-plugins.c:
+	  missing-plugins: Remove some other fields when cleaning up caps
+	  Caps are cleaned up for missing plugins, and for creating encoding profiles
+	  and caps descriptions.
+	  Fields like streamheader, parsed, framed, stream-format and alignment are not
+	  relevant here. The last ones all because a parser will take care of them.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768566
+
+2016-07-04 17:19:08 +0100  Sergio Torres Soldado <torres.soldado@gmail.com>
+
+	* gst-libs/gst/rtsp/gstrtspconnection.c:
+	  rtspconnection: Fix potential deadlock caused by blocking read forever
+	  Reset the connection "may_cancel" property to avoid a potential deadlock
+	  if there is no data to read and the socket stays blocked forever.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768249
+
+2016-07-04 11:16:55 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	  videodecoder: fix criticals fixating a non existent field
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766970
+
+2016-07-04 11:07:54 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/audio/gstaudioencoder.c:
+	  audioencoder: Protect samples_in/bytes_out and audio info with object lock
+	  It might cause invalid calculations during the CONVERT query otherwise.
+
+2016-07-04 11:12:25 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/audio/gstaudiodecoder.c:
+	  audiodecoder: Protect samples_in/bytes_out and audio info with object lock
+	  It might cause invalid calculations during the CONVERT query otherwise.
+
+2016-07-04 11:00:51 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/audio/gstaudiodecoder.c:
+	* gst-libs/gst/audio/gstaudioencoder.c:
+	* gst-libs/gst/audio/gstaudioutilsprivate.c:
+	* gst-libs/gst/audio/gstaudioutilsprivate.h:
+	  audioencoder/decoder: Move encoded audio conversion function to a common place
+	  No need to duplicate this non-trivial function.
+
+2016-07-04 09:15:03 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst-libs/gst/audio/gstaudiodecoder.c:
+	  audiodecoder: fix criticals fixating a non existent field
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766970
+
+2016-07-04 10:55:07 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	  videodecoder: Use the object lock to protect bytes/time tracking
+	  And especially don't use the stream lock for that, as otherwise non-serialized
+	  queries (CONVERT) will cause the stream lock to be taken and easily causes the
+	  application to deadlock.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768361
+
+2016-07-04 10:47:36 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideodecoder.c:
+	* gst-libs/gst/video/gstvideoencoder.c:
+	* gst-libs/gst/video/gstvideoutilsprivate.c:
+	* gst-libs/gst/video/gstvideoutilsprivate.h:
+	  videoencoder/decoder: Move conversion utility functions to a common header and use consistently in encoder/decoder
+
+2016-07-04 10:52:24 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoencoder.c:
+	  videoencoder: Use the object lock to protect bytes/time tracking
+
+2016-06-30 18:53:07 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/tag/gsttagdemux.c:
+	  tagdemux: fix handling of very short files in push mode
+	  By default we'll wait for a certain amount of data before
+	  attempting typefinding. However, if the stream is fairly
+	  short, we might get EOS before we ever attempted any
+	  typefinding, so at this point we should force typefinding
+	  and output any pending data if we manage to detect the
+	  type.
+	  https://bugzilla.gnome.org//show_bug.cgi?id=768178
+
+2016-06-30 17:30:34 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/tag/gsttagdemux.c:
+	  tagdemux: fix erroring out if we reach EOS without detecting type
+	  In 0.10 the source pad was a dynamic pad that was only added once
+	  the type had been detected, but in 1.x it's an always source pad,
+	  so checking whether it's still NULL won't work to detect if the
+	  type has been detected.
+	  Makes tagdemux error out when we get EOS but haven't managed to
+	  identify the format of the data after the tag.
+	  https://bugzilla.gnome.org//show_bug.cgi?id=768178
+
+2016-06-29 18:14:51 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/audio/audio-channels.c:
+	* gst/audioconvert/gstaudioconvert.c:
+	  audioconvert: Handle fallback channel mask for mono correctly
+	  It's 0 and no mask should be set for mono at all.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=757472
+
+2016-06-27 20:49:38 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/playback/gstplaysink.c:
+	  playsink: Force STEP events on the video-sink for GST_FORMAT_BUFFERS
+	  It does not make much sense for audio sinks.
+
+2016-06-27 20:53:37 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/playback/gstplaysink.c:
+	  playsink: Don't send another step event to the audio-sink if we got step-done from there
+	  Otherwise we would end up with a deadlock as the audio-sink emits step-done
+	  from its streaming thread.
+
+2016-06-21 10:24:15 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/pbutils/gstdiscoverer.c:
+	* tests/check/libs/discoverer.c:
+	  discoverer: Only allow serializing OK discoverer infos to GVariants
+	  They will be incomplete otherwise and we can't generate the full serialized
+	  information, and instead will crash somewhere on the way.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767859
+
+=== release 1.8.2 ===
+
+2016-06-09 11:50:43 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ChangeLog:
+	* NEWS:
+	* RELEASE:
+	* configure.ac:
+	* docs/plugins/gst-plugins-base-plugins.args:
+	* docs/plugins/inspect/plugin-adder.xml:
+	* docs/plugins/inspect/plugin-alsa.xml:
+	* docs/plugins/inspect/plugin-app.xml:
+	* docs/plugins/inspect/plugin-audioconvert.xml:
+	* docs/plugins/inspect/plugin-audiorate.xml:
+	* docs/plugins/inspect/plugin-audioresample.xml:
+	* docs/plugins/inspect/plugin-audiotestsrc.xml:
+	* docs/plugins/inspect/plugin-cdparanoia.xml:
+	* docs/plugins/inspect/plugin-encoding.xml:
+	* docs/plugins/inspect/plugin-gio.xml:
+	* docs/plugins/inspect/plugin-libvisual.xml:
+	* docs/plugins/inspect/plugin-ogg.xml:
+	* docs/plugins/inspect/plugin-opus.xml:
+	* docs/plugins/inspect/plugin-pango.xml:
+	* docs/plugins/inspect/plugin-playback.xml:
+	* docs/plugins/inspect/plugin-subparse.xml:
+	* docs/plugins/inspect/plugin-tcp.xml:
+	* docs/plugins/inspect/plugin-theora.xml:
+	* docs/plugins/inspect/plugin-typefindfunctions.xml:
+	* docs/plugins/inspect/plugin-videoconvert.xml:
+	* docs/plugins/inspect/plugin-videorate.xml:
+	* docs/plugins/inspect/plugin-videoscale.xml:
+	* docs/plugins/inspect/plugin-videotestsrc.xml:
+	* docs/plugins/inspect/plugin-volume.xml:
+	* docs/plugins/inspect/plugin-vorbis.xml:
+	* docs/plugins/inspect/plugin-ximagesink.xml:
+	* docs/plugins/inspect/plugin-xvimagesink.xml:
+	* gst-plugins-base.doap:
+	* win32/common/_stdint.h:
+	* win32/common/config.h:
+	  Release 1.8.2
+
+2016-06-09 11:17:28 +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/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:
+	  Update .po files
 
 2016-06-09 10:05:03 +0300  Sebastian Dröge <sebastian@centricular.com>
 
@@ -1636,8 +1961,6 @@
 2016-01-08 16:22:25 +0100  Wim Taymans <wtaymans@redhat.com>
 
 	* gst-libs/gst/audio/Makefile.am:
-	* gst-libs/gst/audio/audio-channel-mix.c:
-	* gst-libs/gst/audio/audio-channel-mix.h:
 	* gst-libs/gst/audio/audio-channel-mixer.c:
 	* gst-libs/gst/audio/audio-channel-mixer.h:
 	* gst-libs/gst/audio/audio-converter.c:
@@ -2675,8 +2998,6 @@
 	* gst-libs/gst/audio/audio.h:
 	* gst-libs/gst/audio/gstaudiopack.orc:
 	* gst/audioconvert/Makefile.am:
-	* gst/audioconvert/audioconvert.c:
-	* gst/audioconvert/audioconvert.h:
 	* gst/audioconvert/gstaudioconvert.h:
 	* tests/check/Makefile.am:
 	* win32/common/libgstaudio.def:
@@ -2693,8 +3014,6 @@
 	* gst/audioconvert/audioconvert.c:
 	* gst/audioconvert/audioconvert.h:
 	* gst/audioconvert/gstaudioconvert.c:
-	* gst/audioconvert/gstchannelmix.c:
-	* gst/audioconvert/gstchannelmix.h:
 	* win32/common/libgstaudio.def:
 	  audio-channel-mix: move channel mixer to audio libs
 	  Move the channel mixer code to the audio library
@@ -2778,8 +3097,6 @@
 	* gst/audioconvert/audioconvert.h:
 	* gst/audioconvert/gstaudioconvert.c:
 	* gst/audioconvert/gstaudioconvert.h:
-	* gst/audioconvert/gstaudioquantize.c:
-	* gst/audioconvert/gstaudioquantize.h:
 	* gst/audioconvert/gstfastrandom.h:
 	  audioconvert: move audio quantize code to libs
 	  Move the audio quantize code from audioconvert to the audio library.
@@ -3650,8 +3967,6 @@
 2015-10-01 11:55:59 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
 
 	* ext/libvisual/Makefile.am:
-	* ext/libvisual/gstaudiovisualizer.c:
-	* ext/libvisual/gstaudiovisualizer.h:
 	* ext/libvisual/visual.h:
 	* gst-libs/gst/pbutils/Makefile.am:
 	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
@@ -11916,8 +12231,6 @@
 2014-10-30 11:43:52 +0100  Wim Taymans <wtaymans@redhat.com>
 
 	* gst-libs/gst/video/Makefile.am:
-	* gst-libs/gst/video/resampler.c:
-	* gst-libs/gst/video/resampler.h:
 	* gst-libs/gst/video/video-converter.c:
 	* gst-libs/gst/video/video-resampler.c:
 	* gst-libs/gst/video/video-resampler.h:
@@ -12495,8 +12808,6 @@
 	* gst-libs/gst/video/Makefile.am:
 	* gst-libs/gst/video/video-converter.c:
 	* gst-libs/gst/video/video-converter.h:
-	* gst-libs/gst/video/video-convertor.c:
-	* gst-libs/gst/video/video-convertor.h:
 	* gst-libs/gst/video/video.h:
 	* gst/videoconvert/gstvideoconvert.c:
 	* gst/videoconvert/gstvideoconvert.h:
@@ -12519,7 +12830,6 @@
 	* gst/videoconvert/gstvideoconvertorc-dist.c:
 	* gst/videoconvert/gstvideoconvertorc-dist.h:
 	* gst/videoconvert/gstvideoconvertorc.orc:
-	* gst/videoconvert/videoconvert.c:
 	* gst/videoconvert/videoconvert.h:
 	* tests/check/Makefile.am:
 	* win32/common/libgstvideo.def:
@@ -21033,7 +21343,6 @@
 
 	* tests/check/Makefile.am:
 	* tests/check/elements/playbin-complex.c:
-	* tests/check/elements/playbin-compressed.c:
 	  playbin: Rename compressed unit test to complex
 	  It's not really about compressed streams anymore, but also
 	  about stream switching and stream combiners.
@@ -23902,7 +24211,6 @@
 
 	* gst-libs/gst/app/Makefile.am:
 	* gst-libs/gst/app/app.h:
-	* gst-libs/gst/app/gstapp.h:
 	* gst-libs/gst/audio/Makefile.am:
 	* gst-libs/gst/audio/audio.h:
 	* gst-libs/gst/audio/gstaudio.h:
@@ -23918,10 +24226,8 @@
 	* gst-libs/gst/pbutils/Makefile.am:
 	* gst-libs/gst/pbutils/gstpbutils.h:
 	* gst-libs/gst/riff/Makefile.am:
-	* gst-libs/gst/riff/gstriff.h:
 	* gst-libs/gst/riff/riff.h:
 	* gst-libs/gst/rtp/Makefile.am:
-	* gst-libs/gst/rtp/gstrtp.h:
 	* gst-libs/gst/rtp/rtp.h:
 	* gst-libs/gst/rtsp/Makefile.am:
 	* gst-libs/gst/rtsp/rtsp.h:
@@ -23929,7 +24235,6 @@
 	* gst-libs/gst/sdp/gstsdp.h:
 	* gst-libs/gst/sdp/sdp.h:
 	* gst-libs/gst/tag/Makefile.am:
-	* gst-libs/gst/tag/gsttag.h:
 	* gst-libs/gst/tag/tag.h:
 	* gst-libs/gst/video/Makefile.am:
 	* gst-libs/gst/video/gstvideo.h:
@@ -27433,7 +27738,6 @@
 	* tools/.gitignore:
 	* tools/Makefile.am:
 	* tools/gst-discoverer-1.0.1:
-	* tools/gst-discoverer.1.in:
 	* tools/gst-visualise-m.m:
 	* tools/gst-visualise.1.in:
 	  tools: remove gst-visualise script
@@ -28436,9 +28740,6 @@
 	* gst-libs/gst/video/video-orc-dist.c:
 	* gst-libs/gst/video/video-orc-dist.h:
 	* gst-libs/gst/video/video-orc.orc:
-	* gst-libs/gst/video/videoblendorc-dist.c:
-	* gst-libs/gst/video/videoblendorc-dist.h:
-	* gst-libs/gst/video/videoblendorc.orc:
 	  orc: rename to video-orc*
 
 2012-07-23 14:23:39 +0200  Robert Swain <robert.swain@collabora.co.uk>
@@ -28804,7 +29105,6 @@
 2012-07-16 21:58:23 +0200  Stefan Sauer <ensonic@users.sf.net>
 
 	* ext/libvisual/Makefile.am:
-	* ext/libvisual/gstaudiobasevisualizer.c:
 	* ext/libvisual/gstaudiobasevisualizer.h:
 	* ext/libvisual/gstaudiovisualizer.c:
 	* ext/libvisual/gstaudiovisualizer.h:
@@ -29088,7 +29388,6 @@
 	* ext/libvisual/Makefile.am:
 	* ext/libvisual/gstaudiobasevisualizer.c:
 	* ext/libvisual/gstaudiobasevisualizer.h:
-	* ext/libvisual/gstbaseaudiovisualizer.c:
 	* ext/libvisual/gstbaseaudiovisualizer.h:
 	* ext/libvisual/visual.c:
 	* ext/libvisual/visual.h:
@@ -31905,8 +32204,6 @@
 	* gst-libs/gst/interfaces/.gitignore:
 	* gst-libs/gst/interfaces/Makefile.am:
 	* gst-libs/gst/interfaces/interfaces-marshal.list:
-	* gst-libs/gst/interfaces/navigation.c:
-	* gst-libs/gst/interfaces/navigation.h:
 	* gst-libs/gst/interfaces/tuner.c:
 	* gst-libs/gst/interfaces/tuner.h:
 	* gst-libs/gst/interfaces/tunerchannel.c:
@@ -33850,7 +34147,6 @@
 
 	* tests/examples/playback/Makefile.am:
 	* tests/examples/playback/playback-test.c:
-	* tests/examples/playback/seek.c:
 	  playback: Rename file from seek.c to playback-test.c
 
 2012-03-02 11:57:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
@@ -33860,7 +34156,6 @@
 	* tests/examples/playback/Makefile.am:
 	* tests/examples/playback/seek.c:
 	* tests/examples/seek/Makefile.am:
-	* tests/examples/seek/seek.c:
 	  examples: Move seek example into its own directory
 
 2012-03-02 11:01:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
@@ -36152,21 +36447,6 @@
 	* configure.ac:
 	* docs/plugins/Makefile.am:
 	* ext/Makefile.am:
-	* ext/gio/Makefile.am:
-	* ext/gio/gstgio.c:
-	* ext/gio/gstgio.h:
-	* ext/gio/gstgiobasesink.c:
-	* ext/gio/gstgiobasesink.h:
-	* ext/gio/gstgiobasesrc.c:
-	* ext/gio/gstgiobasesrc.h:
-	* ext/gio/gstgiosink.c:
-	* ext/gio/gstgiosink.h:
-	* ext/gio/gstgiosrc.c:
-	* ext/gio/gstgiosrc.h:
-	* ext/gio/gstgiostreamsink.c:
-	* ext/gio/gstgiostreamsink.h:
-	* ext/gio/gstgiostreamsrc.c:
-	* ext/gio/gstgiostreamsrc.h:
 	* gst/gio/Makefile.am:
 	* gst/gio/gstgio.c:
 	* gst/gio/gstgio.h:
@@ -36328,8 +36608,6 @@
 
 	* docs/plugins/Makefile.am:
 	* gst/tcp/Makefile.am:
-	* gst/tcp/gstmultifdsink.c:
-	* gst/tcp/gstmultifdsink.h:
 	* gst/tcp/gstmultisocketsink.c:
 	* gst/tcp/gstmultisocketsink.h:
 	* gst/tcp/gsttcp-marshal.list:
@@ -38304,11 +38582,9 @@
 2011-12-20 10:08:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
 
 	* docs/design/design-audiosinks.txt:
-	* docs/design/draft-media-types.txt:
 	* docs/design/part-interlaced-video.txt:
 	* docs/design/part-mediatype-video-raw.txt:
 	* docs/design/part-playbin.txt:
-	* docs/design/part-playbin2.txt:
 	  docs: small update to design docs
 
 2011-12-19 23:41:25 +0100  Stefan Sauer <ensonic@users.sf.net>
@@ -39299,14 +39575,6 @@
 	* gst-libs/gst/audio/streamvolume.h:
 	* gst-libs/gst/interfaces/Makefile.am:
 	* gst-libs/gst/interfaces/interfaces-marshal.list:
-	* gst-libs/gst/interfaces/mixer.c:
-	* gst-libs/gst/interfaces/mixer.h:
-	* gst-libs/gst/interfaces/mixeroptions.c:
-	* gst-libs/gst/interfaces/mixeroptions.h:
-	* gst-libs/gst/interfaces/mixertrack.c:
-	* gst-libs/gst/interfaces/mixertrack.h:
-	* gst-libs/gst/interfaces/streamvolume.c:
-	* gst-libs/gst/interfaces/streamvolume.h:
 	* gst/playback/Makefile.am:
 	* gst/playback/gstplaybin2.c:
 	* gst/volume/gstvolume.c:
@@ -39344,14 +39612,6 @@
 	* docs/libs/gst-plugins-base-libs-sections.txt:
 	* docs/libs/gst-plugins-base-libs.types:
 	* gst-libs/gst/interfaces/Makefile.am:
-	* gst-libs/gst/interfaces/colorbalance.c:
-	* gst-libs/gst/interfaces/colorbalance.h:
-	* gst-libs/gst/interfaces/colorbalancechannel.c:
-	* gst-libs/gst/interfaces/colorbalancechannel.h:
-	* gst-libs/gst/interfaces/videoorientation.c:
-	* gst-libs/gst/interfaces/videoorientation.h:
-	* gst-libs/gst/interfaces/videooverlay.c:
-	* gst-libs/gst/interfaces/videooverlay.h:
 	* gst-libs/gst/video/Makefile.am:
 	* gst-libs/gst/video/colorbalance.c:
 	* gst-libs/gst/video/colorbalance.h:
@@ -40710,7 +40970,6 @@
 	* tests/check/Makefile.am:
 	* tests/check/libs/.gitignore:
 	* tests/check/libs/audiocdsrc.c:
-	* tests/check/libs/cddabasesrc.c:
 	* tests/check/libs/gstlibscpp.cc:
 	* tests/check/libs/libsabi.c:
 	* tests/check/libs/struct_arm.h:
@@ -40739,8 +40998,6 @@
 	* gst-libs/gst/audio/gstaudiocdsrc.c:
 	* gst-libs/gst/audio/gstaudiocdsrc.h:
 	* gst-libs/gst/cdda/Makefile.am:
-	* gst-libs/gst/cdda/gstcddabasesrc.c:
-	* gst-libs/gst/cdda/gstcddabasesrc.h:
 	* gst-plugins-base.spec.in:
 	* pkgconfig/Makefile.am:
 	* pkgconfig/gstreamer-cdda-uninstalled.pc.in:
@@ -40943,12 +41200,6 @@
 	* docs/libs/gst-plugins-base-libs-sections.txt:
 	* docs/libs/gst-plugins-base-libs.types:
 	* gst-libs/gst/rtp/Makefile.am:
-	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
-	* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
-	* gst-libs/gst/rtp/gstbasertpdepayload.c:
-	* gst-libs/gst/rtp/gstbasertpdepayload.h:
-	* gst-libs/gst/rtp/gstbasertppayload.c:
-	* gst-libs/gst/rtp/gstbasertppayload.h:
 	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
 	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.h:
 	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
@@ -40984,10 +41235,6 @@
 	* gst-libs/gst/audio/gstaudiosink.h:
 	* gst-libs/gst/audio/gstaudiosrc.c:
 	* gst-libs/gst/audio/gstaudiosrc.h:
-	* gst-libs/gst/audio/gstbaseaudiosink.c:
-	* gst-libs/gst/audio/gstbaseaudiosink.h:
-	* gst-libs/gst/audio/gstbaseaudiosrc.c:
-	* gst-libs/gst/audio/gstbaseaudiosrc.h:
 	  rename baseaudio* -> audiobase*
 
 2011-11-11 11:52:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
@@ -41017,8 +41264,6 @@
 	* gst-libs/gst/audio/gstaudioringbuffer.h:
 	* gst-libs/gst/audio/gstbaseaudiosink.h:
 	* gst-libs/gst/audio/gstbaseaudiosrc.h:
-	* gst-libs/gst/audio/gstringbuffer.c:
-	* gst-libs/gst/audio/gstringbuffer.h:
 	  rename files to match contained objects
 
 2011-11-11 11:21:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
@@ -41910,8 +42155,6 @@
 
 	* ext/theora/gsttheoradec.c:
 	* gst-libs/gst/video/Makefile.am:
-	* gst-libs/gst/video/gstmetavideo.c:
-	* gst-libs/gst/video/gstmetavideo.h:
 	* gst-libs/gst/video/gstvideometa.c:
 	* gst-libs/gst/video/gstvideometa.h:
 	* gst-libs/gst/video/gstvideopool.h:
@@ -42162,7 +42405,6 @@
 	* tests/examples/audio/volume.c:
 	* tests/examples/volume/.gitignore:
 	* tests/examples/volume/Makefile.am:
-	* tests/examples/volume/volume.c:
 	  volume: move volume example to audio
 
 2011-10-27 09:42:36 +0200  Stefan Sauer <ensonic@users.sf.net>
@@ -43744,9 +43986,6 @@
 	* gst-libs/gst/audio/gstaudiodecoder.h:
 	* gst-libs/gst/audio/gstaudioencoder.c:
 	* gst-libs/gst/audio/gstaudioencoder.h:
-	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
-	* gst-libs/gst/audio/gstbaseaudiodecoder.h:
-	* gst-libs/gst/audio/gstbaseaudioencoder.c:
 	* gst-libs/gst/audio/gstbaseaudioencoder.h:
 	* win32/common/libgstaudio.def:
 	  audio: rename GstBaseAudioDecoder/Encoder to GstAudioDecoder/Encoder
@@ -46122,22 +46361,16 @@
 	* tests/examples/overlay/.gitignore:
 	* tests/examples/overlay/Makefile.am:
 	* tests/examples/overlay/gtk-videooverlay.c:
-	* tests/examples/overlay/gtk-xoverlay.c:
 	* tests/examples/overlay/qt-videooverlay.cpp:
-	* tests/examples/overlay/qt-xoverlay.cpp:
 	* tests/examples/overlay/qtgv-videooverlay.cpp:
 	* tests/examples/overlay/qtgv-videooverlay.h:
-	* tests/examples/overlay/qtgv-xoverlay.cpp:
-	* tests/examples/overlay/qtgv-xoverlay.h:
 	* tests/examples/seek/jsseek.c:
 	* tests/examples/seek/seek.c:
 	* tests/icles/.gitignore:
 	* tests/icles/Makefile.am:
 	* tests/icles/stress-videooverlay.c:
-	* tests/icles/stress-xoverlay.c:
 	* tests/icles/test-colorkey.c:
 	* tests/icles/test-videooverlay.c:
-	* tests/icles/test-xoverlay.c:
 	  tests: update for GstXOverlay => GstVideoOverlay
 
 2011-08-08 10:44:17 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
@@ -46155,7 +46388,6 @@
 	* gst-libs/gst/interfaces/Makefile.am:
 	* gst-libs/gst/interfaces/videooverlay.c:
 	* gst-libs/gst/interfaces/videooverlay.h:
-	* gst-libs/gst/interfaces/xoverlay.c:
 	* gst-libs/gst/interfaces/xoverlay.h:
 	* gst-plugins-base.spec.in:
 	  interfaces: rename GstXOverlay interface to GstVideoOverlay
@@ -47040,7 +47272,6 @@
 2011-07-07 21:24:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
 
 	* Android.mk:
-	* android/ffmpegcolorspace.mk:
 	* android/videoconvert.mk:
 	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
 	* ext/ogg/gstoggmux.c:
@@ -47862,14 +48093,6 @@
 
 	* configure.ac:
 	* gst/colorspace/Makefile.am:
-	* gst/colorspace/colorspace.c:
-	* gst/colorspace/colorspace.h:
-	* gst/colorspace/colorspace.vcproj:
-	* gst/colorspace/gstcolorspace.c:
-	* gst/colorspace/gstcolorspace.h:
-	* gst/colorspace/gstcolorspaceorc-dist.c:
-	* gst/colorspace/gstcolorspaceorc-dist.h:
-	* gst/colorspace/gstcolorspaceorc.orc:
 	* gst/videoconvert/Makefile.am:
 	* gst/videoconvert/gstvideoconvert.c:
 	* gst/videoconvert/gstvideoconvert.h:
@@ -48884,7 +49107,6 @@
 	* tests/check/elements/decodebin2.c:
 	* tests/check/elements/playbin-compressed.c:
 	* tests/check/elements/playbin.c:
-	* tests/check/elements/playbin2-compressed.c:
 	* tests/check/elements/playbin2.c:
 	  tests: fix up unit tests for playbin2/decodebin2 renames and updates
 	  Even if they don't work yet.
@@ -49666,7 +49888,6 @@
 	* configure.ac:
 	* gst-libs/gst/audio/.gitignore:
 	* gst-libs/gst/audio/Makefile.am:
-	* gst-libs/gst/audio/testchannels.c:
 	* tests/examples/Makefile.am:
 	* tests/examples/audio/.gitignore:
 	* tests/examples/audio/Makefile.am:
@@ -55535,7 +55756,6 @@
 
 2010-12-13 09:58:53 +0200  Stefan Kost <ensonic@users.sf.net>
 
-	* docs/design-audiosinks.txt:
 	* docs/design/design-audiosinks.txt:
 	  docs: move design doc to design folder
 
@@ -56823,7 +57043,6 @@
 	* docs/libs/Makefile.am:
 	* gst-libs/gst/pbutils/Makefile.am:
 	* gst-libs/gst/pbutils/descriptions.c:
-	* gst-libs/gst/pbutils/gstdiscoverer-private.h:
 	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
 	* gst-libs/gst/pbutils/gstdiscoverer.c:
 	* gst-libs/gst/pbutils/missing-plugins.c:
@@ -57236,7 +57455,6 @@
 	* gst-libs/gst/pbutils/pbutils.h:
 	* gst/typefind/Makefile.am:
 	* gst/typefind/gstaacutil.c:
-	* gst/typefind/gstaacutil.h:
 	* gst/typefind/gsttypefindfunctions.c:
 	* win32/common/libgstpbutils.def:
 	  pbutils: add codec-specific utility functions for AAC
@@ -58643,16 +58861,6 @@
 
 	* configure.ac:
 	* tests/examples/Makefile.am:
-	* tests/examples/playback/.gitignore:
-	* tests/examples/playback/Makefile.am:
-	* tests/examples/playback/decodetest.c:
-	* tests/examples/playback/test.c:
-	* tests/examples/playback/test2.c:
-	* tests/examples/playback/test3.c:
-	* tests/examples/playback/test4.c:
-	* tests/examples/playback/test5.c:
-	* tests/examples/playback/test6.c:
-	* tests/examples/playback/test7.c:
 	* tests/icles/Makefile.am:
 	* tests/icles/playback/.gitignore:
 	* tests/icles/playback/Makefile.am:
@@ -58720,14 +58928,6 @@
 	* configure.ac:
 	* gst/playback/.gitignore:
 	* gst/playback/Makefile.am:
-	* gst/playback/decodetest.c:
-	* gst/playback/test.c:
-	* gst/playback/test2.c:
-	* gst/playback/test3.c:
-	* gst/playback/test4.c:
-	* gst/playback/test5.c:
-	* gst/playback/test6.c:
-	* gst/playback/test7.c:
 	* tests/examples/Makefile.am:
 	* tests/examples/playback/.gitignore:
 	* tests/examples/playback/Makefile.am:
@@ -62689,7 +62889,6 @@
 	* gst-libs/gst/rtsp/gstrtspconnection.c:
 	* gst-libs/gst/tag/lang.c:
 	* gst/ffmpegcolorspace/Makefile.am:
-	* gst/ffmpegcolorspace/gstffmpeg.c:
 	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
 	* gst/gdp/gstgdpdepay.h:
 	* gst/gdp/gstgdppay.h:
@@ -64366,10 +64565,6 @@
 	* ext/theora/gsttheoradec.c:
 	* ext/theora/gsttheoraenc.c:
 	* ext/theora/gsttheoraparse.c:
-	* ext/theora/theora.c:
-	* ext/theora/theoradec.c:
-	* ext/theora/theoraenc.c:
-	* ext/theora/theoraparse.c:
 	  theora: Rename source files to have the same name as the headers
 
 2010-01-14 10:07:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
@@ -64380,11 +64575,6 @@
 	* ext/vorbis/gstvorbisenc.c:
 	* ext/vorbis/gstvorbisparse.c:
 	* ext/vorbis/gstvorbistag.c:
-	* ext/vorbis/vorbis.c:
-	* ext/vorbis/vorbisdec.c:
-	* ext/vorbis/vorbisenc.c:
-	* ext/vorbis/vorbisparse.c:
-	* ext/vorbis/vorbistag.c:
 	  vorbis: Rename source files to have the same name as the headers
 
 2010-01-14 10:05:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
@@ -64499,7 +64689,6 @@
 2010-01-07 15:26:57 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
 
 	* gst-libs/gst/tag/Makefile.am:
-	* gst-libs/gst/tag/lang-tables.c:
 	* gst-libs/gst/tag/lang-tables.dat:
 	* gst-libs/gst/tag/lang.c:
 	  tag: fix up disting of lang-tables.c more correctly
@@ -66223,7 +66412,6 @@
 	* gst-libs/gst/rtsp/Makefile.am:
 	* gst-libs/gst/rtsp/gstrtsp-marshal.list:
 	* gst-libs/gst/rtsp/gstrtspextension.c:
-	* gst-libs/gst/rtsp/rtsp-marshal.list:
 	* gst-libs/gst/video/Makefile.am:
 	* gst/playback/Makefile.am:
 	* gst/tcp/Makefile.am:
@@ -73234,13 +73422,9 @@
 	* ext/vorbis/gstvorbistag.h:
 	* ext/vorbis/vorbis.c:
 	* ext/vorbis/vorbisdec.c:
-	* ext/vorbis/vorbisdec.h:
 	* ext/vorbis/vorbisenc.c:
-	* ext/vorbis/vorbisenc.h:
 	* ext/vorbis/vorbisparse.c:
-	* ext/vorbis/vorbisparse.h:
 	* ext/vorbis/vorbistag.c:
-	* ext/vorbis/vorbistag.h:
 	  vorbis: Rename vorbis*.h to gstvorbis*.h to prevent name conflicts
 
 2009-02-24 14:06:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
@@ -73949,22 +74133,9 @@
 	* gst/audioresample/speex_resampler_int.c:
 	* gst/audioresample/speex_resampler_wrapper.h:
 	* gst/speexresample/Makefile.am:
-	* gst/speexresample/README:
-	* gst/speexresample/arch.h:
-	* gst/speexresample/fixed_arm4.h:
-	* gst/speexresample/fixed_arm5e.h:
-	* gst/speexresample/fixed_bfin.h:
-	* gst/speexresample/fixed_debug.h:
-	* gst/speexresample/fixed_generic.h:
 	* gst/speexresample/gstspeexresample.c:
 	* gst/speexresample/gstspeexresample.h:
 	* gst/speexresample/resample.c:
-	* gst/speexresample/resample_sse.h:
-	* gst/speexresample/speex_resampler.h:
-	* gst/speexresample/speex_resampler_double.c:
-	* gst/speexresample/speex_resampler_float.c:
-	* gst/speexresample/speex_resampler_int.c:
-	* gst/speexresample/speex_resampler_wrapper.h:
 	* gst/typefind/gsttypefindfunctions.c:
 	* tests/check/Makefile.am:
 	* tests/check/elements/audioresample.c:
diff --git a/NEWS b/NEWS
index f67d1f3..0ebfe94 100644
--- a/NEWS
+++ b/NEWS
@@ -1,26 +1,28 @@
-### 1.8.2
+### 1.8.3
 
-The first 1.8 bug-fix release (1.8.2) was released on 9 June 2016.
-This release only contains bugfixes and it should be safe to update from 1.8.0.
+The third 1.8 bug-fix release (1.8.3) was released on 19 August 2016.
+This release only contains bugfixes and it should be safe to update from 1.8.x.
 
-#### Major bugfixes in 1.8.2
+#### Major bugfixes in 1.8.3
 
- - Fix vp8enc and flacenc segmentation faults on Windows
- - Fix Android build failure due to BSD sed on OS X
- - Fix Android build failure with applications targetting API > 20
- - Fix playback of live MS SmoothStreaming streams
- - Fix various issues with vtdec and caopengllayersink on OS X
- - Fix severe performance degradation in various image decoders
- - Fix sample rate negotiation in opusdec
- - Fix regression in typefind, causing deadlocks in some situations
- - Fix mpegtsmux to set PTS on all output buffers again
- - Fix extraction of frame dimensions from SDP in RTP JPEG depayloader
- - Fix failure in v4l2videodec when setting of format fails after starting
+ - Fix Android build scripts on OS X and Windows
+ - Fix stepping in PAUSED state in certain circumstances
+ - Fix jackaudiosink hang when exiting
+ - Fix udpsrc receiving multicast packets not only from the selected
+   multicast group
+ - Fix unnecessary decoding of unselected streams in GES
+ - Fix (multi)udpsink randomly not sending to clients
+ - Fix ALL\_BOTH probes not considering EVENT\_FLUSH
+ - Fix average input rate calculations in queue2
+ - Fix various locking issues causing deadlock in adaptivedemux
+ - Fix gst-libav encoders to correctly produce codec\_data in caps
+ - Add Wayland, Windows and Rasberry Pi support to the QML GL video sink
+ - Add support for building with OpenH264 1.6
+ - Add support for controlling deinterlacing in GES video sources
  - ... and many, many more!
 
-For a full list of bugfixes see [Bugzilla][buglist-1.8.2]. Note that this is
+For a full list of bugfixes see [Bugzilla][buglist-1.8.3]. Note that this is
 not the full list of changes. For the full list of changes please refer to the
 GIT logs or ChangeLogs of the particular modules.
 
-[buglist-1.8.2]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=130196&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.8.2
-
+[buglist-1.8.3]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=145400&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.8.3
diff --git a/RELEASE b/RELEASE
index 2612b60..c7687ff 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,11 +1,11 @@
 
-Release notes for GStreamer Base Plugins 1.8.2
+Release notes for GStreamer Base Plugins 1.8.3
 
-The GStreamer team is proud to announce the second bugfix release in the stable
+The GStreamer team is proud to announce the third bugfix release in the stable
 1.8 release series of your favourite cross-platform multimedia framework!
 
 
-This release only contains bugfixes and it is safe to update from 1.8.1. For a
+This release only contains bugfixes and it is safe to update from 1.8.x. For a
 full list of bugfixes see Bugzilla.
 
 
@@ -58,17 +58,13 @@
 
 Bugs fixed in this release
      
-      * 765534 : encoding-profile: Remove codec_data and streamheader fields from constraint caps
-      * 765538 : codec-utils: Don't put level=0 into the caps
-      * 765541 : smartencoder: Only accept TIME segments for real
-      * 765684 : opusdec: Won't negotiate sampling rate anymore
-      * 765706 : opusdec: caps leak in gst_opus_dec_negotiate()
-      * 765708 : encoding-profile: Make creation of encoding profile from discoverer info more robust
-      * 766204 : sdp: rtpjpegdepay regression: Does not extract frame dimensions from SDP anymore
-      * 766265 : opusdec with FEC breaks when packet sizes change
-      * 766510 : videosink: test_video_center_rect raise a warning when turning on debug
-      * 766515 : playbin: fix suburidecodebin leak
-      * 767163 : video-color: Fix colorimetry IS_UNKNOWN
+      * 767689 : oggdemux: re-enable the seek on EOS when determining stream length
+      * 767712 : xvimage: Missing sanity checking for allocation sizes for various video formats
+      * 767859 : discoverer: Don't crash when trying to serialize non-OK discoverer infos to a GVariant
+      * 768178 : tagdemux: Drops data of too small files in PUSH mode
+      * 768249 : rtspsrc lockup on gst_rtspsrc_stop
+      * 768361 : videodecoder: Takes stream lock for non-serialized queries
+      * 768991 : oggdemux: fix unknown duration playing Ogg from HTTP
 
 ==== Download ====
 
@@ -105,10 +101,9 @@
         
 Contributors to this release
     
-      * Guillaume Desmottes
-      * Hyunjun Ko
-      * Olivier Crête
+      * Duncan Palmer
       * Sebastian Dröge
-      * Stian Selnes
-      * Thiago Santos
+      * Sergio Torres Soldado
+      * Tim-Philipp Müller
+      * Vincent Penquerc'h
  
\ No newline at end of file
diff --git a/configure b/configure
index bf26212..b6e0979 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 Base Plug-ins 1.8.2.
+# Generated by GNU Autoconf 2.69 for GStreamer Base Plug-ins 1.8.3.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
 #
@@ -591,8 +591,8 @@
 # Identity of this package.
 PACKAGE_NAME='GStreamer Base Plug-ins'
 PACKAGE_TARNAME='gst-plugins-base'
-PACKAGE_VERSION='1.8.2'
-PACKAGE_STRING='GStreamer Base Plug-ins 1.8.2'
+PACKAGE_VERSION='1.8.3'
+PACKAGE_STRING='GStreamer Base Plug-ins 1.8.3'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
 PACKAGE_URL=''
 
@@ -1789,7 +1789,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 Base Plug-ins 1.8.2 to adapt to many kinds of systems.
+\`configure' configures GStreamer Base Plug-ins 1.8.3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1862,7 +1862,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GStreamer Base Plug-ins 1.8.2:";;
+     short | recursive ) echo "Configuration of GStreamer Base Plug-ins 1.8.3:";;
    esac
   cat <<\_ACEOF
 
@@ -2157,7 +2157,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GStreamer Base Plug-ins configure 1.8.2
+GStreamer Base Plug-ins configure 1.8.3
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2930,7 +2930,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 Base Plug-ins $as_me 1.8.2, which was
+It was created by GStreamer Base Plug-ins $as_me 1.8.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3909,7 +3909,7 @@
 
 # Define the identity of the package.
  PACKAGE='gst-plugins-base'
- VERSION='1.8.2'
+ VERSION='1.8.3'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4120,9 +4120,9 @@
 
 
 
-  PACKAGE_VERSION_MAJOR=$(echo 1.8.2 | cut -d'.' -f1)
-  PACKAGE_VERSION_MINOR=$(echo 1.8.2 | cut -d'.' -f2)
-  PACKAGE_VERSION_MICRO=$(echo 1.8.2 | cut -d'.' -f3)
+  PACKAGE_VERSION_MAJOR=$(echo 1.8.3 | cut -d'.' -f1)
+  PACKAGE_VERSION_MINOR=$(echo 1.8.3 | cut -d'.' -f2)
+  PACKAGE_VERSION_MICRO=$(echo 1.8.3 | cut -d'.' -f3)
 
 
 
@@ -4133,7 +4133,7 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
 $as_echo_n "checking nano version... " >&6; }
 
-  NANO=$(echo 1.8.2 | cut -d'.' -f4)
+  NANO=$(echo 1.8.3 | cut -d'.' -f4)
 
   if test x"$NANO" = x || test "x$NANO" = "x0" ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -8967,10 +8967,10 @@
 done
 
 
-  GST_CURRENT=802
+  GST_CURRENT=803
   GST_REVISION=0
-  GST_AGE=802
-  GST_LIBVERSION=802:0:802
+  GST_AGE=803
+  GST_LIBVERSION=803:0:803
 
 
 
@@ -32083,7 +32083,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by GStreamer Base Plug-ins $as_me 1.8.2, which was
+This file was extended by GStreamer Base Plug-ins $as_me 1.8.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -32149,7 +32149,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 Base Plug-ins config.status 1.8.2
+GStreamer Base Plug-ins config.status 1.8.3
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -33492,7 +33492,6 @@
     cat <<_LT_EOF >> "$cfgfile"
 #! $SHELL
 # Generated automatically by $as_me ($PACKAGE) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 
 # Provide generalized library-building support services.
diff --git a/configure.ac b/configure.ac
index a18f1c8..b6f8fb8 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/prerelease
-AC_INIT([GStreamer Base Plug-ins],[1.8.2],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-base])
+AC_INIT([GStreamer Base Plug-ins],[1.8.3],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-base])
 
 AG_GST_INIT
 
@@ -56,7 +56,7 @@
 dnl      1.10.9 (who knows) => 1009
 dnl
 dnl sets GST_LT_LDFLAGS
-AS_LIBTOOL(GST, 802, 0, 802)
+AS_LIBTOOL(GST, 803, 0, 803)
 
 dnl *** required versions of GStreamer stuff ***
 GST_REQ=1.8.0
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudiochannels.html b/docs/libs/html/gst-plugins-base-libs-gstaudiochannels.html
index b42a552..67025a3 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudiochannels.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudiochannels.html
@@ -352,7 +352,7 @@
 <a name="gst-audio-channel-get-fallback-mask.returns"></a><h4>Returns</h4>
 <p> a fallback channel-mask for <em class="parameter"><code>channels</code></em>
 or 0 when there is no
-mask.</p>
+mask and mono.</p>
 </div>
 <p class="since">Since: 1.8</p>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.html b/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.html
index 8510faa..5283091 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.html
@@ -184,7 +184,7 @@
 <hr>
 <div class="refsect2">
 <a name="GST-PLUGINS-BASE-VERSION-MICRO:CAPS"></a><h3>GST_PLUGINS_BASE_VERSION_MICRO</h3>
-<pre class="programlisting">#define GST_PLUGINS_BASE_VERSION_MICRO (2)
+<pre class="programlisting">#define GST_PLUGINS_BASE_VERSION_MICRO (3)
 </pre>
 <p>The micro version of GStreamer's gst-plugins-base libraries at compile time.</p>
 </div>
diff --git a/docs/libs/html/home.png b/docs/libs/html/home.png
index 9346b33..4bf6d92 100644
--- a/docs/libs/html/home.png
+++ b/docs/libs/html/home.png
Binary files differ
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
index 142d20e..b8fdc8c 100644
--- a/docs/libs/html/index.html
+++ b/docs/libs/html/index.html
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer Base Plugins 1.0 Library Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GStreamer Base Library 1.0 (1.8.2)
+      for GStreamer Base Library 1.0 (1.8.3)
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/</a>.
     </p></div>
 </div>
diff --git a/docs/libs/html/left-insensitive.png b/docs/libs/html/left-insensitive.png
index 3269393..82cba0a 100644
--- a/docs/libs/html/left-insensitive.png
+++ b/docs/libs/html/left-insensitive.png
Binary files differ
diff --git a/docs/libs/html/left.png b/docs/libs/html/left.png
index 2abde03..8444ec0 100644
--- a/docs/libs/html/left.png
+++ b/docs/libs/html/left.png
Binary files differ
diff --git a/docs/libs/html/right-insensitive.png b/docs/libs/html/right-insensitive.png
index 4c95785..7a90b99 100644
--- a/docs/libs/html/right-insensitive.png
+++ b/docs/libs/html/right-insensitive.png
Binary files differ
diff --git a/docs/libs/html/right.png b/docs/libs/html/right.png
index 76260ec..55f3359 100644
--- a/docs/libs/html/right.png
+++ b/docs/libs/html/right.png
Binary files differ
diff --git a/docs/libs/html/up-insensitive.png b/docs/libs/html/up-insensitive.png
index f404986..fdb8cc7 100644
--- a/docs/libs/html/up-insensitive.png
+++ b/docs/libs/html/up-insensitive.png
Binary files differ
diff --git a/docs/libs/html/up.png b/docs/libs/html/up.png
index 80b4b37..c1aad52 100644
--- a/docs/libs/html/up.png
+++ b/docs/libs/html/up.png
Binary files differ
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-adder.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-adder.html
index e679e74..187b6f6 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-adder.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-adder.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-alsa.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-alsa.html
index 88d2a69..2478b70 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-alsa.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-alsa.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-app.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-app.html
index 31a2a04..82b68e6 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-app.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-app.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-audioconvert.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-audioconvert.html
index 293e441..2ac2be0 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-audioconvert.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-audioconvert.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-audiorate.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-audiorate.html
index 0f8c569..bc4e988 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-audiorate.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-audiorate.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-audioresample.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-audioresample.html
index 3960cb2..04ccead 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-audioresample.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-audioresample.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-audiotestsrc.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-audiotestsrc.html
index b2fbeb6..891fcfb 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-audiotestsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-audiotestsrc.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-cdparanoia.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-cdparanoia.html
index 4c04796..77c3d63 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-cdparanoia.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-cdparanoia.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-encoding.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-encoding.html
index 34a68bd..90617dd 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-encoding.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-encoding.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-gio.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-gio.html
index fb9c493..c755a5c 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-gio.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-gio.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-libvisual.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-libvisual.html
index eff6768..469b818 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-libvisual.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-libvisual.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-ogg.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-ogg.html
index 1471ceb..99bd8e6 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-ogg.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-ogg.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-opus.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-opus.html
index bfcea78..ea890ce 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-opus.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-opus.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-pango.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-pango.html
index b7f9974..c68bf27 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-pango.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-pango.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-playback.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-playback.html
index bd0ae43..c6414d7 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-playback.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-playback.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-subparse.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-subparse.html
index 5cc5780..b02d455 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-subparse.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-subparse.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-tcp.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-tcp.html
index a20e35d..e3969a3 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-tcp.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-tcp.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-theora.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-theora.html
index 78ef059..80108b4 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-theora.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-theora.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-typefindfunctions.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-typefindfunctions.html
index 689f98d..3ec6788 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-typefindfunctions.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-typefindfunctions.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-videoconvert.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-videoconvert.html
index 60e8e0a..5a577ca 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-videoconvert.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-videoconvert.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-videorate.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-videorate.html
index 63bd6a2..345f2d5 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-videorate.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-videorate.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-videoscale.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-videoscale.html
index 68969ca..2ad232f 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-videoscale.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-videoscale.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-videotestsrc.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-videotestsrc.html
index b4f6b45..f695557 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-videotestsrc.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-videotestsrc.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-volume.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-volume.html
index 648e71f..98a3897 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-volume.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-volume.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-vorbis.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-vorbis.html
index 6b4db95..27e8bfa 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-vorbis.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-vorbis.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-ximagesink.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-ximagesink.html
index 2cdbe2e..f0e6fc3 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-ximagesink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-ximagesink.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-base-plugins-plugin-xvimagesink.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-xvimagesink.html
index 9c394f4..45dce9d 100644
--- a/docs/plugins/html/gst-plugins-base-plugins-plugin-xvimagesink.html
+++ b/docs/plugins/html/gst-plugins-base-plugins-plugin-xvimagesink.html
@@ -41,7 +41,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.8.2</td>
+<td>1.8.3</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/home.png b/docs/plugins/html/home.png
index 9346b33..4bf6d92 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 6f5f463..764cba9 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 Base Plugins 1.0 Plugins Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GStreamer Base Plugins 1.0 (1.8.2)
+      for GStreamer Base Plugins 1.0 (1.8.3)
       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-base/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base/html/</a>.
     </p></div>
diff --git a/docs/plugins/html/left-insensitive.png b/docs/plugins/html/left-insensitive.png
index 3269393..82cba0a 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 2abde03..8444ec0 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 4c95785..7a90b99 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 76260ec..55f3359 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 f404986..fdb8cc7 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 80b4b37..c1aad52 100644
--- a/docs/plugins/html/up.png
+++ b/docs/plugins/html/up.png
Binary files differ
diff --git a/docs/plugins/inspect/plugin-adder.xml b/docs/plugins/inspect/plugin-adder.xml
index 2bd5af5..55134ed 100644
--- a/docs/plugins/inspect/plugin-adder.xml
+++ b/docs/plugins/inspect/plugin-adder.xml
@@ -3,7 +3,7 @@
   <description>Adds multiple streams</description>
   <filename>../../gst/adder/.libs/libgstadder.so</filename>
   <basename>libgstadder.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-alsa.xml b/docs/plugins/inspect/plugin-alsa.xml
index c54f9d9..0340182 100644
--- a/docs/plugins/inspect/plugin-alsa.xml
+++ b/docs/plugins/inspect/plugin-alsa.xml
@@ -3,7 +3,7 @@
   <description>ALSA plugin library</description>
   <filename>../../ext/alsa/.libs/libgstalsa.so</filename>
   <basename>libgstalsa.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-app.xml b/docs/plugins/inspect/plugin-app.xml
index 8aef377..108d58f 100644
--- a/docs/plugins/inspect/plugin-app.xml
+++ b/docs/plugins/inspect/plugin-app.xml
@@ -3,7 +3,7 @@
   <description>Elements used to communicate with applications</description>
   <filename>../../gst/app/.libs/libgstapp.so</filename>
   <basename>libgstapp.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audioconvert.xml b/docs/plugins/inspect/plugin-audioconvert.xml
index 19ef71c..98b7e56 100644
--- a/docs/plugins/inspect/plugin-audioconvert.xml
+++ b/docs/plugins/inspect/plugin-audioconvert.xml
@@ -3,7 +3,7 @@
   <description>Convert audio to different formats</description>
   <filename>../../gst/audioconvert/.libs/libgstaudioconvert.so</filename>
   <basename>libgstaudioconvert.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audiorate.xml b/docs/plugins/inspect/plugin-audiorate.xml
index 37aefed..6ecdc8b 100644
--- a/docs/plugins/inspect/plugin-audiorate.xml
+++ b/docs/plugins/inspect/plugin-audiorate.xml
@@ -3,7 +3,7 @@
   <description>Adjusts audio frames</description>
   <filename>../../gst/audiorate/.libs/libgstaudiorate.so</filename>
   <basename>libgstaudiorate.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audioresample.xml b/docs/plugins/inspect/plugin-audioresample.xml
index a2254b8..0204ae1 100644
--- a/docs/plugins/inspect/plugin-audioresample.xml
+++ b/docs/plugins/inspect/plugin-audioresample.xml
@@ -3,7 +3,7 @@
   <description>Resamples audio</description>
   <filename>../../gst/audioresample/.libs/libgstaudioresample.so</filename>
   <basename>libgstaudioresample.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audiotestsrc.xml b/docs/plugins/inspect/plugin-audiotestsrc.xml
index d3dff29..7db7722 100644
--- a/docs/plugins/inspect/plugin-audiotestsrc.xml
+++ b/docs/plugins/inspect/plugin-audiotestsrc.xml
@@ -3,7 +3,7 @@
   <description>Creates audio test signals of given frequency and volume</description>
   <filename>../../gst/audiotestsrc/.libs/libgstaudiotestsrc.so</filename>
   <basename>libgstaudiotestsrc.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-cdparanoia.xml b/docs/plugins/inspect/plugin-cdparanoia.xml
index b9ae828..266d390 100644
--- a/docs/plugins/inspect/plugin-cdparanoia.xml
+++ b/docs/plugins/inspect/plugin-cdparanoia.xml
@@ -3,7 +3,7 @@
   <description>Read audio from CD in paranoid mode</description>
   <filename>../../ext/cdparanoia/.libs/libgstcdparanoia.so</filename>
   <basename>libgstcdparanoia.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-encoding.xml b/docs/plugins/inspect/plugin-encoding.xml
index e6671d7..7afc091 100644
--- a/docs/plugins/inspect/plugin-encoding.xml
+++ b/docs/plugins/inspect/plugin-encoding.xml
@@ -3,7 +3,7 @@
   <description>various encoding-related elements</description>
   <filename>../../gst/encoding/.libs/libgstencodebin.so</filename>
   <basename>libgstencodebin.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-gio.xml b/docs/plugins/inspect/plugin-gio.xml
index 66b7cb7..cfdb024 100644
--- a/docs/plugins/inspect/plugin-gio.xml
+++ b/docs/plugins/inspect/plugin-gio.xml
@@ -3,7 +3,7 @@
   <description>GIO elements</description>
   <filename>../../gst/gio/.libs/libgstgio.so</filename>
   <basename>libgstgio.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-libvisual.xml b/docs/plugins/inspect/plugin-libvisual.xml
index 3474b87..ccd95ee 100644
--- a/docs/plugins/inspect/plugin-libvisual.xml
+++ b/docs/plugins/inspect/plugin-libvisual.xml
@@ -3,7 +3,7 @@
   <description>libvisual visualization plugins</description>
   <filename>../../ext/libvisual/.libs/libgstlibvisual.so</filename>
   <basename>libgstlibvisual.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ogg.xml b/docs/plugins/inspect/plugin-ogg.xml
index 856a3a6..a040d6f 100644
--- a/docs/plugins/inspect/plugin-ogg.xml
+++ b/docs/plugins/inspect/plugin-ogg.xml
@@ -3,7 +3,7 @@
   <description>ogg stream manipulation (info about ogg: http://xiph.org)</description>
   <filename>../../ext/ogg/.libs/libgstogg.so</filename>
   <basename>libgstogg.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-opus.xml b/docs/plugins/inspect/plugin-opus.xml
index 216f55d..e2ac049 100644
--- a/docs/plugins/inspect/plugin-opus.xml
+++ b/docs/plugins/inspect/plugin-opus.xml
@@ -3,7 +3,7 @@
   <description>OPUS plugin library</description>
   <filename>../../ext/opus/.libs/libgstopus.so</filename>
   <basename>libgstopus.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-pango.xml b/docs/plugins/inspect/plugin-pango.xml
index 1f32298..4116aef 100644
--- a/docs/plugins/inspect/plugin-pango.xml
+++ b/docs/plugins/inspect/plugin-pango.xml
@@ -3,7 +3,7 @@
   <description>Pango-based text rendering and overlay</description>
   <filename>../../ext/pango/.libs/libgstpango.so</filename>
   <basename>libgstpango.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-playback.xml b/docs/plugins/inspect/plugin-playback.xml
index 80d2354..fa5066b 100644
--- a/docs/plugins/inspect/plugin-playback.xml
+++ b/docs/plugins/inspect/plugin-playback.xml
@@ -3,7 +3,7 @@
   <description>various playback elements</description>
   <filename>../../gst/playback/.libs/libgstplayback.so</filename>
   <basename>libgstplayback.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-subparse.xml b/docs/plugins/inspect/plugin-subparse.xml
index ac3e111..c2bd802 100644
--- a/docs/plugins/inspect/plugin-subparse.xml
+++ b/docs/plugins/inspect/plugin-subparse.xml
@@ -3,7 +3,7 @@
   <description>Subtitle parsing</description>
   <filename>../../gst/subparse/.libs/libgstsubparse.so</filename>
   <basename>libgstsubparse.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-tcp.xml b/docs/plugins/inspect/plugin-tcp.xml
index 6df7525..2afc240 100644
--- a/docs/plugins/inspect/plugin-tcp.xml
+++ b/docs/plugins/inspect/plugin-tcp.xml
@@ -3,7 +3,7 @@
   <description>transfer data over the network via TCP</description>
   <filename>../../gst/tcp/.libs/libgsttcp.so</filename>
   <basename>libgsttcp.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-theora.xml b/docs/plugins/inspect/plugin-theora.xml
index 2370ac4..c57d87b 100644
--- a/docs/plugins/inspect/plugin-theora.xml
+++ b/docs/plugins/inspect/plugin-theora.xml
@@ -3,7 +3,7 @@
   <description>Theora plugin library</description>
   <filename>../../ext/theora/.libs/libgsttheora.so</filename>
   <basename>libgsttheora.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-typefindfunctions.xml b/docs/plugins/inspect/plugin-typefindfunctions.xml
index 501cb6a..064d53f 100644
--- a/docs/plugins/inspect/plugin-typefindfunctions.xml
+++ b/docs/plugins/inspect/plugin-typefindfunctions.xml
@@ -3,7 +3,7 @@
   <description>default typefind functions</description>
   <filename>../../gst/typefind/.libs/libgsttypefindfunctions.so</filename>
   <basename>libgsttypefindfunctions.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videoconvert.xml b/docs/plugins/inspect/plugin-videoconvert.xml
index bb5da91..7e8b81b 100644
--- a/docs/plugins/inspect/plugin-videoconvert.xml
+++ b/docs/plugins/inspect/plugin-videoconvert.xml
@@ -3,7 +3,7 @@
   <description>Colorspace conversion</description>
   <filename>../../gst/videoconvert/.libs/libgstvideoconvert.so</filename>
   <basename>libgstvideoconvert.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videorate.xml b/docs/plugins/inspect/plugin-videorate.xml
index 58f20e0..567878b 100644
--- a/docs/plugins/inspect/plugin-videorate.xml
+++ b/docs/plugins/inspect/plugin-videorate.xml
@@ -3,7 +3,7 @@
   <description>Adjusts video frames</description>
   <filename>../../gst/videorate/.libs/libgstvideorate.so</filename>
   <basename>libgstvideorate.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videoscale.xml b/docs/plugins/inspect/plugin-videoscale.xml
index 3fca73b..a438bdb 100644
--- a/docs/plugins/inspect/plugin-videoscale.xml
+++ b/docs/plugins/inspect/plugin-videoscale.xml
@@ -3,7 +3,7 @@
   <description>Resizes video</description>
   <filename>../../gst/videoscale/.libs/libgstvideoscale.so</filename>
   <basename>libgstvideoscale.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videotestsrc.xml b/docs/plugins/inspect/plugin-videotestsrc.xml
index 4097a1e..f8bc389 100644
--- a/docs/plugins/inspect/plugin-videotestsrc.xml
+++ b/docs/plugins/inspect/plugin-videotestsrc.xml
@@ -3,7 +3,7 @@
   <description>Creates a test video stream</description>
   <filename>../../gst/videotestsrc/.libs/libgstvideotestsrc.so</filename>
   <basename>libgstvideotestsrc.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-volume.xml b/docs/plugins/inspect/plugin-volume.xml
index df5b4ed..46c1b5e 100644
--- a/docs/plugins/inspect/plugin-volume.xml
+++ b/docs/plugins/inspect/plugin-volume.xml
@@ -3,7 +3,7 @@
   <description>plugin for controlling audio volume</description>
   <filename>../../gst/volume/.libs/libgstvolume.so</filename>
   <basename>libgstvolume.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-vorbis.xml b/docs/plugins/inspect/plugin-vorbis.xml
index dd20760..dbebc3f 100644
--- a/docs/plugins/inspect/plugin-vorbis.xml
+++ b/docs/plugins/inspect/plugin-vorbis.xml
@@ -3,7 +3,7 @@
   <description>Vorbis plugin library</description>
   <filename>../../ext/vorbis/.libs/libgstvorbis.so</filename>
   <basename>libgstvorbis.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ximagesink.xml b/docs/plugins/inspect/plugin-ximagesink.xml
index a4bf148..c58b449 100644
--- a/docs/plugins/inspect/plugin-ximagesink.xml
+++ b/docs/plugins/inspect/plugin-ximagesink.xml
@@ -3,7 +3,7 @@
   <description>X11 video output element based on standard Xlib calls</description>
   <filename>../../sys/ximage/.libs/libgstximagesink.so</filename>
   <basename>libgstximagesink.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-xvimagesink.xml b/docs/plugins/inspect/plugin-xvimagesink.xml
index 52541fc..8ad371d 100644
--- a/docs/plugins/inspect/plugin-xvimagesink.xml
+++ b/docs/plugins/inspect/plugin-xvimagesink.xml
@@ -3,7 +3,7 @@
   <description>XFree86 video output plugin using Xv extension</description>
   <filename>../../sys/xvimage/.libs/libgstxvimagesink.so</filename>
   <basename>libgstxvimagesink.so</basename>
-  <version>1.8.2</version>
+  <version>1.8.3</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/ext/ogg/gstoggdemux.c b/ext/ogg/gstoggdemux.c
index bd129ab..10c34a8 100644
--- a/ext/ogg/gstoggdemux.c
+++ b/ext/ogg/gstoggdemux.c
@@ -50,9 +50,6 @@
 /* we hope we get a granpos within this many bytes off the end */
 #define DURATION_CHUNK_OFFSET (64*1024)
 
-/* stop duration checks within this much of EOS */
-#define EOS_AVOIDANCE_THRESHOLD 8192
-
 /* An Ogg page can not be larger than 255 segments of 255 bytes, plus
    26 bytes of header */
 #define MAX_OGG_PAGE_SIZE (255 * 255 + 26)
@@ -344,7 +341,9 @@
               else
                 stop = MAX (idx_time, stop);
             } else {
-              stop = -1;        /* we've no clue, sadly, without seeking */
+              stop = ogg->push_time_length;
+              if (stop == -1)
+                stop = ogg->total_time;
             }
           }
         }
@@ -1652,8 +1651,7 @@
          event and there is a queue2 upstream (such as when using playbin),
          it will pause the task *after* we come back from the EOS handler,
          so we cannot prevent the pausing by issuing a seek. */
-      if (ogg->push_byte_offset + EOS_AVOIDANCE_THRESHOLD >=
-          ogg->push_byte_length) {
+      if (ogg->push_byte_offset >= ogg->push_byte_length) {
         GstMessage *message;
         GstFlowReturn res;
 
@@ -2418,13 +2416,6 @@
     case GST_EVENT_EOS:
     {
       GST_DEBUG_OBJECT (ogg, "got an EOS event");
-#if 0
-      /* This would be what is needed (recover from EOS by going on to
-         the next step (issue the delayed seek)), but it does not work
-         if there is a queue2 upstream - see more details comment in
-         gst_ogg_pad_submit_page.
-         If I could find a way to bypass queue2 behavior, this should
-         be enabled. */
       GST_PUSH_LOCK (ogg);
       if (ogg->push_state == PUSH_DURATION) {
         GST_DEBUG_OBJECT (ogg, "Got EOS while determining length");
@@ -2436,7 +2427,6 @@
         break;
       }
       GST_PUSH_UNLOCK (ogg);
-#endif
       res = gst_ogg_demux_send_event (ogg, event);
       if (ogg->current_chain == NULL) {
         GST_WARNING_OBJECT (ogg,
@@ -3660,8 +3650,7 @@
 
   /* A full Ogg page can be almost 64 KB. There's no guarantee that there'll be a
      granpos there, but it's fairly likely */
-  position =
-      ogg->push_byte_length - DURATION_CHUNK_OFFSET - EOS_AVOIDANCE_THRESHOLD;
+  position = ogg->push_byte_length - DURATION_CHUNK_OFFSET;
   if (position < 0)
     position = 0;
 
diff --git a/gst-libs/gst/allocators/Makefile.am b/gst-libs/gst/allocators/Makefile.am
index 5c11b8a..bccfdb3 100644
--- a/gst-libs/gst/allocators/Makefile.am
+++ b/gst-libs/gst/allocators/Makefile.am
@@ -27,6 +27,7 @@
 GstAllocators-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstallocators-@GST_API_VERSION@.la
 	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 		GST_PLUGIN_SYSTEM_PATH="" GST_PLUGIN_PATH="" GST_REGISTRY_UPDATE=no \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstAllocators \
 		--nsversion=@GST_API_VERSION@ \
 		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/allocators/Makefile.in b/gst-libs/gst/allocators/Makefile.in
index 1d1c999..140b71b 100644
--- a/gst-libs/gst/allocators/Makefile.in
+++ b/gst-libs/gst/allocators/Makefile.in
@@ -913,6 +913,7 @@
 @HAVE_INTROSPECTION_TRUE@GstAllocators-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstallocators-@GST_API_VERSION@.la
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 @HAVE_INTROSPECTION_TRUE@		GST_PLUGIN_SYSTEM_PATH="" GST_PLUGIN_PATH="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstAllocators \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/app/Makefile.am b/gst-libs/gst/app/Makefile.am
index 1555841..776c21e 100644
--- a/gst-libs/gst/app/Makefile.am
+++ b/gst-libs/gst/app/Makefile.am
@@ -40,6 +40,7 @@
 GstApp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstapp-@GST_API_VERSION@.la
 	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstApp \
 		--nsversion=@GST_API_VERSION@ \
 		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/app/Makefile.in b/gst-libs/gst/app/Makefile.in
index ba3f898..2dc3181 100644
--- a/gst-libs/gst/app/Makefile.in
+++ b/gst-libs/gst/app/Makefile.in
@@ -984,6 +984,7 @@
 @HAVE_INTROSPECTION_TRUE@GstApp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstapp-@GST_API_VERSION@.la
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 @HAVE_INTROSPECTION_TRUE@		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstApp \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/audio/Makefile.am b/gst-libs/gst/audio/Makefile.am
index e707d1d..59ea402 100644
--- a/gst-libs/gst/audio/Makefile.am
+++ b/gst-libs/gst/audio/Makefile.am
@@ -98,6 +98,7 @@
 GstAudio-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstaudio-@GST_API_VERSION@.la
 	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstAudio \
 		--nsversion=@GST_API_VERSION@ \
 		--warn-all \
diff --git a/gst-libs/gst/audio/Makefile.in b/gst-libs/gst/audio/Makefile.in
index 1a54a8f..746cf91 100644
--- a/gst-libs/gst/audio/Makefile.in
+++ b/gst-libs/gst/audio/Makefile.in
@@ -1395,6 +1395,7 @@
 @HAVE_INTROSPECTION_TRUE@GstAudio-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstaudio-@GST_API_VERSION@.la
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 @HAVE_INTROSPECTION_TRUE@		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstAudio \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--warn-all \
diff --git a/gst-libs/gst/audio/audio-channels.c b/gst-libs/gst/audio/audio-channels.c
index b358cc2..8e03455 100644
--- a/gst-libs/gst/audio/audio-channels.c
+++ b/gst-libs/gst/audio/audio-channels.c
@@ -524,7 +524,7 @@
  * called as a last resort when the specific channel map is unknown.
  *
  * Returns: a fallback channel-mask for @channels or 0 when there is no
- * mask.
+ * mask and mono.
  *
  * Since: 1.8
  */
diff --git a/gst-libs/gst/audio/gstaudiodecoder.c b/gst-libs/gst/audio/gstaudiodecoder.c
index 0083759..8c43cbb 100644
--- a/gst-libs/gst/audio/gstaudiodecoder.c
+++ b/gst-libs/gst/audio/gstaudiodecoder.c
@@ -496,8 +496,10 @@
 
   if (full) {
     dec->priv->active = FALSE;
+    GST_OBJECT_LOCK (dec);
     dec->priv->bytes_in = 0;
     dec->priv->samples_out = 0;
+    GST_OBJECT_UNLOCK (dec);
     dec->priv->agg = -1;
     dec->priv->error_count = 0;
     gst_audio_decoder_clear_queues (dec);
@@ -524,11 +526,13 @@
     if (dec->priv->ctx.allocator)
       gst_object_unref (dec->priv->ctx.allocator);
 
+    GST_OBJECT_LOCK (dec);
     gst_caps_replace (&dec->priv->ctx.input_caps, NULL);
 
     memset (&dec->priv->ctx, 0, sizeof (dec->priv->ctx));
 
     gst_audio_info_init (&dec->priv->ctx.info);
+    GST_OBJECT_UNLOCK (dec);
     dec->priv->ctx.max_errors = GST_AUDIO_DECODER_MAX_ERRORS;
     dec->priv->ctx.had_output_data = FALSE;
     dec->priv->ctx.had_input_data = FALSE;
@@ -811,7 +815,9 @@
   }
 
   /* copy the GstAudioInfo */
+  GST_OBJECT_LOCK (dec);
   dec->priv->ctx.info = *info;
+  GST_OBJECT_UNLOCK (dec);
   dec->priv->ctx.output_format_changed = TRUE;
 
 done:
@@ -1382,8 +1388,10 @@
     }
   }
 
+  GST_OBJECT_LOCK (dec);
   priv->samples += samples;
   priv->samples_out += samples;
+  GST_OBJECT_UNLOCK (dec);
 
   /* we got data, so note things are looking up */
   if (G_UNLIKELY (dec->priv->error_count))
@@ -1444,7 +1452,9 @@
         GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buffer)));
     g_queue_push_tail (&dec->priv->frames, buffer);
     dec->priv->ctx.delay = dec->priv->frames.length;
+    GST_OBJECT_LOCK (dec);
     dec->priv->bytes_in += size;
+    GST_OBJECT_UNLOCK (dec);
   } else {
     GST_LOG_OBJECT (dec, "providing subclass with NULL frame");
   }
@@ -1942,8 +1952,14 @@
 static inline gboolean
 gst_audio_decoder_do_byte (GstAudioDecoder * dec)
 {
-  return dec->priv->ctx.do_estimate_rate && dec->priv->ctx.info.bpf &&
+  gboolean ret;
+
+  GST_OBJECT_LOCK (dec);
+  ret = dec->priv->ctx.do_estimate_rate && dec->priv->ctx.info.bpf &&
       dec->priv->ctx.info.rate <= dec->priv->samples_out;
+  GST_OBJECT_UNLOCK (dec);
+
+  return ret;
 }
 
 /* Must be called holding the GST_AUDIO_DECODER_STREAM_LOCK */
@@ -1957,6 +1973,7 @@
   guint64 channel_mask = 0;
   gint caps_size;
   GstStructure *structure;
+  GstAudioInfo info;
 
   templcaps = gst_pad_get_pad_template_caps (dec->srcpad);
   caps = gst_pad_peer_query_caps (dec->srcpad, templcaps);
@@ -2003,10 +2020,18 @@
 
   for (i = 0; i < caps_size; i++) {
     structure = gst_caps_get_structure (caps, i);
-    gst_structure_fixate_field_nearest_int (structure,
-        "channels", GST_AUDIO_DEF_CHANNELS);
-    gst_structure_fixate_field_nearest_int (structure,
-        "rate", GST_AUDIO_DEF_RATE);
+    if (gst_structure_has_field (structure, "channels"))
+      gst_structure_fixate_field_nearest_int (structure,
+          "channels", GST_AUDIO_DEF_CHANNELS);
+    else
+      gst_structure_set (structure, "channels", G_TYPE_INT,
+          GST_AUDIO_DEF_CHANNELS, NULL);
+    if (gst_structure_has_field (structure, "rate"))
+      gst_structure_fixate_field_nearest_int (structure,
+          "rate", GST_AUDIO_DEF_RATE);
+    else
+      gst_structure_set (structure, "rate", G_TYPE_INT, GST_AUDIO_DEF_RATE,
+          NULL);
   }
   caps = gst_caps_fixate (caps);
   structure = gst_caps_get_structure (caps, 0);
@@ -2024,9 +2049,13 @@
     }
   }
 
-  if (!caps || !gst_audio_info_from_caps (&dec->priv->ctx.info, caps))
+  if (!caps || !gst_audio_info_from_caps (&info, caps))
     goto caps_error;
 
+  GST_OBJECT_LOCK (dec);
+  dec->priv->ctx.info = info;
+  GST_OBJECT_UNLOCK (dec);
+
   GST_INFO_OBJECT (dec,
       "Chose default caps %" GST_PTR_FORMAT " for initial gap", caps);
   gst_caps_unref (caps);
@@ -2518,77 +2547,6 @@
   return TRUE;
 }
 
-/*
- * gst_audio_encoded_audio_convert:
- * @fmt: audio format of the encoded audio
- * @bytes: number of encoded bytes
- * @samples: number of encoded samples
- * @src_format: source format
- * @src_value: source value
- * @dest_format: destination format
- * @dest_value: destination format
- *
- * Helper function to convert @src_value in @src_format to @dest_value in
- * @dest_format for encoded audio data.  Conversion is possible between
- * BYTE and TIME format by using estimated bitrate based on
- * @samples and @bytes (and @fmt).
- */
-/* FIXME: make gst_audio_encoded_audio_convert() public? */
-static gboolean
-gst_audio_encoded_audio_convert (GstAudioInfo * fmt,
-    gint64 bytes, gint64 samples, GstFormat src_format,
-    gint64 src_value, GstFormat * dest_format, gint64 * dest_value)
-{
-  gboolean res = FALSE;
-
-  g_return_val_if_fail (dest_format != NULL, FALSE);
-  g_return_val_if_fail (dest_value != NULL, FALSE);
-
-  if (G_UNLIKELY (src_format == *dest_format || src_value == 0 ||
-          src_value == -1)) {
-    if (dest_value)
-      *dest_value = src_value;
-    return TRUE;
-  }
-
-  if (samples == 0 || bytes == 0 || fmt->rate == 0) {
-    GST_DEBUG ("not enough metadata yet to convert");
-    goto exit;
-  }
-
-  bytes *= fmt->rate;
-
-  switch (src_format) {
-    case GST_FORMAT_BYTES:
-      switch (*dest_format) {
-        case GST_FORMAT_TIME:
-          *dest_value = gst_util_uint64_scale (src_value,
-              GST_SECOND * samples, bytes);
-          res = TRUE;
-          break;
-        default:
-          res = FALSE;
-      }
-      break;
-    case GST_FORMAT_TIME:
-      switch (*dest_format) {
-        case GST_FORMAT_BYTES:
-          *dest_value = gst_util_uint64_scale (src_value, bytes,
-              samples * GST_SECOND);
-          res = TRUE;
-          break;
-        default:
-          res = FALSE;
-      }
-      break;
-    default:
-      res = FALSE;
-  }
-
-exit:
-  return res;
-}
-
 /**
  * gst_audio_decoder_proxy_getcaps:
  * @decoder: a #GstAudioDecoder
@@ -2651,9 +2609,12 @@
       gint64 src_val, dest_val;
 
       gst_query_parse_convert (query, &src_fmt, &src_val, &dest_fmt, &dest_val);
-      if (!(res = gst_audio_encoded_audio_convert (&dec->priv->ctx.info,
-                  dec->priv->bytes_in, dec->priv->samples_out,
-                  src_fmt, src_val, &dest_fmt, &dest_val)))
+      GST_OBJECT_LOCK (dec);
+      res = __gst_audio_encoded_audio_convert (&dec->priv->ctx.info,
+          dec->priv->bytes_in, dec->priv->samples_out,
+          src_fmt, src_val, &dest_fmt, &dest_val);
+      GST_OBJECT_UNLOCK (dec);
+      if (!res)
         goto error;
       gst_query_set_convert (query, src_fmt, src_val, dest_fmt, dest_val);
       break;
@@ -2832,8 +2793,11 @@
       gint64 src_val, dest_val;
 
       gst_query_parse_convert (query, &src_fmt, &src_val, &dest_fmt, &dest_val);
-      if (!(res = gst_audio_info_convert (&dec->priv->ctx.info,
-                  src_fmt, src_val, dest_fmt, &dest_val)))
+      GST_OBJECT_LOCK (dec);
+      res = gst_audio_info_convert (&dec->priv->ctx.info,
+          src_fmt, src_val, dest_fmt, &dest_val);
+      GST_OBJECT_UNLOCK (dec);
+      if (!res)
         break;
       gst_query_set_convert (query, src_fmt, src_val, dest_fmt, dest_val);
       break;
diff --git a/gst-libs/gst/audio/gstaudioencoder.c b/gst-libs/gst/audio/gstaudioencoder.c
index bdabaab..546c822 100644
--- a/gst-libs/gst/audio/gstaudioencoder.c
+++ b/gst-libs/gst/audio/gstaudioencoder.c
@@ -478,8 +478,10 @@
 
   if (full) {
     enc->priv->active = FALSE;
+    GST_OBJECT_LOCK (enc);
     enc->priv->samples_in = 0;
     enc->priv->bytes_out = 0;
+    GST_OBJECT_UNLOCK (enc);
 
     g_list_foreach (enc->priv->ctx.headers, (GFunc) gst_buffer_unref, NULL);
     g_list_free (enc->priv->ctx.headers);
@@ -490,11 +492,13 @@
       gst_object_unref (enc->priv->ctx.allocator);
     enc->priv->ctx.allocator = NULL;
 
+    GST_OBJECT_LOCK (enc);
     gst_caps_replace (&enc->priv->ctx.input_caps, NULL);
     gst_caps_replace (&enc->priv->ctx.caps, NULL);
 
     memset (&enc->priv->ctx, 0, sizeof (enc->priv->ctx));
     gst_audio_info_init (&enc->priv->ctx.info);
+    GST_OBJECT_UNLOCK (enc);
 
     if (enc->priv->upstream_tags) {
       gst_tag_list_unref (enc->priv->upstream_tags);
@@ -909,7 +913,9 @@
           GST_BUFFER_OFFSET_END (tmpbuf) = priv->bytes_out + size;
         }
 
+        GST_OBJECT_LOCK (enc);
         priv->bytes_out += size;
+        GST_OBJECT_UNLOCK (enc);
 
         gst_pad_push (enc->srcpad, tmpbuf);
       }
@@ -971,7 +977,9 @@
       }
     }
 
+    GST_OBJECT_LOCK (enc);
     priv->bytes_out += size;
+    GST_OBJECT_UNLOCK (enc);
 
     if (G_UNLIKELY (priv->discont)) {
       GST_LOG_OBJECT (enc, "marking discont");
@@ -1116,7 +1124,9 @@
     /* mark this already as consumed,
      * which it should be when subclass gives us data in exchange for samples */
     priv->offset += need;
+    GST_OBJECT_LOCK (enc);
     priv->samples_in += need / ctx->info.bpf;
+    GST_OBJECT_UNLOCK (enc);
 
     /* subclass might not want to be bothered with leftover data,
      * so take care of that here if so, otherwise pass along */
@@ -1428,8 +1438,10 @@
     res = klass->set_format (enc, &state);
 
   if (res) {
+    GST_OBJECT_LOCK (enc);
     ctx->info = state;
     gst_caps_replace (&enc->priv->ctx.input_caps, caps);
+    GST_OBJECT_UNLOCK (enc);
   } else {
     /* invalidate state to ensure no casual carrying on */
     GST_DEBUG_OBJECT (enc, "subclass did not accept format");
@@ -1715,8 +1727,11 @@
       gint64 src_val, dest_val;
 
       gst_query_parse_convert (query, &src_fmt, &src_val, &dest_fmt, &dest_val);
-      if (!(res = gst_audio_info_convert (&enc->priv->ctx.info,
-                  src_fmt, src_val, dest_fmt, &dest_val)))
+      GST_OBJECT_LOCK (enc);
+      res = gst_audio_info_convert (&enc->priv->ctx.info,
+          src_fmt, src_val, dest_fmt, &dest_val);
+      GST_OBJECT_UNLOCK (enc);
+      if (!res)
         goto error;
       gst_query_set_convert (query, src_fmt, src_val, dest_fmt, dest_val);
       res = TRUE;
@@ -1848,77 +1863,6 @@
   return TRUE;
 }
 
-/*
- * gst_audio_encoded_audio_convert:
- * @fmt: audio format of the encoded audio
- * @bytes: number of encoded bytes
- * @samples: number of encoded samples
- * @src_format: source format
- * @src_value: source value
- * @dest_format: destination format
- * @dest_value: destination format
- *
- * Helper function to convert @src_value in @src_format to @dest_value in
- * @dest_format for encoded audio data.  Conversion is possible between
- * BYTE and TIME format by using estimated bitrate based on
- * @samples and @bytes (and @fmt).
- */
-/* FIXME: make gst_audio_encoded_audio_convert() public? */
-static gboolean
-gst_audio_encoded_audio_convert (GstAudioInfo * fmt,
-    gint64 bytes, gint64 samples, GstFormat src_format,
-    gint64 src_value, GstFormat * dest_format, gint64 * dest_value)
-{
-  gboolean res = FALSE;
-
-  g_return_val_if_fail (dest_format != NULL, FALSE);
-  g_return_val_if_fail (dest_value != NULL, FALSE);
-
-  if (G_UNLIKELY (src_format == *dest_format || src_value == 0 ||
-          src_value == -1)) {
-    if (dest_value)
-      *dest_value = src_value;
-    return TRUE;
-  }
-
-  if (samples == 0 || bytes == 0 || fmt->rate == 0) {
-    GST_DEBUG ("not enough metadata yet to convert");
-    goto exit;
-  }
-
-  bytes *= fmt->rate;
-
-  switch (src_format) {
-    case GST_FORMAT_BYTES:
-      switch (*dest_format) {
-        case GST_FORMAT_TIME:
-          *dest_value = gst_util_uint64_scale (src_value,
-              GST_SECOND * samples, bytes);
-          res = TRUE;
-          break;
-        default:
-          res = FALSE;
-      }
-      break;
-    case GST_FORMAT_TIME:
-      switch (*dest_format) {
-        case GST_FORMAT_BYTES:
-          *dest_value = gst_util_uint64_scale (src_value, bytes,
-              samples * GST_SECOND);
-          res = TRUE;
-          break;
-        default:
-          res = FALSE;
-      }
-      break;
-    default:
-      res = FALSE;
-  }
-
-exit:
-  return res;
-}
-
 /* FIXME ? are any of these queries (other than latency) an encoder's business
  * also, the conversion stuff might seem to make sense, but seems to not mind
  * segment stuff etc at all
@@ -1988,9 +1932,12 @@
       gint64 src_val, dest_val;
 
       gst_query_parse_convert (query, &src_fmt, &src_val, &dest_fmt, &dest_val);
-      if (!(res = gst_audio_encoded_audio_convert (&enc->priv->ctx.info,
-                  enc->priv->bytes_out, enc->priv->samples_in, src_fmt, src_val,
-                  &dest_fmt, &dest_val)))
+      GST_OBJECT_LOCK (enc);
+      res = __gst_audio_encoded_audio_convert (&enc->priv->ctx.info,
+          enc->priv->bytes_out, enc->priv->samples_in, src_fmt, src_val,
+          &dest_fmt, &dest_val);
+      GST_OBJECT_UNLOCK (enc);
+      if (!res)
         break;
       gst_query_set_convert (query, src_fmt, src_val, dest_fmt, dest_val);
       break;
diff --git a/gst-libs/gst/audio/gstaudioutilsprivate.c b/gst-libs/gst/audio/gstaudioutilsprivate.c
index 870bcd6..27b056b 100644
--- a/gst-libs/gst/audio/gstaudioutilsprivate.c
+++ b/gst-libs/gst/audio/gstaudioutilsprivate.c
@@ -142,3 +142,73 @@
 
   return fcaps;
 }
+
+/**
+ * __gst_audio_encoded_audio_convert:
+ * @fmt: audio format of the encoded audio
+ * @bytes: number of encoded bytes
+ * @samples: number of encoded samples
+ * @src_format: source format
+ * @src_value: source value
+ * @dest_format: destination format
+ * @dest_value: destination format
+ *
+ * Helper function to convert @src_value in @src_format to @dest_value in
+ * @dest_format for encoded audio data.  Conversion is possible between
+ * BYTE and TIME format by using estimated bitrate based on
+ * @samples and @bytes (and @fmt).
+ */
+gboolean
+__gst_audio_encoded_audio_convert (GstAudioInfo * fmt,
+    gint64 bytes, gint64 samples, GstFormat src_format,
+    gint64 src_value, GstFormat * dest_format, gint64 * dest_value)
+{
+  gboolean res = FALSE;
+
+  g_return_val_if_fail (dest_format != NULL, FALSE);
+  g_return_val_if_fail (dest_value != NULL, FALSE);
+
+  if (G_UNLIKELY (src_format == *dest_format || src_value == 0 ||
+          src_value == -1)) {
+    if (dest_value)
+      *dest_value = src_value;
+    return TRUE;
+  }
+
+  if (samples == 0 || bytes == 0 || fmt->rate == 0) {
+    GST_DEBUG ("not enough metadata yet to convert");
+    goto exit;
+  }
+
+  bytes *= fmt->rate;
+
+  switch (src_format) {
+    case GST_FORMAT_BYTES:
+      switch (*dest_format) {
+        case GST_FORMAT_TIME:
+          *dest_value = gst_util_uint64_scale (src_value,
+              GST_SECOND * samples, bytes);
+          res = TRUE;
+          break;
+        default:
+          res = FALSE;
+      }
+      break;
+    case GST_FORMAT_TIME:
+      switch (*dest_format) {
+        case GST_FORMAT_BYTES:
+          *dest_value = gst_util_uint64_scale (src_value, bytes,
+              samples * GST_SECOND);
+          res = TRUE;
+          break;
+        default:
+          res = FALSE;
+      }
+      break;
+    default:
+      res = FALSE;
+  }
+
+exit:
+  return res;
+}
diff --git a/gst-libs/gst/audio/gstaudioutilsprivate.h b/gst-libs/gst/audio/gstaudioutilsprivate.h
index a7cf96b..976765f 100644
--- a/gst-libs/gst/audio/gstaudioutilsprivate.h
+++ b/gst-libs/gst/audio/gstaudioutilsprivate.h
@@ -36,6 +36,12 @@
                                             GstPad * srcpad, GstCaps * initial_caps,
                                             GstCaps * filter);
 
+G_GNUC_INTERNAL
+gboolean __gst_audio_encoded_audio_convert (GstAudioInfo * fmt, gint64 bytes,
+                                            gint64 samples, GstFormat src_format,
+                                            gint64 src_value, GstFormat * dest_format,
+                                            gint64 * dest_value);
+
 G_END_DECLS
 
 #endif
diff --git a/gst-libs/gst/fft/Makefile.am b/gst-libs/gst/fft/Makefile.am
index 3e24aaf..0d70422 100644
--- a/gst-libs/gst/fft/Makefile.am
+++ b/gst-libs/gst/fft/Makefile.am
@@ -54,6 +54,7 @@
 GstFft-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstfft-@GST_API_VERSION@.la
 	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstFft \
 		--nsversion=@GST_API_VERSION@ \
 		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/fft/Makefile.in b/gst-libs/gst/fft/Makefile.in
index 0508c73..43b64bb 100644
--- a/gst-libs/gst/fft/Makefile.in
+++ b/gst-libs/gst/fft/Makefile.in
@@ -1103,6 +1103,7 @@
 @HAVE_INTROSPECTION_TRUE@GstFft-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstfft-@GST_API_VERSION@.la
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 @HAVE_INTROSPECTION_TRUE@		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstFft \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/pbutils/Makefile.am b/gst-libs/gst/pbutils/Makefile.am
index 88c79e7..c5a25ca 100644
--- a/gst-libs/gst/pbutils/Makefile.am
+++ b/gst-libs/gst/pbutils/Makefile.am
@@ -76,6 +76,7 @@
 GstPbutils-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstpbutils-@GST_API_VERSION@.la
 	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstPbutils \
 		--nsversion=@GST_API_VERSION@ \
 		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/pbutils/Makefile.in b/gst-libs/gst/pbutils/Makefile.in
index 45d10c4..7a62c92 100644
--- a/gst-libs/gst/pbutils/Makefile.in
+++ b/gst-libs/gst/pbutils/Makefile.in
@@ -1210,6 +1210,7 @@
 @HAVE_INTROSPECTION_TRUE@GstPbutils-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstpbutils-@GST_API_VERSION@.la
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 @HAVE_INTROSPECTION_TRUE@		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstPbutils \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/pbutils/encoding-profile.c b/gst-libs/gst/pbutils/encoding-profile.c
index 5cd2541..0058c86 100644
--- a/gst-libs/gst/pbutils/encoding-profile.c
+++ b/gst-libs/gst/pbutils/encoding-profile.c
@@ -1499,13 +1499,22 @@
 
   caps = gst_discoverer_stream_info_get_caps (sinfo);
 
+  /* Should unify this with copy_and_clean_caps() */
   s = gst_caps_get_structure (caps, 0);
   if (gst_structure_has_field (s, "codec_data")
-      || gst_structure_has_field (s, "streamheader")) {
+      || gst_structure_has_field (s, "streamheader")
+      || gst_structure_has_field (s, "parsed")
+      || gst_structure_has_field (s, "framed")
+      || gst_structure_has_field (s, "stream-format")
+      || gst_structure_has_field (s, "alignment")) {
     caps = gst_caps_make_writable (caps);
     s = gst_caps_get_structure (caps, 0);
     gst_structure_remove_field (s, "codec_data");
     gst_structure_remove_field (s, "streamheader");
+    gst_structure_remove_field (s, "parsed");
+    gst_structure_remove_field (s, "framed");
+    gst_structure_remove_field (s, "stream-format");
+    gst_structure_remove_field (s, "alignment");
   }
 
   GST_LOG ("Stream: %" GST_PTR_FORMAT "\n", caps);
diff --git a/gst-libs/gst/pbutils/gstdiscoverer.c b/gst-libs/gst/pbutils/gstdiscoverer.c
index af2046a..45de5f5 100644
--- a/gst-libs/gst/pbutils/gstdiscoverer.c
+++ b/gst-libs/gst/pbutils/gstdiscoverer.c
@@ -2200,11 +2200,14 @@
   /* FIXME: implement TOC support */
   GVariant *stream_variant;
   GVariant *variant;
-  GstDiscovererStreamInfo *sinfo = gst_discoverer_info_get_stream_info (info);
+  GstDiscovererStreamInfo *sinfo;
   GVariant *wrapper;
 
   g_return_val_if_fail (GST_IS_DISCOVERER_INFO (info), NULL);
+  g_return_val_if_fail (gst_discoverer_info_get_result (info) ==
+      GST_DISCOVERER_OK, NULL);
 
+  sinfo = gst_discoverer_info_get_stream_info (info);
   stream_variant = gst_discoverer_info_to_variant_recurse (sinfo, flags);
   variant =
       g_variant_new ("(vv)", _serialize_info (info, flags), stream_variant);
diff --git a/gst-libs/gst/pbutils/missing-plugins.c b/gst-libs/gst/pbutils/missing-plugins.c
index 4cf9291..1228896 100644
--- a/gst-libs/gst/pbutils/missing-plugins.c
+++ b/gst-libs/gst/pbutils/missing-plugins.c
@@ -126,6 +126,7 @@
    * where template caps usually have the standard MIN - MAX range as value) */
   s = gst_caps_get_structure (ret, 0);
   gst_structure_remove_field (s, "codec_data");
+  gst_structure_remove_field (s, "streamheader");
   gst_structure_remove_field (s, "palette_data");
   gst_structure_remove_field (s, "pixel-aspect-ratio");
   gst_structure_remove_field (s, "framerate");
@@ -141,6 +142,12 @@
   gst_structure_remove_field (s, "height");
   gst_structure_remove_field (s, "channels");
   gst_structure_remove_field (s, "rate");
+  /* parsed, framed, stream-format and alignment are going to be handled by
+   * parsers and not relevant for decoders/encoders usually */
+  gst_structure_remove_field (s, "parsed");
+  gst_structure_remove_field (s, "framed");
+  gst_structure_remove_field (s, "stream-format");
+  gst_structure_remove_field (s, "alignment");
   /* rtp fields */
   gst_structure_remove_field (s, "config");
   gst_structure_remove_field (s, "clock-rate");
diff --git a/gst-libs/gst/riff/Makefile.am b/gst-libs/gst/riff/Makefile.am
index 83d83cb..5fa26e5 100644
--- a/gst-libs/gst/riff/Makefile.am
+++ b/gst-libs/gst/riff/Makefile.am
@@ -34,6 +34,7 @@
 #GstRiff-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstriff-@GST_API_VERSION@.la
 #	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 #		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+#		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 #		$(INTROSPECTION_SCANNER) -v --namespace GstRiff \
 #		--nsversion=@GST_API_VERSION@ \
 #		--strip-prefix=Gst \
diff --git a/gst-libs/gst/riff/Makefile.in b/gst-libs/gst/riff/Makefile.in
index a996d5f..81c6d1d 100644
--- a/gst-libs/gst/riff/Makefile.in
+++ b/gst-libs/gst/riff/Makefile.in
@@ -874,6 +874,7 @@
 #GstRiff-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstriff-@GST_API_VERSION@.la
 #	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 #		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+#		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 #		$(INTROSPECTION_SCANNER) -v --namespace GstRiff \
 #		--nsversion=@GST_API_VERSION@ \
 #		--strip-prefix=Gst \
diff --git a/gst-libs/gst/rtp/Makefile.am b/gst-libs/gst/rtp/Makefile.am
index fed44a8..04b1f90 100644
--- a/gst-libs/gst/rtp/Makefile.am
+++ b/gst-libs/gst/rtp/Makefile.am
@@ -52,6 +52,7 @@
 GstRtp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtp-@GST_API_VERSION@.la
 	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstRtp \
 		--nsversion=@GST_API_VERSION@ \
 		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/rtp/Makefile.in b/gst-libs/gst/rtp/Makefile.in
index 23df853..bc1a112 100644
--- a/gst-libs/gst/rtp/Makefile.in
+++ b/gst-libs/gst/rtp/Makefile.in
@@ -1131,6 +1131,7 @@
 @HAVE_INTROSPECTION_TRUE@GstRtp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtp-@GST_API_VERSION@.la
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 @HAVE_INTROSPECTION_TRUE@		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstRtp \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am
index 1df45ea..88f0853 100644
--- a/gst-libs/gst/rtsp/Makefile.am
+++ b/gst-libs/gst/rtsp/Makefile.am
@@ -58,6 +58,7 @@
 GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERSION@.la
 	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstRtsp \
 		--nsversion=@GST_API_VERSION@ \
 		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/rtsp/Makefile.in b/gst-libs/gst/rtsp/Makefile.in
index f975d0a..6dcfc3e 100644
--- a/gst-libs/gst/rtsp/Makefile.in
+++ b/gst-libs/gst/rtsp/Makefile.in
@@ -1136,6 +1136,7 @@
 @HAVE_INTROSPECTION_TRUE@GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERSION@.la
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 @HAVE_INTROSPECTION_TRUE@		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstRtsp \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/rtsp/gstrtspconnection.c b/gst-libs/gst/rtsp/gstrtspconnection.c
index 3e5add4..309421c 100644
--- a/gst-libs/gst/rtsp/gstrtspconnection.c
+++ b/gst-libs/gst/rtsp/gstrtspconnection.c
@@ -2161,11 +2161,13 @@
     }
   }
 done:
+  conn->may_cancel = TRUE;
   return res;
 
   /* ERRORS */
 invalid_body_len:
   {
+    conn->may_cancel = TRUE;
     GST_DEBUG ("could not allocate body");
     return GST_RTSP_ERROR;
   }
diff --git a/gst-libs/gst/sdp/Makefile.am b/gst-libs/gst/sdp/Makefile.am
index 2d35703..6fd9693 100644
--- a/gst-libs/gst/sdp/Makefile.am
+++ b/gst-libs/gst/sdp/Makefile.am
@@ -22,6 +22,7 @@
 GstSdp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstsdp-@GST_API_VERSION@.la
 	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstSdp \
 		--nsversion=@GST_API_VERSION@ \
 		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/sdp/Makefile.in b/gst-libs/gst/sdp/Makefile.in
index 8820791..b612b9b 100644
--- a/gst-libs/gst/sdp/Makefile.in
+++ b/gst-libs/gst/sdp/Makefile.in
@@ -965,6 +965,7 @@
 @HAVE_INTROSPECTION_TRUE@GstSdp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstsdp-@GST_API_VERSION@.la
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 @HAVE_INTROSPECTION_TRUE@		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstSdp \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/tag/Makefile.am b/gst-libs/gst/tag/Makefile.am
index a26bbde..c0c2d6b 100644
--- a/gst-libs/gst/tag/Makefile.am
+++ b/gst-libs/gst/tag/Makefile.am
@@ -32,6 +32,7 @@
 GstTag-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgsttag-@GST_API_VERSION@.la
 	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstTag \
 		--nsversion=@GST_API_VERSION@ \
 		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/tag/Makefile.in b/gst-libs/gst/tag/Makefile.in
index 5cd60f8..e9103b5 100644
--- a/gst-libs/gst/tag/Makefile.in
+++ b/gst-libs/gst/tag/Makefile.in
@@ -1174,6 +1174,7 @@
 @HAVE_INTROSPECTION_TRUE@GstTag-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgsttag-@GST_API_VERSION@.la
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 @HAVE_INTROSPECTION_TRUE@		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstTag \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/tag/gsttagdemux.c b/gst-libs/gst/tag/gsttagdemux.c
index b736276..307e871 100644
--- a/gst-libs/gst/tag/gsttagdemux.c
+++ b/gst-libs/gst/tag/gsttagdemux.c
@@ -623,13 +623,11 @@
 }
 
 static GstFlowReturn
-gst_tag_demux_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
+gst_tag_demux_chain_buffer (GstTagDemux * demux, GstBuffer * buf,
+    gboolean at_eos)
 {
-  GstTagDemux *demux;
   gsize size;
 
-  demux = GST_TAG_DEMUX (parent);
-
   size = gst_buffer_get_size (buf);
 
   /* Update our segment position info */
@@ -661,7 +659,7 @@
 
       update_collected (demux);
 
-      if (demux->priv->collect_size <
+      if (!at_eos && demux->priv->collect_size <
           TYPE_FIND_MIN_SIZE + demux->priv->strip_start)
         break;                  /* Go get more data first */
 
@@ -742,7 +740,7 @@
           demux->priv->send_tag_event = FALSE;
         }
 
-        GST_LOG_OBJECT (demux, "Pushing buffer %p", outbuf);
+        GST_LOG_OBJECT (demux, "Pushing buffer %" GST_PTR_FORMAT, outbuf);
 
         return gst_pad_push (demux->priv->srcpad, outbuf);
       }
@@ -751,6 +749,12 @@
   return GST_FLOW_OK;
 }
 
+static GstFlowReturn
+gst_tag_demux_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
+{
+  return gst_tag_demux_chain_buffer (GST_TAG_DEMUX (parent), buf, FALSE);
+}
+
 static gboolean
 gst_tag_demux_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
 {
@@ -761,10 +765,15 @@
 
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_EOS:
-      /* FIXME, detect this differently */
-      if (demux->priv->srcpad == NULL) {
-        GST_WARNING_OBJECT (demux, "EOS before we found a type");
-        GST_ELEMENT_ERROR (demux, STREAM, TYPE_NOT_FOUND, (NULL), (NULL));
+      if (!gst_pad_has_current_caps (demux->priv->srcpad)) {
+        GST_INFO_OBJECT (demux, "EOS before we found a type");
+
+        /* push final buffer with eos indication to force typefinding */
+        gst_tag_demux_chain_buffer (demux, gst_buffer_new (), TRUE);
+
+        if (!gst_pad_has_current_caps (demux->priv->srcpad)) {
+          GST_ELEMENT_ERROR (demux, STREAM, TYPE_NOT_FOUND, (NULL), (NULL));
+        }
       }
       ret = gst_pad_event_default (pad, parent, event);
       break;
diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am
index 91b72ff..93bcbd4 100644
--- a/gst-libs/gst/video/Makefile.am
+++ b/gst-libs/gst/video/Makefile.am
@@ -103,6 +103,7 @@
 GstVideo-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvideo-@GST_API_VERSION@.la
 	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 		$(INTROSPECTION_SCANNER) -v --namespace GstVideo \
 		--nsversion=@GST_API_VERSION@ \
 		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/video/Makefile.in b/gst-libs/gst/video/Makefile.in
index 3720c35..2a6d511 100644
--- a/gst-libs/gst/video/Makefile.in
+++ b/gst-libs/gst/video/Makefile.in
@@ -1480,6 +1480,7 @@
 @HAVE_INTROSPECTION_TRUE@GstVideo-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvideo-@GST_API_VERSION@.la
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
 @HAVE_INTROSPECTION_TRUE@		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
+@HAVE_INTROSPECTION_TRUE@		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
 @HAVE_INTROSPECTION_TRUE@		$(INTROSPECTION_SCANNER) -v --namespace GstVideo \
 @HAVE_INTROSPECTION_TRUE@		--nsversion=@GST_API_VERSION@ \
 @HAVE_INTROSPECTION_TRUE@		--identifier-prefix=Gst \
diff --git a/gst-libs/gst/video/gstvideodecoder.c b/gst-libs/gst/video/gstvideodecoder.c
index d13484a..068b25a 100644
--- a/gst-libs/gst/video/gstvideodecoder.c
+++ b/gst-libs/gst/video/gstvideodecoder.c
@@ -602,117 +602,6 @@
   gst_video_decoder_reset (decoder, TRUE, TRUE);
 }
 
-static gboolean
-gst_video_rawvideo_convert (GstVideoCodecState * state,
-    GstFormat src_format, gint64 src_value,
-    GstFormat * dest_format, gint64 * dest_value)
-{
-  gboolean res = FALSE;
-  guint vidsize;
-  guint fps_n, fps_d;
-
-  g_return_val_if_fail (dest_format != NULL, FALSE);
-  g_return_val_if_fail (dest_value != NULL, FALSE);
-
-  if (src_format == *dest_format || src_value == 0 || src_value == -1) {
-    *dest_value = src_value;
-    return TRUE;
-  }
-
-  vidsize = GST_VIDEO_INFO_SIZE (&state->info);
-  fps_n = GST_VIDEO_INFO_FPS_N (&state->info);
-  fps_d = GST_VIDEO_INFO_FPS_D (&state->info);
-
-  if (src_format == GST_FORMAT_BYTES &&
-      *dest_format == GST_FORMAT_DEFAULT && vidsize) {
-    /* convert bytes to frames */
-    *dest_value = gst_util_uint64_scale_int (src_value, 1, vidsize);
-    res = TRUE;
-  } else if (src_format == GST_FORMAT_DEFAULT &&
-      *dest_format == GST_FORMAT_BYTES && vidsize) {
-    /* convert bytes to frames */
-    *dest_value = src_value * vidsize;
-    res = TRUE;
-  } else if (src_format == GST_FORMAT_DEFAULT &&
-      *dest_format == GST_FORMAT_TIME && fps_n) {
-    /* convert frames to time */
-    *dest_value = gst_util_uint64_scale (src_value, GST_SECOND * fps_d, fps_n);
-    res = TRUE;
-  } else if (src_format == GST_FORMAT_TIME &&
-      *dest_format == GST_FORMAT_DEFAULT && fps_d) {
-    /* convert time to frames */
-    *dest_value = gst_util_uint64_scale (src_value, fps_n, GST_SECOND * fps_d);
-    res = TRUE;
-  } else if (src_format == GST_FORMAT_TIME &&
-      *dest_format == GST_FORMAT_BYTES && fps_d && vidsize) {
-    /* convert time to bytes */
-    *dest_value = gst_util_uint64_scale (src_value,
-        fps_n * (guint64) vidsize, GST_SECOND * fps_d);
-    res = TRUE;
-  } else if (src_format == GST_FORMAT_BYTES &&
-      *dest_format == GST_FORMAT_TIME && fps_n && vidsize) {
-    /* convert bytes to time */
-    *dest_value = gst_util_uint64_scale (src_value,
-        GST_SECOND * fps_d, fps_n * (guint64) vidsize);
-    res = TRUE;
-  }
-
-  return res;
-}
-
-static gboolean
-gst_video_encoded_video_convert (gint64 bytes, gint64 time,
-    GstFormat src_format, gint64 src_value, GstFormat * dest_format,
-    gint64 * dest_value)
-{
-  gboolean res = FALSE;
-
-  g_return_val_if_fail (dest_format != NULL, FALSE);
-  g_return_val_if_fail (dest_value != NULL, FALSE);
-
-  if (G_UNLIKELY (src_format == *dest_format || src_value == 0 ||
-          src_value == -1)) {
-    if (dest_value)
-      *dest_value = src_value;
-    return TRUE;
-  }
-
-  if (bytes <= 0 || time <= 0) {
-    GST_DEBUG ("not enough metadata yet to convert");
-    goto exit;
-  }
-
-  switch (src_format) {
-    case GST_FORMAT_BYTES:
-      switch (*dest_format) {
-        case GST_FORMAT_TIME:
-          *dest_value = gst_util_uint64_scale (src_value, time, bytes);
-          res = TRUE;
-          break;
-        default:
-          res = FALSE;
-      }
-      break;
-    case GST_FORMAT_TIME:
-      switch (*dest_format) {
-        case GST_FORMAT_BYTES:
-          *dest_value = gst_util_uint64_scale (src_value, bytes, time);
-          res = TRUE;
-          break;
-        default:
-          res = FALSE;
-      }
-      break;
-    default:
-      GST_DEBUG ("unhandled conversion from %d to %d", src_format,
-          *dest_format);
-      res = FALSE;
-  }
-
-exit:
-  return res;
-}
-
 static GstVideoCodecState *
 _new_input_state (GstCaps * caps)
 {
@@ -1152,16 +1041,29 @@
   for (i = 0; i < caps_size; i++) {
     structure = gst_caps_get_structure (caps, i);
     /* Random 1280x720@30 for fixation */
-    gst_structure_fixate_field_nearest_int (structure, "width", 1280);
-    gst_structure_fixate_field_nearest_int (structure, "height", 720);
-    gst_structure_fixate_field_nearest_fraction (structure, "framerate", 30, 1);
-    if (gst_structure_has_field (structure, "pixel-aspect-ratio")) {
+    if (gst_structure_has_field (structure, "width"))
+      gst_structure_fixate_field_nearest_int (structure, "width", 1280);
+    else
+      gst_structure_set (structure, "width", G_TYPE_INT, 1280, NULL);
+
+    if (gst_structure_has_field (structure, "height"))
+      gst_structure_fixate_field_nearest_int (structure, "height", 720);
+    else
+      gst_structure_set (structure, "height", G_TYPE_INT, 720, NULL);
+
+    if (gst_structure_has_field (structure, "framerate"))
+      gst_structure_fixate_field_nearest_fraction (structure, "framerate", 30,
+          1);
+    else
+      gst_structure_set (structure, "framerate", GST_TYPE_FRACTION, 30, 1,
+          NULL);
+
+    if (gst_structure_has_field (structure, "pixel-aspect-ratio"))
       gst_structure_fixate_field_nearest_fraction (structure,
           "pixel-aspect-ratio", 1, 1);
-    } else {
+    else
       gst_structure_set (structure, "pixel-aspect-ratio", GST_TYPE_FRACTION,
           1, 1, NULL);
-    }
   }
   caps = gst_caps_fixate (caps);
   structure = gst_caps_get_structure (caps, 0);
@@ -1496,8 +1398,14 @@
 static inline gboolean
 gst_video_decoder_do_byte (GstVideoDecoder * dec)
 {
-  return dec->priv->do_estimate_rate && (dec->priv->bytes_out > 0)
+  gboolean ret;
+
+  GST_OBJECT_LOCK (dec);
+  ret = dec->priv->do_estimate_rate && (dec->priv->bytes_out > 0)
       && (dec->priv->time > GST_SECOND);
+  GST_OBJECT_UNLOCK (dec);
+
+  return ret;
 }
 
 static gboolean
@@ -1753,7 +1661,7 @@
       gst_query_parse_convert (query, &src_fmt, &src_val, &dest_fmt, &dest_val);
       GST_OBJECT_LOCK (dec);
       if (dec->priv->output_state != NULL)
-        res = gst_video_rawvideo_convert (dec->priv->output_state,
+        res = __gst_video_rawvideo_convert (dec->priv->output_state,
             src_fmt, src_val, &dest_fmt, &dest_val);
       else
         res = FALSE;
@@ -1877,11 +1785,11 @@
       gint64 src_val, dest_val;
 
       gst_query_parse_convert (query, &src_fmt, &src_val, &dest_fmt, &dest_val);
-      GST_VIDEO_DECODER_STREAM_LOCK (decoder);
+      GST_OBJECT_LOCK (decoder);
       res =
-          gst_video_encoded_video_convert (priv->bytes_out, priv->time, src_fmt,
-          src_val, &dest_fmt, &dest_val);
-      GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
+          __gst_video_encoded_video_convert (priv->bytes_out, priv->time,
+          src_fmt, src_val, &dest_fmt, &dest_val);
+      GST_OBJECT_UNLOCK (decoder);
       if (!res)
         goto error;
       gst_query_set_convert (query, src_fmt, src_val, dest_fmt, dest_val);
@@ -2160,8 +2068,10 @@
   g_list_free_full (priv->timestamps, (GDestroyNotify) timestamp_free);
   priv->timestamps = NULL;
 
+  GST_OBJECT_LOCK (decoder);
   priv->bytes_out = 0;
   priv->time = 0;
+  GST_OBJECT_UNLOCK (decoder);
 
   GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
 }
@@ -3190,6 +3100,7 @@
   }
 
   /* update rate estimate */
+  GST_OBJECT_LOCK (decoder);
   priv->bytes_out += gst_buffer_get_size (buf);
   if (GST_CLOCK_TIME_IS_VALID (duration)) {
     priv->time += duration;
@@ -3200,6 +3111,7 @@
     /* better none than nothing valid */
     priv->time = GST_CLOCK_TIME_NONE;
   }
+  GST_OBJECT_UNLOCK (decoder);
 
   GST_DEBUG_OBJECT (decoder, "pushing buffer %p of size %" G_GSIZE_FORMAT ", "
       "PTS %" GST_TIME_FORMAT ", dur %" GST_TIME_FORMAT, buf,
diff --git a/gst-libs/gst/video/gstvideoencoder.c b/gst-libs/gst/video/gstvideoencoder.c
index a13d4ed..abbde9a 100644
--- a/gst-libs/gst/video/gstvideoencoder.c
+++ b/gst-libs/gst/video/gstvideoencoder.c
@@ -355,8 +355,10 @@
 
   priv->drained = TRUE;
 
+  GST_OBJECT_LOCK (encoder);
   priv->bytes = 0;
   priv->time = 0;
+  GST_OBJECT_UNLOCK (encoder);
 
   priv->time_adjustment = GST_CLOCK_TIME_NONE;
 
@@ -483,59 +485,6 @@
   gst_video_encoder_reset (encoder, TRUE);
 }
 
-static gboolean
-gst_video_encoded_video_convert (gint64 bytes, gint64 time,
-    GstFormat src_format, gint64 src_value, GstFormat * dest_format,
-    gint64 * dest_value)
-{
-  gboolean res = FALSE;
-
-  g_return_val_if_fail (dest_format != NULL, FALSE);
-  g_return_val_if_fail (dest_value != NULL, FALSE);
-
-  if (G_UNLIKELY (src_format == *dest_format || src_value == 0 ||
-          src_value == -1)) {
-    if (dest_value)
-      *dest_value = src_value;
-    return TRUE;
-  }
-
-  if (bytes <= 0 || time <= 0) {
-    GST_DEBUG ("not enough metadata yet to convert");
-    goto exit;
-  }
-
-  switch (src_format) {
-    case GST_FORMAT_BYTES:
-      switch (*dest_format) {
-        case GST_FORMAT_TIME:
-          *dest_value = gst_util_uint64_scale (src_value, time, bytes);
-          res = TRUE;
-          break;
-        default:
-          res = FALSE;
-      }
-      break;
-    case GST_FORMAT_TIME:
-      switch (*dest_format) {
-        case GST_FORMAT_BYTES:
-          *dest_value = gst_util_uint64_scale (src_value, bytes, time);
-          res = TRUE;
-          break;
-        default:
-          res = FALSE;
-      }
-      break;
-    default:
-      GST_DEBUG ("unhandled conversion from %d to %d", src_format,
-          *dest_format);
-      res = FALSE;
-  }
-
-exit:
-  return res;
-}
-
 /**
  * gst_video_encoder_set_headers:
  * @encoder: a #GstVideoEncoder
@@ -836,6 +785,26 @@
       res = TRUE;
       break;
     }
+    case GST_QUERY_CONVERT:
+    {
+      GstFormat src_fmt, dest_fmt;
+      gint64 src_val, dest_val;
+
+      GST_DEBUG_OBJECT (encoder, "convert query");
+
+      gst_query_parse_convert (query, &src_fmt, &src_val, &dest_fmt, &dest_val);
+      GST_OBJECT_LOCK (encoder);
+      if (encoder->priv->input_state != NULL)
+        res = __gst_video_rawvideo_convert (encoder->priv->input_state,
+            src_fmt, src_val, &dest_fmt, &dest_val);
+      else
+        res = FALSE;
+      GST_OBJECT_UNLOCK (encoder);
+      if (!res)
+        goto error;
+      gst_query_set_convert (query, src_fmt, src_val, dest_fmt, dest_val);
+      break;
+    }
     case GST_QUERY_ALLOCATION:
     {
       GstVideoEncoderClass *klass = GST_VIDEO_ENCODER_GET_CLASS (encoder);
@@ -849,6 +818,10 @@
       break;
   }
   return res;
+
+error:
+  GST_DEBUG_OBJECT (encoder, "query failed");
+  return res;
 }
 
 static gboolean
@@ -1266,9 +1239,11 @@
       gint64 src_val, dest_val;
 
       gst_query_parse_convert (query, &src_fmt, &src_val, &dest_fmt, &dest_val);
+      GST_OBJECT_LOCK (enc);
       res =
-          gst_video_encoded_video_convert (priv->bytes, priv->time, src_fmt,
+          __gst_video_encoded_video_convert (priv->bytes, priv->time, src_fmt,
           src_val, &dest_fmt, &dest_val);
+      GST_OBJECT_UNLOCK (enc);
       if (!res)
         goto error;
       gst_query_set_convert (query, src_fmt, src_val, dest_fmt, dest_val);
@@ -2122,6 +2097,7 @@
   GST_BUFFER_DTS (frame->output_buffer) = frame->dts;
   GST_BUFFER_DURATION (frame->output_buffer) = frame->duration;
 
+  GST_OBJECT_LOCK (encoder);
   /* update rate estimate */
   priv->bytes += gst_buffer_get_size (frame->output_buffer);
   if (GST_CLOCK_TIME_IS_VALID (frame->duration)) {
@@ -2130,6 +2106,7 @@
     /* better none than nothing valid */
     priv->time = GST_CLOCK_TIME_NONE;
   }
+  GST_OBJECT_UNLOCK (encoder);
 
   if (G_UNLIKELY (send_headers || priv->new_headers)) {
     GList *tmp, *copy = NULL;
@@ -2148,7 +2125,9 @@
     for (tmp = priv->headers; tmp; tmp = tmp->next) {
       GstBuffer *tmpbuf = GST_BUFFER (tmp->data);
 
+      GST_OBJECT_LOCK (encoder);
       priv->bytes += gst_buffer_get_size (tmpbuf);
+      GST_OBJECT_UNLOCK (encoder);
       if (G_UNLIKELY (discont)) {
         GST_LOG_OBJECT (encoder, "marking discont");
         GST_BUFFER_FLAG_SET (tmpbuf, GST_BUFFER_FLAG_DISCONT);
diff --git a/gst-libs/gst/video/gstvideoutilsprivate.c b/gst-libs/gst/video/gstvideoutilsprivate.c
index 652c60d..e5e7c2d 100644
--- a/gst-libs/gst/video/gstvideoutilsprivate.c
+++ b/gst-libs/gst/video/gstvideoutilsprivate.c
@@ -144,3 +144,114 @@
 
   return fcaps;
 }
+
+gboolean
+__gst_video_rawvideo_convert (GstVideoCodecState * state,
+    GstFormat src_format, gint64 src_value,
+    GstFormat * dest_format, gint64 * dest_value)
+{
+  gboolean res = FALSE;
+  guint vidsize;
+  guint fps_n, fps_d;
+
+  g_return_val_if_fail (dest_format != NULL, FALSE);
+  g_return_val_if_fail (dest_value != NULL, FALSE);
+
+  if (src_format == *dest_format || src_value == 0 || src_value == -1) {
+    *dest_value = src_value;
+    return TRUE;
+  }
+
+  vidsize = GST_VIDEO_INFO_SIZE (&state->info);
+  fps_n = GST_VIDEO_INFO_FPS_N (&state->info);
+  fps_d = GST_VIDEO_INFO_FPS_D (&state->info);
+
+  if (src_format == GST_FORMAT_BYTES &&
+      *dest_format == GST_FORMAT_DEFAULT && vidsize) {
+    /* convert bytes to frames */
+    *dest_value = gst_util_uint64_scale_int (src_value, 1, vidsize);
+    res = TRUE;
+  } else if (src_format == GST_FORMAT_DEFAULT &&
+      *dest_format == GST_FORMAT_BYTES && vidsize) {
+    /* convert bytes to frames */
+    *dest_value = src_value * vidsize;
+    res = TRUE;
+  } else if (src_format == GST_FORMAT_DEFAULT &&
+      *dest_format == GST_FORMAT_TIME && fps_n) {
+    /* convert frames to time */
+    *dest_value = gst_util_uint64_scale (src_value, GST_SECOND * fps_d, fps_n);
+    res = TRUE;
+  } else if (src_format == GST_FORMAT_TIME &&
+      *dest_format == GST_FORMAT_DEFAULT && fps_d) {
+    /* convert time to frames */
+    *dest_value = gst_util_uint64_scale (src_value, fps_n, GST_SECOND * fps_d);
+    res = TRUE;
+  } else if (src_format == GST_FORMAT_TIME &&
+      *dest_format == GST_FORMAT_BYTES && fps_d && vidsize) {
+    /* convert time to bytes */
+    *dest_value = gst_util_uint64_scale (src_value,
+        fps_n * (guint64) vidsize, GST_SECOND * fps_d);
+    res = TRUE;
+  } else if (src_format == GST_FORMAT_BYTES &&
+      *dest_format == GST_FORMAT_TIME && fps_n && vidsize) {
+    /* convert bytes to time */
+    *dest_value = gst_util_uint64_scale (src_value,
+        GST_SECOND * fps_d, fps_n * (guint64) vidsize);
+    res = TRUE;
+  }
+
+  return res;
+}
+
+gboolean
+__gst_video_encoded_video_convert (gint64 bytes, gint64 time,
+    GstFormat src_format, gint64 src_value, GstFormat * dest_format,
+    gint64 * dest_value)
+{
+  gboolean res = FALSE;
+
+  g_return_val_if_fail (dest_format != NULL, FALSE);
+  g_return_val_if_fail (dest_value != NULL, FALSE);
+
+  if (G_UNLIKELY (src_format == *dest_format || src_value == 0 ||
+          src_value == -1)) {
+    if (dest_value)
+      *dest_value = src_value;
+    return TRUE;
+  }
+
+  if (bytes <= 0 || time <= 0) {
+    GST_DEBUG ("not enough metadata yet to convert");
+    goto exit;
+  }
+
+  switch (src_format) {
+    case GST_FORMAT_BYTES:
+      switch (*dest_format) {
+        case GST_FORMAT_TIME:
+          *dest_value = gst_util_uint64_scale (src_value, time, bytes);
+          res = TRUE;
+          break;
+        default:
+          res = FALSE;
+      }
+      break;
+    case GST_FORMAT_TIME:
+      switch (*dest_format) {
+        case GST_FORMAT_BYTES:
+          *dest_value = gst_util_uint64_scale (src_value, bytes, time);
+          res = TRUE;
+          break;
+        default:
+          res = FALSE;
+      }
+      break;
+    default:
+      GST_DEBUG ("unhandled conversion from %d to %d", src_format,
+          *dest_format);
+      res = FALSE;
+  }
+
+exit:
+  return res;
+}
diff --git a/gst-libs/gst/video/gstvideoutilsprivate.h b/gst-libs/gst/video/gstvideoutilsprivate.h
index a968790..bee1106 100644
--- a/gst-libs/gst/video/gstvideoutilsprivate.h
+++ b/gst-libs/gst/video/gstvideoutilsprivate.h
@@ -36,6 +36,16 @@
                                             GstPad * srcpad, GstCaps * initial_caps,
                                             GstCaps * filter);
 
+G_GNUC_INTERNAL
+gboolean __gst_video_encoded_video_convert (gint64 bytes, gint64 time,
+                                            GstFormat src_format, gint64 src_value,
+                                            GstFormat * dest_format, gint64 * dest_value);
+
+G_GNUC_INTERNAL
+gboolean __gst_video_rawvideo_convert (GstVideoCodecState * state, GstFormat src_format,
+                                       gint64 src_value, GstFormat * dest_format,
+                                       gint64 * dest_value);
+
 G_END_DECLS
 
 #endif
diff --git a/gst-libs/gst/video/video-orc-dist.c b/gst-libs/gst/video/video-orc-dist.c
index 09aeca2..0622974 100644
--- a/gst-libs/gst/video/video-orc-dist.c
+++ b/gst-libs/gst/video/video-orc-dist.c
@@ -12547,7 +12547,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 31, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 98, 105, 108, 105, 110, 101, 97, 114, 95,
-            117,
+        117,
         51, 50, 11, 4, 4, 12, 4, 4, 16, 4, 16, 4, 51, 0, 4, 24,
         25, 2, 0,
       };
@@ -22040,14 +22040,18 @@
 _backup_video_orc_matrix8 (OrcExecutor * ORC_RESTRICT ex)
 {
   _custom_video_orc_matrix8 (ex->arrays[ORC_VAR_D1], ex->arrays[ORC_VAR_S1],
-      (ex->params[ORC_VAR_P1] & 0xffffffff) | ((orc_uint64) (ex->
-              params[ORC_VAR_T1]) << 32),
-      (ex->params[ORC_VAR_P2] & 0xffffffff) | ((orc_uint64) (ex->
-              params[ORC_VAR_T2]) << 32),
-      (ex->params[ORC_VAR_P3] & 0xffffffff) | ((orc_uint64) (ex->
-              params[ORC_VAR_T3]) << 32),
-      (ex->params[ORC_VAR_P4] & 0xffffffff) | ((orc_uint64) (ex->
-              params[ORC_VAR_T4]) << 32), ex->n);
+      (ex->
+          params[ORC_VAR_P1] & 0xffffffff) |
+      ((orc_uint64) (ex->params[ORC_VAR_T1]) << 32),
+      (ex->
+          params[ORC_VAR_P2] & 0xffffffff) |
+      ((orc_uint64) (ex->params[ORC_VAR_T2]) << 32),
+      (ex->
+          params[ORC_VAR_P3] & 0xffffffff) |
+      ((orc_uint64) (ex->params[ORC_VAR_T3]) << 32),
+      (ex->
+          params[ORC_VAR_P4] & 0xffffffff) |
+      ((orc_uint64) (ex->params[ORC_VAR_T4]) << 32), ex->n);
 }
 
 void
@@ -24381,7 +24385,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 31, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 116, 97, 112, 115,
-            95,
+        95,
         117, 56, 11, 4, 4, 12, 1, 1, 12, 2, 2, 20, 2, 150, 32, 4,
         176, 0, 32, 5, 2, 0,
       };
@@ -24533,7 +24537,7 @@
       static const orc_uint8 bc[] = {
         1, 7, 9, 34, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101,
         115, 97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 97, 100, 100,
-            116,
+        116,
         97, 112, 115, 95, 117, 56, 11, 4, 4, 12, 1, 1, 12, 2, 2, 20,
         2, 20, 4, 150, 32, 4, 176, 33, 32, 5, 103, 0, 0, 33, 2, 0,
 
@@ -24689,7 +24693,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 31, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 115, 99, 97, 108, 101, 116, 97, 112, 115,
-            95,
+        95,
         117, 56, 11, 1, 1, 12, 4, 4, 14, 4, 255, 15, 0, 0, 14, 4,
         12, 0, 0, 0, 20, 2, 20, 4, 103, 33, 4, 16, 125, 33, 33, 17,
         166, 32, 33, 160, 0, 32, 2, 0,
@@ -24826,7 +24830,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 34, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 116, 97, 112, 115,
-            95,
+        95,
         117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 12, 2, 2, 20, 2,
         150, 32, 4, 89, 0, 32, 5, 2, 0,
       };
@@ -24978,7 +24982,7 @@
       static const orc_uint8 bc[] = {
         1, 7, 9, 37, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101,
         115, 97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 97, 100, 100,
-            116,
+        116,
         97, 112, 115, 95, 117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 12,
         2, 2, 20, 2, 150, 32, 4, 89, 32, 32, 5, 70, 0, 0, 32, 2,
         0,
@@ -25197,7 +25201,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 35, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 116, 97, 112, 115,
-            51,
+        51,
         95, 117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 12, 1, 1, 12,
         1, 1, 12, 2, 2, 12, 2, 2, 12, 2, 2, 20, 2, 20, 2, 150,
         32, 4, 89, 32, 32, 7, 150, 33, 5, 89, 33, 33, 8, 70, 32, 32,
@@ -25443,7 +25447,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 38, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 97, 100, 100, 116,
-            97,
+        97,
         112, 115, 51, 95, 117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 12,
         1, 1, 12, 1, 1, 12, 2, 2, 12, 2, 2, 12, 2, 2, 20, 2,
         20, 2, 150, 32, 4, 89, 32, 32, 7, 150, 33, 5, 89, 33, 33, 8,
@@ -25731,7 +25735,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 43, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 97, 100, 100, 115,
-            99,
+        99,
         97, 108, 101, 116, 97, 112, 115, 51, 95, 117, 56, 95, 108, 113, 11, 1,
         1, 12, 1, 1, 12, 1, 1, 12, 1, 1, 12, 2, 2, 12, 2, 2,
         12, 2, 2, 12, 2, 2, 14, 2, 32, 0, 0, 0, 14, 2, 6, 0,
@@ -25910,7 +25914,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 34, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 115, 99, 97, 108, 101, 116, 97, 112, 115,
-            95,
+        95,
         117, 56, 95, 108, 113, 11, 1, 1, 12, 2, 2, 14, 2, 32, 0, 0,
         0, 14, 2, 6, 0, 0, 0, 20, 2, 70, 32, 4, 16, 94, 32, 32,
         17, 160, 0, 32, 2, 0,
@@ -26050,7 +26054,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 32, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 116, 97, 112, 115,
-            95,
+        95,
         117, 49, 54, 11, 4, 4, 12, 2, 2, 12, 2, 2, 20, 4, 20, 4,
         154, 32, 4, 153, 33, 5, 120, 0, 32, 33, 2, 0,
       };
@@ -26211,7 +26215,7 @@
       static const orc_uint8 bc[] = {
         1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101,
         115, 97, 109, 112, 108, 101, 95, 104, 95, 109, 117, 108, 97, 100, 100,
-            116,
+        116,
         97, 112, 115, 95, 117, 49, 54, 11, 4, 4, 12, 2, 2, 12, 2, 2,
         20, 4, 20, 4, 154, 32, 4, 153, 33, 5, 120, 32, 32, 33, 103, 0,
         0, 32, 2, 0,
@@ -26363,7 +26367,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 32, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 115, 99, 97, 108, 101, 116, 97, 112, 115,
-            95,
+        95,
         117, 49, 54, 11, 2, 2, 12, 4, 4, 14, 4, 255, 15, 0, 0, 14,
         4, 12, 0, 0, 0, 20, 4, 103, 32, 4, 16, 125, 32, 32, 17, 166,
         0, 32, 2, 0,
@@ -26493,7 +26497,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 31, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 116, 97, 112, 115,
-            95,
+        95,
         117, 56, 11, 4, 4, 12, 1, 1, 16, 2, 20, 2, 150, 32, 4, 176,
         0, 32, 24, 2, 0,
       };
@@ -26632,7 +26636,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 34, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 97, 100, 100, 116,
-            97,
+        97,
         112, 115, 95, 117, 56, 11, 4, 4, 12, 1, 1, 16, 2, 20, 2, 20,
         4, 150, 32, 4, 176, 33, 32, 24, 103, 0, 0, 33, 2, 0,
       };
@@ -26762,7 +26766,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 32, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 116, 97, 112, 115,
-            95,
+        95,
         117, 49, 54, 11, 4, 4, 12, 2, 2, 16, 2, 20, 4, 154, 32, 4,
         120, 0, 32, 24, 2, 0,
       };
@@ -26907,7 +26911,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 35, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 97, 100, 100, 116,
-            97,
+        97,
         112, 115, 95, 117, 49, 54, 11, 4, 4, 12, 2, 2, 16, 2, 20, 4,
         20, 4, 154, 32, 4, 153, 33, 24, 120, 32, 32, 33, 103, 0, 0, 32,
         2, 0,
@@ -27040,7 +27044,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 34, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 116, 97, 112, 115,
-            95,
+        95,
         117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 16, 2, 20, 2, 150,
         32, 4, 89, 0, 32, 24, 2, 0,
       };
@@ -27273,7 +27277,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 35, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 116, 97, 112, 115,
-            52,
+        52,
         95, 117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 12, 1, 1, 12,
         1, 1, 12, 1, 1, 16, 2, 16, 2, 16, 2, 16, 2, 20, 2, 20,
         2, 150, 32, 4, 89, 32, 32, 24, 150, 33, 5, 89, 33, 33, 25, 70,
@@ -27446,7 +27450,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 37, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 97, 100, 100, 116,
-            97,
+        97,
         112, 115, 95, 117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 16, 2,
         20, 2, 150, 32, 4, 89, 32, 32, 24, 70, 0, 0, 32, 2, 0,
       };
@@ -27693,7 +27697,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 38, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 97, 100, 100, 116,
-            97,
+        97,
         112, 115, 52, 95, 117, 56, 95, 108, 113, 11, 2, 2, 12, 1, 1, 12,
         1, 1, 12, 1, 1, 12, 1, 1, 16, 2, 16, 2, 16, 2, 16, 2,
         20, 2, 20, 2, 150, 32, 4, 89, 32, 32, 24, 150, 33, 5, 89, 33,
@@ -28012,7 +28016,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 43, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 114, 101, 115,
         97, 109, 112, 108, 101, 95, 118, 95, 109, 117, 108, 97, 100, 100, 115,
-            99,
+        99,
         97, 108, 101, 116, 97, 112, 115, 52, 95, 117, 56, 95, 108, 113, 11, 1,
         1, 12, 1, 1, 12, 1, 1, 12, 1, 1, 12, 1, 1, 12, 2, 2,
         14, 2, 32, 0, 0, 0, 14, 2, 6, 0, 0, 0, 16, 2, 16, 2,
@@ -30236,7 +30240,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 30, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 100, 105, 116,
         104, 101, 114, 95, 110, 111, 110, 101, 95, 52, 117, 56, 95, 109, 97,
-            115,
+        115,
         107, 11, 4, 4, 16, 4, 20, 4, 115, 32, 24, 21, 2, 37, 0, 32,
         0, 2, 0,
       };
@@ -30546,7 +30550,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 33, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 100, 105, 116,
         104, 101, 114, 95, 118, 101, 114, 116, 101, 114, 114, 95, 52, 117, 56,
-            95,
+        95,
         109, 97, 115, 107, 11, 4, 4, 11, 8, 8, 18, 8, 20, 8, 20, 8,
         134, 32, 24, 21, 2, 150, 33, 0, 21, 2, 70, 33, 1, 33, 21, 2,
         73, 1, 32, 33, 21, 2, 74, 33, 32, 33, 21, 2, 160, 0, 33, 2,
@@ -30729,7 +30733,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 29, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 100, 105, 116,
         104, 101, 114, 95, 102, 115, 95, 109, 117, 108, 97, 100, 100, 95, 117,
-            56,
+        56,
         11, 2, 2, 14, 4, 4, 0, 0, 0, 14, 2, 5, 0, 0, 0, 14,
         4, 8, 0, 0, 0, 14, 2, 3, 0, 0, 0, 20, 2, 20, 2, 83,
         33, 0, 16, 89, 33, 33, 17, 70, 32, 33, 0, 83, 33, 0, 18, 89,
@@ -30861,7 +30865,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 27, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 100, 105, 116,
         104, 101, 114, 95, 111, 114, 100, 101, 114, 101, 100, 95, 117, 56, 11,
-            1,
+        1,
         1, 12, 1, 1, 35, 0, 0, 4, 2, 0,
       };
       p = orc_program_new_from_static_bytecode (bc);
@@ -31024,7 +31028,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 33, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 100, 105, 116,
         104, 101, 114, 95, 111, 114, 100, 101, 114, 101, 100, 95, 52, 117, 56,
-            95,
+        95,
         109, 97, 115, 107, 11, 4, 4, 12, 8, 8, 18, 8, 20, 8, 20, 8,
         134, 33, 24, 21, 2, 150, 32, 0, 21, 2, 70, 32, 32, 4, 21, 2,
         74, 32, 33, 32, 21, 2, 160, 0, 32, 2, 0,
@@ -31192,7 +31196,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 34, 118, 105, 100, 101, 111, 95, 111, 114, 99, 95, 100, 105, 116,
         104, 101, 114, 95, 111, 114, 100, 101, 114, 101, 100, 95, 52, 117, 49,
-            54,
+        54,
         95, 109, 97, 115, 107, 11, 8, 8, 12, 8, 8, 18, 8, 20, 8, 20,
         8, 134, 33, 24, 21, 2, 72, 32, 0, 4, 21, 2, 74, 0, 33, 32,
         2, 0,
diff --git a/gst-plugins-base.doap b/gst-plugins-base.doap
index d1c80ec..e55f75b 100644
--- a/gst-plugins-base.doap
+++ b/gst-plugins-base.doap
@@ -36,6 +36,16 @@
 
  <release>
   <Version>
+   <revision>1.8.3</revision>
+   <branch>1.8</branch>
+   <name></name>
+   <created>2016-08-19</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.8.3.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.8.2</revision>
    <branch>1.8</branch>
    <name></name>
diff --git a/gst-plugins-base.spec b/gst-plugins-base.spec
index 37df1f5..3f70ec7 100644
--- a/gst-plugins-base.spec
+++ b/gst-plugins-base.spec
@@ -4,7 +4,7 @@
 %define gst_minver  0.11.0
 
 Name: 		%{gstreamer}-plugins-base
-Version: 	1.8.2
+Version: 	1.8.3
 Release: 	1.gst
 Summary: 	GStreamer streaming media framework plug-ins
 
diff --git a/gst/audioconvert/gstaudioconvert.c b/gst/audioconvert/gstaudioconvert.c
index a3a8fad..606fc59 100644
--- a/gst/audioconvert/gstaudioconvert.c
+++ b/gst/audioconvert/gstaudioconvert.c
@@ -575,12 +575,12 @@
    * one reason or another, so just pick a default layout (we could be smarter
    * and try to add/remove channels from the input layout, or pick a default
    * layout based on LFE-presence in input layout, but let's save that for
-   * another day) */
-  if (out_chans > 0
+   * another day). For mono, no mask is required and the fallback mask is 0 */
+  if (out_chans > 1
       && (out_mask = gst_audio_channel_get_fallback_mask (out_chans))) {
     GST_DEBUG_OBJECT (base, "using default channel layout as fallback");
     gst_structure_set (outs, "channel-mask", GST_TYPE_BITMASK, out_mask, NULL);
-  } else {
+  } else if (out_chans > 1) {
     GST_ERROR_OBJECT (base, "Have no default layout for %d channels",
         out_chans);
   }
diff --git a/gst/playback/gstplaysink.c b/gst/playback/gstplaysink.c
index c640ba4..e17c439 100644
--- a/gst/playback/gstplaysink.c
+++ b/gst/playback/gstplaysink.c
@@ -4633,7 +4633,9 @@
 
       if (format == GST_FORMAT_BUFFERS) {
         /* for the buffer format, we align the other streams */
-        if (playsink->audiochain) {
+        if (playsink->audiochain
+            && !gst_object_has_as_ancestor (GST_MESSAGE_SRC (message),
+                GST_OBJECT (playsink->audiochain->chain.bin))) {
           GstEvent *event;
 
           event =
@@ -4701,10 +4703,11 @@
  * to them in case it's source is different from the a/v stream's source.
  */
 static gboolean
-gst_play_sink_send_event_to_sink (GstPlaySink * playsink, GstEvent * event)
+gst_play_sink_send_event_to_sink (GstPlaySink * playsink, GstEvent * event,
+    gboolean force_video)
 {
   gboolean res = TRUE;
-  if (playsink->send_event_mode == MODE_FIRST) {
+  if (playsink->send_event_mode == MODE_FIRST || force_video) {
     if (playsink->textchain && playsink->textchain->sink) {
       gst_event_ref (event);
       if ((res =
@@ -4725,7 +4728,7 @@
       }
       GST_DEBUG_OBJECT (playsink, "Event failed when sent to video sink");
     }
-    if (playsink->audiochain) {
+    if (!force_video && playsink->audiochain) {
       gst_event_ref (event);
       if ((res =
               gst_element_send_event (playsink->audiochain->chain.bin,
@@ -4734,6 +4737,8 @@
         goto done;
       }
       GST_DEBUG_OBJECT (playsink, "Event failed when sent to audio sink");
+    } else {
+      res = FALSE;
     }
   } else {
     return
@@ -4759,7 +4764,7 @@
   switch (event_type) {
     case GST_EVENT_SEEK:
       GST_DEBUG_OBJECT (element, "Sending event to a sink");
-      res = gst_play_sink_send_event_to_sink (playsink, event);
+      res = gst_play_sink_send_event_to_sink (playsink, event, FALSE);
       break;
     case GST_EVENT_STEP:
     {
@@ -4772,7 +4777,7 @@
       if (format == GST_FORMAT_BUFFERS) {
         /* for buffers, we will try to step video frames, for other formats we
          * send the step to all sinks */
-        res = gst_play_sink_send_event_to_sink (playsink, event);
+        res = gst_play_sink_send_event_to_sink (playsink, event, TRUE);
       } else {
         res =
             GST_ELEMENT_CLASS (gst_play_sink_parent_class)->send_event (element,
diff --git a/gst/volume/gstvolumeorc-dist.c b/gst/volume/gstvolumeorc-dist.c
index d4ccde8..4b6ee6d 100644
--- a/gst/volume/gstvolumeorc-dist.c
+++ b/gst/volume/gstvolumeorc-dist.c
@@ -258,7 +258,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 32, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 115, 99,
         97, 108, 97, 114, 109, 117, 108, 116, 105, 112, 108, 121, 95, 102, 54,
-            52,
+        52,
         95, 110, 115, 11, 8, 8, 18, 8, 214, 0, 0, 24, 2, 0,
       };
       p = orc_program_new_from_static_bytecode (bc);
@@ -388,7 +388,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 32, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 115, 99,
         97, 108, 97, 114, 109, 117, 108, 116, 105, 112, 108, 121, 95, 102, 51,
-            50,
+        50,
         95, 110, 115, 11, 4, 4, 17, 4, 202, 0, 0, 24, 2, 0,
       };
       p = orc_program_new_from_static_bytecode (bc);
@@ -1142,7 +1142,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 29, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 105, 110, 116, 56, 95, 99, 108, 97, 109,
-            112,
+        112,
         11, 1, 1, 14, 2, 3, 0, 0, 0, 16, 1, 20, 2, 174, 32, 0,
         24, 94, 32, 32, 16, 159, 0, 32, 2, 0,
       };
@@ -1564,7 +1564,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 37, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-            100,
+        100,
         95, 102, 54, 52, 95, 49, 99, 104, 11, 8, 8, 12, 8, 8, 214, 0,
         0, 4, 2, 0,
       };
@@ -1714,7 +1714,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 37, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-            100,
+        100,
         95, 102, 51, 50, 95, 49, 99, 104, 11, 4, 4, 12, 8, 8, 20, 4,
         225, 32, 4, 202, 0, 0, 32, 2, 0,
       };
@@ -1901,7 +1901,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 37, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-            100,
+        100,
         95, 102, 51, 50, 95, 50, 99, 104, 11, 8, 8, 12, 8, 8, 20, 4,
         20, 8, 225, 32, 4, 194, 33, 32, 32, 21, 1, 202, 0, 0, 33, 2,
         0,
@@ -2064,7 +2064,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 39, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-            100,
+        100,
         95, 105, 110, 116, 51, 50, 95, 49, 99, 104, 11, 4, 4, 12, 8, 8,
         20, 8, 223, 32, 0, 214, 32, 32, 4, 222, 0, 32, 2, 0,
       };
@@ -2255,7 +2255,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 39, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-            100,
+        100,
         95, 105, 110, 116, 49, 54, 95, 49, 99, 104, 11, 2, 2, 12, 8, 8,
         20, 4, 20, 4, 153, 32, 0, 211, 32, 32, 225, 33, 4, 202, 32, 32,
         33, 210, 32, 32, 165, 0, 32, 2, 0,
@@ -2508,7 +2508,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 39, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-            100,
+        100,
         95, 105, 110, 116, 49, 54, 95, 50, 99, 104, 11, 4, 4, 12, 8, 8,
         20, 8, 20, 4, 20, 8, 21, 1, 153, 32, 0, 21, 1, 211, 32, 32,
         225, 33, 4, 194, 34, 33, 33, 21, 1, 202, 34, 34, 32, 21, 1, 210,
@@ -2723,7 +2723,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 38, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-            100,
+        100,
         95, 105, 110, 116, 56, 95, 49, 99, 104, 11, 1, 1, 12, 8, 8, 20,
         2, 20, 4, 20, 4, 149, 32, 0, 153, 33, 32, 211, 33, 33, 225, 34,
         4, 202, 33, 33, 34, 210, 33, 33, 163, 32, 33, 159, 0, 32, 2, 0,
@@ -2998,7 +2998,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 38, 118, 111, 108, 117, 109, 101, 95, 111, 114, 99, 95, 112, 114,
         111, 99, 101, 115, 115, 95, 99, 111, 110, 116, 114, 111, 108, 108, 101,
-            100,
+        100,
         95, 105, 110, 116, 56, 95, 50, 99, 104, 11, 2, 2, 12, 8, 8, 20,
         4, 20, 8, 20, 8, 21, 1, 149, 32, 0, 21, 1, 153, 33, 32, 21,
         1, 211, 33, 33, 225, 32, 4, 194, 34, 32, 32, 21, 1, 202, 33, 33,
diff --git a/ltmain.sh b/ltmain.sh
index 147d758..2ad8be8 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -31,7 +31,7 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION="2.4.6 Debian-2.4.6-0.1"
+VERSION="2.4.6 Debian-2.4.6-1"
 package_revision=2.4.6
 
 
@@ -1977,7 +1977,7 @@
 # End:
 
 # Set a version string.
-scriptversion='(GNU libtool) 2.4.6'
+scriptversion='(GNU libtool) 2.4.6 Debian-2.4.6-1'
 
 
 # func_echo ARG...
@@ -2068,7 +2068,7 @@
        compiler:       $LTCC
        compiler flags: $LTCFLAGS
        linker:         $LD (gnu? $with_gnu_ld)
-       version:        $progname (GNU libtool) 2.4.6
+       version:        $progname $scriptversion
        automake:       `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
        autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q`
 
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 10ab284..ee80844 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -728,7 +728,6 @@
     cat <<_LT_EOF >> "$cfgfile"
 #! $SHELL
 # Generated automatically by $as_me ($PACKAGE) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 
 # Provide generalized library-building support services.
diff --git a/po/af.gmo b/po/af.gmo
index da08440..5e12fa3 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index 6da8042..fb631ed 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-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\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 fe84023..5fd9415 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index c74e97b..83d6bd3 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-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\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 9bcc74d..e773fae 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index 97decef..bad77c6 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\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 b2f2736..e755ca1 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index edcb939..25963fd 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\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 d438201..d0f4fe1 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index a34545b..c3806a5 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base-1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2016-03-03 15:35+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 83bf4a3..cc75f27 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 510423a..cf32a48 100644
--- a/po/da.po
+++ b/po/da.po
@@ -33,7 +33,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2016-03-27 16:38+0100\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 bc2e6f1..d4ebfff 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index aefc7c0..596f281 100644
--- a/po/de.po
+++ b/po/de.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2016-02-22 23:44+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 b614d8d..9d2d54f 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index 4a9305a..a456bc1 100644
--- a/po/el.po
+++ b/po/el.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2012-05-05 19:13+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 42ea0e2..5937759 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 0678261..bedaeb8 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-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\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 68ffb96..58ff20f 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index e46abf8..c9e027b 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2011-06-04 21:11+0100\n"
 "Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
diff --git a/po/es.gmo b/po/es.gmo
index 0c573c1..33a3788 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index b7085f1..f127bae 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2011-10-02 15:46+0200\n"
 "Last-Translator: Jorge González González <aloriel@gmail.com>\n"
 "Language-Team: Spanish <es@li.org>\n"
diff --git a/po/eu.gmo b/po/eu.gmo
index 78ed85b..774a721 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index 7394d09..320c57f 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base-0.10.26.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2010-03-25 12:32+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 9bcadd8..00ff3f0 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index d84432a..2d7fe9e 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -12,7 +12,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.30.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2010-12-31 23:21+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 9197a89..7b1fb8c 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index d58ccdf..660d2f7 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2016-03-04 13:08+0100\n"
 "Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
 "Language-Team: French <traduc@traduc.org>\n"
diff --git a/po/gl.gmo b/po/gl.gmo
index b80537d..51b383d 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index 2a458a2..30e5d33 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2012-12-15 03:40+0200\n"
 "Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n"
 "Language-Team: Galician <proxecto@trasno.net>\n"
diff --git a/po/gst-plugins-base-1.0.pot b/po/gst-plugins-base-1.0.pot
index ee05c66..322fcb2 100644
--- a/po/gst-plugins-base-1.0.pot
+++ b/po/gst-plugins-base-1.0.pot
@@ -5,9 +5,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-base 1.8.2\n"
+"Project-Id-Version: gst-plugins-base 1.8.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -82,7 +82,7 @@
 msgid "Could not read CD."
 msgstr ""
 
-#: ext/ogg/gstoggdemux.c:4859
+#: ext/ogg/gstoggdemux.c:4848
 msgid "Internal data stream error."
 msgstr ""
 
@@ -414,31 +414,31 @@
 msgid "GStreamer element %s"
 msgstr ""
 
-#: gst-libs/gst/pbutils/missing-plugins.c:559
+#: gst-libs/gst/pbutils/missing-plugins.c:566
 msgid "Unknown source element"
 msgstr ""
 
-#: gst-libs/gst/pbutils/missing-plugins.c:562
+#: gst-libs/gst/pbutils/missing-plugins.c:569
 msgid "Unknown sink element"
 msgstr ""
 
-#: gst-libs/gst/pbutils/missing-plugins.c:565
+#: gst-libs/gst/pbutils/missing-plugins.c:572
 msgid "Unknown element"
 msgstr ""
 
-#: gst-libs/gst/pbutils/missing-plugins.c:568
+#: gst-libs/gst/pbutils/missing-plugins.c:575
 msgid "Unknown decoder element"
 msgstr ""
 
-#: gst-libs/gst/pbutils/missing-plugins.c:571
+#: gst-libs/gst/pbutils/missing-plugins.c:578
 msgid "Unknown encoder element"
 msgstr ""
 
-#: gst-libs/gst/pbutils/missing-plugins.c:576
+#: gst-libs/gst/pbutils/missing-plugins.c:583
 msgid "Plugin or element of unknown type"
 msgstr ""
 
-#: gst-libs/gst/tag/gsttagdemux.c:1259
+#: gst-libs/gst/tag/gsttagdemux.c:1268
 msgid "Failed to read tag: not enough data"
 msgstr ""
 
diff --git a/po/hr.gmo b/po/hr.gmo
index 54ab655..8cfb6ee 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index f794f71..99fada0 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\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 45f69d5..4d9cdbb 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 57fc693..4b5cd88 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2016-03-14 19:14+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 58d1c9d..963403f 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index fed2c01..93c8169 100644
--- a/po/id.po
+++ b/po/id.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.4.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2014-07-30 09:19+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 1fb6bed..ccec88f 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index 3ba33b2..dbc0c40 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2010-04-28 14:27+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 f8a5da1..cd14078 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 61b24c4..7b2dfb9 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.30.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2010-10-25 10:27+0900\n"
 "Last-Translator: Makoto Kato <makoto.kt@gmail.com>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
diff --git a/po/lt.gmo b/po/lt.gmo
index e08eb19..2750850 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index ab352ea..1fe80c1 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base-0.10.15.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2008-03-07 23:43+0200\n"
 "Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n"
 "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
diff --git a/po/lv.gmo b/po/lv.gmo
index f67385e..37ff6f4 100644
--- a/po/lv.gmo
+++ b/po/lv.gmo
Binary files differ
diff --git a/po/lv.po b/po/lv.po
index 1721db9..0dfb991 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2014-04-20 16:15+0300\n"
 "Last-Translator: Rihards Prieditis <rprieditis@gmail.com>\n"
 "Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
diff --git a/po/nb.gmo b/po/nb.gmo
index a807c08..25172eb 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index 3096dc0..2a83939 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2015-12-24 23:08+0100\n"
 "Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
 "Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
diff --git a/po/nl.gmo b/po/nl.gmo
index 60803a2..385860c 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 4fa019c..0e44496 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2016-02-20 16:39+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 887a20d..dbfe3bc 100644
--- a/po/or.gmo
+++ b/po/or.gmo
Binary files differ
diff --git a/po/or.po b/po/or.po
index 6b16dc6..8485bbd 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-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\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 eb4c213..d78bb8d 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 5e69a15..a9df0ca 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2016-03-02 22:08+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 5daca86..44b8595 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 53562ee..bf6974f 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base-1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2016-05-06 16:47-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 cd297fa..52e883b 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index 7ca10de..5f74462 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 0.10.29.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2010-08-16 01:21+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 0613d54..13aa57e 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index e732b6a..f16b1c1 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2016-03-05 08:42+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 a8a2c92..caa480c 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index ad6f7e0..b2d36b4 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2016-05-20 12:24+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 4f75ae0..d51e181 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index be9cca8..6b84d3c 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base-1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2013-01-05 10:10+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 10c11e8..a302eea 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index 0ed5d97..fc35a0b 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-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\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 e832956..94fdd7e 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index 40cde99..5ab0897 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base-1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2016-03-05 09:48+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <(nothing)>\n"
diff --git a/po/sv.gmo b/po/sv.gmo
index b824419..6264aff 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 7194fac..ccbbf86 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2016-03-02 22:20+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 9eef88d..e3ac963 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 564fe42..ff0f71e 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\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 304adc6..bfe5b05 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index 19eb2aa..c4b0722 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2016-03-02 22:05+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 f613e75..b139f63 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index a3d5a7a..ab2a269 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2016-03-03 07:49+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 0b7660d..335babe 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 67bb867..0655cb6 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-06-09 11:16+0300\n"
+"POT-Creation-Date: 2016-08-19 11:53+0300\n"
 "PO-Revision-Date: 2016-03-03 12:15+0800\n"
 "Last-Translator: Tianze Wang <zwpwjwtz@126.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
diff --git a/sys/xvimage/xvimageallocator.c b/sys/xvimage/xvimageallocator.c
index 3582183..3a2728c 100644
--- a/sys/xvimage/xvimageallocator.c
+++ b/sys/xvimage/xvimageallocator.c
@@ -55,6 +55,7 @@
   GstMemory parent;
 
   gint im_format;
+  GstVideoInfo info;
   GstVideoRectangle crop;
 
   XvImage *xvimage;
@@ -229,6 +230,7 @@
       &mem->parent, mem->parent.maxsize, mem->parent.align,
       mem->parent.offset + offset, size);
 
+  sub->info = mem->info;
   sub->im_format = mem->im_format;
   sub->crop = mem->crop;
   sub->xvimage = mem->xvimage;
@@ -256,8 +258,8 @@
 
   copy = (GstXvImageMemory *)
       gst_xvimage_allocator_alloc (GST_XVIMAGE_ALLOCATOR_CAST (gmem->allocator),
-      mem->im_format, mem->xvimage->width, mem->xvimage->height, &mem->crop,
-      NULL);
+      mem->im_format, &mem->info, mem->xvimage->width,
+      mem->xvimage->height, &mem->crop, NULL);
 
   memcpy (copy->xvimage->data + copy->parent.offset,
       mem->xvimage->data + mem->parent.offset, mem->xvimage->data_size);
@@ -340,20 +342,22 @@
 
 GstMemory *
 gst_xvimage_allocator_alloc (GstXvImageAllocator * allocator, gint im_format,
-    gint padded_width, gint padded_height, GstVideoRectangle * crop,
-    GError ** error)
+    const GstVideoInfo * info, gint padded_width, gint padded_height,
+    const GstVideoRectangle * crop, GError ** error)
 {
   int (*handler) (Display *, XErrorEvent *);
   gboolean success = FALSE;
   GstXvContext *context;
   gint align, offset;
   GstXvImageMemory *mem;
+  gint expected_size = 0;
 
   context = allocator->context;
 
   mem = g_slice_new (GstXvImageMemory);
 
   mem->im_format = im_format;
+  mem->info = *info;
 #ifdef HAVE_XSHM
   mem->SHMInfo.shmaddr = ((void *) -1);
   mem->SHMInfo.shmid = -1;
@@ -371,7 +375,6 @@
 
 #ifdef HAVE_XSHM
   if (context->use_xshm) {
-    int expected_size;
 
     mem->xvimage = XvShmCreateImage (context->disp,
         context->xv_port_id, im_format, NULL, padded_width, padded_height,
@@ -401,45 +404,47 @@
 
     /* calculate the expected size.  This is only for sanity checking the
      * number we get from X. */
-    switch (im_format) {
-      case GST_MAKE_FOURCC ('I', '4', '2', '0'):
-      case GST_MAKE_FOURCC ('Y', 'V', '1', '2'):
-      {
-        gint pitches[3];
-        gint offsets[3];
-        guint plane;
+    if (GST_VIDEO_FORMAT_INFO_IS_YUV (info->finfo)) {
+      switch (GST_VIDEO_FORMAT_INFO_FORMAT (info->finfo)) {
+        case GST_VIDEO_FORMAT_I420:
+        case GST_VIDEO_FORMAT_YV12:
+        {
+          gint pitches[3];
+          gint offsets[3];
+          guint plane;
 
-        offsets[0] = 0;
-        pitches[0] = GST_ROUND_UP_4 (padded_width);
-        offsets[1] = offsets[0] + pitches[0] * GST_ROUND_UP_2 (padded_height);
-        pitches[1] = GST_ROUND_UP_8 (padded_width) / 2;
-        offsets[2] =
-            offsets[1] + pitches[1] * GST_ROUND_UP_2 (padded_height) / 2;
-        pitches[2] = GST_ROUND_UP_8 (pitches[0]) / 2;
+          offsets[0] = 0;
+          pitches[0] = GST_ROUND_UP_4 (padded_width);
+          offsets[1] = offsets[0] + pitches[0] * GST_ROUND_UP_2 (padded_height);
+          pitches[1] = GST_ROUND_UP_8 (padded_width) / 2;
+          offsets[2] =
+              offsets[1] + pitches[1] * GST_ROUND_UP_2 (padded_height) / 2;
+          pitches[2] = GST_ROUND_UP_8 (pitches[0]) / 2;
 
-        expected_size =
-            offsets[2] + pitches[2] * GST_ROUND_UP_2 (padded_height) / 2;
+          expected_size =
+              offsets[2] + pitches[2] * GST_ROUND_UP_2 (padded_height) / 2;
 
-        for (plane = 0; plane < mem->xvimage->num_planes; plane++) {
-          GST_DEBUG_OBJECT (allocator,
-              "Plane %u has a expected pitch of %d bytes, " "offset of %d",
-              plane, pitches[plane], offsets[plane]);
+          for (plane = 0; plane < mem->xvimage->num_planes; plane++) {
+            GST_DEBUG_OBJECT (allocator,
+                "Plane %u has a expected pitch of %d bytes, " "offset of %d",
+                plane, pitches[plane], offsets[plane]);
+          }
+          break;
         }
-        break;
+        case GST_VIDEO_FORMAT_YUY2:
+        case GST_VIDEO_FORMAT_UYVY:
+          expected_size = padded_height * GST_ROUND_UP_4 (padded_width * 2);
+          break;
+        default:
+          break;
       }
-      case GST_MAKE_FOURCC ('Y', 'U', 'Y', '2'):
-      case GST_MAKE_FOURCC ('U', 'Y', 'V', 'Y'):
-        expected_size = padded_height * GST_ROUND_UP_4 (padded_width * 2);
-        break;
-      default:
-        expected_size = 0;
-        break;
+    } else if (GST_VIDEO_FORMAT_INFO_IS_RGB (info->finfo) &&
+        GST_VIDEO_FORMAT_INFO_N_PLANES (info->finfo) == 1) {
+      expected_size = padded_height * GST_ROUND_UP_4 (padded_width *
+          GST_VIDEO_FORMAT_INFO_PSTRIDE (info->finfo, 0));
     }
-    if (expected_size != 0 && mem->xvimage->data_size != expected_size) {
-      GST_WARNING_OBJECT (allocator,
-          "unexpected XShm image size (got %d, expected %d)",
-          mem->xvimage->data_size, expected_size);
-    }
+    if (expected_size != 0 && mem->xvimage->data_size < expected_size)
+      goto unexpected_size;
 
     /* Be verbose about our XvImage stride */
     {
@@ -523,6 +528,14 @@
   return GST_MEMORY_CAST (mem);
 
   /* ERRORS */
+unexpected_size:
+  {
+    g_mutex_unlock (&context->lock);
+    g_set_error (error, GST_RESOURCE_ERROR, GST_RESOURCE_ERROR_WRITE,
+        "unexpected XShm image size (got %d, expected %d)",
+        mem->xvimage->data_size, expected_size);
+    goto beach;
+  }
 create_failed:
   {
     g_mutex_unlock (&context->lock);
diff --git a/sys/xvimage/xvimageallocator.h b/sys/xvimage/xvimageallocator.h
index c5fb9c8..f9b7ee3 100644
--- a/sys/xvimage/xvimageallocator.h
+++ b/sys/xvimage/xvimageallocator.h
@@ -44,9 +44,10 @@
 
 GstMemory *           gst_xvimage_allocator_alloc       (GstXvImageAllocator * allocator,
                                                          gint im_format,
+                                                         const GstVideoInfo * info,
                                                          gint padded_width,
                                                          gint padded_height,
-                                                         GstVideoRectangle *crop,
+                                                         const GstVideoRectangle *crop,
                                                          GError ** error);
 
 /* memory from the allocator */
diff --git a/sys/xvimage/xvimagepool.c b/sys/xvimage/xvimagepool.c
index 235a9f9..7203105 100644
--- a/sys/xvimage/xvimagepool.c
+++ b/sys/xvimage/xvimagepool.c
@@ -174,7 +174,7 @@
   xvimage = gst_buffer_new ();
 
   mem = gst_xvimage_allocator_alloc (xvpool->allocator, xvpool->im_format,
-      xvpool->padded_width, xvpool->padded_height, &xvpool->crop, &err);
+      info, xvpool->padded_width, xvpool->padded_height, &xvpool->crop, &err);
 
   if (mem == NULL) {
     gst_buffer_unref (xvimage);
diff --git a/tests/check/libs/discoverer.c b/tests/check/libs/discoverer.c
index 8fe5ecf..aa2b9a9 100644
--- a/tests/check/libs/discoverer.c
+++ b/tests/check/libs/discoverer.c
@@ -66,6 +66,8 @@
 
   info = gst_discoverer_discover_uri (dc, uri, &err);
   fail_unless (info);
+  fail_unless_equals_int (gst_discoverer_info_get_result (info),
+      GST_DISCOVERER_OK);
   serialized =
       gst_discoverer_info_to_variant (info, GST_DISCOVERER_SERIALIZE_ALL);
 
diff --git a/win32/common/_stdint.h b/win32/common/_stdint.h
index f13ce94..33ddb19 100644
--- a/win32/common/_stdint.h
+++ b/win32/common/_stdint.h
@@ -1,8 +1,8 @@
 #ifndef _GST_PLUGINS_BASE__STDINT_H
 #define _GST_PLUGINS_BASE__STDINT_H 1
 #ifndef _GENERATED_STDINT_H
-#define _GENERATED_STDINT_H "gst-plugins-base 1.8.2"
-/* generated using gnu compiler gcc (Debian 5.4.0-3) 5.4.0 20160603 */
+#define _GENERATED_STDINT_H "gst-plugins-base 1.8.3"
+/* generated using gnu compiler gcc (Debian 6.1.1-12) 6.1.1 20160815 */
 #define _STDINT_HAVE_STDINT_H 1
 #include <stdint.h>
 #endif
diff --git a/win32/common/config.h b/win32/common/config.h
index ff16824..4293787 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -90,7 +90,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-06-09"
+#define GST_PACKAGE_RELEASE_DATETIME "2016-08-19"
 
 /* Define if static plugins should be built */
 #undef GST_PLUGIN_BUILD_STATIC
@@ -339,7 +339,7 @@
 #define PACKAGE_NAME "GStreamer Base Plug-ins"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer Base Plug-ins 1.8.2"
+#define PACKAGE_STRING "GStreamer Base Plug-ins 1.8.3"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gst-plugins-base"
@@ -348,7 +348,7 @@
 #undef PACKAGE_URL
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.8.2"
+#define PACKAGE_VERSION "1.8.3"
 
 /* directory where plugins are located */
 #ifdef _DEBUG
@@ -382,7 +382,7 @@
 #undef USE_TREMOLO
 
 /* Version number of package */
-#define VERSION "1.8.2"
+#define VERSION "1.8.3"
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */