Merge tag 'upstream/1.8.1'

Upstream version 1.8.1
diff --git a/ChangeLog b/ChangeLog
index 6501c5a..ef22a5a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,173 @@
-=== release 1.8.0 ===
+=== release 1.8.1 ===
 
-2016-03-24  Sebastian Dröge <slomo@coaxion.net>
+2016-04-20  Sebastian Dröge <slomo@coaxion.net>
 
 	* configure.ac:
-	  releasing 1.8.0
+	  releasing 1.8.1
+
+2016-04-15 17:48:26 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* win32/common/libgstsdp.def:
+	  win32: update .def for new API
+
+2016-04-20 15:30:04 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* po/da.po:
+	  po: Update translations
+
+2016-04-19 17:36:20 +0200  Josep Torra <n770galaxy@gmail.com>
+
+	* gst-libs/gst/sdp/gstmikey.c:
+	* gst-libs/gst/sdp/gstsdpmessage.c:
+	  sdp: update since markers to 1.8.1 for some new APIs
+	  As we decided to backport some fixes we update the since markers.
+
+2016-04-15 00:18:50 -0700  Aleix Conchillo Flaqué <aconchillo@gmail.com>
+
+	* gst-libs/gst/sdp/gstsdpmessage.c:
+	* gst-libs/gst/sdp/gstsdpmessage.h:
+	  sdpmessage: new gst_sdp_media_parse_keymgmt/gst_sdp_media_parse_keymgmt
+	  We add a couple of new functions gst_sdp_media_parse_keymgmt and
+	  gst_sdp_media_parse_keymgmt. We also implement
+	  gst_sdp_message_attributes_to_caps and gst_sdp_media_attributes_to_caps
+	  in terms of these new functions and also gst_mikey_message_to_caps.
+
+2016-04-14 23:29:34 -0700  Aleix Conchillo Flaqué <aconchillo@gmail.com>
+
+	* gst-libs/gst/sdp/gstmikey.c:
+	* gst-libs/gst/sdp/gstmikey.h:
+	* gst-libs/gst/sdp/gstsdpmessage.c:
+	  mikey: add new function gst_mikey_message_to_caps
+
+2016-04-16 02:11:59 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/audio/gstaudioringbuffer.c:
+	  Revert "audioringbuffer: start ringbuffer if needed upon commit"
+	  This reverts commit 13ee94ef1091f8a8a90dbd395b39876c26c5188e.
+	  Causes audio glitches at startup by starting to output segments
+	  from the ringbuffer before it has been filled / fully prerolled.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=657076
+
+2016-04-14 17:26:54 -0700  Aleix Conchillo Flaqué <aconchillo@gmail.com>
+
+	* gst-libs/gst/sdp/gstmikey.c:
+	  mikey: allow passing srtp or srtcp to create mikey message
+	  Current implementation requires all srtp and srtcp parameters to be
+	  given in the caps. MIKEY uses only one algorithm for encryption and one
+	  for authentication so we now allow passing srtp or srtcp parameters. If
+	  both are given srtp parametres will be preferred.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765027
+
+2016-04-11 11:28:09 +0200  Fabrice Bellet <fabrice@bellet.info>
+
+	* gst-libs/gst/audio/gstaudiosink.c:
+	* gst-libs/gst/audio/gstaudiosrc.c:
+	  audio: Fix a race with the audioringbuffer thread
+	  There is a small window of time where the audio ringbuffer thread
+	  can access the parent thread variable, before it's initialized
+	  by the parent thread. The patch replaces this variable use by
+	  g_thread_self().
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764865
+
+2016-03-24 14:59:48 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/playback/gstdecodebin2.c:
+	  decodebin2: Hold new buffering_post lock while posting msgs
+	  There's a small window between decodebin choosing a buffering level
+	  to post and another thread choosing a different buffering level
+	  where things can race. Close that window by holding a new lock
+	  that's only for posting buffering messages - like what was done
+	  in multiqueue.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=764020
+
+2016-02-26 02:56:15 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/typefind/gsttypefindfunctions.c:
+	  typefind: Reduce URI typefinder from MAX to LIKELY
+	  Don't claim maximum likelihood for anything that starts
+	  with text that looks like a uri, it's too broad.
+
+=== release 1.8.0 ===
+
+2016-03-24 12:19:23 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ChangeLog:
+	* NEWS:
+	* RELEASE:
+	* configure.ac:
+	* 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.0
+
+2016-03-24 11:43:05 +0200  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-03-08 13:22:32 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
 
diff --git a/Makefile.in b/Makefile.in
index d1e8f1f..eee3fa3 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -206,7 +206,7 @@
 	$(top_srcdir)/common/release.mak \
 	$(top_srcdir)/common/win32.mak ABOUT-NLS AUTHORS COPYING \
 	COPYING.LIB ChangeLog INSTALL NEWS README compile config.guess \
