diff --git a/ChangeLog b/ChangeLog
index 6e0bb05..efd4978 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,47 @@
+=== release 1.13.91 ===
+
+2018-03-13 19:17:58 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* NEWS:
+	* RELEASE:
+	* configure.ac:
+	* gst-plugins-ugly.doap:
+	* meson.build:
+	  Release 1.13.91
+
+2018-03-13 19:17:58 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/plugins/inspect/plugin-a52dec.xml:
+	* docs/plugins/inspect/plugin-amrnb.xml:
+	* docs/plugins/inspect/plugin-amrwbdec.xml:
+	* docs/plugins/inspect/plugin-asf.xml:
+	* docs/plugins/inspect/plugin-cdio.xml:
+	* docs/plugins/inspect/plugin-dvdlpcmdec.xml:
+	* docs/plugins/inspect/plugin-dvdread.xml:
+	* docs/plugins/inspect/plugin-dvdsub.xml:
+	* docs/plugins/inspect/plugin-mpeg2dec.xml:
+	* docs/plugins/inspect/plugin-realmedia.xml:
+	* docs/plugins/inspect/plugin-sid.xml:
+	* docs/plugins/inspect/plugin-x264.xml:
+	* docs/plugins/inspect/plugin-xingmux.xml:
+	  Update docs
+
+2018-03-12 20:19:19 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
+	  docs: plugins: minor addition to plugins list
+
+2018-03-08 10:12:16 +0100  Michael Tretter <m.tretter@pengutronix.de>
+
+	* configure.ac:
+	  configure.ac: enable largefile support if possible
+	  https://bugzilla.gnome.org/show_bug.cgi?id=793103
+
 === release 1.13.90 ===
 
 2018-03-03 22:24:28 +0000  Tim-Philipp Müller <tim@centricular.com>
 
+	* ChangeLog:
 	* NEWS:
 	* RELEASE:
 	* configure.ac:
diff --git a/NEWS b/NEWS
index c85b362..407ab98 100644
--- a/NEWS
+++ b/NEWS
@@ -7,13 +7,13 @@
 in early March 2018.
 
 There are unstable pre-releases available for testing and development
-purposes. The latest pre-release is version 1.13.90 (rc1) and was
-released on 03 March 2018.
+purposes. The latest pre-release is version 1.13.91 (rc2) and was
+released on 12 March 2018.
 
 See https://gstreamer.freedesktop.org/releases/1.14/ for the latest
 version of this document.
 
-_Last updated: Saturday 03 March 2018, 16:30 UTC (log)_
+_Last updated: Monday 12 March 2018, 18:00 UTC (log)_
 
 
 Introduction
@@ -28,103 +28,957 @@
 
 Highlights
 
--   this section will be completed shortly
+-   WebRTC support: real-time audio/video streaming to and from web
+    browsers
+
+-   Experimental support for the next-gen royalty-free AV1 video codec
+
+-   Video4Linux: encoding support, stable element names and faster
+    device probing
+
+-   Support for the Secure Reliable Transport (SRT) video streaming
+    protocol
+
+-   RTP Forward Error Correction (FEC) support (ULPFEC)
+
+-   RTSP 2.0 support in rtspsrc and gst-rtsp-server
+
+-   ONVIF audio backchannel support in gst-rtsp-server and rtspsrc
+
+-   playbin3 gapless playback and pre-buffering support
+
+-   tee, our stream splitter/duplication element, now does allocation
+    query aggregation which is important for efficient data handling and
+    zero-copy
+
+-   QuickTime muxer has a new prefill recording mode that allows file
+    import in Adobe Premiere and FinalCut Pro while the file is still
+    being written.
+
+-   rtpjitterbuffer fast-start mode and timestamp offset adjustment
+    smoothing
+
+-   souphttpsrc connection sharing, which allows for connection reuse,
+    cookie sharing, etc.
+
+-   nvdec: new plugin for hardware-accelerated video decoding using the
+    NVIDIA NVDEC API
+
+-   Adaptive DASH trick play support
+
+-   ipcpipeline: new plugin that allows splitting a pipeline across
+    multiple processes
+
+-   Major gobject-introspection annotation improvements for large parts
+    of the library API
 
 
 Major new features and changes
 
-Noteworthy new API
+WebRTC support
 
--   this section will be filled in shortly
+There is now basic support for WebRTC in GStreamer in form of a new
+webrtcbin element and a webrtc support library. This allows you to build
+applications that set up connections with and stream to and from other
+WebRTC peers, whilst leveraging all of the usual GStreamer features such
+as hardware-accelerated encoding and decoding, OpenGL integration,
+zero-copy and embedded platform support. And it's easy to build and
+integrate into your application too!
+
+WebRTC enables real-time communication of audio, video and data with web
+browsers and native apps, and it is supported or about to be support by
+recent versions of all major browsers and operating systems.
+
+GStreamer's new WebRTC implementation uses libnice for Interactive
+Connectivity Establishment (ICE) to figure out the best way to
+communicate with other peers, punch holes into firewalls, and traverse
+NATs.
+
+The implementation is not complete, but all the basics are there, and
+the code sticks fairly close to the PeerConnection API. Where
+functionality is missing it should be fairly obvious where it needs to
+go.
+
+For more details, background and example code, check out Nirbheek's blog
+post _GStreamer has grown a WebRTC implementation_, as well as Matthew's
+_GStreamer WebRTC_ talk from last year's GStreamer Conference in Prague.
 
 New Elements
 
--   this section will be filled in shortly
+-   webrtcbin handles the transport aspects of webrtc connections (see
+    WebRTC section above for more details)
 
-New element features and additions
+-   New srtsink and srtsrc elements for the Secure Reliable Transport
+    (SRT) video streaming protocol, which aims to be easy to use whilst
+    striking a new balance between reliability and latency for low
+    latency video streaming use cases. More details about SRT and the
+    implementation in GStreamer in Olivier's blog post _SRT in
+    GStreamer_.
 
