diff --git a/ChangeLog b/ChangeLog
index d55a1ba..2941958 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,122 @@
-=== release 1.7.90 ===
+=== release 1.7.91 ===
 
-2016-03-01  Sebastian Dröge <slomo@coaxion.net>
+2016-03-15  Sebastian Dröge <slomo@coaxion.net>
 
 	* configure.ac:
-	  releasing 1.7.90
+	  releasing 1.7.91
+
+2016-03-15 11:39:42 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* po/cs.po:
+	* po/fr.po:
+	* po/hu.po:
+	* po/ru.po:
+	* po/sr.po:
+	* po/sv.po:
+	* po/uk.po:
+	* po/vi.po:
+	* po/zh_CN.po:
+	  po: Update translations
+
+2016-03-11 14:17:13 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gsttypefindelement.c:
+	  typefind: Store caps on the pad before emitting have-type but send it downstream only in the default signal handler
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763491
+
+2016-03-13 10:33:53 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: Recheck after pre_push_frame() if there are tags pending
+	  Many parsers are storing tags only in pre_push_frame(), if we wouldn't check
+	  afterwards we would push buffers before those tags and a lot of code assumes that
+	  tags are available before preroll.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763553
+
+2016-03-14 11:15:07 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+	* plugins/elements/gstconcat.c:
+	  concat: Fix comment typo
+
+2016-03-12 12:56:28 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gsttypefindelement.c:
+	  Revert "typefind: Store caps on the pad before emitting have-type but send it downstream only in the default signal handler"
+	  This reverts commit 0835c3d6569dde0ec9e5524436367c7678cc4a4a.
+	  It causes deadlocks in decodebin, which currently would deadlock if the caps
+	  are already on the pad in have-type and are forwarded while copying the sticky
+	  events (while holding the decodebin lock)... as that might cause the next
+	  element to expose pads, which then calls back into decodebin and takes the
+	  decodebin lock.
+	  This needs some more thoughts.
+
+2016-03-11 14:17:13 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* plugins/elements/gsttypefindelement.c:
+	  typefind: Store caps on the pad before emitting have-type but send it downstream only in the default signal handler
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763491
+
+2016-03-10 10:35:40 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+	* gst/gstelement.h:
+	* gst/gstobject.h:
+	  docs: Flesh out element and object macro accessor docs a bit
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763213
+
+2016-03-09 16:06:58 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/net/gstnetclientclock.c:
+	  netclientclock: Remove some obsolete code that can cause warnings
+
+2016-03-09 13:44:24 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* libs/gst/net/gstnetclientclock.c:
+	  netclientclock: Don't reset calibration of internal clock whenever a new netclient clock is created
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763325
+
+2016-03-04 18:23:18 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* gst/gstbuffer.h:
+	* tests/check/gst/gstbuffer.c:
+	  gstbuffer: fix GstParentBufferMeta GType name
+	  The alias define GST_TYPE_PARENT_BUFFER_META_API_TYPE is wrong and
+	  breaks the usage of gst_buffer_get_parent_buffer_meta().
+	  This patch fixes the GType alias and make another alias to keep the API
+	  compatibility guarded by GST_DISABLE_DEPRECATED.
+	  Also added a unit test.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=763112
+
+2016-03-02 10:37:09 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gsttracerrecord.c:
+	  tracerrecord: Remove useless NULL check and add assertion for making assumptions explicit
+	  gst_structure_new_empty() is not returning NULL in any valid scenarios,
+	  checking for NULL here is useless. Especially because we would dereference any
+	  NULL right after the NULL check again.
+	  CID 1352037.
+	  We previously check if the string ends on .class, as such strrchr() should
+	  return something non-NULL. Add an assertion for that.
+	  CID 1349642.
+
+2016-03-01 19:50:26 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gstelement.c:
+	  element: minor docs fix
+	  Make gtk-doc happy.
+
+=== release 1.7.90 ===
+
+2016-03-01 18:14:03 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ChangeLog:
+	* NEWS:
+	* RELEASE:
+	* configure.ac:
+	* docs/plugins/inspect/plugin-coreelements.xml:
+	* gstreamer.doap:
+	* win32/common/config.h:
+	* win32/common/gstversion.h:
+	  Release 1.7.90
 
 2016-03-01 16:52:41 +0200  Sebastian Dröge <sebastian@centricular.com>
 
diff --git a/NEWS b/NEWS
index 8f11fc4..dec122b 100644
--- a/NEWS
+++ b/NEWS
@@ -1,2 +1,2 @@
-This is GStreamer 1.7.90
+This is GStreamer 1.7.91
 
diff --git a/RELEASE b/RELEASE
index e185387..35d8494 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,7 +1,7 @@
 
-Release notes for GStreamer 1.7.90
+Release notes for GStreamer 1.7.91
 
-The GStreamer team is pleased to announce the first release candidate of the stable
+The GStreamer team is pleased to announce the second release candidate of the 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.
@@ -34,15 +34,11 @@
 
 Bugs fixed in this release
      
-      * 728326 : Check for return values of gst_buffer_map and gst_memory_map
-      * 759539 : Stopping a stream with AAC very soon after starting crashes
-      * 760979 : tracers: Allow adding tracers programatically without defining environment variables
-      * 762450 : tags: add GST_TAG_CONDUCTOR
-      * 762702 : gst_bus_add_watch will SEGV when process reaches fd limit
-      * 762778 : API: add gst_element_class_add_static_pad_template()
-      * 762792 : amcvideodec: Can't render to Surface if the color format is not supported
-      * 762845 : tests: ghostpad: Fix memory leak
-      * 762849 : bus: GSource can access GPollFD after the bus was destroyed
+      * 763112 : gstbuffer: fix GstParentBufferMeta GType name
+      * 763213 : Add documentation about _NAME macros vs. _get_name functions
+      * 763325 : Multiple netclocks do not work anymore
+      * 763491 : typefind: behavior has changed on have-type signal, sets pad caps after signal handlers
+      * 763553 : baseparse: Not pushing tags before PREROLL
 
 ==== Download ====
 
@@ -79,15 +75,8 @@
         
 Contributors to this release
     
-      * Adam Miartus
-      * Edward Hervey
-      * George Yunaev
-      * James Stevenson
-      * Mark Nauwelaerts
-      * Nirbheek Chauhan
+      * Carlos Rafael Giani
       * Sebastian Dröge
-      * Thiago Santos
-      * Thibault Saunier
       * Tim-Philipp Müller
-      * Vineeth TM
+      * Víctor Manuel Jáquez Leal
  
\ No newline at end of file
diff --git a/configure b/configure
index d1f04cc..e7e645e 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GStreamer 1.7.90.
+# Generated by GNU Autoconf 2.69 for GStreamer 1.7.91.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
 #
@@ -591,8 +591,8 @@
 # Identity of this package.
 PACKAGE_NAME='GStreamer'
 PACKAGE_TARNAME='gstreamer'
-PACKAGE_VERSION='1.7.90'
-PACKAGE_STRING='GStreamer 1.7.90'
+PACKAGE_VERSION='1.7.91'
+PACKAGE_STRING='GStreamer 1.7.91'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
 PACKAGE_URL=''
 