-	config.rpath config.sub install-sh ltmain.sh missing
+	config.rpath config.sub depcomp install-sh ltmain.sh missing
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
diff --git a/NEWS b/NEWS
index ee7f213..bdac78a 100644
--- a/NEWS
+++ b/NEWS
@@ -1,786 +1,24 @@
-# GStreamer 1.8 Release Notes
-
-**GStreamer 1.8.0 was released on 24 March 2016.**
-
-The GStreamer team is proud to announce a new major feature release in the
-stable 1.x API series of your favourite cross-platform multimedia framework!
-
-As always, this release is again packed with new features, bug fixes and other
-improvements.
-
-See [https://gstreamer.freedesktop.org/releases/1.8/][latest] for the latest
-version of this document.
-
-*Last updated: Thursday 24 March 2016, 10:00 UTC [(log)][gitlog]*
-
-[latest]: https://gstreamer.freedesktop.org/releases/1.8/
-[gitlog]: https://cgit.freedesktop.org/gstreamer/www/log/src/htdocs/releases/1.8/release-notes-1.8.md
-
-## Highlights
-
-- **Hardware-accelerated zero-copy video decoding on Android**
-
-- **New video capture source for Android using the android.hardware.Camera API**
-
-- **Windows Media reverse playback** support (ASF/WMV/WMA)
-
-- **New tracing system** provides support for more sophisticated debugging tools
-
-- **New high-level GstPlayer playback convenience API**
-
-- **Initial support for the new [Vulkan][vulkan] API**, see
-  [Matthew Waters' blog post][vulkan-in-gstreamer] for more details
-
-- **Improved Opus audio codec support**: Support for more than two channels; MPEG-TS demuxer/muxer can now handle Opus;
-  [sample-accurate][opus-sample-accurate] encoding/decoding/transmuxing with
-  Ogg, Matroska, ISOBMFF (Quicktime/MP4), and MPEG-TS as container;
-  [new codec utility functions for Opus header and caps handling][opus-codec-utils]
-  in pbutils library. The Opus encoder/decoder elements were also moved to
-  gst-plugins-base (from -bad), and the opus RTP depayloader/payloader to -good.
-
-  [opus-sample-accurate]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiometa.html#GstAudioClippingMeta
-  [opus-codec-utils]:     https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstpbutilscodecutils.html
-
-- **GStreamer VAAPI module now released and maintained as part of the GStreamer project**
-
-  [vulkan]:              https://www.khronos.org/vulkan
-  [vulkan-in-gstreamer]: http://ystreet00.blogspot.co.uk/2016/02/vulkan-in-gstreamer.html
-
-## Major new features and changes
-
-### Noteworthy new API, features and other changes
-
-- New GstVideoAffineTransformationMeta meta for adding a simple 4x4 affine
-  transformation matrix to video buffers
-
-- [g\_autoptr()](https://developer.gnome.org/glib/stable/glib-Miscellaneous-Macros.html#g-autoptr)
-  support for all types is exposed in GStreamer headers now, in combination
-  with a sufficiently-new GLib version (i.e. 2.44 or later). This is primarily
-  for the benefit of application developers who would like to make use of
-  this, the GStreamer codebase itself will not be using g_autoptr() for
-  the time being due to portability issues.
-
-- GstContexts are now automatically propagated to elements added to a bin
-  or pipeline, and elements now maintain a list of contexts set on them.
-  The list of contexts set on an element can now be queried using the new functions
-  [gst\_element\_get\_context()](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-get-context)
-  and [gst\_element\_get\_contexts()](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-get-contexts). GstContexts are used to share context-specific configuration objects
-  between elements and can also be used by applications to set context-specific
-  configuration objects on elements, e.g. for OpenGL or Hardware-accelerated
-  video decoding.
-
-- New [GST\_BUFFER\_DTS\_OR\_PTS()](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html#GST-BUFFER-DTS-OR-PTS:CAPS)
-  convenience macro that returns the decode timestamp if one is set and
-  otherwise returns the presentation timestamp
-
-- New GstPadEventFullFunc that returns a GstFlowReturn instead of a gboolean.
-  This new API is mostly for internal use and was added to fix a race condition
-  where occasionally internal flow error messages were posted on the bus when
-  sticky events were propagated at just the wrong moment whilst the pipeline
-  was shutting down. This happened primarily when the pipeline was shut down
-  immediately after starting it up. GStreamer would not know that the reason
-  the events could not be propagated was because the pipeline was shutting down
-  and not some other problem, and now the flow error allows GStreamer to know
-  the reason for the failure (and that there's no reason to post an error
-  message). This is particularly useful for queue-like elements which may need
-  to asynchronously propagate a previous flow return from downstream.
-
-- Pipeline dumps in form of "dot files" now also show pad properties that
-  differ from their default value, the same as it does for elements. This is
-  useful for elements with pad subclasses that provide additional properties,
-  e.g. videomixer or compositor.
-
-- Pad probes are now guaranteed to be called in the order they were added
-  (before they were called in reverse order, but no particular order was
-  documented or guaranteed)
-
-- Plugins can now have dependencies on device nodes (not just regular files)
-  and also have a prefix filter. This is useful for plugins that expose
-  features (elements) based on available devices, such as the video4linux
-  plugin does with video decoders on certain embedded systems.
-
-- gst\_segment\_to\_position() has been deprecated and been replaced by the
-  better-named gst\_segment\_position\_from\_running\_time(). At the same time
-  gst\_segment\_position\_from\_stream\_time() was added, as well as \_full()
-  variants of both to deal with negative stream time.
-
-- GstController: the interpolation control source gained a new monotonic cubic
-  interpolation mode that, unlike the existing cubic mode, will never overshoot
-  the min/max y values set.
-
-- GstNetAddressMeta: can now be read from buffers in language bindings as well,
-  via the new gst\_buffer\_get\_net\_address\_meta() function
-
-- ID3 tag PRIV frames are now extraced into a new GST\_TAG\_PRIVATE\_DATA tag
-
-- gst-launch-1.0 and gst\_parse\_launch() now warn in the most common case if
-  a dynamic pad link could not be resolved, instead of just silently
-  waiting to see if a suitable pad appears later, which is often perceived
-  by users as hanging -- they are now notified when this happens and can check
-  their pipeline.
-
-- GstRTSPConnection now also parses custom RTSP message headers and retains
-  them for the application instead of just ignoring them
-
-- rtspsrc handling of  authentication over tunneled connections (e.g. RTSP over HTTP)
-  was fixed
-
-- gst\_video\_convert\_sample() now crops if there is a crop meta on the input buffer
-
-- The debugging system printf functions are now exposed for general use, which
-  supports special printf format specifiers such as GST\_PTR\_FORMAT and
-  GST\_SEGMENT\_FORMAT to print GStreamer-related objects. This is handy for
-  systems that want to prepare some debug log information to be output at a
-  later point in time. The GStreamer-OpenGL subsystem is making use of these
-  new functions, which are [gst\_info\_vasprintf()][gst_info_vasprintf],
-    [gst\_info\_strdup\_vprintf()][gst_info_strdup_vprintf] and
-    [gst\_info\_strdup\_printf()][gst_info_strdup_printf].
-
-- videoparse: "strides", "offsets" and "framesize" properties have been added to
-  allow parsing raw data with strides and padding that do not match GStreamer
-  defaults.
-
-- GstPreset reads presets from the directories given in GST\_PRESET\_PATH now.
-  Presets are read from there after presets in the system path, but before
-  application and user paths.
-
-[gst_info_vasprintf]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#gst-info-vasprintf
-[gst_info_strdup_vprintf]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#gst-info-strdup-vprintf
-[gst_info_strdup_printf]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstInfo.html#gst-info-strdup-printf
-
-### New Elements
-
-- [netsim](): a new (resurrected) element to simulate network jitter and
-  packet dropping / duplication.
-
-- New VP9 RTP payloader/depayloader elements: rtpvp9pay/rtpvp9depay
-
-- New [videoframe_audiolevel]() element, a video frame synchronized audio level element
-
-- New spandsp-based tone generator source
-
-- New NVIDIA NVENC-based H.264 encoder for GPU-accelerated video encoding on
-  suitable NVIDIA hardware
-
-- [rtspclientsink](), a new RTSP RECORD sink element, was added to gst-rtsp-server
-
-- [alsamidisrc](), a new ALSA MIDI sequencer source element
-
-### Noteworthy element features and additions
-
-- *identity*: new ["drop-buffer-flags"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-identity.html#GstIdentity--drop-buffer-flags)
-  property to drop buffers based on buffer flags. This can be used to drop all
-  non-keyframe buffers, for example.
-
-- *multiqueue*: various fixes and improvements, in particular special handling
-  for sparse streams such as substitle streams, to make sure we don't overread
-  them any more. For sparse streams it can be normal that there's no buffer for
-  a long period of time, so having no buffer queued is perfectly normal. Before
-  we would often unnecessarily try to fill the subtitle stream queue, which
-  could lead to much more data being queued in multiqueue than necessary.
-
-- *multiqueue*/*queue*: When dealing with time limits, these elements now use the
-  new ["GST_BUFFER_DTS_OR_PTS"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html#GST-BUFFER-DTS-OR-PTS:CAPS)
-  and ["gst_segment_to_running_time_full()"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstSegment.html#gst-segment-to-running-time-full)
-  API, resulting in more accurate levels, especially when dealing with non-raw
-  streams (where reordering happens, and we want to use the increasing DTS as
-  opposed to the non-continuously increasing PTS) and out-of-segment input/output.
-  Previously all encoded buffers before the segment start, which can happen when
-  doing ACCURATE seeks, were not taken into account in the queue level calculation.
-
-- *multiqueue*: New ["use-interleave"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-multiqueue.html#GstMultiQueue--use-interleave)
-  property which allows the size of the queues to be optimized based on the input
-  streams interleave. This should only be used with input streams which are properly
-  timestamped. It will be used in the future decodebin3 element.
-
-- *queue2*: new ["avg-in-rate"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-queue2.html#GstQueue2--avg-in-rate)
-  property that returns the average input rate in bytes per second
-
-- audiotestsrc now supports all audio formats and is no longer artificially
-  limited with regard to the number of channels or sample rate
-
-- gst-libav (ffmpeg codec wrapper): map and enable JPEG2000 decoder
-
-- multisocketsink can, on request, send a custom GstNetworkMessage event
-  upstream whenever data is received from a client on a socket. Similarly,
-  socketsrc will, on request, pick up GstNetworkMessage events from downstream
-  and send any data contained within them via the socket. This allows for
-  simple bidirectional communication.
-
-- matroska muxer and demuxer now support the ProRes video format
-
-- Improved VP8/VP9 decoding performance on multi-core systems by enabling
-  multi-threaded decoding in the libvpx-based decoders on such systems
-
-- appsink has a new ["wait-on-eos"](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-appsink.html#GstAppSink--wait-on-eos)
-  property, so in cases where it is uncertain if an appsink will have a consumer for
-  its buffers when it receives an EOS this can be set to FALSE to ensure that the
-  appsink will not hang.
-
-- rtph264pay and rtph265pay have a new "config-interval" mode -1 that will
-  re-send the setup data (SPS/PPS/VPS) before every keyframe to ensure
-  optimal coverage and the shortest possibly start-up time for a new client
-
-- mpegtsmux can now mux H.265/HEVC video as well
-
-- The MXF muxer was ported to 1.x and produces more standard conformant files now
-  that can be handled by more other software; The MXF demuxer got improved
-  support for seek tables (IndexTableSegments).
-
-### Plugin moves
-
-- The rtph265pay/depay RTP payloader/depayloader elements for H.265/HEVC video
-  from the rtph265 plugin in -bad have been moved into the existing rtp plugin
-  in gst-plugins-good.
-
-- The mpg123 plugin containing a libmpg123 based audio decoder element has
-  been moved from -bad to -ugly.
-
-- The Opus encoder/decoder elements have been moved to gst-plugins-base and
-  the RTP payloader to gst-plugins-good, both coming from gst-plugins-bad.
-
-### New tracing tools for developers
-
-A new tracing subsystem API has been added to GStreamer, which provides
-external tracers with the possibility to strategically hook into GStreamer
-internals and collect data that can be evaluated later. These tracers are a
-new type of plugin features, and GStreamer core ships with a few example
-tracers (latency, stats, rusage, log) to start with. Tracers can be loaded
-and configured at start-up via an environment variable (GST\_TRACER\_PLUGINS).
-
-Background: While GStreamer provides plenty of data on what's going on in a
-pipeline via its debug log, that data is not necessarily structured enough to
-be generally useful, and the overhead to enable logging output for all data
-required might be too high in many cases. The new tracing system allows tracers
-to just obtain the data needed at the right spot with as little overhead as
-possible, which will be particularly useful on embedded systems.
-
-Of course it has always been possible to do performance benchmarks and debug
-memory leaks, memory consumption and invalid memory access using standard
-operating system tools, but there are some things that are difficult to track
-with the standard tools, and the new tracing system helps with that. Examples
-are things such as latency handling, buffer flow, ownership transfer of
-events and buffers from element to element, caps negotiation, etc.
-
-For some background on the new tracing system, watch Stefan Sauer's
-GStreamer Conference talk ["A new tracing subsystem for GStreamer"][tracer-0]
-and for a more specific example how it can be useful have a look at
-Thiago Santos's lightning talk ["Analyzing caps negotiation using GstTracer"][tracer-1]
-and his ["GstTracer experiments"][tracer-2] blog post. There was also a Google
-Summer of Code project in 2015 that used tracing system for a graphical
-GStreamer debugging tool ["gst-debugger"][tracer-3].
-
-This is all still very much work in progress, but we hope this will provide the
-foundation for a whole suite of new debugging tools for GStreamer pipelines.
-
-[tracer-0]: https://gstconf.ubicast.tv/videos/a-new-tracing-subsystem-for-gstreamer/
-[tracer-1]: https://gstconf.ubicast.tv/videos/analyzing-caps-negotiation-using-gsttracer/
-[tracer-2]: http://blog.thiagoss.com/2015/07/23/gsttracer-experiments/
-[tracer-3]: https://git.gnome.org/browse/gst-debugger
-
-### GstPlayer: a new high-level API for cross-platform multimedia playback
-
-GStreamer has had reasonably high-level API for multimedia playback
-in the form of the playbin element for a long time. This allowed application
-developers to just configure a URI to play, and playbin would take care of
-everything else. This works well, but there is still way too much to do on
-the application-side to implement a fully-featured playback application, and
-too much general GStreamer pipeline API exposed, making it less accessible
-to application developers.
-
-Enter GstPlayer. GstPlayer's aim is to provide an even higher-level abstraction
-of a fully-featured playback API but specialised for its specific use case. It
-also provides easy integration with and examples for Gtk+, Qt, Android, OS/X,
-iOS and Windows. Watch Sebastian's [GstPlayer talk at the GStreamer Conference][gstplayer-talk]
-for more information, or check out the [GstPlayer API reference][gstplayer-api]
-and [GstPlayer examples][gstplayer-examples].
-
-[gstplayer-api]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/player.html
-[gstplayer-talk]: https://gstconf.ubicast.tv/videos/gstplayer-a-simple-cross-platform-api-for-all-your-media-playback-needs-part-1/
-[gstplayer-examples]: https://github.com/sdroege/gst-player/
-
-### Adaptive streaming: DASH, HLS and MSS improvements
-
-- dashdemux now supports loading external xml nodes pointed from its MPD.
-
-- Content protection nodes parsing support for PlayReady WRM in mssdemux.
-
-- Reverse playback was improved to respect seek start and stop positions.
-
-- Adaptive demuxers (hlsdemux, dashdemux, mssdemux) now support the SNAP_AFTER
-  and SNAP_BEFORE seek flags which will jump to the nearest fragment boundary
-  when executing a seek, which means playback resumes more quickly after a seek.
-
-### Audio library improvements
-
-- audio conversion, quantization and channel up/downmixing functionality
-  has been moved from the audioconvert element into the audio library and
-  is now available as public API in form of [GstAudioConverter][audio-0],
-  [GstAudioQuantize][audio-1] and [GstAudioChannelMixer][audio-2].
-  Audio resampling will follow in future releases.
-
-- [gst\_audio\_channel\_get\_fallback\_mask()][audio-3] can be used
-  to retrieve a default channel mask for a given number of channels as last
-  resort if the layout is unknown
-
-- A new [GstAudioClippingMeta][audio-4] meta was added for specifying clipping
-  on encoded audio buffers
-
-- A new GstAudioVisualizer base class for audio visualisation elements;
-  most of the existing visualisers have been ported over to the new base class.
-  This new base class lives in the pbutils library rather than the audio library,
-  since we'd have had to make libgstaudio depend on libgstvideo otherwise,
-  which was deemed undesirable.
-
-[audio-0]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-GstAudioConverter.html
-[audio-1]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-GstAudioQuantize.html
-[audio-2]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiochannels.html#gst-audio-channel-mix-new
-[audio-3]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiochannels.html#gst-audio-channel-get-fallback-mask
-[audio-4]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiometa.html#GstAudioClippingMeta
-
-### GStreamer OpenGL support improvements
-
-#### Better OpenGL Shader support
-
-[GstGLShader][shader] has been revamped to allow more OpenGL shader types
-by utilizing a new GstGLSLStage object.  Each stage holds an OpenGL pipeline
-stage such as a vertex, fragment or a geometry shader that are all compiled
-separately into a program that is executed.
-
-The glshader element has also received a revamp as a result of the changes in
-the library.  It does not take file locations for the vertex and fragment
-shaders anymore.  Instead it takes the strings directly leaving the file
-management to the application.
-
-A new [example][liveshader-example] was added utilizing the new shader
-infrastructure showcasing live shader edits.
-
-[shader]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/gst-plugins-bad-libs-gstglshader.html
-[liveshader-example]: https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/tests/examples/gtk/glliveshader.c
-
-#### OpenGL GLMemory rework
-
-[GstGLMemory] was extensively reworked to support the addition of multiple
-texture targets required for zero-copy integration with the Android
-MediaCodec elements.  This work was also used to provide IOSurface based
-GLMemory on OS X for zero-copy with OS X's VideoToolbox decoder (vtdec) and
-AV Foundation video source (avfvideosrc).  There are also patches in bugzilla
-for GstGLMemoryEGL specifically aimed at improving the decoding performance on
-the Raspberry Pi.
-
-[GstGLMemory]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/gst-plugins-bad-libs-gstglmemory.html
-
-A texture-target field was added to video/x-raw(memory:GLMemory) caps to signal
-the texture target contained in the GLMemory.  Its values can be 2D, rectangle
-or external-oes.  glcolorconvert can convert between the different formats as
-required and different elements will accept or produce different targets.  e.g.
-glimagesink can take and render external-oes textures directly as required for
-effecient zero-copy on android.
-
-A generic GL allocation framework was also implemented to support the generic
-allocation of OpenGL buffers and textures which is used extensively by
-GstGLBufferPool.
-
-#### OpenGL DMABuf import uploader
-
-There is now a DMABuf uploader available for automatic selection that will
-attempt to import the upstream provided DMABuf.  The uploader will import into
-2D textures with the necesarry format.  YUV to RGB conversion is still provided
-by glcolorconvert to avoid the laxer restrictions with external-oes textures.
-
-#### OpenGL queries
-
-Queries of various aspects of the OpenGL runtime such as timers, number of
-samples or the current timestamp are not possible.  The GstGLQuery object uses a
-delayed debug system to delay the debug output to later to avoid expensive calls
-to the glGet\* family of functions directly after finishing a query.  It is
-currently used to output the time taken to perform various operations of texture
-uploads and downloads in GstGLMemory.
-
-#### New OpenGL elements
-
-glcolorbalance has been created mirroring the videobalance elements.
-glcolorbalance provides the exact same interface as videobalance so can be used
-as a GPU accelerated replacement.  glcolorbalance has been added to glsinkbin so
-usage with playsink/playbin will use it automatically instead of videobalance
-where possible.
-
-glvideoflip, which is the OpenGL equiavalant of videoflip, implements the exact
-same interface and functionality as videoflip.
-
-#### EGL implementation now selects OpenGL 3.x
-
-The EGL implementation can now select OpenGL 3.x contexts.
-
-#### OpenGL API removal
-
-The GstGLDownload library object was removed as it was not used by anything.
-Everything is performed by GstGLMemory or in the gldownloadelement.
-
-The GstGLUploadMeta library object was removed as it was not being used and we
-don't want to promote the use of GstVideoGLTextureUploadMeta.
-
-#### OpenGL: Other miscellaneous changes
-
-- The EGL implementation can now select OpenGL 3.x contexts.  This brings
-  OpenGL 3.x to e.g. wayland and other EGL systems.
-
-- glstereomix/glstereosplit are now built and are usable on OpenGL ES systems
-
-- The UYVY/YUY2 to RGBA and RGBA to UYVY/YUY2 shaders were fixed removing the
-  sawtooth pattern and luma bleeding.
-
-- We now utilize the GL\_APPLE\_sync extension on iOS devices which improves
-  performance of OpenGL applications, especially with multiple OpenGL
-  contexts.
-
-- glcolorconvert now uses a bufferpool to avoid costly
-  glGenTextures/glDeleteTextures for every frame.
-
-- glvideomixer now has full glBlendFunc and glBlendEquation support per input.
-
-- gltransformation now support navigation events so your weird transformations
-  also work with DVD menus.
-
-- qmlglsink can now run on iOS, OS X and Android in addition to the already
-  supported Linux platform.
-
-- glimagesink now posts unhandled keyboard and mouse events (on backends that
-  support user input, current only X11) on the bus for the application.
-
-### Initial GStreamer Vulkan support
-
-Some new elements, vulkansink and vulkanupload have been implemented utilizing
-the new Vulkan API.  The implementation is currently limited to X11 platforms
-(via xcb) and does not perform any scaling of the stream's contents to the size
-of the available output.
-
-A lot of infrasctructure work has been undertaken to support using Vulkan in
-GStreamer in the future.  A number of GstMemory subclasses have been created for
-integrating Vulkan's GPU memory handling along with VkBuffer's and VkImage's
-that can be passed between elements.  Some GStreamer refcounted wrappers for
-global objects such as VkInstance, VkDevice, VkQueue, etc have also been
-implemented along with GstContext integration for sharing these objects with the
-application.
-
-### GStreamer VAAPI support for hardware-accelerated video decoding and encoding on Intel (and other) platforms
-
-#### GStreamer VAAPI is now part of upstream GStreamer
-
-The GStreamer-VAAPI module which provides support for hardware-accelerated
-video decoding, encoding and post-processing on Intel graphics hardware
-on Linux has moved from its previous home at the [Intel Open Source Technology Center][iostc]
-to the upstream GStreamer repositories, where it will in future be maintained
-as part of the upstream GStreamer project and released in lockstep with the
-other GStreamer modules. The current maintainers will continue to spearhead
-the development at the new location:
-
-[http://cgit.freedesktop.org/gstreamer/gstreamer-vaapi/][gst-vaapi-git]
-
-[gst-vaapi-git]: http://cgit.freedesktop.org/gstreamer/gstreamer-vaapi/
-
-GStreamer-VAAPI relies heavily on certain GStreamer infrastructure API that
-is still in flux such as the OpenGL integration API or the codec parser
-libraries, and one of the goals of the move was to be able to leverage
-new developments early and provide tighter integration with the latest
-developments of those APIs and other graphics-related APIs provided by
-GStreamer, which should hopefully improve performance even further and in
-some cases might also provide better stability.
-
-Thanks to everyone involved in making this move happen!
-
-#### GStreamer VAAPI: Bug tracking
-
-Bugs had already been tracked on [GNOME bugzilla](bgo) but will be moved
-from the gstreamer-vaapi product into a new gstreamer-vaapi component of
-the GStreamer product in bugzilla. Please file new bugs against the new
-component in the GStreamer product from now on.
-
-#### GStreamer VAAPI: Pending patches
-
-The code base has been re-indented to the GStreamer code style, which
-affected some files more than others. This means that some of the patches
-in bugzilla might not apply any longer, so if you have any unmerged patches
-sitting in bugzilla please consider checking if they still apply cleany and
-refresh them if not. Sorry for any inconvenience this may cause.
-
-#### GStreamer VAAPI: New versioning scheme and supported GStreamer versions
-
-The version numbering has been changed to match the GStreamer version
-numbering to avoid confusion: there is a new gstreamer-vaapi 1.6.0 release
-and a 1.6 branch that is roughly equivalent to the previous 0.7.0 version.
-Future releases 1.7.x and 1.8.x will be made alongside GStreamer releases.
-
-While it was possible and supported by previous releases to build against
-a whole range of different GStreamer versions (such as 1.2, 1.4, 1.6 or 1.7/1.8),
-in the future there will only be one target branch, so that git master will
-track GStreamer git master, 1.8.x will target GStreamer 1.8, and
-1.6.x will target the 1.6 series.
-
-[iostc]: http://01.org
-[bgo]:   http://bugzilla.gnome.og
-
-#### GStreamer VAAPI: Miscellaneous changes
-
-All GStreamer-VAAPI functionality is now provided solely by its GStreamer
-elements. There is no more public library exposing GstVaapi API, this API
-was only ever meant for private use by the elements. Parts of it may be
-resurrected again in future if needed, but for now it has all been made
-private.
-
-GStreamer-VAAPI now unconditionally uses the codecparser library in
-gst-plugins-bad instead of shipping its own internal copy. Similarly,
-it no longer ships its own codec parsers but relies on the upstream
-codec parser elements.
-
-The GStreamer-VAAPI encoder elements have been renamed from vaapiencode_foo
-to vaapifooenc, so encoders are now called vaapih264enc, vaapih265enc,
-vaapimpeg2enc, vaapijpegenc, and vaapivp8enc. With this change we now follow
-the standard names in GStreamer, and the plugin documentation is generated
-correctly.
-
-In the case of the decoders, only the jpeg decoder has been split from the
-general decoding element vaapidecode: vaapijpegdec. This is the first step to
-split per codec each decoding element. The vaapijpegdec has also been given
-marginal rank for the time being.
-
-#### GStreamer VAAPI: New features in 1.8: 10-bit H.265/HEVC decoding support
-
-Support for decoding 10-bit H.265/HEVC has been added. For the time being
-this only works in combination with vaapisink though, until support for the
-P010 video format used internally is added to GStreamer and to the
-vaGetImage()/vaPutimage() API in the vaapi-intel-driver.
-
-Several fixes for memory leaks, build errors, and in the internal
-video parsing.
-
-Finally, vaapisink now posts the unhandled keyboard and mouse events to the
-application.
-
-### GStreamer Video 4 Linux Support
-
-Colorimetry support has been enhanced even more. It will now properly select
-default values when not specified by the driver. The range of color formats
-supported by GStreamer has been greatly improved. Notably, support for
-multi-planar I420 has been added along with all the new and non-ambiguous RGB
-formats that got added in recent kernels.
-
-The device provider now exposes a variety of properties as found in the udev
-database.
-
-The video decoder is now able to negotiate the downstream format.
-
-Elements that are dynamically created from /dev/video\* now track changes on
-these devices to ensure the registry stay up to date.
-
-All this and various bug fixes that improve both stability and correctness.
-
-### GStreamer Editing Services
-
-Added APIs to handle asset proxying support. Proxy creation is not the
-responsibility of GES itself, but GES provides all the needed features
-for it to be cleanly handled at a higher level.
-
-Added support for changing playback rate.  This means that now, whenever a
-user adds a 'pitch' element (as it is the only known element to change playback
-rate through properties), GES will handle everything internally. This change
-introduced a new media-duration-factor property in NleObject which will
-lead to tweaking of seek events so they have the proper playback range to be
-requested upstream.
-
-Construction of NLE objects has been reworked making copy/pasting fully
-functional and allowing users to set properties on effects right after
-creating them.
-
-Rework of the title source to add more flexibility in text positioning,
-and letting the user get feedback about rendered text positioning.
-
-Report nlecomposition structural issues (coming from user programing mistakes)
-into ERROR messages on the bus.
-
-Add GI/pythyon testsuite in GES itself, making sure the API is working as expected
-in python, and allowing writing tests faster.
-
-### GstValidate
-
-Added support to run tests inside gdb.
-
-Added a 'smart' reporting mode where we give as much information as possible about
-critical errors.
-
-Uses GstTracer now instead of a LD\_PRELOAD library.
-
-## Miscellaneous
-
-- encodebin now works with "encoder-muxers" such as wavenc
-
-- gst-play-1.0 acquired a new keyboard shortcut: '0' seeks back to the start
-
-- gst-play-1.0 supports two new command line switches: -v for verbose output
-  and --flags to configure the playbin flags to use.
-
-## Build and Dependencies
-
-- The GLib dependency requirement was bumped to 2.40
-
-- The -Bsymbolic configure check now works with clang as well
-
-- ffmpeg is now required as libav provider, incompatible changes were
-  introduced that make it no longer viable to support both FFmpeg and Libav
-  as libav providers. Most major distros have switched to FFmpeg or are in
-  the process of switching to it anyway, so we don't expect this to be a
-  problem, and there is still an internal copy of ffmpeg that can be used
-  as fallback if needed.
-
-- The internal ffmpeg snapshot is now FFMpeg 3.0, but it should be possible
-  to build against 2.8 as well for the time being.
-
-## Platform-specific improvements
-
-### Android
-
-- Zero-copy video decoding on Android using the hardware-accelerated decoders
-  has been implemented, and is fully integrated with the GStreamer OpenGL stack
-
-- ahcsrc, a new camera source element, has been merged and can be used to
-  capture video on android devices. It uses the android.hardware.Camera Java
-  API to capture from the system's cameras.
-
-- The OpenGL-based QML video sink can now also be used on Android
-
-- New tinyalsasink element, which is mainly useful for Android but can also
-  be used on other platforms.
-
-### OS/X and iOS
-
-- The system clock now uses mach\_absolute\_time() on OSX/iOS, which is
-  the preferred high-resolution monotonic clock to be used on Apple platforms
-
-- The OpenGL-based QML video sink can now also be used on OS X and iOS (with
-  some Qt build system massaging)
-
-- New IOSurface based memory implementation in avfvideosrc and vtdec on OS X
-  for zerocopy with OpenGL.  The previously used OpenGL extension
-  GL_APPLE_ycbcr_422 is not compatible with GL 3.x core contexts.
-
-- New GstAppleCoreVideoMemory wrapping CVPixelBuffer's
-
-- avfvideosrc now supports renegotiation.
-
-### Windows
-
-- Various bugs with UDP and multicast were fixed on Windows, mostly related to
-  gst-rtsp-server.
-
-- A few bugs in directsoundsrc and directsoundsink were fixed that could cause
-  the element to lock up. Also the "mute" property on the sink was fixed, and
-  a new "device" property for device selection was added to the source.
-
-## Known Issues
-
-- Building GStreamer applications with the Android NDK r11 is currently not
-  supported due to incompatible changes in the NDK. This is expected to be
-  fixed for 1.8.1.
-  [Bugzilla #763999](https://bugzilla.gnome.org/show_bug.cgi?id=763999)
-
-- vp8enc crashes on 32 bit Windows, but was working fine in 1.6. 64 bit
-  Windows is unaffected.
-  [Bugzilla #763663](https://bugzilla.gnome.org/show_bug.cgi?id=763663)
-
-## Contributors
-
-Adam Miartus, Alban Bedel, Aleix Conchillo Flaqué, Aleksander Wabik,
-Alessandro Decina, Alex Ashley, Alex Dizengof, Alex Henrie, Alistair Buxton,
-Andreas Cadhalpun, Andreas Frisch, André Draszik, Anthony G. Basile,
-Antoine Jacoutot, Anton Bondarenko, Antonio Ospite, Arjen Veenhuizen,
-Arnaud Vrac, Arun Raghavan, Athanasios Oikonomou, Aurélien Zanelli, Ben Iofel,
-Bob Holcomb, Branko Subasic, Carlos Rafael Giani, Chris Bass, Csaba Toth,
-Daniel Kamil Kozar, Danilo Cesar Lemes de Paula, Dave Craig, David Fernandez,
-David Schleef, David Svensson Fors, David Waring, David Wu, Duncan Palmer,
-Edward Hervey, Egor Zaharov, Etienne Peron, Eunhae Choi, Evan Callaway,
-Evan Nemerson, Fabian Orccon, Florent Thiéry, Florin Apostol, Frédéric Wang,
-George Kiagiadakis, George Yunaev, Göran Jönsson, Graham Leggett,
-Guillaume Desmottes, Guillaume Marquebielle, Haihua Hu, Havard Graff,
-Heinrich Fink, Holger Kaelberer, HoonHee Lee, Hugues Fruchet, Hyunil Park,
-Hyunjun Ko, Ilya Konstantinov, James Stevenson, Jan Alexander Steffens (heftig),
-Jan Schmidt, Jason Litzinger, Jens Georg, Jimmy Ohn, Joan Pau Beltran,
-Joe Gorse, John Chang, John Slade, Jose Antonio Santos Cadenas, Josep Torra,
-Julian Bouzas, Julien Isorce, Julien Moutte, Justin Kim, Kazunori Kobayashi,
-Koop Mast, Lim Siew Hoon, Linus Svensson, Lubosz Sarnecki, Luis de Bethencourt,
-Lukasz Forynski, Manasa Athreya, Marcel Holtmann, Marcin Kolny, Marcus Prebble,
-Mark Nauwelaerts, Maroš Ondrášek, Martin Kelly, Matej Knopp, Mathias Hasselmann,
-Mathieu Duponchelle, Matt Crane, Matthew Marsh, Matthew Waters, Matthieu Bouron,
-Mersad Jelacic, Michael Olbrich, Miguel París Díaz, Mikhail Fludkov,
-Mischa Spiegelmock, Nicola Murino, Nicolas Dufresne, Nicolas Huet,
-Nirbheek Chauhan, Ognyan Tonchev, Olivier Crête, Pablo Anton, Pankaj Darak,
-Paolo Pettinato, Patricia Muscalu, Paul Arzelier, Pavel Bludov, Perry Hung,
-Peter Korsgaard, Peter Seiderer, Petr Viktorin, Philippe Normand,
-Philippe Renon, Philipp Zabel, Philip Van Hoof, Philip Withnall, Piotr Drąg,
-plamot, Polochon\_street, Prashant Gotarne, Rajat Verma, Ramiro Polla,
-Ravi Kiran K N, Reynaldo H. Verdejo Pinochet, Robert Swain, Romain Picard,
-Roman Nowicki, Ross Burton, Ryan Hendrickson, Santiago Carot-Nemesio,
-Scott D Phillips, Sebastian Dröge, Sebastian Rasmussen, Sergey Borovkov,
-Seungha Yang, Sjors Gielen, Song Bing, Sreerenj Balachandran, Srimanta Panda,
-Stavros Vagionitis, Stefan Sauer, Steven Hoving, Stian Selnes, Suhwang Kim,
-Thiago Santos, Thibault Saunier, Thijs Vermeir, Thomas Bluemel, Thomas Roos,
-Thomas Vander Stichele, Tim-Philipp Müller, Tim Sheridan, Ting-Wei Lan,
-Tom Deseyn, Vanessa Chipirrás Navalón, Víctor Manuel Jáquez Leal,
-Vincent Dehors, Vincent Penquerc'h, Vineeth T M, Vivia Nikolaidou,
-Wang Xin-yu (王昕宇), William Manley, Wim Taymans, Wonchul Lee, Xavi Artigas,
-Xavier Claessens, Youness Alaoui,
-
-... and many others who have contributed bug reports, translations, sent
-suggestions or helped testing.
-
-## Bugs fixed in 1.8
-
-More than [~700 bugs][bugs-fixed-in-1.8] have been fixed during
-the development of 1.8.
-
-This list does not include issues that have been cherry-picked into the
-stable 1.6 branch and fixed there as well, all fixes that ended up in the
-1.6 branch are also included in 1.8.
-
-This list also does not include issues that have been fixed without a bug
-report in bugzilla, so the actual number of fixes is much higher.
-
-[bugs-fixed-in-1.8]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=107311&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.6.1&target_milestone=1.6.2&target_milestone=1.6.3&target_milestone=1.7.0&target_milestone=1.7.1&target_milestone=1.7.2&target_milestone=1.7.3&target_milestone=1.7.4&target_milestone=1.7.90&target_milestone=1.7.91&target_milestone=1.7.92&target_milestone=1.7.x&target_milestone=1.8.0
-
-## Stable 1.8 branch
-
-After the 1.8.0 release there will be several 1.8.x bug-fix releases which
-will contain bug fixes which have been deemed suitable for a stable branch,
-but no new features or intrusive changes will be added to a bug-fix release
-usually. The 1.8.x bug-fix releases will be made from the git 1.8 branch, which
-is a stable branch.
-
-### 1.8.0
-
-1.8.0 was released on 24 March 2016.
-
 ### 1.8.1
 
-The first 1.8 bug-fix release (1.8.1) is planned for April 2016.
+The first 1.8 bug-fix release (1.8.1) was released on 20 April 2016.
+This release only contains bugfixes and it should be safe to update from 1.8.0.
 
-## Schedule for 1.10
+#### Major bugfixes in 1.8.1
 
-Our next major feature release will be 1.10, and 1.9 will be the unstable
-development version leading up to the stable 1.10 release. The development
-of 1.9/1.10 will happen in the git master branch.
+ - Fix app compilation with Android NDK r11 and newer
+ - Fix compilation of nvenc plugin against latest NVIDIA SDK 6.0
+ - Fix regression in avdeinterlace
+ - Fix memory corruption in scaletempo element with S16 input
+ - Fix regression in qtdemux with MSE streams
+ - Fix glitches at the start with all audio sinks except for pulsesink
+ - Fix regression with encrypted HLS streams
+ - Fix automatic multithreaded decoding of VP8/9 video
+ - Fix deadlock in HTTP adaptive streams when scrub-seeking
+ - Fix regression in RTSP source with SRTP
+ - Add support for SRTP rollover counters in the RTSP source
+ - Add support for HiDPI ("Retina") screens in caopengllayersink
+ - ... and many more!
 
-The plan for the 1.10 development cycle is yet to be confirmed, but it is
-expected that feature freeze will be around late July or early August,
-followed by several 1.9 pre-releases and the new 1.10 stable release
-in September.
+For a full list of bugfixes see [Bugzilla][buglist-1.8.1].
 
-1.10 will be backwards-compatible to the stable 1.8, 1.6, 1.4, 1.2 and 1.0
-release series.
-
-- - -
-
-*These release notes have been prepared by Tim-Philipp Müller with
-contributions from Sebastian Dröge, Nicolas Dufresne, Edward Hervey, Víctor
-Manuel Jáquez Leal, Arun Raghavan, Thiago Santos, Thibault Saunier, Jan
-Schmidt and Matthew Waters.*
-
-*License: [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)*
+[buglist-1.8.1]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=117422&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.8.1
diff --git a/RELEASE b/RELEASE
index 98d1f6c..87b2c88 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,15 +1,15 @@
 
-Release notes for GStreamer Base Plugins 1.8.0
+Release notes for GStreamer Base Plugins 1.8.1
 
-The GStreamer team is pleased to announce the first release of the new stable
-1.8 release series. The 1.8 release series is adding new features on top of
-the 1.0, 1.2, 1.4 and 1.6 series and is part of the API and ABI-stable 1.x
-release series of the GStreamer multimedia framework.
+The GStreamer team is proud to announce the first bugfix release in the stable
+1.8 release series of your favourite cross-platform multimedia framework!
 
 
-Binaries for Android, iOS, Mac OS X and Windows will be provided shortly after
-the source release by the GStreamer project during the stable 1.8 release
-series.
+This release only contains bugfixes and it is safe to update from 1.8.0. For a
+full list of bugfixes see Bugzilla.
+
+
+See /releases/1.8/ for the full release notes.
 
 
 This module contains a set of reference plugins, base classes for other
@@ -58,7 +58,10 @@
 
 Bugs fixed in this release
      
-      * 763316 : install-plugins: update documentation
+      * 764020 : adaptivedemux: Deadlock on HLS and DASH streams when scrub seeking
+      * 764865 : audiosrc, audiosink: race in gstaudiosrc audioringbuffer thread
+      * 765027 : critical warning in rtspsrc when doing srtp
+      * 765082 : mikey: add new function gst_mikey_message_to_caps
 
 ==== Download ====
 
@@ -95,5 +98,10 @@
         
 Contributors to this release
     
-      * Víctor Manuel Jáquez Leal
+      * Aleix Conchillo Flaqué
+      * Fabrice Bellet
+      * Jan Schmidt
+      * Josep Torra
+      * Sebastian Dröge
+      * Tim-Philipp Müller
  
\ No newline at end of file
diff --git a/configure b/configure
index a48c246..58cb15d 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.0.
+# Generated by GNU Autoconf 2.69 for GStreamer Base Plug-ins 1.8.1.
 #
 # 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.0'
-PACKAGE_STRING='GStreamer Base Plug-ins 1.8.0'
+PACKAGE_VERSION='1.8.1'
+PACKAGE_STRING='GStreamer Base Plug-ins 1.8.1'
 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.0 to adapt to many kinds of systems.
+\`configure' configures GStreamer Base Plug-ins 1.8.1 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.0:";;
+     short | recursive ) echo "Configuration of GStreamer Base Plug-ins 1.8.1:";;
    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.0
+GStreamer Base Plug-ins configure 1.8.1
 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.0, which was
+It was created by GStreamer Base Plug-ins $as_me 1.8.1, 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.0'
+ VERSION='1.8.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4120,9 +4120,9 @@
 
 
 
-  PACKAGE_VERSION_MAJOR=$(echo 1.8.0 | cut -d'.' -f1)
-  PACKAGE_VERSION_MINOR=$(echo 1.8.0 | cut -d'.' -f2)
-  PACKAGE_VERSION_MICRO=$(echo 1.8.0 | cut -d'.' -f3)
+  PACKAGE_VERSION_MAJOR=$(echo 1.8.1 | cut -d'.' -f1)
+  PACKAGE_VERSION_MINOR=$(echo 1.8.1 | cut -d'.' -f2)
+  PACKAGE_VERSION_MICRO=$(echo 1.8.1 | 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.0 | cut -d'.' -f4)
+  NANO=$(echo 1.8.1 | 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=800
+  GST_CURRENT=801
   GST_REVISION=0
-  GST_AGE=800
-  GST_LIBVERSION=800:0:800
+  GST_AGE=801
+  GST_LIBVERSION=801:0:801
 
 
 
@@ -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.0, which was
+This file was extended by GStreamer Base Plug-ins $as_me 1.8.1, 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.0
+GStreamer Base Plug-ins config.status 1.8.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 8a71032..892dd80 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.0],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-base])
+AC_INIT([GStreamer Base Plug-ins],[1.8.1],[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, 800, 0, 800)
+AS_LIBTOOL(GST, 801, 0, 801)
 
 dnl *** required versions of GStreamer stuff ***
 GST_REQ=1.8.0
diff --git a/docs/libs/html/gst-plugins-base-libs-gstaudiofilter.html b/docs/libs/html/gst-plugins-base-libs-gstaudiofilter.html
index 315cc18..a0da99f 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstaudiofilter.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstaudiofilter.html
@@ -93,8 +93,8 @@
 their class_init function to easily configure the set of caps/formats that
 the element is able to handle.</p>
 <p>Derived classes should override the <a class="link" href="gst-plugins-base-libs-gstaudiofilter.html#GstAudioFilterClass.setup"><code class="function">GstAudioFilterClass.setup()</code></a> and
-<code class="function">GstBaseTransformClass.transform_ip()</code> and/or
-<code class="function">GstBaseTransformClass.transform()</code>
+<a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransformClass.transform-ip"><code class="function">GstBaseTransformClass.transform_ip()</code></a> and/or
+<a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransformClass.transform"><code class="function">GstBaseTransformClass.transform()</code></a>
 virtual functions in their class_init function.</p>
 </div>
 <div class="refsect1">
diff --git a/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.html b/docs/libs/html/gst-plugins-base-libs-gstpluginsbaseversion.html
index 872f417..945928b 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 (0)
+<pre class="programlisting">#define GST_PLUGINS_BASE_VERSION_MICRO (1)
 </pre>
 <p>The micro version of GStreamer's gst-plugins-base libraries at compile time.</p>
 </div>
diff --git a/docs/libs/html/gst-plugins-base-libs-gstvideosink.html b/docs/libs/html/gst-plugins-base-libs-gstvideosink.html
index 3e39635..a771a44 100644
--- a/docs/libs/html/gst-plugins-base-libs-gstvideosink.html
+++ b/docs/libs/html/gst-plugins-base-libs-gstvideosink.html
@@ -280,8 +280,8 @@
 </colgroup>
 <tbody><tr>
 <td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoSinkClass.show-frame"></a>show_frame</code></em> ()</p></td>
-<td class="struct_member_description"><p>render a video frame. Maps to <code class="function">GstBaseSinkClass.render()</code> and
-<code class="function">GstBaseSinkClass.preroll()</code> vfuncs. Rendering during preroll will be
+<td class="struct_member_description"><p>render a video frame. Maps to <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseSink.html#GstBaseSinkClass.render"><code class="function">GstBaseSinkClass.render()</code></a> and
+<a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseSink.html#GstBaseSinkClass.preroll"><code class="function">GstBaseSinkClass.preroll()</code></a> vfuncs. Rendering during preroll will be
 suppressed if the <a class="link" href="gst-plugins-base-libs-gstvideosink.html#GstVideoSink--show-preroll-frame" title="The “show-preroll-frame” property"><span class="type">“show-preroll-frame”</span></a> property is set to
 <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p></td>
 <td class="struct_member_annotations"> </td>
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
index e57c7d4..0df2e7e 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.0)
+      for GStreamer Base Library 1.0 (1.8.1)
       <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/plugins/html/gst-plugins-base-plugins-plugin-adder.html b/docs/plugins/html/gst-plugins-base-plugins-plugin-adder.html
index ef343a3..2ee06dc 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.0</td>
+<td>1.8.1</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 a633ef4..5e73602 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.0</td>
+<td>1.8.1</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 46ec6ae..d6284cf 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.0</td>
+<td>1.8.1</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 afb86f6..1b6257c 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.0</td>
+<td>1.8.1</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 f250e5f..f7b10e3 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.0</td>
+<td>1.8.1</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 6db240a..ba991cc 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.0</td>
+<td>1.8.1</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 ba98667..f0cc628 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.0</td>
+<td>1.8.1</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 822a4d0..ec85196 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.0</td>
+<td>1.8.1</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 797c7e3..a9690c9 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.0</td>
+<td>1.8.1</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 8b5e0a4..e555a5c 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.0</td>
+<td>1.8.1</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 46813f1..a56565b 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.0</td>
+<td>1.8.1</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 4826c59..b8431e7 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.0</td>
+<td>1.8.1</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 9681b4e..08e8813 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.0</td>
+<td>1.8.1</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 e8f2579..3c5debb 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.0</td>
+<td>1.8.1</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 b564dfe..f6bffb6 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.0</td>
+<td>1.8.1</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 a000c07..a7a7f71 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.0</td>
+<td>1.8.1</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 67ca002..a337f1e 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.0</td>
+<td>1.8.1</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 0a0ee8c..4a384e1 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.0</td>
+<td>1.8.1</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 49a8403..dbbe4a3 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.0</td>
+<td>1.8.1</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 a908375..88e7101 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.0</td>
+<td>1.8.1</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 7a41bac..bf499d3 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.0</td>
+<td>1.8.1</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 648e469..8e924de 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.0</td>
+<td>1.8.1</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 645aec2..bec56ab 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.0</td>
+<td>1.8.1</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 cd72ea4..f394856 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.0</td>
+<td>1.8.1</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 991d11f..a56523f 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.0</td>
+<td>1.8.1</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 efef640..020e5b2 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.0</td>
+<td>1.8.1</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 4639e9b..689cb73 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.0</td>
+<td>1.8.1</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index 47dae12..887ff30 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.0)
+      for GStreamer Base Plugins 1.0 (1.8.1)
       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/inspect/plugin-adder.xml b/docs/plugins/inspect/plugin-adder.xml
index a60127b..537b23f 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.0</version>
+  <version>1.8.1</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 0cb1d72..aa0eeaf 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.0</version>
+  <version>1.8.1</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 0cb5b86..de0ff80 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.0</version>
+  <version>1.8.1</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 3873337..dea0936 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.0</version>
+  <version>1.8.1</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 ab403b6..dd0732a 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.0</version>
+  <version>1.8.1</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 5638b7d..039f49b 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.0</version>
+  <version>1.8.1</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 4b46105..53cf241 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.0</version>
+  <version>1.8.1</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 e88f99e..c3d00e4 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.0</version>
+  <version>1.8.1</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 c50bee7..92a1ced 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.0</version>
+  <version>1.8.1</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 262e831..30ab8ff 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.0</version>
+  <version>1.8.1</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 e702e01..f445c55 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.0</version>
+  <version>1.8.1</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 e276002..2f51f9e 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.0</version>
+  <version>1.8.1</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 fcba336..b942eea 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.0</version>
+  <version>1.8.1</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 349b4d8..20db7e3 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.0</version>
+  <version>1.8.1</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 cbe94cc..7ad8b69 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.0</version>
+  <version>1.8.1</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 ad13b3b..f4ce39c 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.0</version>
+  <version>1.8.1</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 e2c4d5b..63937f9 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.0</version>
+  <version>1.8.1</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 3ac5b04..7809f3c 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.0</version>
+  <version>1.8.1</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 5999c53..7a7db4e 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.0</version>
+  <version>1.8.1</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 3533c1b..ca8b154 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.0</version>
+  <version>1.8.1</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 79daff9..b6eebaf 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.0</version>
+  <version>1.8.1</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 4b1ce1e..087785a 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.0</version>
+  <version>1.8.1</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 cb445ea..27625e7 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.0</version>
+  <version>1.8.1</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 211f2d5..1bbde67 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.0</version>
+  <version>1.8.1</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 783d5be..e6febcd 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.0</version>
+  <version>1.8.1</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 47f2755..b7d966c 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.0</version>
+  <version>1.8.1</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 25b7396..c6b860c 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.0</version>
+  <version>1.8.1</version>
   <license>LGPL</license>
   <source>gst-plugins-base</source>
   <package>GStreamer Base Plug-ins source release</package>
diff --git a/gst-libs/gst/audio/gstaudioringbuffer.c b/gst-libs/gst/audio/gstaudioringbuffer.c
index 246c6f6..14f3c22 100644
--- a/gst-libs/gst/audio/gstaudioringbuffer.c
+++ b/gst-libs/gst/audio/gstaudioringbuffer.c
@@ -1470,18 +1470,6 @@
   g_return_val_if_fail (buf->memory != NULL, -1);
   g_return_val_if_fail (data != NULL, -1);
 
-  /* writing stuff now, ensure running clock */
-  if (G_UNLIKELY (g_atomic_int_get (&buf->state) !=
-          GST_AUDIO_RING_BUFFER_STATE_STARTED)) {
-    /* see if we are allowed to start it */
-    if (G_UNLIKELY (g_atomic_int_get (&buf->may_start) == FALSE)) {
-      GST_DEBUG_OBJECT (buf, "not allowed to start");
-    } else {
-      GST_DEBUG_OBJECT (buf, "start!");
-      gst_audio_ring_buffer_start (buf);
-    }
-  }
-
   need_reorder = buf->need_reorder;
 
   channels = buf->spec.info.channels;
diff --git a/gst-libs/gst/audio/gstaudiosink.c b/gst-libs/gst/audio/gstaudiosink.c
index ca2ceda..a804627 100644
--- a/gst-libs/gst/audio/gstaudiosink.c
+++ b/gst-libs/gst/audio/gstaudiosink.c
@@ -232,7 +232,7 @@
   message = gst_message_new_stream_status (GST_OBJECT_CAST (buf),
       GST_STREAM_STATUS_TYPE_ENTER, GST_ELEMENT_CAST (sink));
   g_value_init (&val, GST_TYPE_G_THREAD);
-  g_value_set_boxed (&val, sink->thread);
+  g_value_set_boxed (&val, g_thread_self ());
   gst_message_set_stream_status_object (message, &val);
   g_value_unset (&val);
   GST_DEBUG_OBJECT (sink, "posting ENTER stream status");
@@ -307,7 +307,7 @@
     message = gst_message_new_stream_status (GST_OBJECT_CAST (buf),
         GST_STREAM_STATUS_TYPE_LEAVE, GST_ELEMENT_CAST (sink));
     g_value_init (&val, GST_TYPE_G_THREAD);
-    g_value_set_boxed (&val, sink->thread);
+    g_value_set_boxed (&val, g_thread_self ());
     gst_message_set_stream_status_object (message, &val);
     g_value_unset (&val);
     GST_DEBUG_OBJECT (sink, "posting LEAVE stream status");
diff --git a/gst-libs/gst/audio/gstaudiosrc.c b/gst-libs/gst/audio/gstaudiosrc.c
index 888fdf2..efd9947 100644
--- a/gst-libs/gst/audio/gstaudiosrc.c
+++ b/gst-libs/gst/audio/gstaudiosrc.c
@@ -218,7 +218,7 @@
   message = gst_message_new_stream_status (GST_OBJECT_CAST (buf),
       GST_STREAM_STATUS_TYPE_ENTER, GST_ELEMENT_CAST (src));
   g_value_init (&val, GST_TYPE_G_THREAD);
-  g_value_set_boxed (&val, src->thread);
+  g_value_set_boxed (&val, g_thread_self ());
   gst_message_set_stream_status_object (message, &val);
   g_value_unset (&val);
   GST_DEBUG_OBJECT (src, "posting ENTER stream status");
@@ -291,7 +291,7 @@
     message = gst_message_new_stream_status (GST_OBJECT_CAST (buf),
         GST_STREAM_STATUS_TYPE_LEAVE, GST_ELEMENT_CAST (src));
     g_value_init (&val, GST_TYPE_G_THREAD);
-    g_value_set_boxed (&val, src->thread);
+    g_value_set_boxed (&val, g_thread_self ());
     gst_message_set_stream_status_object (message, &val);
     g_value_unset (&val);
     GST_DEBUG_OBJECT (src, "posting LEAVE stream status");
diff --git a/gst-libs/gst/sdp/gstmikey.c b/gst-libs/gst/sdp/gstmikey.c
index 6aa3941..66da43c 100644
--- a/gst-libs/gst/sdp/gstmikey.c
+++ b/gst-libs/gst/sdp/gstmikey.c
@@ -2204,6 +2204,7 @@
   GstMapInfo info;
   GstBuffer *srtpkey;
   const GValue *val;
+  const gchar *cipher, *auth;
   const gchar *srtpcipher, *srtpauth, *srtcpcipher, *srtcpauth;
 
   g_return_val_if_fail (caps != NULL && GST_IS_CAPS (caps), NULL);
@@ -2224,12 +2225,23 @@
   srtcpcipher = gst_structure_get_string (s, "srtcp-cipher");
   srtcpauth = gst_structure_get_string (s, "srtcp-auth");
 
-  if (srtpcipher == NULL || srtpauth == NULL || srtcpcipher == NULL ||
-      srtcpauth == NULL) {
+  /* we need srtp cipher/auth or srtcp cipher/auth */
+  if ((srtpcipher == NULL || srtpauth == NULL)
+      && (srtcpcipher == NULL || srtcpauth == NULL)) {
     GST_WARNING ("could not find the right SRTP parameters in caps");
     return NULL;
   }
 
+  /* prefer srtp cipher over srtcp */
+  cipher = srtpcipher;
+  if (cipher == NULL)
+    cipher = srtcpcipher;
+
+  /* prefer srtp auth over srtcp */
+  auth = srtpauth;
+  if (auth == NULL)
+    auth = srtcpauth;
+
   msg = gst_mikey_message_new ();
   /* unencrypted MIKEY message, we send this over TLS so this is allowed */
   gst_mikey_message_set_info (msg, GST_MIKEY_VERSION, GST_MIKEY_TYPE_PSK_INIT,
@@ -2248,14 +2260,14 @@
   byte = 1;
   gst_mikey_payload_sp_add_param (payload, GST_MIKEY_SP_SRTP_ENC_ALG, 1, &byte);
   /* encryption key length */
-  byte = enc_key_length_from_cipher_name (srtpcipher);
+  byte = enc_key_length_from_cipher_name (cipher);
   gst_mikey_payload_sp_add_param (payload, GST_MIKEY_SP_SRTP_ENC_KEY_LEN, 1,
       &byte);
   /* only HMAC-SHA1 */
   gst_mikey_payload_sp_add_param (payload, GST_MIKEY_SP_SRTP_AUTH_ALG, 1,
       &byte);
   /* authentication key length */
-  byte = auth_key_length_from_auth_name (srtpauth);
+  byte = auth_key_length_from_auth_name (auth);
   gst_mikey_payload_sp_add_param (payload, GST_MIKEY_SP_SRTP_AUTH_KEY_LEN, 1,
       &byte);
   /* we enable encryption on RTP and RTCP */
@@ -2287,6 +2299,142 @@
   return NULL;
 }
 
+#define AES_128_KEY_LEN 16
+#define AES_256_KEY_LEN 32
+#define HMAC_32_KEY_LEN 4
+#define HMAC_80_KEY_LEN 10
+
+/**
+ * gst_mikey_message_to_caps:
+ * @msg: a #GstMIKEYMessage
+ * @caps: a #GstCaps to be filled with SRTP parameters (srtp/srtcp cipher, authorization, key data)
+ *
+ * Returns: %TRUE on success
+ *
+ * Since: 1.8.1
+ */
+gboolean
+gst_mikey_message_to_caps (const GstMIKEYMessage * msg, GstCaps * caps)
+{
+  gboolean res = FALSE;
+  const GstMIKEYPayload *payload;
+  const gchar *srtp_cipher;
+  const gchar *srtp_auth;
+
+  srtp_cipher = "aes-128-icm";
+  srtp_auth = "hmac-sha1-80";
+
+  /* check the Security policy if any */
+  if ((payload = gst_mikey_message_find_payload (msg, GST_MIKEY_PT_SP, 0))) {
+    GstMIKEYPayloadSP *p = (GstMIKEYPayloadSP *) payload;
+    guint len, i;
+
+    if (p->proto != GST_MIKEY_SEC_PROTO_SRTP)
+      goto done;
+
+    len = gst_mikey_payload_sp_get_n_params (payload);
+    for (i = 0; i < len; i++) {
+      const GstMIKEYPayloadSPParam *param =
+          gst_mikey_payload_sp_get_param (payload, i);
+
+      switch (param->type) {
+        case GST_MIKEY_SP_SRTP_ENC_ALG:
+          switch (param->val[0]) {
+            case 0:
+              srtp_cipher = "null";
+              break;
+            case 2:
+            case 1:
+              srtp_cipher = "aes-128-icm";
+              break;
+            default:
+              break;
+          }
+          break;
+        case GST_MIKEY_SP_SRTP_ENC_KEY_LEN:
+          switch (param->val[0]) {
+            case AES_128_KEY_LEN:
+              srtp_cipher = "aes-128-icm";
+              break;
+            case AES_256_KEY_LEN:
+              srtp_cipher = "aes-256-icm";
+              break;
+            default:
+              break;
+          }
+          break;
+        case GST_MIKEY_SP_SRTP_AUTH_ALG:
+          switch (param->val[0]) {
+            case 0:
+              srtp_auth = "null";
+              break;
+            case 2:
+            case 1:
+              srtp_auth = "hmac-sha1-80";
+              break;
+            default:
+              break;
+          }
+          break;
+        case GST_MIKEY_SP_SRTP_AUTH_KEY_LEN:
+          switch (param->val[0]) {
+            case HMAC_32_KEY_LEN:
+              srtp_auth = "hmac-sha1-32";
+              break;
+            case HMAC_80_KEY_LEN:
+              srtp_auth = "hmac-sha1-80";
+              break;
+            default:
+              break;
+          }
+          break;
+        case GST_MIKEY_SP_SRTP_SRTP_ENC:
+          break;
+        case GST_MIKEY_SP_SRTP_SRTCP_ENC:
+          break;
+        default:
+          break;
+      }
+    }
+  }
+
+  if (!(payload = gst_mikey_message_find_payload (msg, GST_MIKEY_PT_KEMAC, 0)))
+    goto done;
+  else {
+    GstMIKEYPayloadKEMAC *p = (GstMIKEYPayloadKEMAC *) payload;
+    const GstMIKEYPayload *sub;
+    GstMIKEYPayloadKeyData *pkd;
+    GstBuffer *buf;
+
+    if (p->enc_alg != GST_MIKEY_ENC_NULL || p->mac_alg != GST_MIKEY_MAC_NULL)
+      goto done;
+
+    if (!(sub = gst_mikey_payload_kemac_get_sub (payload, 0)))
+      goto done;
+
+    if (sub->type != GST_MIKEY_PT_KEY_DATA)
+      goto done;
+
+    pkd = (GstMIKEYPayloadKeyData *) sub;
+    buf =
+        gst_buffer_new_wrapped (g_memdup (pkd->key_data, pkd->key_len),
+        pkd->key_len);
+    gst_caps_set_simple (caps, "srtp-key", GST_TYPE_BUFFER, buf, NULL);
+    gst_buffer_unref (buf);
+  }
+
+  gst_caps_set_simple (caps,
+      "srtp-cipher", G_TYPE_STRING, srtp_cipher,
+      "srtp-auth", G_TYPE_STRING, srtp_auth,
+      "srtcp-cipher", G_TYPE_STRING, srtp_cipher,
+      "srtcp-auth", G_TYPE_STRING, srtp_auth, NULL);
+
+  res = TRUE;
+
+done:
+  return res;
+}
+
 /**
  * gst_mikey_message_base64_encode:
  * @msg: a #GstMIKEYMessage
diff --git a/gst-libs/gst/sdp/gstmikey.h b/gst-libs/gst/sdp/gstmikey.h
index 09ae190..88d9805 100644
--- a/gst-libs/gst/sdp/gstmikey.h
+++ b/gst-libs/gst/sdp/gstmikey.h
@@ -547,7 +547,8 @@
                                                                  GError **error);
 GBytes *                    gst_mikey_message_to_bytes          (GstMIKEYMessage *msg, GstMIKEYEncryptInfo *info,
                                                                  GError **error);
-GstMIKEYMessage *           gst_mikey_message_new_from_caps         (GstCaps *caps);
+GstMIKEYMessage *           gst_mikey_message_new_from_caps     (GstCaps *caps);
+gboolean                    gst_mikey_message_to_caps           (const GstMIKEYMessage *msg, GstCaps *caps);
 gchar *                     gst_mikey_message_base64_encode     (GstMIKEYMessage* msg);
 
 /**
@@ -665,4 +666,3 @@
 G_END_DECLS
 
 #endif /* __GST_MIKEY_H__ */
-
diff --git a/gst-libs/gst/sdp/gstsdpmessage.c b/gst-libs/gst/sdp/gstsdpmessage.c
index 9878d04..618712b 100644
--- a/gst-libs/gst/sdp/gstsdpmessage.c
+++ b/gst-libs/gst/sdp/gstsdpmessage.c
@@ -64,7 +64,6 @@
 
 #include <gst/rtp/gstrtppayloads.h>
 #include "gstsdpmessage.h"
-#include "gstmikey.h"
 
 #define FREE_STRING(field)              g_free (field); (field) = NULL
 #define REPLACE_STRING(field, val)      FREE_STRING(field); (field) = g_strdup (val)
@@ -3619,21 +3618,11 @@
   return g_strdup_printf ("prot=mikey;uri=\"%s\";data=\"%s\"", uri, base64);
 }
 
-#define AES_128_KEY_LEN 16
-#define AES_256_KEY_LEN 32
-#define HMAC_32_KEY_LEN 4
-#define HMAC_80_KEY_LEN 10
-
 static gboolean
-gst_sdp_parse_keymgmt (const gchar * keymgmt, GstCaps * caps)
+gst_sdp_parse_keymgmt (const gchar * keymgmt, GstMIKEYMessage ** mikey)
 {
-  gboolean res = FALSE;
   gsize size;
   guchar *data;
-  GstMIKEYMessage *msg;
-  const GstMIKEYPayload *payload;
-  const gchar *srtp_cipher;
-  const gchar *srtp_auth;
   gchar *orig_value;
   gchar *p, *kmpid;
 
@@ -3656,128 +3645,76 @@
   if (data == NULL)
     return FALSE;
 
-  msg = gst_mikey_message_new_from_data (data, size, NULL, NULL);
+  *mikey = gst_mikey_message_new_from_data (data, size, NULL, NULL);
   g_free (data);
-  if (msg == NULL)
-    return FALSE;
 
-  srtp_cipher = "aes-128-icm";
-  srtp_auth = "hmac-sha1-80";
+  return (*mikey != NULL);
+}
 
-  /* check the Security policy if any */
-  if ((payload = gst_mikey_message_find_payload (msg, GST_MIKEY_PT_SP, 0))) {
-    GstMIKEYPayloadSP *p = (GstMIKEYPayloadSP *) payload;
-    guint len, i;
+static GstSDPResult
+sdp_add_attributes_to_keymgmt (GArray * attributes, GstMIKEYMessage ** mikey)
+{
+  GstSDPResult res = GST_SDP_OK;
 
-    if (p->proto != GST_MIKEY_SEC_PROTO_SRTP)
-      goto done;
+  if (attributes->len > 0) {
+    guint i;
+    for (i = 0; i < attributes->len; i++) {
+      GstSDPAttribute *attr = &g_array_index (attributes, GstSDPAttribute, i);
 
-    len = gst_mikey_payload_sp_get_n_params (payload);
-    for (i = 0; i < len; i++) {
-      const GstMIKEYPayloadSPParam *param =
-          gst_mikey_payload_sp_get_param (payload, i);
-
-      switch (param->type) {
-        case GST_MIKEY_SP_SRTP_ENC_ALG:
-          switch (param->val[0]) {
-            case 0:
-              srtp_cipher = "null";
-              break;
-            case 2:
-            case 1:
-              srtp_cipher = "aes-128-icm";
-              break;
-            default:
-              break;
-          }
-          break;
-        case GST_MIKEY_SP_SRTP_ENC_KEY_LEN:
-          switch (param->val[0]) {
-            case AES_128_KEY_LEN:
-              srtp_cipher = "aes-128-icm";
-              break;
-            case AES_256_KEY_LEN:
-              srtp_cipher = "aes-256-icm";
-              break;
-            default:
-              break;
-          }
-          break;
-        case GST_MIKEY_SP_SRTP_AUTH_ALG:
-          switch (param->val[0]) {
-            case 0:
-              srtp_auth = "null";
-              break;
-            case 2:
-            case 1:
-              srtp_auth = "hmac-sha1-80";
-              break;
-            default:
-              break;
-          }
-          break;
-        case GST_MIKEY_SP_SRTP_AUTH_KEY_LEN:
-          switch (param->val[0]) {
-            case HMAC_32_KEY_LEN:
-              srtp_auth = "hmac-sha1-32";
-              break;
-            case HMAC_80_KEY_LEN:
-              srtp_auth = "hmac-sha1-80";
-              break;
-            default:
-              break;
-          }
-          break;
-        case GST_MIKEY_SP_SRTP_SRTP_ENC:
-          break;
-        case GST_MIKEY_SP_SRTP_SRTCP_ENC:
-          break;
-        default:
-          break;
+      if (g_str_equal (attr->key, "key-mgmt")) {
+        res = gst_sdp_parse_keymgmt (attr->value, mikey);
+        break;
       }
     }
   }
 
-  if (!(payload = gst_mikey_message_find_payload (msg, GST_MIKEY_PT_KEMAC, 0)))
-    goto done;
-  else {
-    GstMIKEYPayloadKEMAC *p = (GstMIKEYPayloadKEMAC *) payload;
-    const GstMIKEYPayload *sub;
-    GstMIKEYPayloadKeyData *pkd;
-    GstBuffer *buf;
-
-    if (p->enc_alg != GST_MIKEY_ENC_NULL || p->mac_alg != GST_MIKEY_MAC_NULL)
-      goto done;
-
-    if (!(sub = gst_mikey_payload_kemac_get_sub (payload, 0)))
-      goto done;
-
-    if (sub->type != GST_MIKEY_PT_KEY_DATA)
-      goto done;
-
-    pkd = (GstMIKEYPayloadKeyData *) sub;
-    buf =
-        gst_buffer_new_wrapped (g_memdup (pkd->key_data, pkd->key_len),
-        pkd->key_len);
-    gst_caps_set_simple (caps, "srtp-key", GST_TYPE_BUFFER, buf, NULL);
-    gst_buffer_unref (buf);
-  }
-
-  gst_caps_set_simple (caps,
-      "srtp-cipher", G_TYPE_STRING, srtp_cipher,
-      "srtp-auth", G_TYPE_STRING, srtp_auth,
-      "srtcp-cipher", G_TYPE_STRING, srtp_cipher,
-      "srtcp-auth", G_TYPE_STRING, srtp_auth, NULL);
-
-  res = TRUE;
-done:
-  gst_mikey_message_unref (msg);
-
   return res;
 }
 
+/**
+ * gst_sdp_message_parse_keymgmt:
+ * @msg: a #GstSDPMessage
+ * @mikey: (out) (transfer full): pointer to new #GstMIKEYMessage
+ *
+ * Creates a new #GstMIKEYMessage after parsing the key-mgmt attribute
+ * from a #GstSDPMessage.
+ *
+ * Returns: a #GstSDPResult.
+ *
+ * Since: 1.8.1
+ */
+GstSDPResult
+gst_sdp_message_parse_keymgmt (const GstSDPMessage * msg,
+    GstMIKEYMessage ** mikey)
+{
+  g_return_val_if_fail (msg != NULL, GST_SDP_EINVAL);
+
+  return sdp_add_attributes_to_keymgmt (msg->attributes, mikey);
+}
+
+/**
+ * gst_sdp_media_parse_keymgmt:
+ * @media: a #GstSDPMedia
+ * @mikey: (out) (transfer full): pointer to new #GstMIKEYMessage
+ *
+ * Creates a new #GstMIKEYMessage after parsing the key-mgmt attribute
+ * from a #GstSDPMedia.
+ *
+ * Returns: a #GstSDPResult.
+ *
+ * Since: 1.8.1
+ */
+GstSDPResult
+gst_sdp_media_parse_keymgmt (const GstSDPMedia * media,
+    GstMIKEYMessage ** mikey)
+{
+  g_return_val_if_fail (media != NULL, GST_SDP_EINVAL);
+
+  return sdp_add_attributes_to_keymgmt (media->attributes, mikey);
+}
+
 static GstSDPResult
-sdp_addtributes_to_caps (GArray * attributes, GstCaps * caps)
+sdp_add_attributes_to_caps (GArray * attributes, GstCaps * caps)
 {
   if (attributes->len > 0) {
     GstStructure *s;
@@ -3802,10 +3739,8 @@
         continue;
       if (!strcmp (key, "framesize"))
         continue;
-      if (g_str_equal (key, "key-mgmt")) {
-        gst_sdp_parse_keymgmt (attr->value, caps);
+      if (!strcmp (key, "key-mgmt"))
         continue;
-      }
 
       /* string must be valid UTF8 */
       if (!g_utf8_validate (attr->value, -1, NULL))
@@ -3839,10 +3774,21 @@
 GstSDPResult
 gst_sdp_message_attributes_to_caps (const GstSDPMessage * msg, GstCaps * caps)
 {
+  GstSDPResult res;
+  GstMIKEYMessage *mikey = NULL;
+
   g_return_val_if_fail (msg != NULL, GST_SDP_EINVAL);
   g_return_val_if_fail (caps != NULL && GST_IS_CAPS (caps), GST_SDP_EINVAL);
 
-  return sdp_addtributes_to_caps (msg->attributes, caps);
+  res = gst_sdp_message_parse_keymgmt (msg, &mikey);
+  if (mikey) {
+    res = GST_SDP_EINVAL;
+    if (gst_mikey_message_to_caps (mikey, caps))
+      res = sdp_add_attributes_to_caps (msg->attributes, caps);
+    gst_mikey_message_unref (mikey);
+  }
+
+  return res;
 }
 
 /**
@@ -3859,8 +3805,19 @@
 GstSDPResult
 gst_sdp_media_attributes_to_caps (const GstSDPMedia * media, GstCaps * caps)
 {
+  GstSDPResult res;
+  GstMIKEYMessage *mikey = NULL;
+
   g_return_val_if_fail (media != NULL, GST_SDP_EINVAL);
   g_return_val_if_fail (caps != NULL && GST_IS_CAPS (caps), GST_SDP_EINVAL);
 
-  return sdp_addtributes_to_caps (media->attributes, caps);
+  res = gst_sdp_media_parse_keymgmt (media, &mikey);
+  if (mikey) {
+    res = GST_SDP_EINVAL;
+    if (gst_mikey_message_to_caps (mikey, caps))
+      res = sdp_add_attributes_to_caps (media->attributes, caps);
+    gst_mikey_message_unref (mikey);
+  }
+
+  return res;
 }
diff --git a/gst-libs/gst/sdp/gstsdpmessage.h b/gst-libs/gst/sdp/gstsdpmessage.h
index deffb4c..15ae60a 100644
--- a/gst-libs/gst/sdp/gstsdpmessage.h
+++ b/gst-libs/gst/sdp/gstsdpmessage.h
@@ -43,6 +43,8 @@
 #ifndef __GST_SDP_MESSAGE_H__
 #define __GST_SDP_MESSAGE_H__
 
+#include "gstmikey.h"
+
 #include <glib.h>
 #include <gst/gst.h>
 #include <gst/sdp/gstsdp.h>
@@ -504,6 +506,8 @@
 GstCaps*                gst_sdp_media_get_caps_from_media   (const GstSDPMedia *media, gint pt);
 GstSDPResult            gst_sdp_media_set_media_from_caps   (const GstCaps* caps, GstSDPMedia *media);
 gchar *                 gst_sdp_make_keymgmt                (const gchar *uri, const gchar *base64);
+GstSDPResult            gst_sdp_message_parse_keymgmt       (const GstSDPMessage *msg, GstMIKEYMessage **mikey);
+GstSDPResult            gst_sdp_media_parse_keymgmt         (const GstSDPMedia *media, GstMIKEYMessage **mikey);
 GstSDPResult            gst_sdp_message_attributes_to_caps  (const GstSDPMessage *msg, GstCaps *caps);
 GstSDPResult            gst_sdp_media_attributes_to_caps    (const GstSDPMedia *media, GstCaps *caps);
 
diff --git a/gst-libs/gst/video/video-orc-dist.c b/gst-libs/gst/video/video-orc-dist.c
index 09aeca2..fa57537 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,14 @@
 _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 +24381,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 +24533,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 +24689,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 +24826,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 +24978,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 +25197,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 +25443,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 +25731,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 +25910,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 +26050,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 +26211,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 +26363,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 +26493,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 +26632,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 +26762,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 +26907,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 +27040,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 +27273,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 +27446,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 +27693,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 +28012,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 +30236,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 +30546,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 +30729,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 +30861,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 +31024,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 +31192,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 cb9052a..b2a7a8c 100644
--- a/gst-plugins-base.doap
+++ b/gst-plugins-base.doap
@@ -36,6 +36,16 @@
 
  <release>
   <Version>
+   <revision>1.8.1</revision>
+   <branch>1.8</branch>
+   <name></name>
+   <created>2016-04-20</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.8.1.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.8.0</revision>
    <branch>master</branch>
    <name></name>
diff --git a/gst-plugins-base.spec b/gst-plugins-base.spec
index ed3abba..38c31b5 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.0
+Version: 	1.8.1
 Release: 	1.gst
 Summary: 	GStreamer streaming media framework plug-ins
 
diff --git a/gst/playback/gstdecodebin2.c b/gst/playback/gstdecodebin2.c
index 84ea746..7eb89da 100644
--- a/gst/playback/gstdecodebin2.c
+++ b/gst/playback/gstdecodebin2.c
@@ -187,6 +187,7 @@
 
   GList *buffering_status;      /* element currently buffering messages */
   GMutex buffering_lock;
+  GMutex buffering_post_lock;
 };
 
 struct _GstDecodeBinClass
@@ -1113,6 +1114,7 @@
 
   g_mutex_init (&decode_bin->subtitle_lock);
   g_mutex_init (&decode_bin->buffering_lock);
+  g_mutex_init (&decode_bin->buffering_post_lock);
 
   decode_bin->encoding = g_strdup (DEFAULT_SUBTITLE_ENCODING);
   decode_bin->caps = gst_static_caps_get (&default_raw_caps);
@@ -1167,6 +1169,7 @@
   g_mutex_clear (&decode_bin->dyn_lock);
   g_mutex_clear (&decode_bin->subtitle_lock);
   g_mutex_clear (&decode_bin->buffering_lock);
+  g_mutex_clear (&decode_bin->buffering_post_lock);
   g_mutex_clear (&decode_bin->factories_lock);
 
   G_OBJECT_CLASS (parent_class)->finalize (object);
@@ -5376,6 +5379,10 @@
     BUFFERING_LOCK (dbin);
     gst_message_parse_buffering (msg, &msg_perc);
 
+    GST_DEBUG_OBJECT (dbin, "Got buffering msg %" GST_PTR_FORMAT, msg);
+
+    g_mutex_lock (&dbin->buffering_post_lock);
+
     /*
      * Single loop for 2 things:
      * 1) Look for a message with the same source
@@ -5387,6 +5394,8 @@
       if (GST_MESSAGE_SRC (bufstats) == GST_MESSAGE_SRC (msg)) {
         found = iter;
         if (msg_perc < 100) {
+          GST_DEBUG_OBJECT (dbin, "Replacing old buffering msg %"
+              GST_PTR_FORMAT, iter->data);
           gst_message_unref (iter->data);
           bufstats = iter->data = gst_message_ref (msg);
         } else {
@@ -5395,6 +5404,9 @@
           /* remove the element here and avoid confusing the loop */
           iter = g_list_next (iter);
 
+          GST_DEBUG_OBJECT (dbin, "Deleting old buffering msg %"
+              GST_PTR_FORMAT, current->data);
+
           gst_message_unref (current->data);
           dbin->buffering_status =
               g_list_delete_link (dbin->buffering_status, current);
@@ -5416,6 +5428,7 @@
         smaller_perc = msg_perc;
         smaller = msg;
       }
+      GST_DEBUG_OBJECT (dbin, "Storing buffering msg %" GST_PTR_FORMAT, msg);
       dbin->buffering_status =
           g_list_prepend (dbin->buffering_status, gst_message_ref (msg));
     }
@@ -5428,12 +5441,20 @@
       gst_message_replace (&msg, smaller);
     }
     BUFFERING_UNLOCK (dbin);
+
+    GST_DEBUG_OBJECT (dbin, "Forwarding buffering msg %" GST_PTR_FORMAT, msg);
+    GST_BIN_CLASS (parent_class)->handle_message (bin, msg);
+
+    g_mutex_unlock (&dbin->buffering_post_lock);
+    return;
   }
 
-  if (drop)
+  if (drop) {
     gst_message_unref (msg);
-  else
+  } else {
+    GST_DEBUG_OBJECT (dbin, "Forwarding msg %" GST_PTR_FORMAT, msg);
     GST_BIN_CLASS (parent_class)->handle_message (bin, msg);
+  }
 }
 
 static gboolean
diff --git a/gst/typefind/gsttypefindfunctions.c b/gst/typefind/gsttypefindfunctions.c
index e874d56..63e1de9 100644
--- a/gst/typefind/gsttypefindfunctions.c
+++ b/gst/typefind/gsttypefindfunctions.c
@@ -418,7 +418,7 @@
       return;
     }
 
-    gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, URI_CAPS);
+    gst_type_find_suggest (tf, GST_TYPE_FIND_LIKELY, URI_CAPS);
   }
 }
 
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/po/af.gmo b/po/af.gmo
index 9615b79..15c2f60 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index 3cbb466..85b129b 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 307ebb4..9c413fa 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index a2c922b..2bedee4 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 7cb82cb..d0d6c9a 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index e49e44f..c4079c6 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 700d271..8d422b4 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index ae9e2f8..82b374a 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 f53572d..c965366 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 9ef08e7..3c18ebc 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 579f7f5..1b65b75 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 645e4a0..e4174db 100644
--- a/po/da.po
+++ b/po/da.po
@@ -31,10 +31,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-base 1.7.2\n"
+"Project-Id-Version: gst-plugins-base 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-24 11:26+0200\n"
-"PO-Revision-Date: 2016-02-23 16:38+0100\n"
+"POT-Creation-Date: 2016-04-20 15:29+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"
 "Language: da\n"