--   this section will be filled in shortly
+-   av1enc and av1dec elements providing experimental support for the
+    next-generation royalty free video AV1 codec, alongside Matroska
+    support for it.
+
+-   hlssink2 is a rewrite of the existing hlssink element, but unlike
+    its predecessor hlssink2 takes elementary streams as input and
+    handles the muxing to MPEG-TS internally. It also leverages
+    splitmuxsink internally to do the splitting. This allows more
+    control over the chunk splitting and sizing process and relies less
+    on the co-operation of an upstream muxer. Different to the old
+    hlssink it also works with pre-encoded streams and does not require
+    close interaction with an upstream encoder element.
+
+-   audiolatency is a new element for measuring audio latency end-to-end
+    and is useful to measure roundtrip latency including both the
+    GStreamer-internal latency as well as latency added by external
+    components or circuits.
+
+-   'fakevideosink is basically a null sink for video data and very
+    similar to fakesink, only that it will answer allocation queries and
+    will advertise support for various video-specific things such
+    GstVideoMeta, GstVideoCropMeta and GstVideoOverlayCompositionMeta
+    like a normal video sink would. This is useful for throughput
+    testing and testing the zero-copy path when creating a new pipeline.
+
+-   ipcpipeline: new plugin that allows the splitting of a pipeline into
+    multiple processes. Usually a GStreamer pipeline runs in a single
+    process and parallelism is achieved by distributing workloads using
+    multiple threads. This means that all elements in the pipeline have
+    access to all the other elements' memory space however, including
+    that of any libraries used. For security reasons one might therefore
+    want to put sensitive parts of a pipeline such as DRM and decryption
+    handling into a separate process to isolate it from the rest of the
+    pipeline. This can now be achieved with the new ipcpipeline plugin.
+    Check out George's blog post _ipcpipeline: Splitting a GStreamer
+    pipeline into multiple processes_ or his lightning talk from last
+    year's GStreamer Conference in Prague for all the gory details.
+
+&nbsp;
+-   proxysink and proxysrc are new elements to pass data from one
+    pipeline to another within the same process, very similar to the
+    existing inter elements, but not limited to raw audio and video
+    data. These new proxy elements are very special in how they work
+    under the hood, which makes them extremely powerful, but also
+    dangerous if not used with care. The reason for this is that it's
+    not just data that's passed from sink to src, but these elements
+    basically establish a two-way wormhole that passes through queries
+    and events in both directions, which means caps negotiation and
+    allocation query driven zero-copy can work through this wormhole.
+    There are scheduling considerations as well: proxysink forwards
+    everything into the proxysrc pipeline directly from the proxysink
+    streaming thread. There is a queue element inside proxysrc to
+    decouple the source thread from the sink thread, but that queue is
+    not unlimited, so it is entirely possible that the proxysink
+    pipeline thread gets stuck in the proxysrc pipeline, e.g. when that
+    pipeline is paused or stops consuming data for some other reason.
+    This means that one should always shut down down the proxysrc
+    pipeline before shutting down the proxysink pipeline, for example.
+    Or at least take care when shutting down pipelines. Usually this is
+    not a problem though, especially not in live pipelines. For more
+    information see Nirbheek's blog post _Decoupling GStreamer
+    Pipelines_, and also check out out the new ipcpipeline plugin for
+    sending data from one process to another process (see above).
+
+-   lcms is a new LCMS-based ICC color profile correction element
+
+-   openmptdec is a new OpenMPT-based decoder for module music formats,
+    such as S3M, MOD, XM, IT. It is built on top of a new
+    GstNonstreamAudioDecoder base class which aims to unify handling of
+    files which do not operate a streaming model. The wildmidi plugin
+    has also been revived and is also implemented on top of this new
+    base class.
+
+-   The curl plugin has gained a new curlhttpsrc element, which is
+    useful for testing HTTP protocol version 2.0 amongst other things.
+
+Noteworthy new API
+
+-   GstPromise provides future/promise-like functionality. This is used
+    in the GStreamer WebRTC implementation.
+
+&nbsp;
+-   GstReferenceTimestampMeta is a new meta that allows you to attach
+    additional reference timestamps to a buffer. These timestamps don't
+    have to relate to the pipeline clock in any way. Examples of this
+    could be an NTP timestamp when the media was captured, a frame
+    counter on the capture side or the (local) UNIX timestamp when the
+    media was captured. The decklink elements make use of this.
+
+&nbsp;
+-   GstVideoRegionOfInterestMeta: it's now possible to attach generic
+    free-form element-specific parameters to a region of interest meta,
+    for example to tell a downstream encoder to use certain codec
+    parameters for a certain region.
+
+&nbsp;
+-   gst_bus_get_pollfd can be used to obtain a file descriptor for the
+    bus that can be poll()-ed on for new messages. This is useful for
+    integration with non-GLib event loops.
+
+&nbsp;
+-   gst_get_main_executable_path() can be used by wrapper plugins that
+    need to find things in the directory where the application
+    executable is located. In the same vein,
+    GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_RELATIVE_TO_EXE can be used to
+    signal that plugin dependency paths are relative to the main
+    executable.
+
+-   pad templates can be told about the GType of the pad subclass of the
+    pad via newly-added GstPadTemplate API API or the
+    gst_element_class_add_static_pad_template_with_gtype() convenience
+    function. gst-inspect-1.0 will use this information to print pad
+    properties.
+
+&nbsp;
+-   new convenience functions to iterate over element pads without using
+    the GstIterator API: gst_element_foreach_pad(),
+    gst_element_foreach_src_pad(), and gst_element_foreach_sink_pad().
+
+&nbsp;
+-   GstBaseSrc and appsrc have gained support for buffer lists:
+    GstBaseSrc subclasses can use gst_base_src_submit_buffer_list(), and
+    applications can use gst_app_src_push_buffer_list() to push a buffer
+    list into appsrc.
+
+&nbsp;
+-   The GstHarness unit test harness has a couple of new convenience
+    functions to retrieve all pending data in the harness in form of a
+    single chunk of memory.
+
+&nbsp;
+-   GstAudioStreamAlign is a new helper object for audio elements that
+    handles discontinuity detection and sample alignment. It will align
+    samples after the previous buffer's samples, but keep track of the
+    divergence between buffer timestamps and sample position (jitter).
+    If it exceeds a configurable threshold the alignment will be reset.
+    This simply factors out code that was duplicated in a number of
+    elements into a common helper API.
+
+&nbsp;
+-   The GstVideoEncoder base class implements Quality of Service (QoS)
+    now. This is disabled by default and must be opted in by setting the
+    "qos" property, which will make the base class gather statistics
+    about the real-time performance of the pipeline from downstream
+    elements (usually sinks that sync the pipeline clock). Subclasses
+    can then make use of this by checking whether input frames are late
+    already using gst_video_encoder_get_max_encode_time() If late, they
+    can just drop them and skip encoding in the hope that the pipeline
+    will catch up.
+
+&nbsp;
+-   The GstVideoOverlay interface gained a few helper functions for
+    installing and handling a "render-rectangle" property on elements
+    that implement this interface, so that this functionality can also
+    be used from the command line for testing and debugging purposes.
+    The property wasn't added to the interface itself as that would
+    require all implementors to provide it which would not be
+    backwards-compatible.
+
+&nbsp;
+-   A new base class, GstNonstreamAudioDecoder for non-stream audio
+    decoders was added to gst-plugins-bad. This base-class is meant to
+    be used for audio decoders that require the whole stream to be
+    loaded first before decoding can start. Examples of this are module
+    formats (MOD/S3M/XM/IT/etc), C64 SID tunes, video console music
+    files (GYM/VGM/etc), MIDI files and others. The new openmptdec
+    element is based on this.
+
+&nbsp;
+-   Full list of API new in 1.14:
+-   GStreamer core API new in 1.14
+-   GStreamer base library API new in 1.14
+-   gst-plugins-base libraries API new in 1.14
+-   gst-plugins-bad: no list, mostly GstWebRTC library and new
+    non-stream audio decoder base class.
+
+New RTP features and improvements
+
+-   rtpulpfecenc and rtpulpfecdec are new elements that implement
+    Generic Forward Error Correction (FEC) using Uneven Level Protection
+    (ULP) as described in RFC 5109. This can be used to protect against
+    certain types of (non-bursty) packet loss, and important packets
+    such as those containing codec configuration data or key frames can
+    be protected with higher redundancy. Equally, packets that are not
+    particularly important can be given low priority or not be protected
+    at all. If packets are lost, the receiver can then hopefully restore
+    the lost packet(s) from the surrounding packets which were received.
+    This is an alternative to, or rather complementary to, dealing with
+    packet loss using _retransmission (rtx)_. GStreamer has had
+    retransmission support for a long time, but Forward Error Correction
+    allows for different trade-offs: The advantage of Forward Error
+    Correction is that it doesn't add latency, whereas retransmission
+    requires at least one more roundtrip to request and hopefully
+    receive lost packets; Forward Error Correction increases the
+    required bandwidth however, even in situations where there is no
+    packet loss at all, so one will typically want to fine-tune the
+    overhead and mechanisms used based on the characteristics of the
+    link at the time.
+
+-   New _Redundant Audio Data (RED)_ encoders and decoders for RTP as
+    per RFC 2198 are also provided (rtpredenc and rtpreddec), mostly for
+    chrome webrtc compatibility, as chrome will wrap ULPFEC-protected
+    streams in RED packets, and such streams need to be wrapped and
+    unwrapped in order to use ULPFEC with chrome.
+
+&nbsp;
+-   a few new buffer flags for FEC support:
+    GST_BUFFER_FLAG_NON_DROPPABLE can be used to mark important buffers,
+    e.g. to flag RTP packets carrying keyframes or codec setup data for
+    RTP Forward Error Correction purposes, or to prevent still video
+    frames from being dropped by elements due to QoS. There already is a
+    GST_BUFFER_FLAG_DROPPABLE. GST_RTP_BUFFER_FLAG_REDUNDANT is used to
+    signal internally that a packet represents a redundant RTP packet
+    and used in rtpstorage to hold back the packet and use it only for
+    recovery from packet loss. Further work is still needed in
+    payloaders to make use of these.
+
+-   rtpbin now has an option for increasing timestamp offsets gradually:
+    Instant large changes to the internal ts_offset may cause timestamps
+    to move backwards and also cause visible glitches in media playback.
+    The new "max-ts-offset-adjustment" and "max-ts-offset" properties
+    let the application control the rate to apply changes to ts_offset.
+    There have also been some EOS/BYE handling improvements in rtpbin.
+
+-   rtpjitterbuffer has a new fast start mode: in many scenarios the
+    jitter buffer will have to wait for the full configured latency
+    before it can start outputting packets. The reason for that is that
+    it often can't know what the sequence number of the first expected
+    RTP packet is, so it can't know whether a packet earlier than the
+    earliest packet received will still arrive in future. This behaviour
+    can now be bypassed by setting the "faststart-min-packets" property
+    to the number of consecutive packets needed to start, and the jitter
+    buffer will start output packets as soon as it has N consecutive
+    packets queued internally. This is particularly useful to get a
+    first video frame decoded and rendered as quickly as possible.
+
+-   rtpL8pay and rtpL8depay provide RTP payloading and depayloading for
+    8-bit raw audio
+
+New element features
+
+-   playbin3 has gained support or gapless playback via the
+    "about-to-finish" signal where users can set the uri for the next
+    item to play. For non-live streams this will be emitted as soon as
+    the first uri has finished downloading, so with sufficiently large
+    buffers it is now possible to pre-buffer the next item well ahead of
+    time (unlike playbin where there would not be a lot of time between
+    "about-to-finish" emission and the end of the stream). If the stream
+    format of the next stream is the same as that of the previous
+    stream, the data will be concatenated via the concat element.
+    Whether this will result in true gaplessness depends on the
+    container format and codecs used, there might still be codec-related
+    gaps between streams with some codecs.
+
+-   tee now does allocation query aggregation, which is important for
+    zero-copy and efficient data handling, especially for video. Those
+    who want to drop allocation queries on purpose can use the identity
+    element's new "drop-allocation" property for that instead.
+
+-   audioconvert now has a "mix-matrix" property, which obsoletes the
+    audiomixmatrix element. There's also mix matrix support in the audio
+    conversion and channel mixing API.
+
+-   x264enc: new "insert-vui" property to disable VUI (Video Usability
+    Information) parameter insertion into the stream, which allows
+    creation of streams that are compatible with certain legacy hardware
+    decoders that will refuse to decode in certain combinations of
+    resolution and VUI parameters; the max. allowed number of B-frames
+    was also increased from 4 to 16.
+
+-   dvdlpcmdec: has gained support for Blu-Ray audio LPCM.
+
+-   appsrc has gained support for buffer lists (see above) and also seen
+    some other performance improvements.
+
+-   flvmux has been ported to the GstAggregator base class which means
+    it can work in defined-latency mode with live input sources and
+    continue streaming if one of the inputs stops producing data.
+
+-   jpegenc has gained a "snapshot" property just like pngenc to make it
+    easier to just output a single encoded frame.
+
+-   jpegdec will now handle interlaced MJPEG streams properly and also
+    handle frames without an End of Image marker better.
+
+-   v4l2: There are now video encoders for VP8, VP9, MPEG4, and H263.
+    The v4l2 video decoder handles dynamic resolution changes, and the
+    video4linux device provider now does much faster device probing. The
+    plugin also no longer uses the libv4l2 library by default, as it has
+    prevented a lot of interesting use cases like CREATE_BUFS, DMABuf,
+    usage of TRY_FMT. As the libv4l2 library is totally inactive and not
+    really maintained, we decided to disable it. This might affect a
+    small number of cheap/old webcams with custom vendor formats for
+    which we do not provide conversion in GStreamer. It is possible to
+    re-enable support for libv4l2 at run-time however, by setting the
+    environment variable GST_V4L2_USE_LIBV4L2=1.
+
+-   rtspsrc now has support for RTSP protocol version 2.0 as well as
+    ONVIF audio backchannels (see below for more details). It also
+    sports a new ["accept-certificate"] signal for "manually" checking a
+    TLS certificate for validity. It now also prints RTSP/SDP messages
+    to the gstreamer debug log instead of stdout.
+
+-   shout2send now uses non-blocking I/O and has a configurable network
+    operations timeout.
+
+-   splitmuxsink has gained a "split-now" action signal and new
+    "alignment-threshold" and "use-robust-muxing" properties. If robust
+    muxing is enabled, it will check and set the muxer's reserved space
+    properties if present. This is primarily for use with mp4mux's
+    robust muxing mode.
+
+-   qtmux has a new _prefill recording mode_ which sets up a moov header
+    with the correct sample positions beforehand, which then allows
+    software like Adobe Premiere and FinalCut Pro to import the files
+    while they are still being written to. This only works with constant
+    framerate I-frame only streams, and for now only support for ProRes
+    video and raw audio is implemented but adding new codecs is just a
+    matter of defining appropriate maximum frame sizes.
+
+-   qtmux also supports writing of svmi atoms with stereoscopic video
+    information now. Trak timescales can be configured on a per-stream
+    basis using the "trak-timescale" property on the sink pads. Various
+    new formats can be muxed: MPEG layer 1 and 2, AC3 and Opus, as well
+    as PNG and VP9.
+
+-   souphttpsrc now does connection sharing by default, shares its
+    SoupSession with other elements in the same pipeline via a
+    GstContext if possible (session-wide settings are all the defaults).
+    This allows for connection reuse, cookie sharing, etc. Applications
+    can also force a context to use. In other news, HTTP headers
+    received from the server are posted as element messages on the bus
+    now for easier diagnostics, and it's also possible now to use other
+    types of proxy servers such as SOCKS4 or SOCKS5 proxies, support for
+    which is implemented directly in gio. Before only HTTP proxies were
+    allowed.
+
+-   qtmux, mp4mux and matroskamux will now refuse caps changes of input
+    streams at runtime. This isn't really supported with these
+    containers (or would have to be implemented differently with a
+    considerable effort) and doesn't produce valid and spec-compliant
+    files that will play everywhere. So if you can't guarantee that the
+    input caps won't change, use a container format that does support on
+    the fly caps changes for a stream such as MPEG-TS or use
+    splitmuxsink which can start a new file when the caps change. What
+    would happen before is that e.g. rtph264depay or rtph265depay would
+    simply send new SPS/PPS inband even for AVC format, which would then
+    get muxed into the container as if nothing changed. Some decoders
+    will handle this just fine, but that's often more luck than by
+    design. In any case, it's not right, so we disallow it now.
+
+-   matroskamux had Table of Content (TOC) support now (chapters etc.)
+    and matroskademux TOC support has been improved. matroskademux has
+    also seen seeking improvements searching for the right cluster and
+    position.
+
+-   videocrop now uses GstVideoCropMeta if downstream supports it, which
+    means cropping can be handled more efficiently without any copying.
+
+-   compositor now has support for _crossfade blending_, which can be
+    used via the new "crossfade-ratio" property on the sink pads.
+
+-   The avwait element has a new "end-timecode" property and posts
+    "avwait-status" element messages now whenever avwait starts or stops
+    passing through data (e.g. because target-timecode and end-timecode
+    respectively have been reached).
+
+&nbsp;
+-   h265parse and h265parse will try harder to make upstream output the
+    same caps as downstream requires or prefers, thus avoiding
+    unnecessary conversion. The parsers also expose chroma format and
+    bit depth in the caps now.
+
+-   The dtls elements now longer rely on or require the application to
+    run a GLib main loop that iterates the default main context
+    (GStreamer plugins should never rely on the application running a
+    GLib main loop).
+
+-   openh264enc allows to change the encoding bitrate dynamically at
+    runtime now
+
+-   nvdec is a new plugin for hardware-accelerated video decoding using
+    the NVIDIA NVDEC API (which replaces the old VDPAU API which is no
+    longer supported by NVIDIA)
+
+-   The NVIDIA NVENC hardware-accelerated video encoders now support
+    dynamic bitrate and preset reconfiguration and support the I420
+    4:2:0 video format. It's also possible to configure the gop size via
+    the new "gop-size" property.
+
+-   The MPEG-TS muxer and demuxer (tsmux, tsdemux) now have support for
+    JPEG2000
+
+-   openjpegdec and jpeg2000parse support 2-component images now (gray
+    with alpha), and jpeg2000parse has gained limited support for
+    conversion between JPEG2000 stream-formats. (JP2, J2C, JPC) and also
+    extracts more details such as colorimetry, interlace-mode,
+    field-order, multiview-mode and chroma siting.
+
+-   The decklink plugin for Blackmagic capture and playback cards have
+    seen numerous improvements:
+
+-   decklinkaudiosrc and decklinkvideosrc now put hardware reference
+    timestamp on buffers in form of GstReferenceTimestampMetas.
+    This can be useful to know on multi-channel cards which frames from
+    different channels were captured at the same time.
+
+-   decklinkvideosink has gained support for Decklink hardware keying
+    with two new properties ("keyer-mode" and "keyer-level") to control
+    the built-in hardware keyer of Decklink cards.
+
+-   decklinkaudiosink has been re-implemented around GstBaseSink instead
+    of the GstAudioBaseSink base class, since the Decklink APIs don't
+    fit very well with the GstAudioBaseSink APIs, which used to cause
+    various problems due to inaccuracies in the clock calculations.
+    Problems were audio drop-outs and A/V sync going wrong after
+    pausing/seeking.
+
+-   support for more than 16 devices, without any artificial limit
+
+-   work continued on the msdk plugin for Intel's Media SDK which
+    enables hardware-accelerated video encoding and decoding on Intel
+    graphics hardware on Windows or Linux. More tuning options were
+    added, and more pixel formats and video codecs are supported now.
+    The encoder now also handles force-key-unit events and can insert
+    frame-packing SEIs for side-by-side and top-bottom stereoscopic 3D
+    video.
+
+-   dashdemux can now do adaptive trick play of certain types of DASH
+    streams, meaning it can do fast-forward/fast-rewind of normal (non-I
+    frame only) streams even at high speeds without saturating network
+    bandwidth or exceeding decoder capabilities. It will keep statistics
+    and skip keyframes or fragments as needed. See Sebastian's blog post
+    _DASH trick-mode playback in GStreamer_ for more details. It also
+    supports webvtt subtitle streams now and has seen improvements when
+    seeking in live streams.
+
+&nbsp;
+-   kmssink has seen lots of fixes and improvements in this cycle,
+    including:
+
+-   Raspberry Pi (vc4) and Xilinx DRM driver support
+
+-   new "render-rectangle" property that can be used from the command
+    line as well as "display-width" and "display-height", and
+    "can-scale" properties
+
+-   GstVideoCropMeta support
 
 Plugin and library moves
 