@@ -1702,7 +1702,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures GStreamer 1.7.90 to adapt to many kinds of systems.
+\`configure' configures GStreamer 1.7.91 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1774,7 +1774,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GStreamer 1.7.90:";;
+     short | recursive ) echo "Configuration of GStreamer 1.7.91:";;
    esac
   cat <<\_ACEOF
 
@@ -1982,7 +1982,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GStreamer configure 1.7.90
+GStreamer configure 1.7.91
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2841,7 +2841,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by GStreamer $as_me 1.7.90, which was
+It was created by GStreamer $as_me 1.7.91, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3822,7 +3822,7 @@
 
 # Define the identity of the package.
  PACKAGE='gstreamer'
- VERSION='1.7.90'
+ VERSION='1.7.91'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4033,9 +4033,9 @@
 
 
 
-  PACKAGE_VERSION_MAJOR=$(echo 1.7.90 | cut -d'.' -f1)
-  PACKAGE_VERSION_MINOR=$(echo 1.7.90 | cut -d'.' -f2)
-  PACKAGE_VERSION_MICRO=$(echo 1.7.90 | cut -d'.' -f3)
+  PACKAGE_VERSION_MAJOR=$(echo 1.7.91 | cut -d'.' -f1)
+  PACKAGE_VERSION_MINOR=$(echo 1.7.91 | cut -d'.' -f2)
+  PACKAGE_VERSION_MICRO=$(echo 1.7.91 | cut -d'.' -f3)
 
 
 
@@ -4046,7 +4046,7 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
 $as_echo_n "checking nano version... " >&6; }
 
-  NANO=$(echo 1.7.90 | cut -d'.' -f4)
+  NANO=$(echo 1.7.91 | cut -d'.' -f4)
 
   if test x"$NANO" = x || test "x$NANO" = "x0" ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -8889,10 +8889,10 @@
 done
 
 
-  GST_CURRENT=790
+  GST_CURRENT=791
   GST_REVISION=0
-  GST_AGE=790
-  GST_LIBVERSION=790:0:790
+  GST_AGE=791
+  GST_LIBVERSION=791:0:791
 
 
 
@@ -29500,7 +29500,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by GStreamer $as_me 1.7.90, which was
+This file was extended by GStreamer $as_me 1.7.91, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -29566,7 +29566,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-GStreamer config.status 1.7.90
+GStreamer config.status 1.7.91
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 82da0ee..c356917 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,7 +4,7 @@
 dnl when going to/from release please set the nano (fourth number) right !
 dnl releases only do Wall, git and prerelease does Werror too
 dnl
-AC_INIT([GStreamer],[1.7.90],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer])
+AC_INIT([GStreamer],[1.7.91],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer])
 AG_GST_INIT
 
 dnl initialize automake (we require GNU make)
@@ -62,7 +62,7 @@
 dnl      1.10.9 (who knows) => 1009
 dnl
 dnl sets GST_LT_LDFLAGS
-AS_LIBTOOL(GST, 790, 0, 790)
+AS_LIBTOOL(GST, 791, 0, 791)
 
 dnl *** autotools stuff ****
 
diff --git a/docs/gst/html/GstElement.html b/docs/gst/html/GstElement.html
index ce57127..7ab33b1 100644
--- a/docs/gst/html/GstElement.html
+++ b/docs/gst/html/GstElement.html
@@ -1136,8 +1136,9 @@
 <a name="GST-ELEMENT-NAME:CAPS"></a><h3>GST_ELEMENT_NAME()</h3>
 <pre class="programlisting">#define GST_ELEMENT_NAME(elem)                  (GST_OBJECT_NAME(elem))
 </pre>
-<p>Gets the name of this element. Use only in core as this is not
-ABI-compatible. Others use <a class="link" href="GstElement.html#gst-element-get-name" title="gst_element_get_name()"><code class="function">gst_element_get_name()</code></a></p>
+<p>Gets the name of this element. This is not thread-safe by default
+(i.e. you will have to make sure the object lock is taken yourself).
+If in doubt use <a class="link" href="GstElement.html#gst-element-get-name" title="gst_element_get_name()"><code class="function">gst_element_get_name()</code></a> instead.</p>
 <div class="refsect3">
 <a name="id-1.3.21.10.13.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1159,7 +1160,9 @@
 <a name="GST-ELEMENT-PARENT:CAPS"></a><h3>GST_ELEMENT_PARENT()</h3>
 <pre class="programlisting">#define GST_ELEMENT_PARENT(elem)                (GST_ELEMENT_CAST(GST_OBJECT_PARENT(elem)))
 </pre>
-<p>Get the parent object of this element.</p>
+<p>Get the parent object of this element. This is not thread-safe by default
+(i.e. you will have to make sure the object lock is taken yourself).
+If in doubt use <a class="link" href="GstObject.html#gst-object-get-parent" title="gst_object_get_parent ()"><code class="function">gst_object_get_parent()</code></a> instead.</p>
 <div class="refsect3">
 <a name="id-1.3.21.10.14.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1181,7 +1184,9 @@
 <a name="GST-ELEMENT-BUS:CAPS"></a><h3>GST_ELEMENT_BUS()</h3>
 <pre class="programlisting">#define GST_ELEMENT_BUS(elem)                   (GST_ELEMENT_CAST(elem)-&gt;bus)
 </pre>
-<p>Get the message bus of this element.</p>
+<p>Get the message bus of this element. This is not thread-safe by default
+(i.e. you will have to make sure the object lock is taken yourself).
+If in doubt use <a class="link" href="GstElement.html#gst-element-get-bus" title="gst_element_get_bus ()"><code class="function">gst_element_get_bus()</code></a> instead.</p>
 <div class="refsect3">
 <a name="id-1.3.21.10.15.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1203,7 +1208,9 @@
 <a name="GST-ELEMENT-CLOCK:CAPS"></a><h3>GST_ELEMENT_CLOCK()</h3>
 <pre class="programlisting">#define GST_ELEMENT_CLOCK(elem)                 (GST_ELEMENT_CAST(elem)-&gt;clock)
 </pre>
-<p>Get the clock of this element</p>
+<p>Get the clock of this element.This is not thread-safe by default
+(i.e. you will have to make sure it is safe yourself).
+If in doubt use <a class="link" href="GstElement.html#gst-element-get-clock" title="gst_element_get_clock ()"><code class="function">gst_element_get_clock()</code></a> instead.</p>
 <div class="refsect3">
 <a name="id-1.3.21.10.16.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1490,7 +1497,7 @@
 <td class="parameter_annotations"> </td>
 </tr>
 <tr>
-<td class="parameter_name"><p>templ</p></td>
+<td class="parameter_name"><p>static_templ</p></td>
 <td class="parameter_description"><p><a class="link" href="GstPadTemplate.html#GstStaticPadTemplate" title="struct GstStaticPadTemplate"><span class="type">GstStaticPadTemplate</span></a> to add as pad template to the element class.</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
diff --git a/docs/gst/html/GstObject.html b/docs/gst/html/GstObject.html
index 0323f46..694cd1b 100644
--- a/docs/gst/html/GstObject.html
+++ b/docs/gst/html/GstObject.html
@@ -620,7 +620,9 @@
 <a name="GST-OBJECT-NAME:CAPS"></a><h3>GST_OBJECT_NAME()</h3>
 <pre class="programlisting">#define GST_OBJECT_NAME(obj)            (GST_OBJECT_CAST(obj)-&gt;name)
 </pre>
-<p>Get the name of this object</p>
+<p>Get the name of this object. This is not thread-safe by default
+(i.e. you will have to make sure the object lock is taken yourself).
+If in doubt use <a class="link" href="GstObject.html#gst-object-get-name" title="gst_object_get_name ()"><code class="function">gst_object_get_name()</code></a> instead.</p>
 <div class="refsect3">
 <a name="id-1.3.32.10.6.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -642,7 +644,9 @@
 <a name="GST-OBJECT-PARENT:CAPS"></a><h3>GST_OBJECT_PARENT()</h3>
 <pre class="programlisting">#define GST_OBJECT_PARENT(obj)          (GST_OBJECT_CAST(obj)-&gt;parent)
 </pre>
-<p>Get the parent of this object</p>
+<p>Get the parent of this object. This is not thread-safe by default
+(i.e. you will have to make sure the object lock is taken yourself).
+If in doubt use <a class="link" href="GstObject.html#gst-object-get-parent" title="gst_object_get_parent ()"><code class="function">gst_object_get_parent()</code></a> instead.</p>
 <div class="refsect3">
 <a name="id-1.3.32.10.7.5"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
diff --git a/docs/gst/html/gstreamer-GstVersion.html b/docs/gst/html/gstreamer-GstVersion.html
index 5ac08b1..23c5378 100644
--- a/docs/gst/html/gstreamer-GstVersion.html
+++ b/docs/gst/html/gstreamer-GstVersion.html
@@ -98,7 +98,7 @@
 <hr>
 <div class="refsect2">
 <a name="GST-VERSION-MICRO:CAPS"></a><h3>GST_VERSION_MICRO</h3>
-<pre class="programlisting">#define GST_VERSION_MICRO (90)
+<pre class="programlisting">#define GST_VERSION_MICRO (91)
 </pre>
 <p>The micro version of GStreamer at compile time:</p>
 </div>
diff --git a/docs/gst/html/index.html b/docs/gst/html/index.html
index 8f1007b..9b02edc 100644
--- a/docs/gst/html/index.html
+++ b/docs/gst/html/index.html
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer 1.0 Core Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GStreamer Core 1.0 (1.7.90)
+      for GStreamer Core 1.0 (1.7.91)
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/</a>.
     </p></div>
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
index dd96b36..1507c8b 100644
--- a/docs/libs/html/index.html
+++ b/docs/libs/html/index.html
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer 1.0 Library Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GStreamer Library 1.0 (1.7.90)
+      for GStreamer Library 1.0 (1.7.91)
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/</a>.
     </p></div>
diff --git a/docs/plugins/html/gstreamer-plugins-concat.html b/docs/plugins/html/gstreamer-plugins-concat.html
index 60f6b01..dff7d75 100644
--- a/docs/plugins/html/gstreamer-plugins-concat.html
+++ b/docs/plugins/html/gstreamer-plugins-concat.html
@@ -90,7 +90,7 @@
 the segment transitions between streams are continuous. In some cases,
 it may be desirable to turn off these adjustments (for example, because
 another downstream element like a streamsynchronizer adjusts the base
-values on its own). The adjust-value property can be used for this purpose.</p>
+values on its own). The adjust-base property can be used for this purpose.</p>
 <div class="refsect2">
 <a name="id-1.2.3.7.6"></a><h3>Example launch line</h3>
 <div class="informalexample">
diff --git a/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html b/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
index d126bb6..3c5e5c8 100644
--- a/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
+++ b/docs/plugins/html/gstreamer-plugins-plugin-coreelements.html
@@ -41,7 +41,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.7.90</td>
+<td>1.7.91</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 c1949b1..085b0f5 100644
--- a/docs/plugins/html/index.html
+++ b/docs/plugins/html/index.html
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer Core Plugins 1.0 Plugins Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GStreamer Core Plugins 1.0 (1.7.90)
+      for GStreamer Core Plugins 1.0 (1.7.91)
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/</a>.
     </p></div>
diff --git a/docs/plugins/inspect/plugin-coreelements.xml b/docs/plugins/inspect/plugin-coreelements.xml
index c0845e3..d04f6c0 100644
--- a/docs/plugins/inspect/plugin-coreelements.xml
+++ b/docs/plugins/inspect/plugin-coreelements.xml
@@ -3,7 +3,7 @@
   <description>GStreamer core elements</description>
   <filename>../../plugins/elements/.libs/libgstcoreelements.so</filename>
   <basename>libgstcoreelements.so</basename>
-  <version>1.7.90</version>
+  <version>1.7.91</version>
   <license>LGPL</license>
   <source>gstreamer</source>
   <package>GStreamer source release</package>
diff --git a/docs/plugins/inspect/plugin-coretracers.xml b/docs/plugins/inspect/plugin-coretracers.xml
index d9c7d92..5350644 100644
--- a/docs/plugins/inspect/plugin-coretracers.xml
+++ b/docs/plugins/inspect/plugin-coretracers.xml
@@ -3,7 +3,7 @@
   <description>GStreamer core tracers</description>
   <filename>../../plugins/tracers/.libs/libgstcoretracers.so</filename>
   <basename>libgstcoretracers.so</basename>
-  <version>1.7.90</version>
+  <version>1.7.91</version>
   <license>LGPL</license>
   <source>gstreamer</source>
   <package>GStreamer source release</package>
diff --git a/gst/gstbuffer.h b/gst/gstbuffer.h
index da9a033..4d72471 100644
--- a/gst/gstbuffer.h
+++ b/gst/gstbuffer.h
@@ -597,7 +597,10 @@
 };
 
 GType gst_parent_buffer_meta_api_get_type (void);
-#define GST_TYPE_PARENT_BUFFER_META_API_TYPE (gst_parent_buffer_meta_api_get_type())
+#ifndef GST_DISABLE_DEPRECATED
+#define GST_TYPE_PARENT_BUFFER_META_API_TYPE GST_PARENT_BUFFER_META_API_TYPE
+#endif
+#define GST_PARENT_BUFFER_META_API_TYPE (gst_parent_buffer_meta_api_get_type())
 
 /**
  * gst_buffer_get_parent_buffer_meta:
diff --git a/gst/gstelement.c b/gst/gstelement.c
index cfac92f..60b4425 100644
--- a/gst/gstelement.c
+++ b/gst/gstelement.c
@@ -1232,7 +1232,7 @@
 /**
  * gst_element_class_add_static_pad_template:
  * @klass: the #GstElementClass to add the pad template to.
- * @templ: #GstStaticPadTemplate to add as pad template to the element class.
+ * @static_templ: #GstStaticPadTemplate to add as pad template to the element class.
  *
  * Adds a pad template to an element class based on the static pad template
  * @templ. This is mainly used in the _class_init functions of element
diff --git a/gst/gstelement.h b/gst/gstelement.h
index c3d1cbd..f4bed31 100644
--- a/gst/gstelement.h
+++ b/gst/gstelement.h
@@ -346,8 +346,9 @@
  * GST_ELEMENT_NAME:
  * @elem: A #GstElement to query
  *
- * Gets the name of this element. Use only in core as this is not
- * ABI-compatible. Others use gst_element_get_name()
+ * Gets the name of this element. This is not thread-safe by default
+ * (i.e. you will have to make sure the object lock is taken yourself).
+ * If in doubt use gst_element_get_name() instead.
  */
 #define GST_ELEMENT_NAME(elem)                  (GST_OBJECT_NAME(elem))
 
@@ -355,7 +356,9 @@
  * GST_ELEMENT_PARENT:
  * @elem: A #GstElement to query
  *
- * Get the parent object of this element.
+ * Get the parent object of this element. This is not thread-safe by default
+ * (i.e. you will have to make sure the object lock is taken yourself).
+ * If in doubt use gst_object_get_parent() instead.
  */
 #define GST_ELEMENT_PARENT(elem)                (GST_ELEMENT_CAST(GST_OBJECT_PARENT(elem)))
 
@@ -363,7 +366,9 @@
  * GST_ELEMENT_BUS:
  * @elem: A #GstElement to query
  *
- * Get the message bus of this element.
+ * Get the message bus of this element. This is not thread-safe by default
+ * (i.e. you will have to make sure the object lock is taken yourself).
+ * If in doubt use gst_element_get_bus() instead.
  */
 #define GST_ELEMENT_BUS(elem)                   (GST_ELEMENT_CAST(elem)->bus)
 
@@ -371,7 +376,9 @@
  * GST_ELEMENT_CLOCK:
  * @elem: A #GstElement to query
  *
- * Get the clock of this element
+ * Get the clock of this element.This is not thread-safe by default
+ * (i.e. you will have to make sure it is safe yourself).
+ * If in doubt use gst_element_get_clock() instead.
  */
 #define GST_ELEMENT_CLOCK(elem)                 (GST_ELEMENT_CAST(elem)->clock)
 
diff --git a/gst/gstobject.h b/gst/gstobject.h
index f5b9b36..ad033e8 100644
--- a/gst/gstobject.h
+++ b/gst/gstobject.h
@@ -105,14 +105,18 @@
  * GST_OBJECT_NAME:
  * @obj: a #GstObject
  *
- * Get the name of this object
+ * Get the name of this object. This is not thread-safe by default
+ * (i.e. you will have to make sure the object lock is taken yourself).
+ * If in doubt use gst_object_get_name() instead.
  */
 #define GST_OBJECT_NAME(obj)            (GST_OBJECT_CAST(obj)->name)
 /**
  * GST_OBJECT_PARENT:
  * @obj: a #GstObject
  *
- * Get the parent of this object
+ * Get the parent of this object. This is not thread-safe by default
+ * (i.e. you will have to make sure the object lock is taken yourself).
+ * If in doubt use gst_object_get_parent() instead.
  */
 #define GST_OBJECT_PARENT(obj)          (GST_OBJECT_CAST(obj)->parent)
 
diff --git a/gst/gsttracerrecord.c b/gst/gsttracerrecord.c
index 9a99e23..022f169 100644
--- a/gst/gsttracerrecord.c
+++ b/gst/gsttracerrecord.c
@@ -112,6 +112,7 @@
   /* cut off '.class' suffix */
   name = g_strdup (name);
   p = strrchr (name, '.');
+  g_assert (p != NULL);
   *p = '\0';
 
   s = g_string_sized_new (STRUCTURE_ESTIMATED_STRING_LEN (structure));
@@ -186,37 +187,35 @@
   GstTracerRecord *self;
   GstStructure *structure;
   va_list varargs;
+  gchar *err = NULL;
+  GType type;
+  GQuark id;
 
   va_start (varargs, firstfield);
   structure = gst_structure_new_empty (name);
-  if (structure) {
-    gchar *err = NULL;
-    GType type;
-    GQuark id;
 
-    while (firstfield) {
-      GValue val = { 0, };
+  while (firstfield) {
+    GValue val = { 0, };
 
-      id = g_quark_from_string (firstfield);
-      type = va_arg (varargs, GType);
+    id = g_quark_from_string (firstfield);
+    type = va_arg (varargs, GType);
 
-      /* all fields passed here must be GstStructures which we take over */
-      if (type != GST_TYPE_STRUCTURE) {
-        GST_WARNING ("expected field of type GstStructure, but %s is %s",
-            firstfield, g_type_name (type));
-      }
-
-      G_VALUE_COLLECT_INIT (&val, type, varargs, G_VALUE_NOCOPY_CONTENTS, &err);
-      if (G_UNLIKELY (err)) {
-        g_critical ("%s", err);
-        break;
-      }
-      /* see boxed_proxy_collect_value */
-      val.data[1].v_uint &= ~G_VALUE_NOCOPY_CONTENTS;
-      gst_structure_id_take_value (structure, id, &val);
-
-      firstfield = va_arg (varargs, gchar *);
+    /* all fields passed here must be GstStructures which we take over */
+    if (type != GST_TYPE_STRUCTURE) {
+      GST_WARNING ("expected field of type GstStructure, but %s is %s",
+          firstfield, g_type_name (type));
     }
+
+    G_VALUE_COLLECT_INIT (&val, type, varargs, G_VALUE_NOCOPY_CONTENTS, &err);
+    if (G_UNLIKELY (err)) {
+      g_critical ("%s", err);
+      break;
+    }
+    /* see boxed_proxy_collect_value */
+    val.data[1].v_uint &= ~G_VALUE_NOCOPY_CONTENTS;
+    gst_structure_id_take_value (structure, id, &val);
+
+    firstfield = va_arg (varargs, gchar *);
   }
   va_end (varargs);
 
diff --git a/gstreamer.doap b/gstreamer.doap
index 5e8b858..944bdf4 100644
--- a/gstreamer.doap
+++ b/gstreamer.doap
@@ -40,6 +40,16 @@
 
  <release>
   <Version>
+   <revision>1.7.91</revision>
+   <branch>master</branch>
+   <name></name>
+   <created>2016-03-15</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.7.91.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.7.90</revision>
    <branch>master</branch>
    <name></name>
diff --git a/gstreamer.spec b/gstreamer.spec
index 9838b6c..7f26bdd 100644
--- a/gstreamer.spec
+++ b/gstreamer.spec
@@ -4,7 +4,7 @@
 %define 	_glib2		2.40.0
 
 Name: 		%{gstreamer}
-Version: 	1.7.90
+Version: 	1.7.91
 Release: 	1
 Summary: 	GStreamer streaming media framework runtime
 
diff --git a/libs/gst/base/gstbaseparse.c b/libs/gst/base/gstbaseparse.c
index fd0a4ee..2defab9 100644
--- a/libs/gst/base/gstbaseparse.c
+++ b/libs/gst/base/gstbaseparse.c
@@ -2449,6 +2449,14 @@
     frame->flags |= GST_BASE_PARSE_FRAME_FLAG_CLIP;
   }
 
+  /* Push pending events, if there are any new ones
+   * like tags added by pre_push_frame */
+  if (parse->priv->tags_changed) {
+    gst_base_parse_queue_tag_event_update (parse);
+    parse->priv->tags_changed = FALSE;
+  }
+  gst_base_parse_push_pending_events (parse);
+
   /* take final ownership of frame buffer */
   if (frame->out_buffer) {
     buffer = frame->out_buffer;
diff --git a/libs/gst/net/gstnetclientclock.c b/libs/gst/net/gstnetclientclock.c
index eaae6e4..6c8236b 100644
--- a/libs/gst/net/gstnetclientclock.c
+++ b/libs/gst/net/gstnetclientclock.c
@@ -957,7 +957,7 @@
   GstClockTime roundtrip_limit;
   GstClockTime minimum_update_interval;
 
-  GstClockTime base_time;
+  GstClockTime base_time, internal_base_time;
 
   gchar *address;
   gint port;
@@ -1055,6 +1055,7 @@
 gst_net_client_clock_init (GstNetClientClock * self)
 {
   GstNetClientClockPrivate *priv;
+  GstClock *clock;
 
   self->priv = priv = GST_NET_CLIENT_CLOCK_GET_PRIVATE (self);
 
@@ -1066,7 +1067,11 @@
 
   priv->roundtrip_limit = DEFAULT_ROUNDTRIP_LIMIT;
   priv->minimum_update_interval = DEFAULT_MINIMUM_UPDATE_INTERVAL;
+
+  clock = gst_system_clock_obtain ();
   priv->base_time = DEFAULT_BASE_TIME;
+  priv->internal_base_time = gst_clock_get_time (clock);
+  gst_object_unref (clock);
 }
 
 /* Must be called with clocks_lock */
@@ -1210,9 +1215,15 @@
       GST_OBJECT_UNLOCK (self);
       update = TRUE;
       break;
-    case PROP_BASE_TIME:
+    case PROP_BASE_TIME:{
+      GstClock *clock;
+
       self->priv->base_time = g_value_get_uint64 (value);
+      clock = gst_system_clock_obtain ();
+      self->priv->internal_base_time = gst_clock_get_time (clock);
+      gst_object_unref (clock);
       break;
+    }
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -1287,7 +1298,6 @@
 {
   GstNetClientClock *self = GST_NET_CLIENT_CLOCK (object);
   GstClock *internal_clock;
-  GstClockTime internal;
   GList *l;
   ClockCache *cache = NULL;
 
@@ -1335,27 +1345,6 @@
 
   self->priv->internal_clock = internal_clock = cache->clock;
 
-  /* gst_clock_get_time() values are guaranteed to be increasing. because no one
-   * has called get_time on this clock yet we are free to adjust to any value
-   * without worrying about worrying about MAX() issues with the clock's
-   * internal time.
-   */
-
-  /* update our internal time so get_time() give something around base_time.
-     assume that the rate is 1 in the beginning. */
-  internal = gst_clock_get_internal_time (internal_clock);
-  gst_clock_set_calibration (internal_clock, internal,
-      self->priv->base_time, 1, 1);
-
-  {
-    GstClockTime now = gst_clock_get_time (internal_clock);
-
-    if (GST_CLOCK_DIFF (now, self->priv->base_time) > 0 ||
-        GST_CLOCK_DIFF (now, self->priv->base_time + GST_SECOND) < 0) {
-      g_warning ("unable to set the base time, expect sync problems!");
-    }
-  }
-
   /* all systems go, cap'n */
 }
 
@@ -1364,6 +1353,12 @@
 {
   GstNetClientClock *self = GST_NET_CLIENT_CLOCK (clock);
 
+  if (!gst_clock_is_synced (self->priv->internal_clock)) {
+    GstClockTime now = gst_clock_get_internal_time (self->priv->internal_clock);
+    return gst_clock_adjust_with_calibration (self->priv->internal_clock, now,
+        self->priv->internal_base_time, self->priv->base_time, 1, 1);
+  }
+
   return gst_clock_get_time (self->priv->internal_clock);
 }
 
diff --git a/plugins/elements/gstconcat.c b/plugins/elements/gstconcat.c
index 5b5b1b8..865b41c 100644
--- a/plugins/elements/gstconcat.c
+++ b/plugins/elements/gstconcat.c
@@ -35,7 +35,7 @@
  * the segment transitions between streams are continuous. In some cases,
  * it may be desirable to turn off these adjustments (for example, because
  * another downstream element like a streamsynchronizer adjusts the base
- * values on its own). The adjust-value property can be used for this purpose.
+ * values on its own). The adjust-base property can be used for this purpose.
  *
  * <refsect2>
  * <title>Example launch line</title>
diff --git a/plugins/elements/gsttypefindelement.c b/plugins/elements/gsttypefindelement.c
index 230cbed..d4d2e81 100644
--- a/plugins/elements/gsttypefindelement.c
+++ b/plugins/elements/gsttypefindelement.c
@@ -172,18 +172,62 @@
 gst_type_find_element_have_type (GstTypeFindElement * typefind,
     guint probability, GstCaps * caps)
 {
+  GstEvent *event;
+
   g_assert (caps != NULL);
 
   GST_INFO_OBJECT (typefind, "found caps %" GST_PTR_FORMAT ", probability=%u",
       caps, probability);
 
   GST_OBJECT_LOCK (typefind);
+
+  /* Now actually send the CAPS event downstream.
+   *
+   * Try to directly send the CAPS event downstream that we created in
+   * gst_type_find_element_emit_have_type() if it is still there, instead
+   * of creating a new one. No need to create an equivalent one, replacing
+   * it in the sticky event list and possibly causing renegotiation
+   */
+  event = gst_pad_get_sticky_event (typefind->src, GST_EVENT_CAPS, 0);
+  if (event) {
+    GstCaps *event_caps;
+
+    gst_event_parse_caps (event, &event_caps);
+    if (caps == event_caps) {
+      event = event;
+    } else {
+      gst_event_unref (event);
+      event = gst_event_new_caps (caps);
+    }
+  } else {
+    event = gst_event_new_caps (caps);
+  }
+
   if (typefind->caps)
     gst_caps_unref (typefind->caps);
   typefind->caps = gst_caps_ref (caps);
   GST_OBJECT_UNLOCK (typefind);
 
-  gst_pad_set_caps (typefind->src, caps);
+  gst_pad_push_event (typefind->src, event);
+}
+
+static void
+gst_type_find_element_emit_have_type (GstTypeFindElement * typefind,
+    guint probability, GstCaps * caps)
+{
+  GstEvent *event;
+
+  /* Only store the caps event at this point. We give signal handlers
+   * the chance to look at the caps before they are sent downstream.
+   * They are only forwarded downstream later in the default signal
+   * handler after all application signal handlers
+   */
+  event = gst_event_new_caps (caps);
+  gst_pad_store_sticky_event (typefind->src, event);
+  gst_event_unref (event);
+
+  g_signal_emit (typefind, gst_type_find_element_signals[HAVE_TYPE], 0,
+      probability, caps);
 }
 
 static void
@@ -729,8 +773,7 @@
   if (gst_caps_is_any (caps))
     return TRUE;
 
-  g_signal_emit (typefind, gst_type_find_element_signals[HAVE_TYPE], 0,
-      GST_TYPE_FIND_MAXIMUM, caps);
+  gst_type_find_element_emit_have_type (typefind, GST_TYPE_FIND_MAXIMUM, caps);
 
   /* Shortcircuit typefinding if we get caps */
   GST_DEBUG_OBJECT (typefind, "Skipping typefinding, using caps from "
@@ -914,8 +957,7 @@
 
   /* probability is good enough too, so let's make it known ... emiting this
    * signal calls our object handler which sets the caps. */
-  g_signal_emit (typefind, gst_type_find_element_signals[HAVE_TYPE], 0,
-      probability, caps);
+  gst_type_find_element_emit_have_type (typefind, probability, caps);
 
   /* .. and send out the accumulated data */
   stop_typefinding (typefind);
@@ -1106,8 +1148,7 @@
     }
 
     GST_DEBUG ("Emiting found caps %" GST_PTR_FORMAT, found_caps);
-    g_signal_emit (typefind, gst_type_find_element_signals[HAVE_TYPE],
-        0, probability, found_caps);
+    gst_type_find_element_emit_have_type (typefind, probability, found_caps);
     typefind->mode = MODE_NORMAL;
     gst_caps_unref (found_caps);
   } else if (typefind->mode == MODE_NORMAL) {
diff --git a/po/af.gmo b/po/af.gmo
index 1e33ae8..ccaa180 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index 7041880..14b2163 100644
--- a/po/af.po
+++ b/po/af.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.9.7\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2005-12-05 11:45+0200\n"
 "Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n"
 "Language-Team: Afrikaans <i18n@af.org.za>\n"
diff --git a/po/az.gmo b/po/az.gmo
index 997e4ff..ad7e9f3 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index da593b4..36ab6bb 100644
--- a/po/az.po
+++ b/po/az.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer-0.8.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2004-03-19 18:40+0200\n"
 "Last-Translator: Metin Amiroff <metin@karegen.com>\n"
 "Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
diff --git a/po/be.gmo b/po/be.gmo
index 7d35794..8f04608 100644
--- a/po/be.gmo
+++ b/po/be.gmo
Binary files differ
diff --git a/po/be.po b/po/be.po
index d845957..ed565dc 100644
--- a/po/be.po
+++ b/po/be.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.9.7\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2006-01-18 22:26+0200\n"
 "Last-Translator: Ales Nyakhaychyk <nab@mail.by>\n"
 "Language-Team: Belarusian <i18n@mova.org>\n"
diff --git a/po/bg.gmo b/po/bg.gmo
index 3ccb3d3..ff5614f 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index e1c62c5..15da049 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2016-02-21 21:02+0200\n"
 "Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
 "Language-Team: Bulgarian <dict@ludost.net>\n"
diff --git a/po/ca.gmo b/po/ca.gmo
index da18bec..34c5f1e 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index a858369..92be7bb 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.30.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2010-11-04 19:41+0100\n"
 "Last-Translator: Jordi Mallach <jordi@sindominio.net>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
diff --git a/po/cs.gmo b/po/cs.gmo
index 15e35cf..7b56454 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 5746ed5..18cce20 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,10 +7,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.7.2\n"
+"Project-Id-Version: gstreamer 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
-"PO-Revision-Date: 2016-02-27 16:35+0100\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
+"PO-Revision-Date: 2016-03-03 15:31+0100\n"
 "Last-Translator: Marek Černocký <marek@manet.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
 "Language: cs\n"
@@ -454,10 +454,10 @@
 msgstr "Osoby či osoby, které nahrávku složily"
 
 msgid "conductor"
-msgstr ""
+msgstr "dirigent"
 
 msgid "conductor/performer refinement"
-msgstr ""
+msgstr "Dirigent/upřesnění účinkujícího"
 
 msgid "duration"
 msgstr "trvání"
diff --git a/po/da.gmo b/po/da.gmo
index 97c2749..c84730e 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 0472670..07477c9 100644
--- a/po/da.po
+++ b/po/da.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.7.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2015-12-28 13:26+0200\n"
 "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
diff --git a/po/de.gmo b/po/de.gmo
index 05a1a83..363057b 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index 8744dfc..59632f8 100644
--- a/po/de.po
+++ b/po/de.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2016-02-22 23:41+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 328e08e..81c3bc7 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index 669b310..eb5c2f0 100644
--- a/po/el.po
+++ b/po/el.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer-0.10.30.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2010-11-29 11:14+0200\n"
 "Last-Translator: Michael Kotsarinis <mk73628@gmail.com>\n"
 "Language-Team: Greek <team@lists.gnome.gr>\n"
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index 86e07f0..bf4cd7e 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 b28a510..c148e16 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.8.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2004-04-26 10:36-0400\n"
 "Last-Translator: Gareth Owen <gowen72@yahoo.com>\n"
 "Language-Team: English (British) <en_gb@li.org>\n"
diff --git a/po/eo.gmo b/po/eo.gmo
index 2b1bc8a..900a60c 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index 0d26296..d6e53d2 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\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 1a08186..6eb1d79 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index ba3a843..97ca12c 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2011-10-02 15:45+0200\n"
 "Last-Translator: Jorge González González <aloriel@gmail.com>\n"
 "Language-Team: Spanish <es@li.org>\n"
diff --git a/po/eu.gmo b/po/eu.gmo
index 74cade0..02467d1 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index d58f5d0..4983481 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer-0.10.26.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2010-03-25 13:10+0100\n"
 "Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n"
 "Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
diff --git a/po/fi.gmo b/po/fi.gmo
index c24db65..e24f604 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index 562f017..884e874 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -12,7 +12,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.30.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2010-11-17 23:10+0200\n"
 "Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
diff --git a/po/fr.gmo b/po/fr.gmo
index 7791988..435d3ed 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index c555731..5c09963 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -8,10 +8,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.7.2\n"
+"Project-Id-Version: gstreamer 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
-"PO-Revision-Date: 2016-02-20 16:17+0100\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\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"
 "Language: fr\n"
@@ -459,10 +459,10 @@
 msgstr "personne(s) qui a/ont composé l’enregistrement"
 
 msgid "conductor"
-msgstr ""
+msgstr "réalisateur"
 
 msgid "conductor/performer refinement"
-msgstr ""
+msgstr "détails sur le réalisateur / interprète"
 
 msgid "duration"
 msgstr "durée"
diff --git a/po/gl.gmo b/po/gl.gmo
index cf7b669..d25afb4 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index 05f97df..9312958 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2012-12-15 03:29+0200\n"
 "Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n"
 "Language-Team: Galician <proxecto@trasno.net>\n"
diff --git a/po/gstreamer-1.0.pot b/po/gstreamer-1.0.pot
index 42752b7..c4ac532 100644
--- a/po/gstreamer-1.0.pot
+++ b/po/gstreamer-1.0.pot
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.7.90\n"
+"Project-Id-Version: gstreamer 1.7.91\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -1239,32 +1239,32 @@
 msgid "Failed after iterations as requested."
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:200
+#: plugins/elements/gsttypefindelement.c:244
 msgid "caps"
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:201
+#: plugins/elements/gsttypefindelement.c:245
 msgid "detected capabilities in stream"
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:204
+#: plugins/elements/gsttypefindelement.c:248
 msgid "minimum"
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:209
+#: plugins/elements/gsttypefindelement.c:253
 msgid "force caps"
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:210
+#: plugins/elements/gsttypefindelement.c:254
 msgid "force caps without doing a typefind"
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:932
-#: plugins/elements/gsttypefindelement.c:954
+#: plugins/elements/gsttypefindelement.c:974
+#: plugins/elements/gsttypefindelement.c:996
 msgid "Stream doesn't contain enough data."
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:1074
+#: plugins/elements/gsttypefindelement.c:1116
 msgid "Stream contains no data."
 msgstr ""
 
diff --git a/po/hr.gmo b/po/hr.gmo
index ce9a8fd..27c5cfd 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index 4cecd50..5491f53 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.32.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2012-05-25 16:47+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 29f8864..b51ec97 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 7c10cd6..c62f011 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -2,21 +2,21 @@
 # Copyright (c) 2006 Canonical Ltd, and Rosetta Contributors
 # This file is distributed under the same license as the gstreamer package.
 #
-# Gabor Kelemen <kelemeng@gnome.hu>, 2006, 2007, 2008, 2009, 2010, 2012.
+# Gabor Kelemen <kelemeng@gnome.hu>, 2006, 2007, 2008, 2009, 2010, 2012, 2016.
 # Balázs Úr <urbalazs@gmail.com>, 2014, 2015.
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.6.0\n"
+"Project-Id-Version: gstreamer 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
-"PO-Revision-Date: 2015-11-20 23:51+0100\n"
-"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
+"PO-Revision-Date: 2016-03-14 16:10+0100\n"
+"Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
 "Language: hu\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.2\n"
+"X-Generator: Lokalize 1.5\n"
 "Plural-Forms:  nplurals=2; plural=(n != 1);\n"
 
 msgid "Print the GStreamer version"
@@ -454,10 +454,10 @@
 msgstr "a felvétel szerzői"
 
 msgid "conductor"
-msgstr ""
+msgstr "vezényel"
 
 msgid "conductor/performer refinement"
-msgstr ""
+msgstr "vezényel/előadó finomítása"
 
 msgid "duration"
 msgstr "időtartam"
@@ -681,7 +681,7 @@
 msgstr "földrajzi hely vízszintes hibája"
 
 msgid "expected error of the horizontal positioning measures (in meters)"
-msgstr "a vízszintes pozícionálási értékek várt hibája (méterben)"
+msgstr "a vízszintes pozicionálási értékek várt hibája (méterben)"
 
 msgid "geo location movement speed"
 msgstr "földrajzi hely mozgási sebessége"
@@ -822,10 +822,10 @@
 msgstr "A hangsáv midi hangjegy száma."
 
 msgid "private-data"
-msgstr ""
+msgstr "privát-adatok"
 
 msgid "Private data"
-msgstr ""
+msgstr "Privát adatok"
 
 msgid ", "
 msgstr ", "
@@ -867,7 +867,7 @@
 msgstr "nem állítható be a(z) „%2$s” elem „%1$s” tulajdonsága „%3$s” értékre"
 
 msgid "Delayed linking failed."
-msgstr ""
+msgstr "A késleltetett linkelés meghiúsult."
 
 #, c-format
 msgid "could not link %s to %s"
@@ -1014,7 +1014,6 @@
 msgid "force caps without doing a typefind"
 msgstr "nagybetűk kényszerítése betűkeresés nélkül"
 
-#, fuzzy
 msgid "Stream doesn't contain enough data."
 msgstr "Az adatfolyam nem tartalmaz elég adatot."
 
diff --git a/po/id.gmo b/po/id.gmo
index 6793aac..2141d5e 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index 5c3f987..94c1003 100644
--- a/po/id.po
+++ b/po/id.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2014-05-31 22:06+0700\n"
 "Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
diff --git a/po/it.gmo b/po/it.gmo
index 6773025..8997a15 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index 567fa0f..db0e5b0 100644
--- a/po/it.po
+++ b/po/it.po
@@ -106,7 +106,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.30.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2010-10-25 10:03+0200\n"
 "Last-Translator: Luca Ferretti <elle.uca@infinito.it>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
diff --git a/po/ja.gmo b/po/ja.gmo
index 76326a1..78f2b33 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index f65d6b8..309d27e 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2013-08-20 14:56+0900\n"
 "Last-Translator: Makoto Kato <makoto.kt@gmail.com>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
diff --git a/po/lt.gmo b/po/lt.gmo
index cc07222..ca478b6 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index cff3bf2..f2a2c71 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.29.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2010-07-16 00:50+0300\n"
 "Last-Translator: Žygimantas Beručka <uid0@akl.lt>\n"
 "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
diff --git a/po/nb.gmo b/po/nb.gmo
index d7ddb55..fc5dbbd 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index a32fa0b..e2a8a0a 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.6.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2015-12-23 02:02+0100\n"
 "Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
 "Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
diff --git a/po/nl.gmo b/po/nl.gmo
index 7289045..c1088a6 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index ac3becf..5941434 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2016-02-20 16:42+0100\n"
 "Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
diff --git a/po/pl.gmo b/po/pl.gmo
index 78788af..40d1623 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 065c2e7..dd189dc 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2016-02-20 21:41+0100\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index ab86dd9..c957955 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 3edc352..7adf7f4 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -17,7 +17,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer-1.7.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2015-12-28 20:54-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 b4bd445..db73a6a 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index d901881..8797ebf 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.29.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2010-08-16 01:10+0300\n"
 "Last-Translator: Lucian Adrian Grijincu <lucian.grijincu@gmail.com>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
diff --git a/po/ru.gmo b/po/ru.gmo
index ad118cd..dfa84f8 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index 30e28e7..eef5341 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -7,10 +7,10 @@
 # Yuri Kozlov <yuray@komyakino.ru>, 2010, 2011, 2012, 2013, 2014, 2015, 2016.
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.7.2\n"
+"Project-Id-Version: gstreamer 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
-"PO-Revision-Date: 2016-02-21 09:53+0300\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
+"PO-Revision-Date: 2016-03-05 08:41+0300\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
 "Language-Team: Russian <gnu@d07.ru>\n"
 "Language: ru\n"
@@ -457,10 +457,10 @@
 msgstr "лицо/лица, написавшие композицию"
 
 msgid "conductor"
-msgstr ""
+msgstr "дирижёр"
 
 msgid "conductor/performer refinement"
-msgstr ""
+msgstr "дирижёр/в обработке"
 
 msgid "duration"
 msgstr "длительность"
diff --git a/po/rw.gmo b/po/rw.gmo
index 3f9eef0..e0ecc6c 100644
--- a/po/rw.gmo
+++ b/po/rw.gmo
Binary files differ
diff --git a/po/rw.po b/po/rw.po
index 41fa3ec..5821a78 100644
--- a/po/rw.po
+++ b/po/rw.po
@@ -15,7 +15,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.8.8\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2005-04-04 10:55-0700\n"
 "Last-Translator: Steven Michael Murphy <murf@e-tools.com>\n"
 "Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n"
diff --git a/po/sk.gmo b/po/sk.gmo
index 28146d6..1b55b52 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index 7afca61..e128db6 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2014-01-30 10:24+0100\n"
 "Last-Translator: Peter Tuhársky <tuharsky@misbb.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
diff --git a/po/sl.gmo b/po/sl.gmo
index 1c01cb1..0d7b22e 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index f75b86e..ba824ff 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer-1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2014-04-09 22:38+0100\n"
 "Last-Translator: Klemen Košir <klemen913@gmail.com>\n"
 "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
diff --git a/po/sq.gmo b/po/sq.gmo
index 7fd458d..2b93ba7 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index 05f7096..e923152 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 0.8.4\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2004-08-07 23:46+0200\n"
 "Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n"
 "Language-Team: Albanian <begraj@hotmail.com>\n"
diff --git a/po/sr.gmo b/po/sr.gmo
index 7f3651e..f31c813 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index 344e63a..388f982 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -2,13 +2,13 @@
 # Copyright (C) 2014 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gstreamer package.
 # Danilo Segan <dsegan@gmx.net>, 2004-2005.
-# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011—2015.
+# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011—2016.
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer-1.7.1\n"
+"Project-Id-Version: gstreamer-1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
-"PO-Revision-Date: 2015-12-26 20:29+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
+"PO-Revision-Date: 2016-03-05 10:03+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <(nothing)>\n"
 "Language: sr\n"
@@ -457,10 +457,10 @@
 msgstr "особе које су саставиле снимак"
 
 msgid "conductor"
-msgstr ""
+msgstr "диригент"
 
 msgid "conductor/performer refinement"
-msgstr ""
+msgstr "диригент/појашњење извођача"
 
 msgid "duration"
 msgstr "трајање"
@@ -870,7 +870,7 @@
 msgstr "не могу да поставим особину „%s“ у елементу „%s“ на „%s“"
 
 msgid "Delayed linking failed."
-msgstr ""
+msgstr "Одложено повезивање није успело."
 
 #, c-format
 msgid "could not link %s to %s"
@@ -1018,7 +1018,6 @@
 msgid "force caps without doing a typefind"
 msgstr "приморај могућности без обављања претраге уписа"
 
-#, fuzzy
 msgid "Stream doesn't contain enough data."
 msgstr "Овај ток не садржи довољно података."
 
diff --git a/po/sv.gmo b/po/sv.gmo
index 6d0cca9..7868ca1 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index c7952ec..59734a7 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,10 +7,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.7.2\n"
+"Project-Id-Version: gstreamer 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
-"PO-Revision-Date: 2016-02-20 16:13+0100\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
+"PO-Revision-Date: 2016-03-02 22:19+0100\n"
 "Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "Language: sv\n"
@@ -456,10 +456,10 @@
 msgstr "person(er) som komponerade inspelningen"
 
 msgid "conductor"
-msgstr ""
+msgstr "konduktör"
 
 msgid "conductor/performer refinement"
-msgstr ""
+msgstr "konduktör/artist förfining"
 
 msgid "duration"
 msgstr "varaktighet"
diff --git a/po/tr.gmo b/po/tr.gmo
index ccb99c7..4c2d2f6 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 6426729..c553c78 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2015-01-10 21:06+0100\n"
 "Last-Translator: Volkan Gezer <volkangezer@gmail.com>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
diff --git a/po/uk.gmo b/po/uk.gmo
index 820c584..8eac062 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index 95752de..17ae244 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -6,10 +6,10 @@
 # Yuri Chornoivan <yurchor@ukr.net>, 2011, 2012, 2013, 2014, 2015, 2016.
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.7.2\n"
+"Project-Id-Version: gstreamer 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
-"PO-Revision-Date: 2016-02-20 17:16+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
+"PO-Revision-Date: 2016-03-02 22:00+0200\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
 "Language: uk\n"
@@ -454,10 +454,10 @@
 msgstr "особа чи особи, якими було створено музику запису"
 
 msgid "conductor"
-msgstr ""
+msgstr "диригент"
 
 msgid "conductor/performer refinement"
-msgstr ""
+msgstr "диригент або покращувач виконання"
 
 msgid "duration"
 msgstr "тривалість"
diff --git a/po/vi.gmo b/po/vi.gmo
index fffe103..1d0f87a 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index f171946..e55dcc4 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -7,10 +7,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.7.2\n"
+"Project-Id-Version: gstreamer 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
-"PO-Revision-Date: 2016-02-21 07:11+0700\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
+"PO-Revision-Date: 2016-03-03 07:44+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
 "Language: vi\n"
@@ -453,10 +453,10 @@
 msgstr "(những) người đã soạn bản thu này"
 
 msgid "conductor"
-msgstr ""
+msgstr "người chỉ huy"
 
 msgid "conductor/performer refinement"
-msgstr ""
+msgstr "thanh lọc người chỉ huy / biểu diễn"
 
 msgid "duration"
 msgstr "thời lượng"
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index 56d16d1..7894048 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 9e2c68e..a20f04f 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -5,10 +5,10 @@
 # Tianze Wang <zwpwjwtz@126.com>, 2015.
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.7.2\n"
+"Project-Id-Version: gstreamer 1.7.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
-"PO-Revision-Date: 2016-02-21 16:53+0800\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
+"PO-Revision-Date: 2016-03-03 12:49+0800\n"
 "Last-Translator: Tianze Wang <zwpwjwtz@126.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
 "Language: zh_CN\n"
@@ -435,10 +435,10 @@
 msgstr "负责录制的人"
 
 msgid "conductor"
-msgstr ""
+msgstr "指挥"
 
 msgid "conductor/performer refinement"
-msgstr ""
+msgstr "现场指挥/演奏者"
 
 msgid "duration"
 msgstr "时期"
diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo
index 3769a52..85bac74 100644
--- a/po/zh_TW.gmo
+++ b/po/zh_TW.gmo
Binary files differ
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 57388b8..332f697 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -27,7 +27,7 @@
 msgstr ""
 "Project-Id-Version: gstreamer 1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-03-01 16:45+0200\n"
+"POT-Creation-Date: 2016-03-15 11:38+0200\n"
 "PO-Revision-Date: 2014-06-08 00:22+0800\n"
 "Last-Translator: Wen Liao <wen.cf83@gmail.com>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
diff --git a/tests/check/gst/gstbuffer.c b/tests/check/gst/gstbuffer.c
index 6291c24..66bb5d4 100644
--- a/tests/check/gst/gstbuffer.c
+++ b/tests/check/gst/gstbuffer.c
@@ -890,6 +890,26 @@
 
 GST_END_TEST;
 
+GST_START_TEST (test_parent_buffer_meta)
+{
+  GstBuffer *buf, *parent;
+  GstParentBufferMeta *meta;
+
+  buf = gst_buffer_new ();
+  parent = gst_buffer_new ();
+
+  gst_buffer_add_parent_buffer_meta (buf, parent);
+  meta = gst_buffer_get_parent_buffer_meta (buf);
+  fail_unless (meta);
+  fail_unless (parent == meta->buffer);
+
+  gst_buffer_unref (buf);
+  gst_buffer_unref (parent);
+}
+
+GST_END_TEST;
+
+
 static Suite *
 gst_buffer_suite (void)
 {
@@ -912,6 +932,7 @@
   tcase_add_test (tc_chain, test_map_range);
   tcase_add_test (tc_chain, test_find);
   tcase_add_test (tc_chain, test_fill);
+  tcase_add_test (tc_chain, test_parent_buffer_meta);
 
   return s;
 }
diff --git a/win32/common/config.h b/win32/common/config.h
index c4c645c..4a4c27a 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -68,7 +68,7 @@
 #define GST_PACKAGE_ORIGIN "Unknown package origin"
 
 /* GStreamer package release date/time for plugins as YYYY-MM-DD */
-#define GST_PACKAGE_RELEASE_DATETIME "2016-03-01"
+#define GST_PACKAGE_RELEASE_DATETIME "2016-03-15"
 
 /* Define if static plugins should be built */
 #undef GST_PLUGIN_BUILD_STATIC
@@ -462,7 +462,7 @@
 #define PACKAGE_NAME "GStreamer"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer 1.7.90"
+#define PACKAGE_STRING "GStreamer 1.7.91"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gstreamer"
@@ -471,7 +471,7 @@
 #undef PACKAGE_URL
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.7.90"
+#define PACKAGE_VERSION "1.7.91"
 
 /* directory where plugins are located */
 #ifdef _DEBUG
@@ -515,7 +515,7 @@
 #undef USE_POISONING
 
 /* Version number of package */
-#define VERSION "1.7.90"
+#define VERSION "1.7.91"
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
diff --git a/win32/common/gstversion.h b/win32/common/gstversion.h
index fea05c9..1bc5de6 100644
--- a/win32/common/gstversion.h
+++ b/win32/common/gstversion.h
@@ -60,7 +60,7 @@
  *
  * The micro version of GStreamer at compile time:
  */
-#define GST_VERSION_MICRO (90)
+#define GST_VERSION_MICRO (91)
 /**
  * GST_VERSION_NANO:
  *