@@ -600,13 +600,13 @@
 msgstr "afslut"
 
 msgid "> or n"
-msgstr ""
+msgstr "> eller n"
 
 msgid "play next"
 msgstr "afspil næste"
 
 msgid "< or b"
-msgstr ""
+msgstr "< eller b"
 
 msgid "play previous"
 msgstr "afspil forrige"
diff --git a/po/de.gmo b/po/de.gmo
index 2e35bc4..a8ccb67 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index b13c428..754c1e9 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 792cd2b..740f180 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index 67096fc..80af8de 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 a7eff6c..1cf2778 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 576b96a..c84e773 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 7c92526..5423d61 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index dbdc6f1..55e9367 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 d153d1f..abdd774 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index a17af4c..4247a1f 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 bd53086..1487c93 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index c7c966e..654fd78 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 18360c6..61dd99a 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index 7e85257..516cbdb 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 3836cdc..734e05b 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index 7d58afc..01c1bae 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 e8d1531..e7e2f49 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index b7aa18a..62ea1f8 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 edf149c..d20c9a6 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.0\n"
+"Project-Id-Version: gst-plugins-base 1.8.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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"
@@ -101,11 +101,11 @@
 msgid "Missing element '%s' - check your GStreamer installation."
 msgstr ""
 
-#: gst/playback/gstdecodebin2.c:1880
+#: gst/playback/gstdecodebin2.c:1883
 msgid "Could not determine type of stream"
 msgstr ""
 