--   this section will be filled in shortly
+MPEG-1 audio (mp1, mp2, mp3) decoders and encoders moved to -good
+
+Following the expiration of the last remaining mp3 patents in most
+jurisdictions, and the termination of the mp3 licensing program, as well
+as the decision by certain distros to officially start shipping full mp3
+decoding and encoding support, these plugins should now no longer be
+problematic for most distributors and have therefore been moved from
+-ugly and -bad to gst-plugins-good. Distributors can still disable these
+plugins if desired.
+
+In particular these are:
+
+-   mpg123audiodec: an mp1/mp2/mp3 audio decoder using libmpg123
+-   lamemp3enc: an mp3 encoder using LAME
+-   twolamemp2enc: an mp2 encoder using TwoLAME
+
+GstAggregator moved from -bad to core
+
+GstAggregator has been moved from gst-plugins-bad to the base library in
+GStreamer and is now stable API.
+
+GstAggregator is a new base class for mixers and muxers that have to
+handle multiple input pads and aggregate streams into one output stream.
+It improves upon the existing GstCollectPads API in that it is a proper
+base class which was also designed with live streaming in mind.
+GstAggregator subclasses will operate in a mode with defined latency if
+any of the inputs are live streams. This ensures that the pipeline won't
+stall if any of the inputs stop producing data, and that the configured
+maximum latency is never exceeded.
+
+GstAudioAggregator, audiomixer and audiointerleave moved from -bad to -base
+
+GstAudioAggregator is a new base class for raw audio mixers and muxers
+and is based on GstAggregator (see above). It provides defined-latency
+mixing of raw audio inputs and ensures that the pipeline won't stall
+even if one of the input streams stops producing data.
+
+As part of the move to stabilise the API there were some last-minute API
+changes and clean-ups, but those should mostly affect internal elements.
+
+It is used by the audiomixer element, which is a replacement for
+'adder', which did not handle live inputs very well and did not align
+input streams according to running time. audiomixer should behave much
+better in that respect and generally behave as one would expected in
+most scenarios.
+
+Similarly, audiointerleave replaces the 'interleave' element which did
+not handle live inputs or non-aligned inputs very robustly.
+
+GstAudioAggregator and its subclases have gained support for input
+format conversion, which does not include sample rate conversion though
+as that would add additional latency. Furthermore, GAP events are now
+handled correctly.
+
+We hope to move the video equivalents (GstVideoAggregator and
+compositor) to -base in the next cycle, i.e. for 1.16.
+
+GStreamer OpenGL integration library and plugin moved from -bad to -base
+
+The GStreamer OpenGL integration library and opengl plugin have moved
+from gst-plugins-bad to -base and are now part of the stable API canon.
+Not all OpenGL elements have been moved; a few had to be left behind in
+gst-plugins-bad in the new openglmixers plugin, because they depend on
+the GstVideoAggregator base class which we were not able to move in this
+cycle. We hope to reunite these elements with the rest of their family
+for 1.16 though.
+
+This is quite a milestone, thanks to everyone who worked to make this
+happen!
+
+Qt QML and GTK plugins moved from -bad to -good
+
+The Qt QML-based qmlgl plugin has moved to -good and provides a
+qmlglsink video sink element as well as a qmlglsrc element. qmlglsink
+renders video into a QQuickItem, and qmlglsrc captures a window from a
+QML view and feeds it as video into a pipeline for further processing.
+Both elements leverage GStreamer's OpenGL integration. In addition to
+the move to -good the following features were added:
+
+-   A proxy object is now used for thread-safe access to the QML widget
+    which prevents crashes in corner case scenarios: QML can destroy the
+    video widget at any time, so without this we might be left with a
+    dangling pointer.
+
+-   EGL is now supported with the X11 backend, which works e.g. on
+    Freescale imx6
+
+The GTK+ plugin has also moved from -bad to -good. It includes gtksink
+and gtkglsink which both render video into a GtkWidget. gtksink uses
+Cairo for rendering the video, which will work everywhere in all
+scenarios but involves an extra memory copy, whereas gtkglsink fully
+leverages GStreamer's OpenGL integration, but might not work properly in
+all scenarios, e.g. where the OpenGL driver does not properly support
+multiple sharing contexts in different threads; on Linux Nouveau is
+known to be broken in this respect, whilst NVIDIA's proprietary drivers
+and most other drivers generally work fine, and the experience with
+Intel's driver seems to be fixed; some proprietary embedded Linux
+drivers don't work; macOS works).
+
+GstPhysMemoryAllocator interface moved from -bad to -base
+
+GstPhysMemoryAllocator is a marker interface for allocators with
+physical address backed memory.
 
 Plugin removals
 
--   this section will be filled in shortly
+-   the sunaudio plugin was removed, since it couldn't ever have been
+    built or used with GStreamer 1.0, but no one even noticed in all
+    these years.
 
+-   the schroedinger-based Dirac encoder/decoder plugin has been
+    removed, as there is no longer any upstream or anyone else
+    maintaining it. Seeing that it's quite a fringe codec it seemed best
+    to simply remove it.
 
-Miscellaneous API additions
+API removals
 
--   this section will be filled in shortly
-
-GstPlayer
-
--   this section will be filled in shortly
+-   some MPEG video parser API in the API unstable codecutils library in
+    gst-plugins-bad was removed after having been deprecated for 5
+    years.
 
 
 Miscellaneous changes
 