-#: gst/playback/gstdecodebin2.c:2836
+#: gst/playback/gstdecodebin2.c:2839
 msgid "This appears to be a text file"
 msgstr ""
 
diff --git a/po/hr.gmo b/po/hr.gmo
index b3584bb..64ffaba 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index 1cf9f9b..2bc4fa5 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -6,7 +6,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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+0300\n"
 "PO-Revision-Date: 2012-04-16 04:19+0200\n"
 "Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n"
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
diff --git a/po/hu.gmo b/po/hu.gmo
index d3f693e..a50cedd 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 015b909..36003a1 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 73e01bb..bf7b7a2 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index 1200264..49321a0 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 a314b3d..f1fa972 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index c0b163a..456ddc7 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 f900d09..7194fdd 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 52ca9b2..938e3df 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 7d34147..c4d6ec7 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index 5991b56..e5780a5 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 fe29d36..0852eea 100644
--- a/po/lv.gmo
+++ b/po/lv.gmo
Binary files differ
diff --git a/po/lv.po b/po/lv.po
index 314cc73..b503542 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 92bfcc7..d7aa3d9 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index 03f309b..e9b320a 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 01650d5..3076534 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 9ea0e67..c063fe6 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 38e50c9..0c2e366 100644
--- a/po/or.gmo
+++ b/po/or.gmo
Binary files differ
diff --git a/po/or.po b/po/or.po
index 966b9cb..c37dbd2 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 67f3d9d..acde62b 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 650c283..05cba67 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 1646eff..a50df54 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 fde34a0..ef9e73a 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -11,7 +11,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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+0300\n"
 "PO-Revision-Date: 2015-12-28 18:04-0200\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 b34fdc6..81e9c6a 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index 2135862..f62a4ce 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 a0d6cc1..36f2769 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index 34c105c..a65a39b 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 00b974d..1c3f574 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index 892631d..d0b3c64 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -6,7 +6,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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+0300\n"
 "PO-Revision-Date: 2014-01-30 10:57+0100\n"
 "Last-Translator: Peter Tuharsky <tuharsky@misbb.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
diff --git a/po/sl.gmo b/po/sl.gmo
index 2d705a4..fd32f84 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index 753f52e..0e6925c 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 f569c87..5657516 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index 1d21939..1da2d1e 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 b752832..bf4bfdd 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index b803e35..4642063 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 301a2f2..5bee88f 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 1bdc545..34143dc 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 769a2ac..fd74e89 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index c7d8019..e5e3f03 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 18589f9..f72b598 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index d2ff4c1..ba2c11a 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 b652a27..8a38ba3 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 0459390..6d8ffaa 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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 e5e3221..532ef7a 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 97b09e8..3526bfd 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-03-24 11:26+0200\n"
+"POT-Creation-Date: 2016-04-20 15:29+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/win32/common/_stdint.h b/win32/common/_stdint.h
index d8a4eeb..e3135a5 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.0"
-/* generated using gnu compiler gcc-6 (Debian 6-20160313-1) 6.0.0 20160313 (experimental) [trunk revision 234167] */
+#define _GENERATED_STDINT_H "gst-plugins-base 1.8.1"
+/* generated using gnu compiler gcc (Debian 5.3.1-14) 5.3.1 20160409 */
 #define _STDINT_HAVE_STDINT_H 1
 #include <stdint.h>
 #endif
diff --git a/win32/common/config.h b/win32/common/config.h
index d005f29..693ff40 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-03-24"
+#define GST_PACKAGE_RELEASE_DATETIME "2016-04-20"
 
 /* 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.0"
+#define PACKAGE_STRING "GStreamer Base Plug-ins 1.8.1"
 
 /* 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.0"
+#define PACKAGE_VERSION "1.8.1"
 
 /* directory where plugins are located */
 #ifdef _DEBUG