--   this section will be filled in shortly
+-   The video support library has gained support for a few new pixel
+    formats:
+-   NV16_10LE32: 10-bit variant of NV16, packed into 32bit words (plus 2
+    bits padding)
+-   NV12_10LE32: 10-bit variant of NV12, packed into 32bit words (plus 2
+    bits padding)
+-   GRAY10_LE32: 10-bit grayscale, packed in 32bit words (plus 2 bits
+    padding)
+
+-   decodebin, playbin and GstDiscoverer have seen stability
+    improvements in corner cases such as shutdown while still starting
+    up or shutdown in error cases (hat tip to the oss-fuzz project).
+
+-   floating reference handling was inconsistent and has been cleaned up
+    across the board, including annotations. This solves various
+    long-standing memory leaks in language bindings, which e.g. often
+    caused elements and pads to be leaked.
+
+-   major gobject-introspection annotation improvements for large parts
+    of the library API, including nullability of return types and
+    function parameters, correct types (e.g. strings vs. filenames),
+    ownership transfer, array length parameters, etc. This allows to use
+    bigger parts of the GStreamer API to be safely used from dynamic
+    language bindings (e.g. Python, Javascript) and allows static
+    bindings (e.g. C#, Rust, Vala) to autogenerate more API bindings
+    without manual intervention.
 
 OpenGL integration
 
--   this section will be filled in shortly
+-   The GStreamer OpenGL integration library has moved to
+    gst-plugins-base and is now part of our stable API.
+
+-   new MESA3D GBM BACKEND. On devices with working libdrm support, it
+    is possible to use Mesa3D's GBM library to set up an EGL context
+    directly on top of KMS. This makes it possible to use the GStreamer
+    OpenGL elements without a windowing system if a libdrm- and
+    Mesa3D-supported GPU is present.
+
+-   Prefer wayland display over X11: As most Wayland compositors support
+    XWayland, the X11 backend would get selected.
+
+-   gldownload can export dmabufs now, and glupload will advertise
+    dmabuf as caps feature.
 
 
 Tracing framework and debugging improvements
 
--   this section will be filled in shortly
+-   NEW MEMORY RINGBUFFER BASED DEBUG LOGGER, useful for long-running
+    applications or to retrieve diagnostics when encountering an error.
+    The GStreamer debug logging system provides in-depth debug logging
+    about what is going on inside a pipeline. When enabled, debug logs
+    are usually written into a file, printed to the terminal, or handed
+    off to a log handler installed by the application. However, at
+    higher debug levels the volume of debug output quickly becomes
+    unmanageable, which poses a problem in disk-space or bandwidth
+    restricted environments or with long-running pipelines where a
+    problem might only manifest itself after multiple days. In those
+    situations, developers are usually only interested in the most
+    recent debug log output. The new in-memory ringbuffer logger makes
+    this easy: just installed it with gst_debug_add_ring_buffer_logger()
+    and retrieve logs with gst_debug_ring_buffer_logger_get_logs() when
+    needed. It is possible to limit the memory usage per thread and set
+    a timeout to determine how long messages are kept around. It was
+    always possible to implement this in the application with a custom
+    log handler of course, this just provides this functionality as part
+    of GStreamer.
+
+&nbsp;
+-   'fakevideosink is a null sink for video data that advertises
+    video-specific metas ane behaves like a video sink. See above for
+    more details.
+
+-   gst_util_dump_buffer() prints the content of a buffer to stdout.
+
+-   gst_pad_link_get_name() and gst_state_change_get_name() print pad
+    link return values and state change transition values as strings.
+
+-   The LATENCY TRACER has seen a few improvements: trace records now
+    contain timestamps which is useful to plot things over time, and
+    downstream synchronisation time is now excluded from the measured
+    values.
+
+-   Miniobject refcount tracing and logging was not entirley
+    thread-safe, there were duplicates or missing entries at times. This
+    has now been made reliable.
+
+-   The netsim element, which can be used to simulate network jitter,
+    packet reordering and packet loss, received new features and
+    improvements: it can now also simulate network congestion using a
+    token bucket algorithm. This can be enabled via the "max-kbps"
+    property. Packet reordering can be disabled now via the
+    "allow-reordering" property: Reordering of packets is not very
+    common in networks, and the delay functions will always introduce
+    reordering if delay > packet-spacing, so by setting
+    "allow-reordering" to FALSE you guarantee that the packets are in
+    order, while at the same time introducing delay/jitter to them. By
+    using the new "delay-distribution" property the use can control how
+    the delay applied to delayed packets is distributed: This is either
+    the uniform distribution (as before) or the normal distribution; in
+    addition there is also the gamma distribution which simulates the
+    delay on wifi networks better.
 
 
 Tools
 
--   this section will be filled in shortly
+-   gst-inspect-1.0 now prints pad properties for elements that have pad
+    subclasses with special properties, such as compositor or
+    audiomixer. This only works for elements that use the newly-added
+    GstPadTemplate API API or the
+    gst_element_class_add_static_pad_template_with_gtype() convenience
+    function to tell GStreamer about the special pad subclass.
+
+-   gst-launch-1.0 now generates a gstreamer pipeline diagram (.dot
+    file) whenever SIGHUP is sent to it on Linux/*nix systems.
+
+-   gst-discoverer-1.0 can now analyse live streams such as rtsp:// URIs
 
 
 GStreamer RTSP server
 
--   this section will be filled in shortly
+-   Initial support for [RTSP protocol version
+    2.0][rtsp2-lightning-talk] was added, which is to the best of our
+    knowledge the first RTSP 2.0 implementation ever!
+
+-   ONVIF audio backchannel support. This is an extension specified by
+    ONVIF that allows RTSP clients (e.g. a control room operator) to
+    send audio back to the RTSP server (e.g. an IP camera).
+    Theoretically this could have been done also by using the RECORD
+    method of the RTSP protocol, but ONVIF chose not to do that, so the
+    backchannel is set up alongside the other streams. Format
+    negotiation needs to be done out of band, if needed. Use the new
+    ONVIF-specific subclasses GstRTSPOnvifServer and
+    GstRTSPOnvifMediaFactory to enable this functionality.
+
+&nbsp;
+-   The internal server streaming pipeline is now dynamically
+    reconfigured on PLAY based on the transports needed. This means that
+    the server no longer adds the pipeline plumbing for all possible
+    transports from the start, but only if needed as needed. This
+    improves performance and memory footprint.
+
+-   rtspclientsink has gained an "accept-certificate" signal for
+    manually checking a TLS certificate for validity.
+
+-   Fix keep-alive/timeout issue for certain clients using TCP
+    interleave as transport who don't do keep-alive via some other
+    method such as periodic RTSP OPTION requests. We now put netaddress
+    metas on the packets from the TCP interleaved stream, so can map
+    RTCP packets to the right stream in the server and can handle them
+    properly.
+
+-   Language bindings improvements: in general there were quite a few
+    improvements in the gobject-introspection annotations, but we also
+    extended the permissions API which was not usable from bindings
+    before.
+
+-   Fix corner case issue where the wrong mount point was found when
+    there were multiple mount points with a common prefix.
 
 
 GStreamer VAAPI
 
--   this section will be filled in shortly
+-   this section will be filled in shortly {FIXME!}
 
 
 GStreamer Editing Services and NLE
 
--   this section will be filled in shortly
+-   this section will be filled in shortly {FIXME!}
 
 
 GStreamer validate
 
--   this section will be filled in shortly
+-   this section will be filled in shortly {FIXME!}
 
 
 GStreamer Python Bindings
 
--   this section will be filled in shortly
+-   this section will be filled in shortly {FIXME!}
 
 
 Build and Dependencies
 
--   this section will be filled in shortly
+-   the new WebRTC support in gst-plugins-bad depends on the GStreamer
+    elements that ship as part of libnice, and libnice version 1.1.14 is
+    required. Also the dtls and srtp plugins.
+
+-   gst-plugins-bad no longer depends on the libschroedinger Dirac codec
+    library.
+
+-   The srtp plugin can now also be built against libsrtp2.
+
+-   some plugins and libraries have moved between modules, see the
+    _Plugin and_ _library moves_ section above, and their respective
+    dependencies have moved with them of course, e.g. the GStreamer
+    OpenGL integration support library and plugin is now in
+    gst-plugins-base, and mpg123, LAME and twoLAME based audio decoder
+    and encoder plugins are now in gst-plugins-good.
+
+-   Unify static and dynamic plugin interface and remove plugin specific
+    static build option: Static and dynamic plugins now have the same
+    interface. The standard --enable-static/--enable-shared toggle is
+    sufficient. This allows building static and shared plugins from the
+    same object files, instead of having to build everything twice.
+
+-   The default plugin entry point has changed. This will only affect
+    plugins that are recompiled against new GStreamer headers. Binary
+    plugins using the old entry point will continue to work. However,
+    plugins that are recompiled must have matching plugin names in
+    GST_PLUGIN_DEFINE and filenames, as the plugin entry point for
+    shared plugins is now deduced from the plugin filename. This means
+    you can no longer have a plugin called foo living in a file called
+    libfoobar.so or such, the plugin filename needs to match. This might
+    cause problems with some external third party plugin modules when
+    they get rebuilt against GStreamer 1.14.
+
+
+Note to packagers and distributors
+
+A number of libraries, APIs and plugins moved between modules and/or
+libraries in different modules between version 1.12.x and 1.14.x, see
+the _Plugin and_ _library moves_ section above. Some APIs have seen
+minor ABI changes in the course of moving them into the stable APIs
+section.
+
+This means that you should try to ensure that all major GStreamer
+modules are synced to the same major version (1.12 or 1.13/1.14) and can
+only be upgraded in lockstep, so that your users never end up with a mix
+of major versions on their system at the same time, as this may cause
+breakages.
+
+Also, plugins compiled against >= 1.14 headers will not load with
+GStreamer <= 1.12 owing to a new plugin entry point (but plugin binaries
+built against older GStreamer versions will continue to load with newer
+versions of GStreamer of course).
+
+There is also a small structure size related ABI breakage introduced in
+the gst-plugins-bad codecparsers library between version 1.13.90 and
+1.13.91. This should "only" affect gstreamer-vaapi, so anyone who ships
+the release candidates is advised to upgrade those two modules at the
+same time.
 
 
 Platform-specific improvements
 
 Android
 
--   this section will be filled in shortly
+-   ahcsrc (Android camera source) does autofocus now
 
 macOS and iOS
 
--   this section will be filled in shortly
+-   this section will be filled in shortly {FIXME!}
 
 Windows
 
--   this section will be filled in shortly
+-   The GStreamer wasapi plugin was rewritten and should not only be
+    usable now, but in top shape and suitable for low-latency use cases.
+    The Windows Audio Session API (WASAPI) is Microsoft's most modern
+    method for talking with audio devices, and now that the wasapi
+    plugin is up to scratch it is preferred over the directsound plugin.
+    The ranks of the wasapisink and wasapisrc elements have been updated
+    to reflect this. Further improvements include:
+
+-   support for more than 2 channels
+
+-   a new "low-latency" property to enable low-latency operation (which
+    should always be safe to enable)
+
+-   support for the AudioClient3 API which is only available on Windows
+    10: in wasapisink this will be used automatically if available; in
+    wasapisrc it will have to be enabled explicitly via the
+    "use-audioclient3" property, as capturing audio with low latency and
+    without glitches seems to require setting the realtime priority of
+    the entire pipeline to "critical", which cannot be done from inside
+    the element, but has to be done in the application.
+
+-   set realtime thread priority to avoid glitches
+
+-   allow opening devices in exclusive mode, which provides much lower
+    latency compared to shared mode where WASAPI's engine period is
+    10ms. This can be activated via the "exclusive" property.
+
+-   There are now GstDeviceProvider implementations for the wasapi and
+    directsound plugins, so it's now possible to discover both audio
+    sources and audio sinks on Windows via the GstDeviceMonitor API
+
+-   debug log timestamps are now higher granularity owing to
+    g_get_monotonic_time() now being used as fallback in
+    gst_utils_get_timestamp(). Before that, there would sometimes be
+    10-20 lines of debug log output sporting the same timestamp.
 
 
 Contributors
@@ -184,9 +1038,7 @@
 
 Bugs fixed in 1.14
 
--   this section will be filled in shortly
-
-More than 704 bugs have been fixed during the development of 1.14.
+More than 800 bugs have been fixed during the development of 1.14.
 
 This list does not include issues that have been cherry-picked into the
 stable 1.12 branch and fixed there as well, all fixes that ended up in
@@ -211,7 +1063,8 @@
 
 Known Issues
 
--   The webrtcdsp element is currently not shipped as part of the
+-   The webrtcdsp element (which is unrelated to the newly-landed
+    GStreamer webrtc support) is currently not shipped as part of the
     Windows binary packages due to a build system issue.
 
 
@@ -230,6 +1083,7 @@
 
 ------------------------------------------------------------------------
 
-_These release notes have been prepared by Tim-Philipp Müller._
+_These release notes have been prepared by Tim-Philipp Müller with_
+_contributions from Sebastian Dröge._
 
 _License: CC BY-SA 4.0_
diff --git a/RELEASE b/RELEASE
index fd7e260..1231ab1 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,4 +1,4 @@
-This is GStreamer gst-plugins-ugly 1.13.90.
+This is GStreamer gst-plugins-ugly 1.13.91.
 
 The GStreamer team is pleased to announce the first release candidate for the
 upcoming stable 1.14 release series.
diff --git a/config.h.in b/config.h.in
index dde4e35..f9f40d9 100644
--- a/config.h.in
+++ b/config.h.in
@@ -288,3 +288,14 @@
 #  undef WORDS_BIGENDIAN
 # endif
 #endif
+
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+#undef _FILE_OFFSET_BITS
+
+/* Define for large files, on AIX-style hosts. */
+#undef _LARGE_FILES
diff --git a/configure b/configure
index 71fe1cd..8e7db7d 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 Ugly Plug-ins 1.13.90.
+# Generated by GNU Autoconf 2.69 for GStreamer Ugly Plug-ins 1.13.91.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
 #
@@ -591,8 +591,8 @@
 # Identity of this package.
 PACKAGE_NAME='GStreamer Ugly Plug-ins'
 PACKAGE_TARNAME='gst-plugins-ugly'
-PACKAGE_VERSION='1.13.90'
-PACKAGE_STRING='GStreamer Ugly Plug-ins 1.13.90'
+PACKAGE_VERSION='1.13.91'
+PACKAGE_STRING='GStreamer Ugly Plug-ins 1.13.91'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
 PACKAGE_URL=''
 
@@ -1020,6 +1020,7 @@
 with_plugins
 enable_external
 enable_experimental
+enable_largefile
 with_html_dir
 enable_gtk_doc
 enable_gtk_doc_html
@@ -1645,7 +1646,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 Ugly Plug-ins 1.13.90 to adapt to many kinds of systems.
+\`configure' configures GStreamer Ugly Plug-ins 1.13.91 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1718,7 +1719,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GStreamer Ugly Plug-ins 1.13.90:";;
+     short | recursive ) echo "Configuration of GStreamer Ugly Plug-ins 1.13.91:";;
    esac
   cat <<\_ACEOF
 
@@ -1753,6 +1754,7 @@
   --disable-examples      disable building examples
   --disable-external           disable building of plug-ins with external deps
   --enable-experimental        enable building of experimental plug-ins
+  --disable-largefile     omit support for large files
   --enable-gtk-doc        use gtk-doc to build documentation [[default=no]]
   --enable-gtk-doc-html   build documentation in html format [[default=yes]]
   --enable-gtk-doc-pdf    build documentation in pdf format [[default=no]]
@@ -1949,7 +1951,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GStreamer Ugly Plug-ins configure 1.13.90
+GStreamer Ugly Plug-ins configure 1.13.91
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2855,7 +2857,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 Ugly Plug-ins $as_me 1.13.90, which was
+It was created by GStreamer Ugly Plug-ins $as_me 1.13.91, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3834,7 +3836,7 @@
 
 # Define the identity of the package.
  PACKAGE='gst-plugins-ugly'
- VERSION='1.13.90'
+ VERSION='1.13.91'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4045,9 +4047,9 @@
 
 
 
-  PACKAGE_VERSION_MAJOR=$(echo 1.13.90 | cut -d'.' -f1)
-  PACKAGE_VERSION_MINOR=$(echo 1.13.90 | cut -d'.' -f2)
-  PACKAGE_VERSION_MICRO=$(echo 1.13.90 | cut -d'.' -f3)
+  PACKAGE_VERSION_MAJOR=$(echo 1.13.91 | cut -d'.' -f1)
+  PACKAGE_VERSION_MINOR=$(echo 1.13.91 | cut -d'.' -f2)
+  PACKAGE_VERSION_MICRO=$(echo 1.13.91 | cut -d'.' -f3)
 
 
 
@@ -4058,7 +4060,7 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
 $as_echo_n "checking nano version... " >&6; }
 
-  NANO=$(echo 1.13.90 | cut -d'.' -f4)
+  NANO=$(echo 1.13.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
@@ -8892,10 +8894,10 @@
 done
 
 
-  GST_CURRENT=1390
+  GST_CURRENT=1391
   GST_REVISION=0
-  GST_AGE=1390
-  GST_LIBVERSION=1390:0:1390
+  GST_AGE=1391
+  GST_LIBVERSION=1391:0:1391
 
 
 
@@ -13523,8 +13525,8 @@
 
 
 
-GST_REQ=1.13.90
-GSTPB_REQ=1.13.90
+GST_REQ=1.13.91
+GSTPB_REQ=1.13.91
 
 
 
@@ -17007,6 +17009,208 @@
 
 
 
+# Check whether --enable-largefile was given.
+if test "${enable_largefile+set}" = set; then :
+  enableval=$enable_largefile;
+fi
+
+if test "$enable_largefile" != no; then
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
+$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
+if ${ac_cv_sys_largefile_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_sys_largefile_CC=no
+     if test "$GCC" != yes; then
+       ac_save_CC=$CC
+       while :; do
+	 # IRIX 6.2 and later do not support large files by default,
+	 # so use the C compiler's -n32 option if that helps.
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+	 if ac_fn_c_try_compile "$LINENO"; then :
+  break
+fi
+rm -f core conftest.err conftest.$ac_objext
+	 CC="$CC -n32"
+	 if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_largefile_CC=' -n32'; break
+fi
+rm -f core conftest.err conftest.$ac_objext
+	 break
+       done
+       CC=$ac_save_CC
+       rm -f conftest.$ac_ext
+    fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
+$as_echo "$ac_cv_sys_largefile_CC" >&6; }
+  if test "$ac_cv_sys_largefile_CC" != no; then
+    CC=$CC$ac_cv_sys_largefile_CC
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+if ${ac_cv_sys_file_offset_bits+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  while :; do
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_file_offset_bits=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#define _FILE_OFFSET_BITS 64
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_file_offset_bits=64; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_cv_sys_file_offset_bits=unknown
+  break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
+$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
+case $ac_cv_sys_file_offset_bits in #(
+  no | unknown) ;;
+  *)
+cat >>confdefs.h <<_ACEOF
+#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
+_ACEOF
+;;
+esac
+rm -rf conftest*
+  if test $ac_cv_sys_file_offset_bits = unknown; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
+$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
+if ${ac_cv_sys_large_files+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  while :; do
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_large_files=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#define _LARGE_FILES 1
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_sys_large_files=1; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_cv_sys_large_files=unknown
+  break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
+$as_echo "$ac_cv_sys_large_files" >&6; }
+case $ac_cv_sys_large_files in #(
+  no | unknown) ;;
+  *)
+cat >>confdefs.h <<_ACEOF
+#define _LARGE_FILES $ac_cv_sys_large_files
+_ACEOF
+;;
+esac
+rm -rf conftest*
+  fi
+
+
+fi
+
+
+
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -28010,7 +28214,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by GStreamer Ugly Plug-ins $as_me 1.13.90, which was
+This file was extended by GStreamer Ugly Plug-ins $as_me 1.13.91, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -28076,7 +28280,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 Ugly Plug-ins config.status 1.13.90
+GStreamer Ugly Plug-ins config.status 1.13.91
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 5df93b9..cb61059 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,7 +5,7 @@
 dnl initialize autoconf
 dnl releases only do -Wall, cvs and prerelease does -Werror too
 dnl use a three digit version number for releases, and four for cvs/prerelease
-AC_INIT([GStreamer Ugly Plug-ins],[1.13.90],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-ugly])
+AC_INIT([GStreamer Ugly Plug-ins],[1.13.91],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-ugly])
 
 AG_GST_INIT
 
@@ -42,11 +42,11 @@
 AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION",
   [GStreamer API Version])
 
-AS_LIBTOOL(GST, 1390, 0, 1390)
+AS_LIBTOOL(GST, 1391, 0, 1391)
 
 dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.13.90
-GSTPB_REQ=1.13.90
+GST_REQ=1.13.91
+GSTPB_REQ=1.13.91
 
 dnl *** autotools stuff ****
 
@@ -95,6 +95,12 @@
 dnl Determine endianness
 AC_C_BIGENDIAN
 
+dnl *** software ***
+
+dnl check for large file support
+dnl affected plugins must include config.h
+AC_SYS_LARGEFILE
+
 dnl *** checks for programs ***
 
 dnl find a compiler
diff --git a/docs/plugins/gst-plugins-ugly-plugins-docs.sgml b/docs/plugins/gst-plugins-ugly-plugins-docs.sgml
index 2496f92..5d97c8b 100644
--- a/docs/plugins/gst-plugins-ugly-plugins-docs.sgml
+++ b/docs/plugins/gst-plugins-ugly-plugins-docs.sgml
@@ -23,8 +23,8 @@
     <xi:include href="xml/element-amrwbdec.xml" />
     <xi:include href="xml/element-cdiocddasrc.xml" />
     <xi:include href="xml/element-rademux.xml" />
-    <xi:include href="xml/element-rmdemux.xml" />
     <xi:include href="xml/element-rdtmanager.xml" />
+    <xi:include href="xml/element-rmdemux.xml" />
     <xi:include href="xml/element-rtspreal.xml" />
     <xi:include href="xml/element-rtspwms.xml" />
     <xi:include href="xml/element-siddec.xml" />
@@ -46,5 +46,6 @@
     <xi:include href="xml/plugin-realmedia.xml" />
     <xi:include href="xml/plugin-sid.xml" />
     <xi:include href="xml/plugin-x264.xml" />
+    <xi:include href="xml/plugin-xingmux.xml" />
   </chapter>
 </book>
diff --git a/docs/plugins/html/ch01.html b/docs/plugins/html/ch01.html
index 2bc7d97..5337fe0 100644
--- a/docs/plugins/html/ch01.html
+++ b/docs/plugins/html/ch01.html
@@ -42,10 +42,10 @@
 <span class="refentrytitle"><a href="gst-plugins-ugly-plugins-rademux.html">rademux</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-ugly-plugins-rmdemux.html">rmdemux</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-ugly-plugins-rdtmanager.html">rdtmanager</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-ugly-plugins-rdtmanager.html">rdtmanager</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-ugly-plugins-rmdemux.html">rmdemux</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-ugly-plugins-rtspreal.html">rtspreal</a></span><span class="refpurpose"></span>
diff --git a/docs/plugins/html/ch02.html b/docs/plugins/html/ch02.html
index ed1fd08..cd9261c 100644
--- a/docs/plugins/html/ch02.html
+++ b/docs/plugins/html/ch02.html
@@ -59,6 +59,9 @@
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-ugly-plugins-plugin-x264.html">x264</a></span><span class="refpurpose"> — libx264-based H264 plugins</span>
 </dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-ugly-plugins-plugin-xingmux.html">xingmux</a></span><span class="refpurpose"> — Add XING tags to mpeg audio files</span>
+</dt>
 </dl></div>
 </div>
 <div class="footer">
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-1.0.devhelp2 b/docs/plugins/html/gst-plugins-ugly-plugins-1.0.devhelp2
index 3053d17..ac546f3 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-1.0.devhelp2
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-1.0.devhelp2
@@ -8,8 +8,8 @@
       <sub name="amrwbdec" link="gst-plugins-ugly-plugins-amrwbdec.html"/>
       <sub name="cdiocddasrc" link="gst-plugins-ugly-plugins-cdiocddasrc.html"/>
       <sub name="rademux" link="gst-plugins-ugly-plugins-rademux.html"/>
-      <sub name="rmdemux" link="gst-plugins-ugly-plugins-rmdemux.html"/>
       <sub name="rdtmanager" link="gst-plugins-ugly-plugins-rdtmanager.html"/>
+      <sub name="rmdemux" link="gst-plugins-ugly-plugins-rmdemux.html"/>
       <sub name="rtspreal" link="gst-plugins-ugly-plugins-rtspreal.html"/>
       <sub name="rtspwms" link="gst-plugins-ugly-plugins-rtspwms.html"/>
       <sub name="siddec" link="gst-plugins-ugly-plugins-siddec.html"/>
@@ -29,6 +29,7 @@
       <sub name="realmedia" link="gst-plugins-ugly-plugins-plugin-realmedia.html"/>
       <sub name="sid" link="gst-plugins-ugly-plugins-plugin-sid.html"/>
       <sub name="x264" link="gst-plugins-ugly-plugins-plugin-x264.html"/>
+      <sub name="xingmux" link="gst-plugins-ugly-plugins-plugin-xingmux.html"/>
     </sub>
   </chapters>
   <functions>
@@ -44,7 +45,6 @@
     <keyword type="struct" name="struct GstCdioCddaSrc" link="gst-plugins-ugly-plugins-cdiocddasrc.html#GstCdioCddaSrc-struct"/>
     <keyword type="property" name="The “read-speed” property" link="gst-plugins-ugly-plugins-cdiocddasrc.html#GstCdioCddaSrc--read-speed"/>
     <keyword type="struct" name="struct GstRealAudioDemux" link="gst-plugins-ugly-plugins-rademux.html#GstRealAudioDemux-struct"/>
-    <keyword type="struct" name="struct GstRMDemux" link="gst-plugins-ugly-plugins-rmdemux.html#GstRMDemux-struct"/>
     <keyword type="struct" name="struct GstRDTManager" link="gst-plugins-ugly-plugins-rdtmanager.html#GstRDTManager-struct"/>
     <keyword type="property" name="The “latency” property" link="gst-plugins-ugly-plugins-rdtmanager.html#GstRDTManager--latency"/>
     <keyword type="signal" name="The “clear-pt-map” signal" link="gst-plugins-ugly-plugins-rdtmanager.html#GstRDTManager-clear-pt-map"/>
@@ -53,6 +53,7 @@
     <keyword type="signal" name="The “on-timeout” signal" link="gst-plugins-ugly-plugins-rdtmanager.html#GstRDTManager-on-timeout"/>
     <keyword type="signal" name="The “request-pt-map” signal" link="gst-plugins-ugly-plugins-rdtmanager.html#GstRDTManager-request-pt-map"/>
     <keyword type="signal" name="The “on-npt-stop” signal" link="gst-plugins-ugly-plugins-rdtmanager.html#GstRDTManager-on-npt-stop"/>
+    <keyword type="struct" name="struct GstRMDemux" link="gst-plugins-ugly-plugins-rmdemux.html#GstRMDemux-struct"/>
     <keyword type="struct" name="struct GstRTSPReal" link="gst-plugins-ugly-plugins-rtspreal.html#GstRTSPReal-struct"/>
     <keyword type="struct" name="struct GstRTSPWMS" link="gst-plugins-ugly-plugins-rtspwms.html#GstRTSPWMS-struct"/>
     <keyword type="struct" name="struct GstSidDec" link="gst-plugins-ugly-plugins-siddec.html#GstSidDec-struct"/>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-a52dec.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-a52dec.html
index 4649ea4..b3c9dc1 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-a52dec.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-a52dec.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.13.90</td>
+<td>1.13.91</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-amrnb.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-amrnb.html
index d1d006a..740cad3 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-amrnb.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-amrnb.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.13.90</td>
+<td>1.13.91</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-amrwbdec.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-amrwbdec.html
index e10dd01..83d7293 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-amrwbdec.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-amrwbdec.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.13.90</td>
+<td>1.13.91</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-asf.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-asf.html
index 34ea2a6..6fd751d 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-asf.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-asf.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.13.90</td>
+<td>1.13.91</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-cdio.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-cdio.html
index e386ba5..0731478 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-cdio.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-cdio.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.13.90</td>
+<td>1.13.91</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdlpcmdec.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdlpcmdec.html
index e0c4c0a..d029b3a 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdlpcmdec.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdlpcmdec.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.13.90</td>
+<td>1.13.91</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdread.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdread.html
index fa50ad9..5dc0b05 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdread.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdread.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.13.90</td>
+<td>1.13.91</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdsub.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdsub.html
index 4b6871e..7d52aef 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdsub.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-dvdsub.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.13.90</td>
+<td>1.13.91</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-mpeg2dec.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-mpeg2dec.html
index b72743b..720c670 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-mpeg2dec.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-mpeg2dec.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.13.90</td>
+<td>1.13.91</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-realmedia.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-realmedia.html
index 7ebb984..2be3771 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-realmedia.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-realmedia.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.13.90</td>
+<td>1.13.91</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-sid.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-sid.html
index bddcbc8..01c6d58 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-sid.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-sid.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.13.90</td>
+<td>1.13.91</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-x264.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-x264.html
index 47c708c..d933cb6 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-x264.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-x264.html
@@ -7,6 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Ugly Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch02.html" title="gst-plugins-ugly Plugins">
 <link rel="prev" href="gst-plugins-ugly-plugins-plugin-sid.html" title="sid">
+<link rel="next" href="gst-plugins-ugly-plugins-plugin-xingmux.html" title="xingmux">
 <meta name="generator" content="GTK-Doc V1.27 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -16,7 +17,7 @@
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
 <td><a accesskey="p" href="gst-plugins-ugly-plugins-plugin-sid.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><img src="right-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="n" href="gst-plugins-ugly-plugins-plugin-xingmux.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-ugly-plugins-plugin-x264"></a><div class="titlepage"></div>
@@ -41,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.13.90</td>
+<td>1.13.91</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-plugin-xingmux.html b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-xingmux.html
new file mode 100644
index 0000000..2edbc24
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-plugin-xingmux.html
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xingmux: GStreamer Ugly Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Ugly Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch02.html" title="gst-plugins-ugly Plugins">
+<link rel="prev" href="gst-plugins-ugly-plugins-plugin-x264.html" title="x264">
+<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-ugly-plugins-plugin-x264.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><img src="right-insensitive.png" width="16" height="16" border="0"></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-ugly-plugins-plugin-xingmux"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle">xingmux</span></h2>
+<p>xingmux — <a name="plugin-xingmux"></a>Add XING tags to mpeg audio files</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="id-1.3.14.3"></a><h2>Plugin Information</h2>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">filename</span></p></td>
+<td>libgstxingmux.so</td>
+</tr>
+<tr>
+<td><p><span class="term">version</span></p></td>
+<td>1.13.91</td>
+</tr>
+<tr>
+<td><p><span class="term">run-time license</span></p></td>
+<td>LGPL</td>
+</tr>
+<tr>
+<td><p><span class="term">package</span></p></td>
+<td>GStreamer Ugly Plug-ins source release</td>
+</tr>
+<tr>
+<td><p><span class="term">origin</span></p></td>
+<td>Unknown package origin</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="id-1.3.14.4"></a><h2>Elements</h2>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-ugly-plugins-xingmux.html" title="xingmux">xingmux</a></span></p></td>
+<td>Adds a Xing header to the beginning of a VBR MP3 file</td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.27</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-rademux.html b/docs/plugins/html/gst-plugins-ugly-plugins-rademux.html
index 8a99304..90ecd0d 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-rademux.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-rademux.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Ugly Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-ugly Elements">
 <link rel="prev" href="gst-plugins-ugly-plugins-cdiocddasrc.html" title="cdiocddasrc">
-<link rel="next" href="gst-plugins-ugly-plugins-rmdemux.html" title="rmdemux">
+<link rel="next" href="gst-plugins-ugly-plugins-rdtmanager.html" title="rdtmanager">
 <meta name="generator" content="GTK-Doc V1.27 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -21,7 +21,7 @@
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
 <td><a accesskey="p" href="gst-plugins-ugly-plugins-cdiocddasrc.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-ugly-plugins-rmdemux.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-ugly-plugins-rdtmanager.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-ugly-plugins-rademux"></a><div class="titlepage"></div>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-rdtmanager.html b/docs/plugins/html/gst-plugins-ugly-plugins-rdtmanager.html
index d92a020..48325f5 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-rdtmanager.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-rdtmanager.html
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="GStreamer Ugly Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-ugly Elements">
-<link rel="prev" href="gst-plugins-ugly-plugins-rmdemux.html" title="rmdemux">
-<link rel="next" href="gst-plugins-ugly-plugins-rtspreal.html" title="rtspreal">
+<link rel="prev" href="gst-plugins-ugly-plugins-rademux.html" title="rademux">
+<link rel="next" href="gst-plugins-ugly-plugins-rmdemux.html" title="rmdemux">
 <meta name="generator" content="GTK-Doc V1.27 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -22,8 +22,8 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-ugly-plugins-rmdemux.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-ugly-plugins-rtspreal.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="gst-plugins-ugly-plugins-rademux.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-ugly-plugins-rmdemux.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-ugly-plugins-rdtmanager"></a><div class="titlepage"></div>
@@ -120,7 +120,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.9.8.3.1"></a><h3>Element Information</h3>
+<a name="id-1.2.8.8.3.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -146,7 +146,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.9.8.3.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.8.8.3.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-rmdemux.html b/docs/plugins/html/gst-plugins-ugly-plugins-rmdemux.html
index 179d9bc..adacf7b 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-rmdemux.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-rmdemux.html
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="GStreamer Ugly Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-ugly Elements">
-<link rel="prev" href="gst-plugins-ugly-plugins-rademux.html" title="rademux">
-<link rel="next" href="gst-plugins-ugly-plugins-rdtmanager.html" title="rdtmanager">
+<link rel="prev" href="gst-plugins-ugly-plugins-rdtmanager.html" title="rdtmanager">
+<link rel="next" href="gst-plugins-ugly-plugins-rtspreal.html" title="rtspreal">
 <meta name="generator" content="GTK-Doc V1.27 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -20,8 +20,8 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-ugly-plugins-rademux.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-ugly-plugins-rdtmanager.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="gst-plugins-ugly-plugins-rdtmanager.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-ugly-plugins-rtspreal.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-ugly-plugins-rmdemux"></a><div class="titlepage"></div>
@@ -59,7 +59,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.8.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.9.6.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -85,7 +85,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.8.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.9.6.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-rtspreal.html b/docs/plugins/html/gst-plugins-ugly-plugins-rtspreal.html
index e17142e..10659e3 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-rtspreal.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-rtspreal.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="GStreamer Ugly Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-ugly Elements">
-<link rel="prev" href="gst-plugins-ugly-plugins-rdtmanager.html" title="rdtmanager">
+<link rel="prev" href="gst-plugins-ugly-plugins-rmdemux.html" title="rmdemux">
 <link rel="next" href="gst-plugins-ugly-plugins-rtspwms.html" title="rtspwms">
 <meta name="generator" content="GTK-Doc V1.27 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -21,7 +21,7 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-ugly-plugins-rdtmanager.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-ugly-plugins-rmdemux.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 <td><a accesskey="n" href="gst-plugins-ugly-plugins-rtspwms.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-x264enc.html b/docs/plugins/html/gst-plugins-ugly-plugins-x264enc.html
index a71dce6..45a8b85 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-x264enc.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-x264enc.html
@@ -770,7 +770,7 @@
 <div class="refsect2">
 <a name="GstX264Enc--option-string"></a><h3>The <code class="literal">“option-string”</code> property</h3>
 <pre class="programlisting">  “option-string”            <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
-<p>String of x264 options (overridden by element properties).</p>
+<p>String of x264 options (overridden by element properties) in the format "key1=value1:key2=value2".</p>
 <p>Flags: Read / Write</p>
 <p>Default value: ""</p>
 </div>
diff --git a/docs/plugins/html/gst-plugins-ugly-plugins-xingmux.html b/docs/plugins/html/gst-plugins-ugly-plugins-xingmux.html
index 5467e69..fef576d 100644
--- a/docs/plugins/html/gst-plugins-ugly-plugins-xingmux.html
+++ b/docs/plugins/html/gst-plugins-ugly-plugins-xingmux.html
@@ -91,7 +91,7 @@
 <tr>
 <td><p><span class="term">plugin</span></p></td>
 <td>
-            xingmux
+            <a class="link" href="gst-plugins-ugly-plugins-plugin-xingmux.html#plugin-xingmux">xingmux</a>
           </td>
 </tr>
 <tr>
diff --git a/docs/plugins/html/home.png b/docs/plugins/html/home.png
index b4373be..effb5ea 100644
--- a/docs/plugins/html/home.png
+++ b/docs/plugins/html/home.png
Binary files differ
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index 7eef433..2153cd5 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 Ugly Plugins 1.0 Plugins Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GStreamer Ugly Plugins 1.0 (1.13.90)
+      for GStreamer Ugly Plugins 1.0 (1.13.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/gst-plugins-ugly/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-ugly/html/</a>.
     </p></div>
@@ -44,10 +44,10 @@
 <span class="refentrytitle"><a href="gst-plugins-ugly-plugins-rademux.html">rademux</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-ugly-plugins-rmdemux.html">rmdemux</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-ugly-plugins-rdtmanager.html">rdtmanager</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-ugly-plugins-rdtmanager.html">rdtmanager</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-ugly-plugins-rmdemux.html">rmdemux</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-ugly-plugins-rtspreal.html">rtspreal</a></span><span class="refpurpose"></span>
@@ -103,6 +103,9 @@
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-ugly-plugins-plugin-x264.html">x264</a></span><span class="refpurpose"> — libx264-based H264 plugins</span>
 </dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-ugly-plugins-plugin-xingmux.html">xingmux</a></span><span class="refpurpose"> — Add XING tags to mpeg audio files</span>
+</dt>
 </dl></dd>
 </dl></div>
 </div>
diff --git a/docs/plugins/html/left-insensitive.png b/docs/plugins/html/left-insensitive.png
index a6b5e73..6290738 100644
--- a/docs/plugins/html/left-insensitive.png
+++ b/docs/plugins/html/left-insensitive.png
Binary files differ
diff --git a/docs/plugins/html/left.png b/docs/plugins/html/left.png
index b4eb4ea..d34a7bc 100644
--- a/docs/plugins/html/left.png
+++ b/docs/plugins/html/left.png
Binary files differ
diff --git a/docs/plugins/html/right-insensitive.png b/docs/plugins/html/right-insensitive.png
index 69702d1..179725a 100644
--- a/docs/plugins/html/right-insensitive.png
+++ b/docs/plugins/html/right-insensitive.png
Binary files differ
diff --git a/docs/plugins/html/right.png b/docs/plugins/html/right.png
index 5aef0a9..bf5d8fa 100644
--- a/docs/plugins/html/right.png
+++ b/docs/plugins/html/right.png
Binary files differ
diff --git a/docs/plugins/html/up-insensitive.png b/docs/plugins/html/up-insensitive.png
index 439f8d7..5ee049e 100644
--- a/docs/plugins/html/up-insensitive.png
+++ b/docs/plugins/html/up-insensitive.png
Binary files differ
diff --git a/docs/plugins/html/up.png b/docs/plugins/html/up.png
index b8bd7bc..3a816d0 100644
--- a/docs/plugins/html/up.png
+++ b/docs/plugins/html/up.png
Binary files differ
diff --git a/docs/plugins/inspect/plugin-a52dec.xml b/docs/plugins/inspect/plugin-a52dec.xml
index 66cff53..8d3db82 100644
--- a/docs/plugins/inspect/plugin-a52dec.xml
+++ b/docs/plugins/inspect/plugin-a52dec.xml
@@ -3,7 +3,7 @@
   <description>Decodes ATSC A/52 encoded audio streams</description>
   <filename>../../ext/a52dec/.libs/libgsta52dec.so</filename>
   <basename>libgsta52dec.so</basename>
-  <version>1.13.90</version>
+  <version>1.13.91</version>
   <license>GPL</license>
   <source>gst-plugins-ugly</source>
   <package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-amrnb.xml b/docs/plugins/inspect/plugin-amrnb.xml
index 02878b6..31af5b1 100644
--- a/docs/plugins/inspect/plugin-amrnb.xml
+++ b/docs/plugins/inspect/plugin-amrnb.xml
@@ -3,7 +3,7 @@
   <description>Adaptive Multi-Rate Narrow-Band</description>
   <filename>../../ext/amrnb/.libs/libgstamrnb.so</filename>
   <basename>libgstamrnb.so</basename>
-  <version>1.13.90</version>
+  <version>1.13.91</version>
   <license>unknown</license>
   <source>gst-plugins-ugly</source>
   <package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-amrwbdec.xml b/docs/plugins/inspect/plugin-amrwbdec.xml
index 5095bf9..471c556 100644
--- a/docs/plugins/inspect/plugin-amrwbdec.xml
+++ b/docs/plugins/inspect/plugin-amrwbdec.xml
@@ -3,7 +3,7 @@
   <description>Adaptive Multi-Rate Wide-Band Decoder</description>
   <filename>../../ext/amrwbdec/.libs/libgstamrwbdec.so</filename>
   <basename>libgstamrwbdec.so</basename>
-  <version>1.13.90</version>
+  <version>1.13.91</version>
   <license>unknown</license>
   <source>gst-plugins-ugly</source>
   <package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-asf.xml b/docs/plugins/inspect/plugin-asf.xml
index 50b0152..8f808c6 100644
--- a/docs/plugins/inspect/plugin-asf.xml
+++ b/docs/plugins/inspect/plugin-asf.xml
@@ -3,7 +3,7 @@
   <description>Demuxes and muxes audio and video in Microsofts ASF format</description>
   <filename>../../gst/asfdemux/.libs/libgstasf.so</filename>
   <basename>libgstasf.so</basename>
-  <version>1.13.90</version>
+  <version>1.13.91</version>
   <license>LGPL</license>
   <source>gst-plugins-ugly</source>
   <package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-cdio.xml b/docs/plugins/inspect/plugin-cdio.xml
index feb3e80..b2735ba 100644
--- a/docs/plugins/inspect/plugin-cdio.xml
+++ b/docs/plugins/inspect/plugin-cdio.xml
@@ -3,7 +3,7 @@
   <description>Read audio from audio CDs</description>
   <filename>../../ext/cdio/.libs/libgstcdio.so</filename>
   <basename>libgstcdio.so</basename>
-  <version>1.13.90</version>
+  <version>1.13.91</version>
   <license>GPL</license>
   <source>gst-plugins-ugly</source>
   <package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dvdlpcmdec.xml b/docs/plugins/inspect/plugin-dvdlpcmdec.xml
index 168d509..f54afa0 100644
--- a/docs/plugins/inspect/plugin-dvdlpcmdec.xml
+++ b/docs/plugins/inspect/plugin-dvdlpcmdec.xml
@@ -3,7 +3,7 @@
   <description>Decode DVD LPCM frames into standard PCM</description>
   <filename>../../gst/dvdlpcmdec/.libs/libgstdvdlpcmdec.so</filename>
   <basename>libgstdvdlpcmdec.so</basename>
-  <version>1.13.90</version>
+  <version>1.13.91</version>
   <license>LGPL</license>
   <source>gst-plugins-ugly</source>
   <package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dvdread.xml b/docs/plugins/inspect/plugin-dvdread.xml
index 942fe32..c9240d7 100644
--- a/docs/plugins/inspect/plugin-dvdread.xml
+++ b/docs/plugins/inspect/plugin-dvdread.xml
@@ -3,7 +3,7 @@
   <description>Access a DVD with dvdread</description>
   <filename>../../ext/dvdread/.libs/libgstdvdread.so</filename>
   <basename>libgstdvdread.so</basename>
-  <version>1.13.90</version>
+  <version>1.13.91</version>
   <license>GPL</license>
   <source>gst-plugins-ugly</source>
   <package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dvdsub.xml b/docs/plugins/inspect/plugin-dvdsub.xml
index a66d8c3..4f46b01 100644
--- a/docs/plugins/inspect/plugin-dvdsub.xml
+++ b/docs/plugins/inspect/plugin-dvdsub.xml
@@ -3,7 +3,7 @@
   <description>DVD subtitle parser and decoder</description>
   <filename>../../gst/dvdsub/.libs/libgstdvdsub.so</filename>
   <basename>libgstdvdsub.so</basename>
-  <version>1.13.90</version>
+  <version>1.13.91</version>
   <license>LGPL</license>
   <source>gst-plugins-ugly</source>
   <package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mpeg2dec.xml b/docs/plugins/inspect/plugin-mpeg2dec.xml
index b90a3c5..df30ec3 100644
--- a/docs/plugins/inspect/plugin-mpeg2dec.xml
+++ b/docs/plugins/inspect/plugin-mpeg2dec.xml
@@ -3,7 +3,7 @@
   <description>LibMpeg2 decoder</description>
   <filename>../../ext/mpeg2dec/.libs/libgstmpeg2dec.so</filename>
   <basename>libgstmpeg2dec.so</basename>
-  <version>1.13.90</version>
+  <version>1.13.91</version>
   <license>GPL</license>
   <source>gst-plugins-ugly</source>
   <package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-realmedia.xml b/docs/plugins/inspect/plugin-realmedia.xml
index f1de385..9f15711 100644
--- a/docs/plugins/inspect/plugin-realmedia.xml
+++ b/docs/plugins/inspect/plugin-realmedia.xml
@@ -3,7 +3,7 @@
   <description>RealMedia support plugins</description>
   <filename>../../gst/realmedia/.libs/libgstrealmedia.so</filename>
   <basename>libgstrealmedia.so</basename>
-  <version>1.13.90</version>
+  <version>1.13.91</version>
   <license>LGPL</license>
   <source>gst-plugins-ugly</source>
   <package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-sid.xml b/docs/plugins/inspect/plugin-sid.xml
index 2ac37b0..6ec04be 100644
--- a/docs/plugins/inspect/plugin-sid.xml
+++ b/docs/plugins/inspect/plugin-sid.xml
@@ -3,7 +3,7 @@
   <description>Uses libsidplay to decode .sid files</description>
   <filename>../../ext/sidplay/.libs/libgstsid.so</filename>
   <basename>libgstsid.so</basename>
-  <version>1.13.90</version>
+  <version>1.13.91</version>
   <license>GPL</license>
   <source>gst-plugins-ugly</source>
   <package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-x264.xml b/docs/plugins/inspect/plugin-x264.xml
index c04ff99..508b924 100644
--- a/docs/plugins/inspect/plugin-x264.xml
+++ b/docs/plugins/inspect/plugin-x264.xml
@@ -3,7 +3,7 @@
   <description>libx264-based H264 plugins</description>
   <filename>../../ext/x264/.libs/libgstx264.so</filename>
   <basename>libgstx264.so</basename>
-  <version>1.13.90</version>
+  <version>1.13.91</version>
   <license>GPL</license>
   <source>gst-plugins-ugly</source>
   <package>GStreamer Ugly Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-xingmux.xml b/docs/plugins/inspect/plugin-xingmux.xml
index 06542d4..6e107cd 100644
--- a/docs/plugins/inspect/plugin-xingmux.xml
+++ b/docs/plugins/inspect/plugin-xingmux.xml
@@ -3,7 +3,7 @@
   <description>Add XING tags to mpeg audio files</description>
   <filename>../../gst/xingmux/.libs/libgstxingmux.so</filename>
   <basename>libgstxingmux.so</basename>
-  <version>1.13.90</version>
+  <version>1.13.91</version>
   <license>LGPL</license>
   <source>gst-plugins-ugly</source>
   <package>GStreamer Ugly Plug-ins source release</package>
diff --git a/gst-plugins-ugly.doap b/gst-plugins-ugly.doap
index 080165c..cf7a0a5 100644
--- a/gst-plugins-ugly.doap
+++ b/gst-plugins-ugly.doap
@@ -35,6 +35,16 @@
 
  <release>
   <Version>
+   <revision>1.13.91</revision>
+   <branch>master</branch>
+   <name></name>
+   <created>2018-03-13</created>
+   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.13.91.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.13.90</revision>
    <branch>master</branch>
    <name></name>
diff --git a/meson.build b/meson.build
index e8f4746..a083010 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
 project('gst-plugins-ugly', 'c',
-  version : '1.13.90',
+  version : '1.13.91',
   meson_version : '>= 0.36.0',
   default_options : [ 'warning_level=1',
                       'buildtype=debugoptimized' ])
diff --git a/po/af.po b/po/af.po
index 28f9bf7..d793bef 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: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\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.po b/po/az.po
index 3002abb..4db9465 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: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\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.po b/po/bg.po
index 3540149..54a6c76 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 1.7.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\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.po b/po/ca.po
index 3600ca4..6ce1491 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 0.10.17.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\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.po b/po/cs.po
index dfbed82..09616fd 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2013-09-07 07:06+0200\n"
 "Last-Translator: Marek Černocký <marek@manet.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
diff --git a/po/da.po b/po/da.po
index 248f7ab..447eba4 100644
--- a/po/da.po
+++ b/po/da.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly-1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2012-12-09 03:56+0100\n"
 "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
diff --git a/po/de.po b/po/de.po
index 989481b..68eb234 100644
--- a/po/de.po
+++ b/po/de.po
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2014-05-22 18:29+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.po b/po/el.po
index 9371266..ea789c6 100644
--- a/po/el.po
+++ b/po/el.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 0.10.17.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2012-03-18 01:04+0100\n"
 "Last-Translator: Savvas Radevic <vicedar@gmail.com>\n"
 "Language-Team: Greek <team@lists.gnome.gr>\n"
diff --git a/po/en_GB.po b/po/en_GB.po
index a1f4915..9ad26c9 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: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\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.po b/po/eo.po
index fe05557..753ae97 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2014-09-21 21:03+0200\n"
 "Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
diff --git a/po/es.po b/po/es.po
index 9732bcb..94a84a7 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 0.10.17.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\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.po b/po/eu.po
index d09afc6..6dc0554 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly-0.10.13.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2010-03-07 13:12+0200\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.po b/po/fi.po
index 57cbc92..7bf54d6 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 0.10.10.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2009-03-10 20:41+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.po b/po/fr.po
index ca3a354..abb53c9 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 1.7.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2015-12-27 01:51+0100\n"
 "Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
 "Language-Team: French <traduc@traduc.org>\n"
diff --git a/po/fur.po b/po/fur.po
index 7ca11be..fb9dc7b 100644
--- a/po/fur.po
+++ b/po/fur.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 1.10.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2016-11-30 16:23+0100\n"
 "Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
 "Language-Team: Friulian <f.t.public@gmail.com>\n"
diff --git a/po/gl.po b/po/gl.po
index 62129ef..7913763 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2012-12-15 03:47+0200\n"
 "Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n"
 "Language-Team: Galician <proxecto@trasno.net>\n"
diff --git a/po/gst-plugins-ugly-1.0.pot b/po/gst-plugins-ugly-1.0.pot
index 7f76459..28433ca 100644
--- a/po/gst-plugins-ugly-1.0.pot
+++ b/po/gst-plugins-ugly-1.0.pot
@@ -5,9 +5,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-ugly 1.13.90\n"
+"Project-Id-Version: gst-plugins-ugly 1.13.91\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\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"
diff --git a/po/hr.po b/po/hr.po
index 0322059..8687b40 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly-1.10.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2016-11-19 10:23-0800\n"
 "Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
diff --git a/po/hu.po b/po/hu.po
index 6ae681a..01f6e5a 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2012-11-30 15:02+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.po b/po/id.po
index dab8db8..6553542 100644
--- a/po/id.po
+++ b/po/id.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2014-01-27 20:04+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.po b/po/it.po
index a7acdd7..25e8e51 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 1.10.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2017-09-15 09:56+0200\n"
 "Last-Translator: Sebastiano Pistore <sebastianopistore.info@protonmail.ch>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
diff --git a/po/ja.po b/po/ja.po
index 3364911..a179d44 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2012-12-22 19:42+0900\n"
 "Last-Translator: Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
diff --git a/po/lt.po b/po/lt.po
index cbd206c..2175835 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly-0.10.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2008-05-14 02:52+0300\n"
 "Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n"
 "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
diff --git a/po/lv.po b/po/lv.po
index f5abaa2..758de24 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2014-04-20 16:24+0300\n"
 "Last-Translator: Rihards Prieditis <rprieditis@gmail.com>\n"
 "Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
diff --git a/po/ms.po b/po/ms.po
index ea9b1fe..1bcbf2e 100644
--- a/po/ms.po
+++ b/po/ms.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly-0.10.11.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2009-07-16 15:07+0800\n"
 "Last-Translator: Muhammad Najmi bin Ahmad Zabidi <najmi.zabidi@gmail.com>\n"
 "Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
diff --git a/po/mt.po b/po/mt.po
index 6d8576c..e0a14de 100644
--- a/po/mt.po
+++ b/po/mt.po
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly-0.10.9.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2008-11-13 18:18+0100\n"
 "Last-Translator: Michel Bugeja <michelbugeja@rabatmalta.com>\n"
 "Language-Team: Maltese <translation-team-mt@lists.sourceforge.net>\n"
diff --git a/po/nb.po b/po/nb.po
index 469829c..9e34cc8 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2012-12-21 21:38+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.po b/po/nl.po
index 53bf500..55b1e98 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 1.10.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2017-10-24 23:30+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.po b/po/or.po
index 65b183e..10fab1d 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: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\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.po b/po/pl.po
index 8f986d9..727e528 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2012-11-28 19:34+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.po b/po/pt_BR.po
index e002de5..0bd4dd4 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly-1.7.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2015-12-28 19: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.po b/po/ro.po
index 387710d..314b3cf 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 0.10.14.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2010-08-16 03:32+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.po b/po/ru.po
index 30d201d..91b0f2e 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2012-12-01 13:38+0400\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
 "Language-Team: Russian <gnu@mx.ru>\n"
diff --git a/po/sk.po b/po/sk.po
index 4fb7d00..91cb491 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2014-01-30 10:28+0100\n"
 "Last-Translator: Peter Tuharsky <tuharsky@misbb.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
diff --git a/po/sl.po b/po/sl.po
index c0fd428..8026874 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 0.10.17.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2012-03-26 22:48+0100\n"
 "Last-Translator: Klemen Košir <klemen.kosir@gmx.com>\n"
 "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
diff --git a/po/sq.po b/po/sq.po
index 6417afc..3d7d54f 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: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\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.po b/po/sr.po
index 3fbd221..1cbcb31 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly-1.1.4\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2013-10-03 22:30+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <(nothing)>\n"
diff --git a/po/sv.po b/po/sv.po
index 87bff19..305dda1 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 1.6.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2015-10-31 16:08+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.po b/po/tr.po
index b4970db..ba1f8d5 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly-1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2012-12-01 01:19+0200\n"
 "Last-Translator: Server Acim <serveracim@gmail.com>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
diff --git a/po/uk.po b/po/uk.po
index bb64791..7664906 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2012-11-28 20:25+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.po b/po/vi.po
index 7dc8419..e4441dd 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 1.3.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2014-06-30 09:20+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.po b/po/zh_CN.po
index 76d94e5..f55c562 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-ugly 1.5.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2018-03-03 22:24+0000\n"
+"POT-Creation-Date: 2018-03-13 19:18+0000\n"
 "PO-Revision-Date: 2015-08-28 15:36+0800\n"
 "Last-Translator: Mingye Wang <arthur200126@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