@@ -382,7 +382,7 @@
 #undef USE_TREMOLO
 
 /* Version number of package */
-#define VERSION "1.8.0"
+#define VERSION "1.8.1"
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
diff --git a/win32/common/libgstsdp.def b/win32/common/libgstsdp.def
index 2c31ff7..ede7403 100644
--- a/win32/common/libgstsdp.def
+++ b/win32/common/libgstsdp.def
@@ -25,6 +25,7 @@
 	gst_mikey_message_replace_payload
 	gst_mikey_message_set_info
 	gst_mikey_message_to_bytes
+	gst_mikey_message_to_caps
 	gst_mikey_payload_get_type
 	gst_mikey_payload_kemac_add_sub
 	gst_mikey_payload_kemac_get_n_sub
@@ -83,6 +84,7 @@
 	gst_sdp_media_insert_connection
 	gst_sdp_media_insert_format
 	gst_sdp_media_new
+	gst_sdp_media_parse_keymgmt
 	gst_sdp_media_remove_attribute
 	gst_sdp_media_remove_bandwidth
 	gst_sdp_media_remove_connection
@@ -141,6 +143,7 @@
 	gst_sdp_message_medias_len
 	gst_sdp_message_new
 	gst_sdp_message_parse_buffer
+	gst_sdp_message_parse_keymgmt
 	gst_sdp_message_parse_uri
 	gst_sdp_message_phones_len
 	gst_sdp_message_remove_attribute