Merge tag 'debian/1.4.5-1'

gst-plugins-good1.0 Debian release 1.4.5-1
diff --git a/ChangeLog b/ChangeLog
index b5a31fc..0285f65 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,483 @@
-=== release 1.4.4 ===
+=== release 1.4.5 ===
 
-2014-11-06  Sebastian Dröge <slomo@coaxion.net>
+2014-12-18  Sebastian Dröge <slomo@coaxion.net>
 
 	* configure.ac:
-	  releasing 1.4.4
+	  releasing 1.4.5
+
+2014-12-18 12:06:04 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* po/af.po:
+	* po/az.po:
+	* po/bg.po:
+	* po/ca.po:
+	* po/cs.po:
+	* po/da.po:
+	* po/de.po:
+	* po/el.po:
+	* po/en_GB.po:
+	* po/eo.po:
+	* po/es.po:
+	* po/eu.po:
+	* po/fi.po:
+	* po/fr.po:
+	* po/gl.po:
+	* po/hr.po:
+	* po/hu.po:
+	* po/id.po:
+	* po/it.po:
+	* po/ja.po:
+	* po/lt.po:
+	* po/lv.po:
+	* po/mt.po:
+	* po/nb.po:
+	* po/nl.po:
+	* po/or.po:
+	* po/pl.po:
+	* po/pt_BR.po:
+	* po/ro.po:
+	* po/ru.po:
+	* po/sk.po:
+	* po/sl.po:
+	* po/sq.po:
+	* po/sr.po:
+	* po/sv.po:
+	* po/tr.po:
+	* po/uk.po:
+	* po/vi.po:
+	* po/zh_CN.po:
+	* po/zh_HK.po:
+	* po/zh_TW.po:
+	  po: Update translations
+
+2014-12-08 21:26:18 +0100  Patrick Radizi <patrickr@axis.com>
+
+	* gst/rtp/gstrtph264pay.c:
+	  rtph264pay: Fixes buffer leak when using SPS/PPS
+	  Fixes a buffer leak that would occurr if the pipeline was shutdown
+	  while a SPS/PPS header was being created.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741271
+
+2014-11-21 11:54:18 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/deinterlace/gstdeinterlace.c:
+	  Deinterlace: in query_caps return only supported formats if filter is interlaced
+	  In some cases the currently set GstVideoInfo is not interlaced, but
+	  upstream caps are interlaced and the info is passed in the filter,
+	  we should take that info into account and make sure that we do not
+	  consider that case as a "pass through" case.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741407
+
+2014-12-03 11:12:55 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/rtpmanager/gstrtpjitterbuffer.c:
+	  rtpjitterbuffer: Use an empty iterator in iterate_internal_link when no links
+	  We used to setup an iterator with 1 GValue set with a NULL object
+	  pointer which is not the normal way to do that. Instead we should make
+	  sure that the first call to gst_iterator_next returns GST_ITERATOR_DONE.
+
+2014-12-03 17:26:56 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/rtpmanager/gstrtpsession.c:
+	  rtpsession: Use an empty iterator in iterate_internal_link when no links
+	  And not a NULL Iterator, so it is consistent with the way it usually
+	  works and avoid user to need a different code paths to handle that.
+
+2014-12-09 16:38:38 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* ext/vpx/gstvp8enc.c:
+	* ext/vpx/gstvp9enc.c:
+	  vpXenc: CLOCK_TIME_NONE is not a valid min_latency value
+	  We should just use 0 if we do not have the information
+
+2014-12-10 11:35:29 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audioparsers/gstaacparse.c:
+	  aacparse: Also only unref caps if they're not NULL
+
+2014-12-10 11:34:42 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audioparsers/gstaacparse.c:
+	  aacparse: gst_pad_get_allowed_caps() will return NULL if there is no peer
+
+2014-12-16 13:25:01 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* sys/osxvideo/osxvideosink.m:
+	  osxvideosink: clear rectangle structures before use
+
+2014-12-09 15:09:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* sys/v4l2/gstv4l2object.c:
+	  v4l2object: Always set format
+	  Right now we try to be clever by detecting if device format have
+	  changed or not, and skip setting format in this case. This is valid
+	  behaviour with V4L2, but it's also very error prone. The rational
+	  for not setting these all the time is for speed, though I can't
+	  measure any noticeable gain on any HW I own. Also, until recently,
+	  we where doing get/set on the format for each format we where
+	  probing, making it near to impossible that the format would match.
+	  This also fixes bug where we where skipping frame-rate setting if
+	  format didn't change.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740636
+
+2014-11-02 23:33:23 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* sys/v4l2/gstv4l2object.c:
+	  v4l2src: fix a couple of minor leaks
+
+2014-09-29 11:49:45 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* sys/v4l2/gstv4l2object.c:
+	  v4l2object: set colorspace for output devices
+	  When the v4l2 device is an output device, the application shall set the
+	  colorspace. So map GStreamer colorimetry info to V4L2 colorspace and set
+	  on set_format. In case we have no colorimetry information, we try to
+	  guess it according to pixel format and video size.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737579
+
+2014-12-11 10:16:06 +0100  Patrick Radizi <patrickr@axis.com>
+
+	* gst/rtp/gstrtph264pay.c:
+	  rtph264pay: fix potential crash when shutting down
+	  A race condition in the state change function may cause buffers
+	  to be unreffed while they are still used by the streaming thread
+	  in gst_rtp_h264_pay_send_sps_pps() resulting in a crash. Chain
+	  up to the parent class first in the state change function to
+	  make sure streaming has stopped and only then free those buffers.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741381
+
+2014-11-29 18:35:42 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/rtpmanager/gstrtprtxreceive.c:
+	  rtprtxreceive: Use offset when copying header
+	  The header is not always at the start of the packet, so we need to compute
+	  the offset first.
+
+2014-11-28 13:12:46 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/taglib/gstapev2mux.cc:
+	  apev2mux: write APE tags at end for wavpack files
+	  http://www.wavpack.com/file_format.txt:
+	  "Both the APEv2 tags and/or ID3v1 tags must come at the end of the
+	  WavPack file, with the ID3v1 coming last if both are present."
+	  WavPack files that contain APEv2 tags at the beginning of the files
+	  are unplayable on players that use FFmpeg (like VLC) and most other
+	  software (except Banshee). Players that use libwavpack directly can
+	  play the files because it skips the tags, but does not recognize the
+	  tag data at that location.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=711437
+
+2014-12-09 14:01:50 +0100  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* sys/v4l2/gstv4l2bufferpool.c:
+	  v4l2bufferpool: set buffer interlace flags when field is V4L2_FIELD_INTERLACED
+	  If v4l2_buffer.field is V4L2_FIELD_INTERLACED, we set corresponding
+	  GstVideoBuffer flags depending on the video standard.
+	  According to V4L2 specification, M/NTSC transmits the bottom field
+	  first, all other standards the top field first.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737603
+
+2014-10-30 17:41:19 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
+
+	* sys/v4l2/gstv4l2bufferpool.c:
+	* sys/v4l2/gstv4l2object.c:
+	* sys/v4l2/gstv4l2src.c:
+	  v4l2: Clean up interlace support
+	  Rather than try and guess interlace support as part of checking supported
+	  sizes, look for interlace support specifically in its own function.
+	  As a cleanup, use V4L2_FIELD_ANY when probing sizes, which should result in
+	  the driver doing the right thing.
+	  With my capture setup, this gets me the following sample caps:
+	  For 1080i resolution:
+	  video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction){ 25/1, 30/1 }
+	  For 720p resolution:
+	  video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction){ 50/1, 60/1 }
+	  For 576i/p resolution (both possible at the point of query):
+	  video/x-raw, format=(string)YUY2, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string){ progressive, interleaved }, framerate=(fraction){ 25/1, 50/1 }
+	  This, in turn, makes 576i work correctly; with the old code,
+	  the caps would be interlace-mode=progressive for interlaced video.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=726194
+
+2014-12-07 17:33:51 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* sys/v4l2/gstv4l2bufferpool.c:
+	  v4l2: Workaround libv4l2 RW emulation bug
+	  When libv4l2 emulates RW mode on top of MMAP devices, the queues are
+	  only initialized on first read. The problem is that poll() will fail
+	  if called before the queues are initialized and streaming. Workaround
+	  this by doing a zero size read when pool is started in that IO mode.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740633
+
+2014-12-07 17:27:37 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* sys/v4l2/gstv4l2bufferpool.c:
+	  v4l2: Fix RW io mode
+	  In RW, allocator can be null, max_buffers can be zero, and we need not
+	  to wait while the queue is empty since there is no queue.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740633
+
+2014-11-07 16:41:52 +0100  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* sys/v4l2/gstv4l2bufferpool.c:
+	  v4l2bufferpool: unref pool when v4l2_allocator_new() fails
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739791
+
+2014-11-07 17:06:49 +0100  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* sys/v4l2/gstv4l2allocator.h:
+	  v4l2allocator: fix gst_v4l2_allocator_stop prototype
+	  gst_v4l2_allocator_stop returns a GstV4l2Return, not a gboolean.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739792
+
+2014-11-26 10:33:09 +0300  Andrei Sarakeev <sarakusha@gmail.com>
+
+	* gst/videocrop/gstaspectratiocrop.c:
+	* gst/videocrop/gstaspectratiocrop.h:
+	  aspectratiocrop: Handle resolution changes properly
+	  When an caps-event is received, we must immediately change the crop
+	  to videocrop correctly changed caps-event dimension, otherwise the
+	  videocrop will first use the previous value of the crop that when
+	  resizing video to a smaller resolution may cause an error.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740671
+
+2014-11-30 17:52:47 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* sys/v4l2/v4l2_calls.h:
+	  v4l2: Remove last include to linux/videodev2.h
+	  We now use and update our internal copy so we no longer have to ifdef
+	  the entire code for features and defines that where added over the
+	  years.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740905
+
+2014-11-19 16:12:38 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+	* gst/flv/gstflvdemux.c:
+	  flvdemux: Restrict resyncing to TS regressions
+	  The behavior of resyncing video and audio indepen-
+	  dently can cause A/V desyncs. Lets restrict resyncs
+	  to jumps backward for now.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736397
+	  Conflicts:
+	  gst/flv/gstflvdemux.c
+
+2014-11-20 13:14:14 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst/rtp/gstrtpgstdepay.c:
+	* gst/rtp/gstrtpgstpay.c:
+	  rtpgstpay: put 0-byte at the end of events
+	  Put a 0-byte at the end of the event string. Does not break ABI because
+	  old depayloaders will skip the 0 byte (which is included in the length).
+	  Expect a 0-byte at the end of the event string or a ; for old
+	  payloaders.
+	  See https://bugzilla.gnome.org/show_bug.cgi?id=737591
+
+2014-11-20 12:40:28 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst/rtp/gstrtpgstdepay.c:
+	  rtpgstdepay: avoid buffer overread.
+	  Check that a caps event string is 0 terminated and the event string is
+	  terminated with a ; to avoid buffer overreads.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=737591
+
+2014-11-16 12:34:17 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* sys/v4l2/gstv4l2bufferpool.c:
+	* sys/v4l2/gstv4l2bufferpool.h:
+	* sys/v4l2/gstv4l2src.c:
+	* sys/v4l2/gstv4l2transform.c:
+	* sys/v4l2/gstv4l2videodec.c:
+	  v4l2: Handle corrupted buffer with empty payload
+	  This allow skipping buffer flagged with ERROR that has no payload.
+	  This is typical behaviour when a recovererable error occured during
+	  capture in the driver, but that no valid data was ever written into that
+	  buffer. This patch also translate V4L2_BUF_FLAG_ERROR into
+	  GST_BUFFER_FLAG_CORRUPTED. Hence decoding error produce
+	  by decoder due to missing frames will now be correctly marked. Finally,
+	  this fixes a buffer leak when EOS is reached.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740040
+
+2014-11-20 10:45:07 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/isomp4/gstqtmuxmap.c:
+	  qtmux: don't limit max video resolution to 4096x4096
+	  MAX isn't entirely correct as upper limit either,
+	  it should really be MAXUINT32, but it's unlikely
+	  to be a problem in the near future.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740407
+
+2014-11-19 15:06:00 -0800  Aleix Conchillo Flaqué <aleix@oblong.com>
+
+	* gst/rtsp/gstrtspsrc.c:
+	  rtspsrc: fix leak for mikey base64 decoded key-mgmt
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740392
+
+2014-11-17 23:16:03 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst/videomixer/videomixer2.c:
+	* gst/videomixer/videomixer2.h:
+	  videomixer: fix up QoS handling for live sources
+	  Only attempt adaptive drop when we are not live
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739996
+
+2014-11-09 11:04:33 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/matroska/matroska-mux.c:
+	  matroska-mux: Use G_DEFINE_TYPE() to register the pad instead of manually registering it
+
+2014-11-06 15:37:28 +0100  Göran Jönsson <goranjn@axis.com>
+
+	* gst/matroska/matroska-mux.c:
+	  matroskamux: make GstMatroskamuxPad get_type() function thread-safe
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739722
+
+2014-11-01 22:39:41 +0100  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+	* ext/vpx/gstvp8enc.c:
+	* ext/vpx/gstvp9enc.c:
+	  vpx: mark arnr-type properties as deprecated and set them to no-op
+	  ARNR type control in libvpx has been deprecated so this commit mark the
+	  vp8enc and vp9enc associated properties as deprecated and change their
+	  behavior to just display a warning message.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739476
+
+2014-11-06 21:21:40 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* sys/v4l2/gstv4l2bufferpool.c:
+	  v4l2bufferpool: Improve buffer validation
+	  Improve buffer validation by making sure each memory are the right
+	  one and that each memory is writable. This fixes tearing issues in
+	  case downstream uses gst_buffer_make_writable() or other type
+	  of GstBuffer copy where memory are only reffed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739754
+
+2014-11-07 16:11:24 +0100  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* sys/v4l2/gstv4l2allocator.c:
+	  v4l2allocator: fix error message if allocator is already active
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739789
+
+=== release 1.4.4 ===
+
+2014-11-06 13:02:12 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ChangeLog:
+	* NEWS:
+	* RELEASE:
+	* configure.ac:
+	* docs/plugins/inspect/plugin-1394.xml:
+	* docs/plugins/inspect/plugin-aasink.xml:
+	* docs/plugins/inspect/plugin-alaw.xml:
+	* docs/plugins/inspect/plugin-alpha.xml:
+	* docs/plugins/inspect/plugin-alphacolor.xml:
+	* docs/plugins/inspect/plugin-apetag.xml:
+	* docs/plugins/inspect/plugin-audiofx.xml:
+	* docs/plugins/inspect/plugin-audioparsers.xml:
+	* docs/plugins/inspect/plugin-auparse.xml:
+	* docs/plugins/inspect/plugin-autodetect.xml:
+	* docs/plugins/inspect/plugin-avi.xml:
+	* docs/plugins/inspect/plugin-cacasink.xml:
+	* docs/plugins/inspect/plugin-cairo.xml:
+	* docs/plugins/inspect/plugin-cutter.xml:
+	* docs/plugins/inspect/plugin-debug.xml:
+	* docs/plugins/inspect/plugin-deinterlace.xml:
+	* docs/plugins/inspect/plugin-dtmf.xml:
+	* docs/plugins/inspect/plugin-dv.xml:
+	* docs/plugins/inspect/plugin-effectv.xml:
+	* docs/plugins/inspect/plugin-equalizer.xml:
+	* docs/plugins/inspect/plugin-flac.xml:
+	* docs/plugins/inspect/plugin-flv.xml:
+	* docs/plugins/inspect/plugin-flxdec.xml:
+	* docs/plugins/inspect/plugin-gdkpixbuf.xml:
+	* docs/plugins/inspect/plugin-goom.xml:
+	* docs/plugins/inspect/plugin-goom2k1.xml:
+	* docs/plugins/inspect/plugin-icydemux.xml:
+	* docs/plugins/inspect/plugin-id3demux.xml:
+	* docs/plugins/inspect/plugin-imagefreeze.xml:
+	* docs/plugins/inspect/plugin-interleave.xml:
+	* docs/plugins/inspect/plugin-isomp4.xml:
+	* docs/plugins/inspect/plugin-jack.xml:
+	* docs/plugins/inspect/plugin-jpeg.xml:
+	* docs/plugins/inspect/plugin-level.xml:
+	* docs/plugins/inspect/plugin-matroska.xml:
+	* docs/plugins/inspect/plugin-mulaw.xml:
+	* docs/plugins/inspect/plugin-multifile.xml:
+	* docs/plugins/inspect/plugin-multipart.xml:
+	* docs/plugins/inspect/plugin-navigationtest.xml:
+	* docs/plugins/inspect/plugin-oss4.xml:
+	* docs/plugins/inspect/plugin-ossaudio.xml:
+	* docs/plugins/inspect/plugin-png.xml:
+	* docs/plugins/inspect/plugin-pulseaudio.xml:
+	* docs/plugins/inspect/plugin-replaygain.xml:
+	* docs/plugins/inspect/plugin-rtp.xml:
+	* docs/plugins/inspect/plugin-rtpmanager.xml:
+	* docs/plugins/inspect/plugin-rtsp.xml:
+	* docs/plugins/inspect/plugin-shapewipe.xml:
+	* docs/plugins/inspect/plugin-shout2send.xml:
+	* docs/plugins/inspect/plugin-smpte.xml:
+	* docs/plugins/inspect/plugin-soup.xml:
+	* docs/plugins/inspect/plugin-spectrum.xml:
+	* docs/plugins/inspect/plugin-speex.xml:
+	* docs/plugins/inspect/plugin-taglib.xml:
+	* docs/plugins/inspect/plugin-udp.xml:
+	* docs/plugins/inspect/plugin-video4linux2.xml:
+	* docs/plugins/inspect/plugin-videobox.xml:
+	* docs/plugins/inspect/plugin-videocrop.xml:
+	* docs/plugins/inspect/plugin-videofilter.xml:
+	* docs/plugins/inspect/plugin-videomixer.xml:
+	* docs/plugins/inspect/plugin-vpx.xml:
+	* docs/plugins/inspect/plugin-wavenc.xml:
+	* docs/plugins/inspect/plugin-wavpack.xml:
+	* docs/plugins/inspect/plugin-wavparse.xml:
+	* docs/plugins/inspect/plugin-ximagesrc.xml:
+	* docs/plugins/inspect/plugin-y4menc.xml:
+	* gst-plugins-good.doap:
+	* win32/common/config.h:
+	  Release 1.4.4
+
+2014-11-06 12:44:02 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* po/af.po:
+	* po/az.po:
+	* po/bg.po:
+	* po/ca.po:
+	* po/cs.po:
+	* po/da.po:
+	* po/de.po:
+	* po/el.po:
+	* po/en_GB.po:
+	* po/eo.po:
+	* po/es.po:
+	* po/eu.po:
+	* po/fi.po:
+	* po/fr.po:
+	* po/gl.po:
+	* po/hr.po:
+	* po/hu.po:
+	* po/id.po:
+	* po/it.po:
+	* po/ja.po:
+	* po/lt.po:
+	* po/lv.po:
+	* po/mt.po:
+	* po/nb.po:
+	* po/nl.po:
+	* po/or.po:
+	* po/pl.po:
+	* po/pt_BR.po:
+	* po/ro.po:
+	* po/ru.po:
+	* po/sk.po:
+	* po/sl.po:
+	* po/sq.po:
+	* po/sr.po:
+	* po/sv.po:
+	* po/tr.po:
+	* po/uk.po:
+	* po/vi.po:
+	* po/zh_CN.po:
+	* po/zh_HK.po:
+	* po/zh_TW.po:
+	  Update .po files
 
 2014-11-01 12:18:02 +0100  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
 
diff --git a/Makefile.in b/Makefile.in
index 53f65c4..01c9097 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -98,7 +98,7 @@
 	$(top_srcdir)/configure $(am__configure_deps) \
 	$(srcdir)/config.h.in $(srcdir)/gst-plugins-good.spec.in \
 	ABOUT-NLS $(noinst_HEADERS) COPYING compile config.guess \
-	config.rpath config.sub install-sh missing ltmain.sh
+	config.rpath config.sub depcomp install-sh missing ltmain.sh
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
diff --git a/NEWS b/NEWS
index 099f225..13e7a97 100644
--- a/NEWS
+++ b/NEWS
@@ -1,2 +1,2 @@
-This is GStreamer Good Plugins 1.4.4
+This is GStreamer Good Plugins 1.4.5
 
diff --git a/RELEASE b/RELEASE
index 402aa7c..96775df 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,5 +1,5 @@
 
-Release notes for GStreamer Good Plugins 1.4.4
+Release notes for GStreamer Good Plugins 1.4.5
 
 The GStreamer team is pleased to announce a bugfix release of the stable
 1.4 release series. The 1.4 release series is adding new features on top
@@ -68,19 +68,28 @@
 
 Bugs fixed in this release
      
-      * 726329 : vp8enc: Add support for caps renegotiation
-      * 736071 : audiobasesink: Don't hold object lock while calling into other objects like the clock
-      * 737735 : wavenc writes broken file if caps are set
-      * 737739 : souphttpclientsink: Restarting after error results in buffers being queued forever
-      * 737761 : aacparse: memory leak when converting to adts
-      * 737771 : souphttpclientsink: Stream header buffer lifetime assumptions are incorrect
-      * 737886 : equalizer: crash when changing equalizer settings during playback
-      * 738102 : v4l2bufferpool: cleanly handle streamon failure for output device
-      * 738152 : v4l2sink: leak with output device
-      * 738297 : DTMF telephone-event timestamps are bogus
-      * 738722 : rtpmux returns EMPTY caps when query'ing
-      * 738793 : speex: encoder/decoder segfault when resetting multiple times
-      * 739430 : rtspsrc: mikey related memory leaks
+      * 711437 : apev2mux: should not put APEv2 tags at beginning of WavPack files
+      * 726194 : v4l2src does not cope well when a capture card is sometimes interlaced, sometimes progressive at the same resolution
+      * 736397 : flvdemux: Per-stream resyncing behavior causes A/V-desyncs
+      * 737603 : v4l2bufferpool: set buffer interlace flags when field is V4L2_FIELD_INTERLACED
+      * 739476 : vpx: fails to build against libvpx from git
+      * 739722 : matroskamux: Thread safe register GstMatroskamuxPad
+      * 739789 : v4l2allocator: fix error message if allocator is already active
+      * 739791 : v4l2bufferpool: unref pool when v4l2_allocator_new() fails
+      * 739792 : v4l2allocator: fix gst_v4l2_allocator_stop prototype
+      * 739996 : videomixer: Drops a lot of frames, if one of the sources is live
+      * 740040 : v4l2src: Fails in presence of V4L2_BUF_FLAG_ERROR
+      * 740392 : rtspsrc: mikey base64 decoded key-mgmt leak
+      * 740407 : qtmux limits capture to 4096x4096
+      * 740633 : v4l2src: RW io-mode is broken
+      * 740636 : v4l2src: framerate is not always set on driver
+      * 740671 : aspectratiocrop: crop needs to be reset when video size changes
+      * 740905 : v4l2: still has 1 include to linux/videodev.h
+      * 741271 : rtph264pay: Buffer leak in H.264 payloader when using SPS/PPS
+      * 741381 : rtph264pay: Race condition may cause crash when going from PAUSED- > READY
+      * 741407 : deinterlace: in query_caps return only supported formats if filter is interlaced
+      * 737579 : v4l2object: set colorspace for output devices
+      * 739754 : v4l2bufferpool: Should validate that all memories are writeable before queueing back
 
 ==== Download ====
 
@@ -118,18 +127,17 @@
 Contributors to this release
     
       * Aleix Conchillo Flaqué
-      * Ananda
-      * Arun Raghavan
+      * Andrei Sarakeev
       * Aurélien Zanelli
-      * David Sansome
-      * Jose Antonio Santos Cadenas
-      * Matej Knopp
+      * Göran Jönsson
+      * Jan Alexander Steffens (heftig)
+      * Matthew Waters
       * Nicolas Dufresne
-      * Nirbheek Chauhan
       * Olivier Crête
+      * Patrick Radizi
       * Sebastian Dröge
-      * Sjoerd Simons
+      * Simon Farnsworth
+      * Thibault Saunier
       * Tim-Philipp Müller
-      * Vineeth T M
       * Wim Taymans
  
\ No newline at end of file
diff --git a/configure b/configure
index e613816..d02414e 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GStreamer Good Plug-ins 1.4.4.
+# Generated by GNU Autoconf 2.69 for GStreamer Good Plug-ins 1.4.5.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
 #
@@ -591,8 +591,8 @@
 # Identity of this package.
 PACKAGE_NAME='GStreamer Good Plug-ins'
 PACKAGE_TARNAME='gst-plugins-good'
-PACKAGE_VERSION='1.4.4'
-PACKAGE_STRING='GStreamer Good Plug-ins 1.4.4'
+PACKAGE_VERSION='1.4.5'
+PACKAGE_STRING='GStreamer Good Plug-ins 1.4.5'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
 PACKAGE_URL=''
 
@@ -1945,7 +1945,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures GStreamer Good Plug-ins 1.4.4 to adapt to many kinds of systems.
+\`configure' configures GStreamer Good Plug-ins 1.4.5 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2021,7 +2021,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GStreamer Good Plug-ins 1.4.4:";;
+     short | recursive ) echo "Configuration of GStreamer Good Plug-ins 1.4.5:";;
    esac
   cat <<\_ACEOF
 
@@ -2384,7 +2384,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GStreamer Good Plug-ins configure 1.4.4
+GStreamer Good Plug-ins configure 1.4.5
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -3195,7 +3195,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by GStreamer Good Plug-ins $as_me 1.4.4, which was
+It was created by GStreamer Good Plug-ins $as_me 1.4.5, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -4177,7 +4177,7 @@
 
 # Define the identity of the package.
  PACKAGE='gst-plugins-good'
- VERSION='1.4.4'
+ VERSION='1.4.5'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4388,9 +4388,9 @@
 
 
 
-  PACKAGE_VERSION_MAJOR=$(echo 1.4.4 | cut -d'.' -f1)
-  PACKAGE_VERSION_MINOR=$(echo 1.4.4 | cut -d'.' -f2)
-  PACKAGE_VERSION_MICRO=$(echo 1.4.4 | cut -d'.' -f3)
+  PACKAGE_VERSION_MAJOR=$(echo 1.4.5 | cut -d'.' -f1)
+  PACKAGE_VERSION_MINOR=$(echo 1.4.5 | cut -d'.' -f2)
+  PACKAGE_VERSION_MICRO=$(echo 1.4.5 | cut -d'.' -f3)
 
 
 
@@ -4401,7 +4401,7 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
 $as_echo_n "checking nano version... " >&6; }
 
-  NANO=$(echo 1.4.4 | cut -d'.' -f4)
+  NANO=$(echo 1.4.5 | cut -d'.' -f4)
 
   if test x"$NANO" = x || test "x$NANO" = "x0" ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -9057,10 +9057,10 @@
 done
 
 
-  GST_CURRENT=404
+  GST_CURRENT=405
   GST_REVISION=0
-  GST_AGE=404
-  GST_LIBVERSION=404:0:404
+  GST_AGE=405
+  GST_LIBVERSION=405:0:405
 
 
 
@@ -37425,7 +37425,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by GStreamer Good Plug-ins $as_me 1.4.4, which was
+This file was extended by GStreamer Good Plug-ins $as_me 1.4.5, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -37491,7 +37491,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-GStreamer Good Plug-ins config.status 1.4.4
+GStreamer Good Plug-ins config.status 1.4.5
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 16316b7..6b44cea 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,7 +5,7 @@
 dnl initialize autoconf
 dnl releases only do -Wall, git and prerelease does -Werror too
 dnl use a three digit version number for releases, and four for git/pre
-AC_INIT([GStreamer Good Plug-ins],[1.4.4],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good])
+AC_INIT([GStreamer Good Plug-ins],[1.4.5],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good])
 
 AG_GST_INIT
 
@@ -43,7 +43,7 @@
   [GStreamer API Version])
 
 AG_GST_LIBTOOL_PREPARE
-AS_LIBTOOL(GST, 404, 0, 404)
+AS_LIBTOOL(GST, 405, 0, 405)
 
 dnl *** required versions of GStreamer stuff ***
 GST_REQ=1.4.0
diff --git a/debian/changelog b/debian/changelog
index 5269864..a0667d0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+gst-plugins-good1.0 (1.4.5-1) experimental; urgency=medium
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 18 Dec 2014 12:24:06 +0100
+
 gst-plugins-good1.0 (1.4.4-2) unstable; urgency=medium
 
   * Upload to unstable.
diff --git a/docs/plugins/html/gst-plugins-good-plugins-3gppmux.html b/docs/plugins/html/gst-plugins-good-plugins-3gppmux.html
index 3103a52..12db518 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-3gppmux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-3gppmux.html
@@ -277,19 +277,19 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>video/x-h263, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td>video/x-h263, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-divx, divxversion=(int)5, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-amrparse.html b/docs/plugins/html/gst-plugins-good-plugins-amrparse.html
index 27bf175..49821dc 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-amrparse.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-amrparse.html
@@ -188,7 +188,7 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-good-plugins-amrparse.see-also"></a><h2>See Also</h2>
-<p><span class="type">GstAmrnbDec</span>, <span class="type">GstAmrnbEnc</span></p>
+<p><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-ugly/html/gst-plugins-ugly-plugins-amrnbdec.html#GstAmrnbDec"><span class="type">GstAmrnbDec</span></a>, <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-ugly/html/gst-plugins-ugly-plugins-amrnbenc.html#GstAmrnbEnc"><span class="type">GstAmrnbEnc</span></a></p>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/plugins/html/gst-plugins-good-plugins-ismlmux.html b/docs/plugins/html/gst-plugins-good-plugins-ismlmux.html
index 02e84f4..d21f8c1 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-ismlmux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-ismlmux.html
@@ -245,15 +245,15 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td>video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-divx, divxversion=(int)5, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-mj2mux.html b/docs/plugins/html/gst-plugins-good-plugins-mj2mux.html
index fee29f9..a20835b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-mj2mux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-mj2mux.html
@@ -245,11 +245,11 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>image/x-j2c, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td>image/x-j2c, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> image/x-jpc, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> image/x-jpc, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-mp4mux.html b/docs/plugins/html/gst-plugins-good-plugins-mp4mux.html
index 9416c74..285f637 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-mp4mux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-mp4mux.html
@@ -272,19 +272,19 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td>video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-divx, divxversion=(int)5, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-mp4-part, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-mp4-part, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html
index 062b24f..c5f4e43 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html
index e0e8b58..56fc124 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html
index 2f4b532..b9b47a2 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html
index 4432e83..7c0933f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html
index d848af7..0f97b84 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html
index 70eaf20..2aa43f9 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html
index 3ff2690..cfa0f1e 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html
index ef404e4..a2b1341 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html
index e4960c6..f4e7bee 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html
index 8eea22e..f38a7f0 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html
index 228e6f6..ee4317c 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html
index 22da9c4..8fa8845 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html
index 45ce7ab..21159c8 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html
index ae2f10a..a8be37b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html
index e913abc..85b5edb 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html
index 5186296..a071bc0 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html
index 7013955..9a6c85b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html
index 7e6f28a..8989ea7 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html
index 73fb661..d5ea016 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html
index c15f742..d1b69bf 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html
index 905d9f1..6a796f2 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html
index 1a547bd..fada9b3 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html
index b9ef046..87c3b5d 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html
index 20b5ec0..24499f3 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html
index 4739319..70dba6f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html
index 7944a96..325f4b3 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html
index 00a5cd2..ebba67e 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html
index d2d2b7c..82359c5 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html
index 2cd7fd1..07611dc 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html
index 44ef8e3..a9ea611 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html
index dd7d6be..417d97a 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html
index 009028e..8a6c004 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html
index f42a781..466ec61 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html
index 84e8e58..1b6983d 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html
index 903f584..e137218 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html
index 974db65..110d829 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html
index 3db89ff..dd7b6ad 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html
index cf5e1b4..b073920 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html
index f5a8536..fff1c87 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html
index db8c597..490e698 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html
index 88ef3cd..062cc47 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html
index 153358e..9b53739 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html
index cb87098..72692cf 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html
index 20b514c..47d270e 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html
index dd64149..b2bdc05 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html
index d030fea..05fe25a 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html
index 4cdae89..ccaeeb7 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html
index d3dc74a..f15f650 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html
index 6d0bb60..9696c0b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html
index 828de6a..92fbd22 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html
index cefc2a4..420fb3f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html
index e306930..cbb4883 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html
index cd4215a..14375c1 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html
index a08c5bc..19f5a74 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html
index 1c88593..c2e500f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html
index e4ca7ea..a5f77e4 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html
index d302871..d38ad73 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html
index bc107d2..b6c9601 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html
index 9d6758f..6712b23 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html
index 16f3660..5ecf194 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html
index 6ce56d7..b155f08 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html
index 876f33a..c673373 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html
index 1d900b0..ab15389 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html
index 7c8adf6..91aa671 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html
index 6ed8712..9b87757 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.4.4</td>
+<td>1.4.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-qtmux.html b/docs/plugins/html/gst-plugins-good-plugins-qtmux.html
index 0461b07..1b5eb84 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-qtmux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-qtmux.html
@@ -307,47 +307,47 @@
 </tr>
 <tr>
 <td><p><span class="term">details</span></p></td>
-<td>video/x-raw, format=(string){ RGB, UYVY }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td>video/x-raw, format=(string){ RGB, UYVY }, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-divx, divxversion=(int)5, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-h263, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-h263, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-svq, svqversion=(int)3, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-svq, svqversion=(int)3, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-dv, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-dv, systemstream=(boolean)false, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> image/jpeg, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> image/jpeg, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-vp8, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-vp8, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-dirac, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-dirac, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 <tr>
 <td><p><span class="term"></span></p></td>
-<td> video/x-qt-part, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</td>
+<td> video/x-qt-part, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index 52afc45..19ed49a 100644
--- a/docs/plugins/html/index.html
+++ b/docs/plugins/html/index.html
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer Good Plugins 1.0 Plugins Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GStreamer Good Plugins 1.0 (1.4.4)
+      for GStreamer Good Plugins 1.0 (1.4.5)
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good/html/</a>.
     </p></div>
diff --git a/docs/plugins/inspect/plugin-1394.xml b/docs/plugins/inspect/plugin-1394.xml
index e983180..72f7d6c 100644
--- a/docs/plugins/inspect/plugin-1394.xml
+++ b/docs/plugins/inspect/plugin-1394.xml
@@ -3,7 +3,7 @@
   <description>Source for video data via IEEE1394 interface</description>
   <filename>../../ext/raw1394/.libs/libgst1394.so</filename>
   <basename>libgst1394.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-aasink.xml b/docs/plugins/inspect/plugin-aasink.xml
index 233467a..eeb4769 100644
--- a/docs/plugins/inspect/plugin-aasink.xml
+++ b/docs/plugins/inspect/plugin-aasink.xml
@@ -3,7 +3,7 @@
   <description>ASCII Art video sink</description>
   <filename>../../ext/aalib/.libs/libgstaasink.so</filename>
   <basename>libgstaasink.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-alaw.xml b/docs/plugins/inspect/plugin-alaw.xml
index 3fa4089..83533c7 100644
--- a/docs/plugins/inspect/plugin-alaw.xml
+++ b/docs/plugins/inspect/plugin-alaw.xml
@@ -3,7 +3,7 @@
   <description>ALaw audio conversion routines</description>
   <filename>../../gst/law/.libs/libgstalaw.so</filename>
   <basename>libgstalaw.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-alpha.xml b/docs/plugins/inspect/plugin-alpha.xml
index 850e01c..1c9d770 100644
--- a/docs/plugins/inspect/plugin-alpha.xml
+++ b/docs/plugins/inspect/plugin-alpha.xml
@@ -3,7 +3,7 @@
   <description>adds an alpha channel to video - constant or via chroma-keying</description>
   <filename>../../gst/alpha/.libs/libgstalpha.so</filename>
   <basename>libgstalpha.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-alphacolor.xml b/docs/plugins/inspect/plugin-alphacolor.xml
index 29bfd59..14f162b 100644
--- a/docs/plugins/inspect/plugin-alphacolor.xml
+++ b/docs/plugins/inspect/plugin-alphacolor.xml
@@ -3,7 +3,7 @@
   <description>RGBA from/to AYUV colorspace conversion preserving the alpha channel</description>
   <filename>../../gst/alpha/.libs/libgstalphacolor.so</filename>
   <basename>libgstalphacolor.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-apetag.xml b/docs/plugins/inspect/plugin-apetag.xml
index 2f235b0..529e1f3 100644
--- a/docs/plugins/inspect/plugin-apetag.xml
+++ b/docs/plugins/inspect/plugin-apetag.xml
@@ -3,7 +3,7 @@
   <description>APEv1/2 tag reader</description>
   <filename>../../gst/apetag/.libs/libgstapetag.so</filename>
   <basename>libgstapetag.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audiofx.xml b/docs/plugins/inspect/plugin-audiofx.xml
index f73dc05..0ca6167 100644
--- a/docs/plugins/inspect/plugin-audiofx.xml
+++ b/docs/plugins/inspect/plugin-audiofx.xml
@@ -3,7 +3,7 @@
   <description>Audio effects plugin</description>
   <filename>../../gst/audiofx/.libs/libgstaudiofx.so</filename>
   <basename>libgstaudiofx.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audioparsers.xml b/docs/plugins/inspect/plugin-audioparsers.xml
index c75637e..25b13e9 100644
--- a/docs/plugins/inspect/plugin-audioparsers.xml
+++ b/docs/plugins/inspect/plugin-audioparsers.xml
@@ -3,7 +3,7 @@
   <description>Parsers for various audio formats</description>
   <filename>../../gst/audioparsers/.libs/libgstaudioparsers.so</filename>
   <basename>libgstaudioparsers.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-auparse.xml b/docs/plugins/inspect/plugin-auparse.xml
index cabfb66..2170ac6 100644
--- a/docs/plugins/inspect/plugin-auparse.xml
+++ b/docs/plugins/inspect/plugin-auparse.xml
@@ -3,7 +3,7 @@
   <description>parses au streams</description>
   <filename>../../gst/auparse/.libs/libgstauparse.so</filename>
   <basename>libgstauparse.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-autodetect.xml b/docs/plugins/inspect/plugin-autodetect.xml
index 79ca435..51f4658 100644
--- a/docs/plugins/inspect/plugin-autodetect.xml
+++ b/docs/plugins/inspect/plugin-autodetect.xml
@@ -3,7 +3,7 @@
   <description>Plugin contains auto-detection plugins for video/audio in- and outputs</description>
   <filename>../../gst/autodetect/.libs/libgstautodetect.so</filename>
   <basename>libgstautodetect.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-avi.xml b/docs/plugins/inspect/plugin-avi.xml
index 80777f0..317b0ea 100644
--- a/docs/plugins/inspect/plugin-avi.xml
+++ b/docs/plugins/inspect/plugin-avi.xml
@@ -3,7 +3,7 @@
   <description>AVI stream handling</description>
   <filename>../../gst/avi/.libs/libgstavi.so</filename>
   <basename>libgstavi.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-cacasink.xml b/docs/plugins/inspect/plugin-cacasink.xml
index 50ed234..458e65d 100644
--- a/docs/plugins/inspect/plugin-cacasink.xml
+++ b/docs/plugins/inspect/plugin-cacasink.xml
@@ -3,7 +3,7 @@
   <description>Colored ASCII Art video sink</description>
   <filename>../../ext/libcaca/.libs/libgstcacasink.so</filename>
   <basename>libgstcacasink.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-cairo.xml b/docs/plugins/inspect/plugin-cairo.xml
index 72216d9..ff5f236 100644
--- a/docs/plugins/inspect/plugin-cairo.xml
+++ b/docs/plugins/inspect/plugin-cairo.xml
@@ -3,7 +3,7 @@
   <description>Cairo-based elements</description>
   <filename>../../ext/cairo/.libs/libgstcairo.so</filename>
   <basename>libgstcairo.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-cutter.xml b/docs/plugins/inspect/plugin-cutter.xml
index cfc2c9a..3c9dfef 100644
--- a/docs/plugins/inspect/plugin-cutter.xml
+++ b/docs/plugins/inspect/plugin-cutter.xml
@@ -3,7 +3,7 @@
   <description>Audio Cutter to split audio into non-silent bits</description>
   <filename>../../gst/cutter/.libs/libgstcutter.so</filename>
   <basename>libgstcutter.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-debug.xml b/docs/plugins/inspect/plugin-debug.xml
index 633f922..3b93927 100644
--- a/docs/plugins/inspect/plugin-debug.xml
+++ b/docs/plugins/inspect/plugin-debug.xml
@@ -3,7 +3,7 @@
   <description>elements for testing and debugging</description>
   <filename>../../gst/debugutils/.libs/libgstdebug.so</filename>
   <basename>libgstdebug.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-deinterlace.xml b/docs/plugins/inspect/plugin-deinterlace.xml
index 035b20c..944d01e 100644
--- a/docs/plugins/inspect/plugin-deinterlace.xml
+++ b/docs/plugins/inspect/plugin-deinterlace.xml
@@ -3,7 +3,7 @@
   <description>Deinterlacer</description>
   <filename>../../gst/deinterlace/.libs/libgstdeinterlace.so</filename>
   <basename>libgstdeinterlace.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dtmf.xml b/docs/plugins/inspect/plugin-dtmf.xml
index f0393e8..f48bae8 100644
--- a/docs/plugins/inspect/plugin-dtmf.xml
+++ b/docs/plugins/inspect/plugin-dtmf.xml
@@ -3,7 +3,7 @@
   <description>DTMF plugins</description>
   <filename>../../gst/dtmf/.libs/libgstdtmf.so</filename>
   <basename>libgstdtmf.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dv.xml b/docs/plugins/inspect/plugin-dv.xml
index 0fb7bdf..e24bb3f 100644
--- a/docs/plugins/inspect/plugin-dv.xml
+++ b/docs/plugins/inspect/plugin-dv.xml
@@ -3,7 +3,7 @@
   <description>DV demuxer and decoder based on libdv (libdv.sf.net)</description>
   <filename>../../ext/dv/.libs/libgstdv.so</filename>
   <basename>libgstdv.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-effectv.xml b/docs/plugins/inspect/plugin-effectv.xml
index 0dbd64d..3eda929 100644
--- a/docs/plugins/inspect/plugin-effectv.xml
+++ b/docs/plugins/inspect/plugin-effectv.xml
@@ -3,7 +3,7 @@
   <description>effect plugins from the effectv project</description>
   <filename>../../gst/effectv/.libs/libgsteffectv.so</filename>
   <basename>libgsteffectv.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-equalizer.xml b/docs/plugins/inspect/plugin-equalizer.xml
index 168666a..2aa7d3c 100644
--- a/docs/plugins/inspect/plugin-equalizer.xml
+++ b/docs/plugins/inspect/plugin-equalizer.xml
@@ -3,7 +3,7 @@
   <description>GStreamer audio equalizers</description>
   <filename>../../gst/equalizer/.libs/libgstequalizer.so</filename>
   <basename>libgstequalizer.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-flac.xml b/docs/plugins/inspect/plugin-flac.xml
index cfcc4ec..b8f1414 100644
--- a/docs/plugins/inspect/plugin-flac.xml
+++ b/docs/plugins/inspect/plugin-flac.xml
@@ -3,7 +3,7 @@
   <description>The FLAC Lossless compressor Codec</description>
   <filename>../../ext/flac/.libs/libgstflac.so</filename>
   <basename>libgstflac.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-flv.xml b/docs/plugins/inspect/plugin-flv.xml
index 77042b1..51d4b8e 100644
--- a/docs/plugins/inspect/plugin-flv.xml
+++ b/docs/plugins/inspect/plugin-flv.xml
@@ -3,7 +3,7 @@
   <description>FLV muxing and demuxing plugin</description>
   <filename>../../gst/flv/.libs/libgstflv.so</filename>
   <basename>libgstflv.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-flxdec.xml b/docs/plugins/inspect/plugin-flxdec.xml
index 057a20c..23ef35b 100644
--- a/docs/plugins/inspect/plugin-flxdec.xml
+++ b/docs/plugins/inspect/plugin-flxdec.xml
@@ -3,7 +3,7 @@
   <description>FLC/FLI/FLX video decoder</description>
   <filename>../../gst/flx/.libs/libgstflxdec.so</filename>
   <basename>libgstflxdec.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-gdkpixbuf.xml b/docs/plugins/inspect/plugin-gdkpixbuf.xml
index e8a4f62..74667cd 100644
--- a/docs/plugins/inspect/plugin-gdkpixbuf.xml
+++ b/docs/plugins/inspect/plugin-gdkpixbuf.xml
@@ -3,7 +3,7 @@
   <description>GdkPixbuf-based image decoder, overlay and sink</description>
   <filename>../../ext/gdk_pixbuf/.libs/libgstgdkpixbuf.so</filename>
   <basename>libgstgdkpixbuf.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-goom.xml b/docs/plugins/inspect/plugin-goom.xml
index 4f64cc1..7cbd090 100644
--- a/docs/plugins/inspect/plugin-goom.xml
+++ b/docs/plugins/inspect/plugin-goom.xml
@@ -3,7 +3,7 @@
   <description>GOOM visualization filter</description>
   <filename>../../gst/goom/.libs/libgstgoom.so</filename>
   <basename>libgstgoom.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-goom2k1.xml b/docs/plugins/inspect/plugin-goom2k1.xml
index d468bd5..31fa782 100644
--- a/docs/plugins/inspect/plugin-goom2k1.xml
+++ b/docs/plugins/inspect/plugin-goom2k1.xml
@@ -3,7 +3,7 @@
   <description>GOOM 2k1 visualization filter</description>
   <filename>../../gst/goom2k1/.libs/libgstgoom2k1.so</filename>
   <basename>libgstgoom2k1.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-icydemux.xml b/docs/plugins/inspect/plugin-icydemux.xml
index 89a62f6..312487e 100644
--- a/docs/plugins/inspect/plugin-icydemux.xml
+++ b/docs/plugins/inspect/plugin-icydemux.xml
@@ -3,7 +3,7 @@
   <description>Demux ICY tags from a stream</description>
   <filename>../../gst/icydemux/.libs/libgsticydemux.so</filename>
   <basename>libgsticydemux.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-id3demux.xml b/docs/plugins/inspect/plugin-id3demux.xml
index 8220257..9b3355b 100644
--- a/docs/plugins/inspect/plugin-id3demux.xml
+++ b/docs/plugins/inspect/plugin-id3demux.xml
@@ -3,7 +3,7 @@
   <description>Demux ID3v1 and ID3v2 tags from a file</description>
   <filename>../../gst/id3demux/.libs/libgstid3demux.so</filename>
   <basename>libgstid3demux.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-imagefreeze.xml b/docs/plugins/inspect/plugin-imagefreeze.xml
index e510ca3..1d0d9e2 100644
--- a/docs/plugins/inspect/plugin-imagefreeze.xml
+++ b/docs/plugins/inspect/plugin-imagefreeze.xml
@@ -3,7 +3,7 @@
   <description>Still frame stream generator</description>
   <filename>../../gst/imagefreeze/.libs/libgstimagefreeze.so</filename>
   <basename>libgstimagefreeze.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-interleave.xml b/docs/plugins/inspect/plugin-interleave.xml
index ae4b414..f727fad 100644
--- a/docs/plugins/inspect/plugin-interleave.xml
+++ b/docs/plugins/inspect/plugin-interleave.xml
@@ -3,7 +3,7 @@
   <description>Audio interleaver/deinterleaver</description>
   <filename>../../gst/interleave/.libs/libgstinterleave.so</filename>
   <basename>libgstinterleave.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-isomp4.xml b/docs/plugins/inspect/plugin-isomp4.xml
index 9e2abdf..2f21078 100644
--- a/docs/plugins/inspect/plugin-isomp4.xml
+++ b/docs/plugins/inspect/plugin-isomp4.xml
@@ -3,7 +3,7 @@
   <description>ISO base media file format support (mp4, 3gpp, qt, mj2)</description>
   <filename>../../gst/isomp4/.libs/libgstisomp4.so</filename>
   <basename>libgstisomp4.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
@@ -32,7 +32,7 @@
           <name>video_%u</name>
           <direction>sink</direction>
           <presence>request</presence>
-          <details>video/x-h263, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</details>
+          <details>video/x-h263, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-divx, divxversion=(int)5, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</details>
         </caps>
         <caps>
           <name>src</name>
@@ -59,7 +59,7 @@
           <name>video_%u</name>
           <direction>sink</direction>
           <presence>request</presence>
-          <details>video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</details>
+          <details>video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-divx, divxversion=(int)5, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</details>
         </caps>
         <caps>
           <name>src</name>
@@ -86,7 +86,7 @@
           <name>video_%u</name>
           <direction>sink</direction>
           <presence>request</presence>
-          <details>image/x-j2c, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; image/x-jpc, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</details>
+          <details>image/x-j2c, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; image/x-jpc, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</details>
         </caps>
         <caps>
           <name>src</name>
@@ -119,7 +119,7 @@
           <name>video_%u</name>
           <direction>sink</direction>
           <presence>request</presence>
-          <details>video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-mp4-part, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</details>
+          <details>video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-divx, divxversion=(int)5, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-mp4-part, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</details>
         </caps>
         <caps>
           <name>src</name>
@@ -194,7 +194,7 @@
           <name>video_%u</name>
           <direction>sink</direction>
           <presence>request</presence>
-          <details>video/x-raw, format=(string){ RGB, UYVY }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-divx, divxversion=(int)5, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-h263, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-svq, svqversion=(int)3, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-dv, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; image/jpeg, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-vp8, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-dirac, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-qt-part, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</details>
+          <details>video/x-raw, format=(string){ RGB, UYVY }, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-divx, divxversion=(int)5, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-h263, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-svq, svqversion=(int)3, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-dv, systemstream=(boolean)false, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; image/jpeg, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-vp8, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-dirac, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]; video/x-qt-part, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]</details>
         </caps>
         <caps>
           <name>src</name>
diff --git a/docs/plugins/inspect/plugin-jack.xml b/docs/plugins/inspect/plugin-jack.xml
index 9e56baa..1bcc1ac 100644
--- a/docs/plugins/inspect/plugin-jack.xml
+++ b/docs/plugins/inspect/plugin-jack.xml
@@ -3,7 +3,7 @@
   <description>JACK audio elements</description>
   <filename>../../ext/jack/.libs/libgstjack.so</filename>
   <basename>libgstjack.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-jpeg.xml b/docs/plugins/inspect/plugin-jpeg.xml
index ab307c0..31ddb72 100644
--- a/docs/plugins/inspect/plugin-jpeg.xml
+++ b/docs/plugins/inspect/plugin-jpeg.xml
@@ -3,7 +3,7 @@
   <description>JPeg plugin library</description>
   <filename>../../ext/jpeg/.libs/libgstjpeg.so</filename>
   <basename>libgstjpeg.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-level.xml b/docs/plugins/inspect/plugin-level.xml
index 1c02d50..50bf5bb 100644
--- a/docs/plugins/inspect/plugin-level.xml
+++ b/docs/plugins/inspect/plugin-level.xml
@@ -3,7 +3,7 @@
   <description>Audio level plugin</description>
   <filename>../../gst/level/.libs/libgstlevel.so</filename>
   <basename>libgstlevel.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-matroska.xml b/docs/plugins/inspect/plugin-matroska.xml
index 838c783..00204f3 100644
--- a/docs/plugins/inspect/plugin-matroska.xml
+++ b/docs/plugins/inspect/plugin-matroska.xml
@@ -3,7 +3,7 @@
   <description>Matroska and WebM stream handling</description>
   <filename>../../gst/matroska/.libs/libgstmatroska.so</filename>
   <basename>libgstmatroska.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mulaw.xml b/docs/plugins/inspect/plugin-mulaw.xml
index a0c0ef3..e64afa2 100644
--- a/docs/plugins/inspect/plugin-mulaw.xml
+++ b/docs/plugins/inspect/plugin-mulaw.xml
@@ -3,7 +3,7 @@
   <description>MuLaw audio conversion routines</description>
   <filename>../../gst/law/.libs/libgstmulaw.so</filename>
   <basename>libgstmulaw.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-multifile.xml b/docs/plugins/inspect/plugin-multifile.xml
index a753256..525c944 100644
--- a/docs/plugins/inspect/plugin-multifile.xml
+++ b/docs/plugins/inspect/plugin-multifile.xml
@@ -3,7 +3,7 @@
   <description>Reads/Writes buffers from/to sequentially named files</description>
   <filename>../../gst/multifile/.libs/libgstmultifile.so</filename>
   <basename>libgstmultifile.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-multipart.xml b/docs/plugins/inspect/plugin-multipart.xml
index 4420ab0..d6e91ba 100644
--- a/docs/plugins/inspect/plugin-multipart.xml
+++ b/docs/plugins/inspect/plugin-multipart.xml
@@ -3,7 +3,7 @@
   <description>multipart stream manipulation</description>
   <filename>../../gst/multipart/.libs/libgstmultipart.so</filename>
   <basename>libgstmultipart.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-navigationtest.xml b/docs/plugins/inspect/plugin-navigationtest.xml
index d5f74be..41caffd 100644
--- a/docs/plugins/inspect/plugin-navigationtest.xml
+++ b/docs/plugins/inspect/plugin-navigationtest.xml
@@ -3,7 +3,7 @@
   <description>Template for a video filter</description>
   <filename>../../gst/debugutils/.libs/libgstnavigationtest.so</filename>
   <basename>libgstnavigationtest.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-oss4.xml b/docs/plugins/inspect/plugin-oss4.xml
index ee29922..d5c5016 100644
--- a/docs/plugins/inspect/plugin-oss4.xml
+++ b/docs/plugins/inspect/plugin-oss4.xml
@@ -3,7 +3,7 @@
   <description>Open Sound System (OSS) version 4 support for GStreamer</description>
   <filename>../../sys/oss4/.libs/libgstoss4audio.so</filename>
   <basename>libgstoss4audio.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ossaudio.xml b/docs/plugins/inspect/plugin-ossaudio.xml
index 5938e47..1b5db5b 100644
--- a/docs/plugins/inspect/plugin-ossaudio.xml
+++ b/docs/plugins/inspect/plugin-ossaudio.xml
@@ -3,7 +3,7 @@
   <description>OSS (Open Sound System) support for GStreamer</description>
   <filename>../../sys/oss/.libs/libgstossaudio.so</filename>
   <basename>libgstossaudio.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-png.xml b/docs/plugins/inspect/plugin-png.xml
index 4646ca5..f858cfd 100644
--- a/docs/plugins/inspect/plugin-png.xml
+++ b/docs/plugins/inspect/plugin-png.xml
@@ -3,7 +3,7 @@
   <description>PNG plugin library</description>
   <filename>../../ext/libpng/.libs/libgstpng.so</filename>
   <basename>libgstpng.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-pulseaudio.xml b/docs/plugins/inspect/plugin-pulseaudio.xml
index fab6999..42abc9f 100644
--- a/docs/plugins/inspect/plugin-pulseaudio.xml
+++ b/docs/plugins/inspect/plugin-pulseaudio.xml
@@ -3,7 +3,7 @@
   <description>PulseAudio plugin library</description>
   <filename>../../ext/pulse/.libs/libgstpulse.so</filename>
   <basename>libgstpulse.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-replaygain.xml b/docs/plugins/inspect/plugin-replaygain.xml
index 977a88e..3ded3e4 100644
--- a/docs/plugins/inspect/plugin-replaygain.xml
+++ b/docs/plugins/inspect/plugin-replaygain.xml
@@ -3,7 +3,7 @@
   <description>ReplayGain volume normalization</description>
   <filename>../../gst/replaygain/.libs/libgstreplaygain.so</filename>
   <basename>libgstreplaygain.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtp.xml b/docs/plugins/inspect/plugin-rtp.xml
index 1211584..7970ece 100644
--- a/docs/plugins/inspect/plugin-rtp.xml
+++ b/docs/plugins/inspect/plugin-rtp.xml
@@ -3,7 +3,7 @@
   <description>Real-time protocol plugins</description>
   <filename>../../gst/rtp/.libs/libgstrtp.so</filename>
   <basename>libgstrtp.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtpmanager.xml b/docs/plugins/inspect/plugin-rtpmanager.xml
index 8a27d7a..06ac143 100644
--- a/docs/plugins/inspect/plugin-rtpmanager.xml
+++ b/docs/plugins/inspect/plugin-rtpmanager.xml
@@ -3,7 +3,7 @@
   <description>RTP session management plugin library</description>
   <filename>../../gst/rtpmanager/.libs/libgstrtpmanager.so</filename>
   <basename>libgstrtpmanager.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtsp.xml b/docs/plugins/inspect/plugin-rtsp.xml
index fa9b926..e8ded03 100644
--- a/docs/plugins/inspect/plugin-rtsp.xml
+++ b/docs/plugins/inspect/plugin-rtsp.xml
@@ -3,7 +3,7 @@
   <description>transfer data via RTSP</description>
   <filename>../../gst/rtsp/.libs/libgstrtsp.so</filename>
   <basename>libgstrtsp.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-shapewipe.xml b/docs/plugins/inspect/plugin-shapewipe.xml
index d579068..edf1091 100644
--- a/docs/plugins/inspect/plugin-shapewipe.xml
+++ b/docs/plugins/inspect/plugin-shapewipe.xml
@@ -3,7 +3,7 @@
   <description>Shape Wipe transition filter</description>
   <filename>../../gst/shapewipe/.libs/libgstshapewipe.so</filename>
   <basename>libgstshapewipe.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-shout2send.xml b/docs/plugins/inspect/plugin-shout2send.xml
index a42f7f0..3227a9b 100644
--- a/docs/plugins/inspect/plugin-shout2send.xml
+++ b/docs/plugins/inspect/plugin-shout2send.xml
@@ -3,7 +3,7 @@
   <description>Sends data to an icecast server using libshout2</description>
   <filename>../../ext/shout2/.libs/libgstshout2.so</filename>
   <basename>libgstshout2.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>libshout2</package>
diff --git a/docs/plugins/inspect/plugin-smpte.xml b/docs/plugins/inspect/plugin-smpte.xml
index 3d04de8..743d509 100644
--- a/docs/plugins/inspect/plugin-smpte.xml
+++ b/docs/plugins/inspect/plugin-smpte.xml
@@ -3,7 +3,7 @@
   <description>Apply the standard SMPTE transitions on video images</description>
   <filename>../../gst/smpte/.libs/libgstsmpte.so</filename>
   <basename>libgstsmpte.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-soup.xml b/docs/plugins/inspect/plugin-soup.xml
index d262b7b..4f50e71 100644
--- a/docs/plugins/inspect/plugin-soup.xml
+++ b/docs/plugins/inspect/plugin-soup.xml
@@ -3,7 +3,7 @@
   <description>libsoup HTTP client src/sink</description>
   <filename>../../ext/soup/.libs/libgstsouphttpsrc.so</filename>
   <basename>libgstsouphttpsrc.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-spectrum.xml b/docs/plugins/inspect/plugin-spectrum.xml
index 2c91e35..093c0bd 100644
--- a/docs/plugins/inspect/plugin-spectrum.xml
+++ b/docs/plugins/inspect/plugin-spectrum.xml
@@ -3,7 +3,7 @@
   <description>Run an FFT on the audio signal, output spectrum data</description>
   <filename>../../gst/spectrum/.libs/libgstspectrum.so</filename>
   <basename>libgstspectrum.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-speex.xml b/docs/plugins/inspect/plugin-speex.xml
index c08638c..ae42782 100644
--- a/docs/plugins/inspect/plugin-speex.xml
+++ b/docs/plugins/inspect/plugin-speex.xml
@@ -3,7 +3,7 @@
   <description>Speex plugin library</description>
   <filename>../../ext/speex/.libs/libgstspeex.so</filename>
   <basename>libgstspeex.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-taglib.xml b/docs/plugins/inspect/plugin-taglib.xml
index ba66fee..51a6673 100644
--- a/docs/plugins/inspect/plugin-taglib.xml
+++ b/docs/plugins/inspect/plugin-taglib.xml
@@ -3,7 +3,7 @@
   <description>Tag writing plug-in based on taglib</description>
   <filename>../../ext/taglib/.libs/libgsttaglib.so</filename>
   <basename>libgsttaglib.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-udp.xml b/docs/plugins/inspect/plugin-udp.xml
index bfd8b1c..5beddc1 100644
--- a/docs/plugins/inspect/plugin-udp.xml
+++ b/docs/plugins/inspect/plugin-udp.xml
@@ -3,7 +3,7 @@
   <description>transfer data via UDP</description>
   <filename>../../gst/udp/.libs/libgstudp.so</filename>
   <basename>libgstudp.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-video4linux2.xml b/docs/plugins/inspect/plugin-video4linux2.xml
index cee61cb..da9410c 100644
--- a/docs/plugins/inspect/plugin-video4linux2.xml
+++ b/docs/plugins/inspect/plugin-video4linux2.xml
@@ -3,7 +3,7 @@
   <description>elements for Video 4 Linux</description>
   <filename>../../sys/v4l2/.libs/libgstvideo4linux2.so</filename>
   <basename>libgstvideo4linux2.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videobox.xml b/docs/plugins/inspect/plugin-videobox.xml
index af21caf..7d79b02 100644
--- a/docs/plugins/inspect/plugin-videobox.xml
+++ b/docs/plugins/inspect/plugin-videobox.xml
@@ -3,7 +3,7 @@
   <description>resizes a video by adding borders or cropping</description>
   <filename>../../gst/videobox/.libs/libgstvideobox.so</filename>
   <basename>libgstvideobox.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videocrop.xml b/docs/plugins/inspect/plugin-videocrop.xml
index ecf1d51..382ade8 100644
--- a/docs/plugins/inspect/plugin-videocrop.xml
+++ b/docs/plugins/inspect/plugin-videocrop.xml
@@ -3,7 +3,7 @@
   <description>Crops video into a user-defined region</description>
   <filename>../../gst/videocrop/.libs/libgstvideocrop.so</filename>
   <basename>libgstvideocrop.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videofilter.xml b/docs/plugins/inspect/plugin-videofilter.xml
index ced4193..2968c29 100644
--- a/docs/plugins/inspect/plugin-videofilter.xml
+++ b/docs/plugins/inspect/plugin-videofilter.xml
@@ -3,7 +3,7 @@
   <description>Video filters plugin</description>
   <filename>../../gst/videofilter/.libs/libgstvideofilter.so</filename>
   <basename>libgstvideofilter.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videomixer.xml b/docs/plugins/inspect/plugin-videomixer.xml
index 68fc15b..c5f0e29 100644
--- a/docs/plugins/inspect/plugin-videomixer.xml
+++ b/docs/plugins/inspect/plugin-videomixer.xml
@@ -3,7 +3,7 @@
   <description>Video mixer</description>
   <filename>../../gst/videomixer/.libs/libgstvideomixer.so</filename>
   <basename>libgstvideomixer.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-vpx.xml b/docs/plugins/inspect/plugin-vpx.xml
index 0ae470b..fbb018c 100644
--- a/docs/plugins/inspect/plugin-vpx.xml
+++ b/docs/plugins/inspect/plugin-vpx.xml
@@ -3,7 +3,7 @@
   <description>VP8 plugin</description>
   <filename>../../ext/vpx/.libs/libgstvpx.so</filename>
   <basename>libgstvpx.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-wavenc.xml b/docs/plugins/inspect/plugin-wavenc.xml
index 53f2d70..3b60b0d 100644
--- a/docs/plugins/inspect/plugin-wavenc.xml
+++ b/docs/plugins/inspect/plugin-wavenc.xml
@@ -3,7 +3,7 @@
   <description>Encode raw audio into WAV</description>
   <filename>../../gst/wavenc/.libs/libgstwavenc.so</filename>
   <basename>libgstwavenc.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-wavpack.xml b/docs/plugins/inspect/plugin-wavpack.xml
index f1e356d..61dded6 100644
--- a/docs/plugins/inspect/plugin-wavpack.xml
+++ b/docs/plugins/inspect/plugin-wavpack.xml
@@ -3,7 +3,7 @@
   <description>Wavpack lossless/lossy audio format handling</description>
   <filename>../../ext/wavpack/.libs/libgstwavpack.so</filename>
   <basename>libgstwavpack.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-wavparse.xml b/docs/plugins/inspect/plugin-wavparse.xml
index 9805220..6fa6514 100644
--- a/docs/plugins/inspect/plugin-wavparse.xml
+++ b/docs/plugins/inspect/plugin-wavparse.xml
@@ -3,7 +3,7 @@
   <description>Parse a .wav file into raw audio</description>
   <filename>../../gst/wavparse/.libs/libgstwavparse.so</filename>
   <basename>libgstwavparse.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ximagesrc.xml b/docs/plugins/inspect/plugin-ximagesrc.xml
index b54ebf7..6cc8160 100644
--- a/docs/plugins/inspect/plugin-ximagesrc.xml
+++ b/docs/plugins/inspect/plugin-ximagesrc.xml
@@ -3,7 +3,7 @@
   <description>X11 video input plugin using standard Xlib calls</description>
   <filename>../../sys/ximage/.libs/libgstximagesrc.so</filename>
   <basename>libgstximagesrc.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-y4menc.xml b/docs/plugins/inspect/plugin-y4menc.xml
index d8853e9..a4c380d 100644
--- a/docs/plugins/inspect/plugin-y4menc.xml
+++ b/docs/plugins/inspect/plugin-y4menc.xml
@@ -3,7 +3,7 @@
   <description>Encodes a YUV frame into the yuv4mpeg format (mjpegtools)</description>
   <filename>../../gst/y4m/.libs/libgsty4menc.so</filename>
   <basename>libgsty4menc.so</basename>
-  <version>1.4.4</version>
+  <version>1.4.5</version>
   <license>LGPL</license>
   <source>gst-plugins-good</source>
   <package>GStreamer Good Plug-ins source release</package>
diff --git a/ext/taglib/gstapev2mux.cc b/ext/taglib/gstapev2mux.cc
index eb46f82..e69de7e 100644
--- a/ext/taglib/gstapev2mux.cc
+++ b/ext/taglib/gstapev2mux.cc
@@ -71,7 +71,7 @@
 
 G_DEFINE_TYPE (GstApev2Mux, gst_apev2_mux, GST_TYPE_TAG_MUX);
 
-static GstBuffer *gst_apev2_mux_render_tag (GstTagMux * mux,
+static GstBuffer *gst_apev2_mux_render_start_tag (GstTagMux * mux,
     const GstTagList * taglist);
 static GstBuffer *gst_apev2_mux_render_end_tag (GstTagMux * mux,
     const GstTagList * taglist);
@@ -82,7 +82,7 @@
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   GST_TAG_MUX_CLASS (klass)->render_start_tag =
-      GST_DEBUG_FUNCPTR (gst_apev2_mux_render_tag);
+      GST_DEBUG_FUNCPTR (gst_apev2_mux_render_start_tag);
   GST_TAG_MUX_CLASS (klass)->render_end_tag =
       GST_DEBUG_FUNCPTR (gst_apev2_mux_render_end_tag);
 
@@ -106,6 +106,29 @@
   /* nothing to do */
 }
 
+static gboolean
+gst_apev2_mux_have_wavpack (GstApev2Mux * apev2mux)
+{
+  const GstStructure *s;
+  gboolean ret;
+  GstCaps *caps;
+  GstPad *sink;
+
+  sink = gst_element_get_static_pad (GST_ELEMENT_CAST (apev2mux), "sink");
+  caps = gst_pad_get_current_caps (sink);
+  gst_object_unref (sink);
+
+  if (caps == NULL)
+    return FALSE;
+
+  s = gst_caps_get_structure (caps, 0);
+  ret = gst_structure_has_name (s, "audio/x-wavpack");
+  gst_caps_unref (caps);
+
+  GST_LOG_OBJECT (apev2mux, "got wavpack input: %s", ret ? "yes" : "no");
+  return ret;
+}
+
 static void
 add_one_tag (const GstTagList * list, const gchar * tag, gpointer user_data)
 {
@@ -369,7 +392,19 @@
 }
 
 static GstBuffer *
+gst_apev2_mux_render_start_tag (GstTagMux * mux, const GstTagList * taglist)
+{
+  if (gst_apev2_mux_have_wavpack (GST_APEV2_MUX (mux)))
+    return NULL;
+
+  return gst_apev2_mux_render_tag (mux, taglist);
+}
+
+static GstBuffer *
 gst_apev2_mux_render_end_tag (GstTagMux * mux, const GstTagList * taglist)
 {
+  if (gst_apev2_mux_have_wavpack (GST_APEV2_MUX (mux)))
+    return gst_apev2_mux_render_tag (mux, taglist);
+
   return NULL;
 }
diff --git a/ext/vpx/gstvp8enc.c b/ext/vpx/gstvp8enc.c
index ed0bee3..5fca8f6 100644
--- a/ext/vpx/gstvp8enc.c
+++ b/ext/vpx/gstvp8enc.c
@@ -683,7 +683,8 @@
       g_param_spec_int ("arnr-type", "AltRef type",
           "AltRef type",
           1, 3, DEFAULT_ARNR_TYPE,
-          (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
+          (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
+              G_PARAM_DEPRECATED)));
 
   g_object_class_install_property (gobject_class, PROP_TUNING,
       g_param_spec_enum ("tuning", "Tuning",
@@ -1127,15 +1128,8 @@
       break;
     case PROP_ARNR_TYPE:
       gst_vp8_enc->arnr_type = g_value_get_int (value);
-      if (gst_vp8_enc->inited) {
-        status = vpx_codec_control (&gst_vp8_enc->encoder, VP8E_SET_ARNR_TYPE,
-            gst_vp8_enc->arnr_type);
-        if (status != VPX_CODEC_OK) {
-          GST_WARNING_OBJECT (gst_vp8_enc,
-              "Failed to set VP8E_SET_ARNR_TYPE: %s",
-              gst_vpx_error_name (status));
-        }
-      }
+      g_warning ("arnr-type is a no-op since control has been deprecated "
+          "in libvpx");
       break;
     case PROP_TUNING:
       gst_vp8_enc->tuning = g_value_get_enum (value);
@@ -1666,12 +1660,6 @@
         "Failed to set VP8E_SET_ARNR_STRENGTH: %s",
         gst_vpx_error_name (status));
   }
-  status = vpx_codec_control (&encoder->encoder, VP8E_SET_ARNR_TYPE,
-      encoder->arnr_type);
-  if (status != VPX_CODEC_OK) {
-    GST_WARNING_OBJECT (encoder,
-        "Failed to set VP8E_SET_ARNR_TYPE: %s", gst_vpx_error_name (status));
-  }
   status = vpx_codec_control (&encoder->encoder, VP8E_SET_TUNING,
       encoder->tuning);
   if (status != VPX_CODEC_OK) {
@@ -1693,8 +1681,7 @@
   }
 
   if (GST_VIDEO_INFO_FPS_D (info) == 0 || GST_VIDEO_INFO_FPS_N (info) == 0) {
-    gst_video_encoder_set_latency (video_encoder, GST_CLOCK_TIME_NONE,
-        GST_CLOCK_TIME_NONE);
+    gst_video_encoder_set_latency (video_encoder, 0, GST_CLOCK_TIME_NONE);
   } else {
     gst_video_encoder_set_latency (video_encoder, 0,
         gst_util_uint64_scale (encoder->cfg.g_lag_in_frames,
diff --git a/ext/vpx/gstvp9enc.c b/ext/vpx/gstvp9enc.c
index 58c98c7..84b4b22 100644
--- a/ext/vpx/gstvp9enc.c
+++ b/ext/vpx/gstvp9enc.c
@@ -658,7 +658,8 @@
       g_param_spec_int ("arnr-type", "AltRef type",
           "AltRef type",
           1, 3, DEFAULT_ARNR_TYPE,
-          (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
+          (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
+              G_PARAM_DEPRECATED)));
 
   g_object_class_install_property (gobject_class, PROP_TUNING,
       g_param_spec_enum ("tuning", "Tuning",
@@ -1104,15 +1105,8 @@
       break;
     case PROP_ARNR_TYPE:
       gst_vp9_enc->arnr_type = g_value_get_int (value);
-      if (gst_vp9_enc->inited) {
-        status = vpx_codec_control (&gst_vp9_enc->encoder, VP8E_SET_ARNR_TYPE,
-            gst_vp9_enc->arnr_type);
-        if (status != VPX_CODEC_OK) {
-          GST_WARNING_OBJECT (gst_vp9_enc,
-              "Failed to set VP8E_SET_ARNR_TYPE: %s",
-              gst_vpx_error_name (status));
-        }
-      }
+      g_warning ("arnr-type is a no-op since control has been deprecated "
+          "in libvpx");
       break;
     case PROP_TUNING:
       gst_vp9_enc->tuning = g_value_get_enum (value);
@@ -1645,12 +1639,6 @@
         "Failed to set VP8E_SET_ARNR_STRENGTH: %s",
         gst_vpx_error_name (status));
   }
-  status = vpx_codec_control (&encoder->encoder, VP8E_SET_ARNR_TYPE,
-      encoder->arnr_type);
-  if (status != VPX_CODEC_OK) {
-    GST_WARNING_OBJECT (encoder,
-        "Failed to set VP8E_SET_ARNR_TYPE: %s", gst_vpx_error_name (status));
-  }
   status = vpx_codec_control (&encoder->encoder, VP8E_SET_TUNING,
       encoder->tuning);
   if (status != VPX_CODEC_OK) {
@@ -1672,8 +1660,7 @@
   }
 
   if (GST_VIDEO_INFO_FPS_D (info) == 0 || GST_VIDEO_INFO_FPS_N (info) == 0) {
-    gst_video_encoder_set_latency (video_encoder, GST_CLOCK_TIME_NONE,
-        GST_CLOCK_TIME_NONE);
+    gst_video_encoder_set_latency (video_encoder, 0, GST_CLOCK_TIME_NONE);
   } else {
     gst_video_encoder_set_latency (video_encoder, 0,
         gst_util_uint64_scale (encoder->cfg.g_lag_in_frames,
diff --git a/gst-plugins-good.doap b/gst-plugins-good.doap
index 9e0581a..2f4e69a 100644
--- a/gst-plugins-good.doap
+++ b/gst-plugins-good.doap
@@ -34,6 +34,16 @@
 
  <release>
   <Version>
+   <revision>1.4.5</revision>
+   <branch>1.4</branch>
+   <name></name>
+   <created>2014-12-18</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.4.5.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.4.4</revision>
    <branch>1.4</branch>
    <name></name>
diff --git a/gst-plugins-good.spec b/gst-plugins-good.spec
index 739d38e..efb0612 100644
--- a/gst-plugins-good.spec
+++ b/gst-plugins-good.spec
@@ -4,7 +4,7 @@
 %define gst_minver   0.11.0
 
 Name: 		%{gstreamer}-plugins-good
-Version: 	1.4.4
+Version: 	1.4.5
 Release: 	1.gst
 Summary: 	GStreamer plug-ins with good code and licensing
 
diff --git a/gst/audioparsers/gstaacparse.c b/gst/audioparsers/gstaacparse.c
index aee1248..415e665 100644
--- a/gst/audioparsers/gstaacparse.c
+++ b/gst/audioparsers/gstaacparse.c
@@ -215,7 +215,7 @@
     gst_structure_set (s, "stream-format", G_TYPE_STRING, stream_format, NULL);
 
   allowed = gst_pad_get_allowed_caps (GST_BASE_PARSE (aacparse)->srcpad);
-  if (!gst_caps_can_intersect (src_caps, allowed)) {
+  if (allowed && !gst_caps_can_intersect (src_caps, allowed)) {
     GST_DEBUG_OBJECT (GST_BASE_PARSE (aacparse)->srcpad,
         "Caps can not intersect");
     if (aacparse->header_type == DSPAAC_HEADER_ADTS) {
@@ -249,7 +249,8 @@
       }
     }
   }
-  gst_caps_unref (allowed);
+  if (allowed)
+    gst_caps_unref (allowed);
 
   GST_DEBUG_OBJECT (aacparse, "setting src caps: %" GST_PTR_FORMAT, src_caps);
 
diff --git a/gst/deinterlace/gstdeinterlace.c b/gst/deinterlace/gstdeinterlace.c
index d81605c..2029137 100644
--- a/gst/deinterlace/gstdeinterlace.c
+++ b/gst/deinterlace/gstdeinterlace.c
@@ -2138,6 +2138,8 @@
   gboolean half;
   GstVideoInterlaceMode interlacing_mode;
 
+  gboolean filter_interlaced = FALSE;
+
   otherpad = (pad == self->srcpad) ? self->sinkpad : self->srcpad;
   half = pad != self->srcpad;
 
@@ -2145,9 +2147,27 @@
   peercaps = gst_pad_peer_query_caps (otherpad, NULL);
 
   interlacing_mode = GST_VIDEO_INFO_INTERLACE_MODE (&self->vinfo);
+  if (interlacing_mode == GST_VIDEO_INTERLACE_MODE_PROGRESSIVE && filter) {
+    guint i, caps_size;
+
+    filter_interlaced = TRUE;
+    caps_size = gst_caps_get_size (filter);
+    for (i = 0; i < caps_size; i++) {
+      const gchar *interlace_mode;
+      GstStructure *structure = gst_caps_get_structure (filter, i);
+
+      interlace_mode = gst_structure_get_string (structure, "interlace-mode");
+
+      if (!interlace_mode || g_strcmp0 (interlace_mode, "progressive") == 0) {
+        filter_interlaced = FALSE;
+      }
+    }
+  }
+
   if (self->mode == GST_DEINTERLACE_MODE_INTERLACED ||
       (self->mode == GST_DEINTERLACE_MODE_AUTO &&
-          interlacing_mode != GST_VIDEO_INTERLACE_MODE_PROGRESSIVE)) {
+          (interlacing_mode != GST_VIDEO_INTERLACE_MODE_PROGRESSIVE ||
+              filter_interlaced))) {
     gst_caps_unref (ourcaps);
     ourcaps = gst_caps_from_string (DEINTERLACE_CAPS);
   }
diff --git a/gst/deinterlace/tvtime-dist.c b/gst/deinterlace/tvtime-dist.c
index 8e86982..d92ce30 100644
--- a/gst/deinterlace/tvtime-dist.c
+++ b/gst/deinterlace/tvtime-dist.c
@@ -225,13 +225,13 @@
     /* 9: addw */
     var47.i = var45.i + var46.i;
     /* 10: shlw */
-    var48.i = var47.i << 2;
+    var48.i = ((orc_uint16) var47.i) << 2;
     /* 11: loadb */
     var39 = ptr6[i];
     /* 12: convubw */
     var49.i = (orc_uint8) var39;
     /* 13: shlw */
-    var50.i = var49.i << 1;
+    var50.i = ((orc_uint16) var49.i) << 1;
     /* 14: subw */
     var51.i = var48.i - var44.i;
     /* 15: addw */
@@ -317,13 +317,13 @@
     /* 9: addw */
     var47.i = var45.i + var46.i;
     /* 10: shlw */
-    var48.i = var47.i << 2;
+    var48.i = ((orc_uint16) var47.i) << 2;
     /* 11: loadb */
     var39 = ptr6[i];
     /* 12: convubw */
     var49.i = (orc_uint8) var39;
     /* 13: shlw */
-    var50.i = var49.i << 1;
+    var50.i = ((orc_uint16) var49.i) << 1;
     /* 14: subw */
     var51.i = var48.i - var44.i;
     /* 15: addw */
@@ -359,8 +359,8 @@
       static const orc_uint8 bc[] = {
         1, 9, 21, 100, 101, 105, 110, 116, 101, 114, 108, 97, 99, 101, 95, 108,
         105, 110, 101, 95, 118, 102, 105, 114, 11, 1, 1, 12, 1, 1, 12, 1,
-        1, 12, 1, 1, 12, 1, 1, 12, 1, 1, 14, 4, 2, 0, 0, 0,
-        14, 4, 1, 0, 0, 0, 14, 4, 4, 0, 0, 0, 14, 4, 3, 0,
+        1, 12, 1, 1, 12, 1, 1, 12, 1, 1, 14, 2, 2, 0, 0, 0,
+        14, 2, 1, 0, 0, 0, 14, 2, 4, 0, 0, 0, 14, 2, 3, 0,
         0, 0, 20, 2, 20, 2, 20, 2, 150, 32, 4, 150, 33, 8, 70, 32,
         32, 33, 150, 33, 5, 150, 34, 7, 70, 33, 33, 34, 93, 33, 33, 16,
         150, 34, 6, 93, 34, 34, 17, 98, 33, 33, 32, 70, 33, 33, 34, 70,
@@ -378,10 +378,10 @@
       orc_program_add_source (p, 1, "s3");
       orc_program_add_source (p, 1, "s4");
       orc_program_add_source (p, 1, "s5");
-      orc_program_add_constant (p, 4, 0x00000002, "c1");
-      orc_program_add_constant (p, 4, 0x00000001, "c2");
-      orc_program_add_constant (p, 4, 0x00000004, "c3");
-      orc_program_add_constant (p, 4, 0x00000003, "c4");
+      orc_program_add_constant (p, 2, 0x00000002, "c1");
+      orc_program_add_constant (p, 2, 0x00000001, "c2");
+      orc_program_add_constant (p, 2, 0x00000004, "c3");
+      orc_program_add_constant (p, 2, 0x00000003, "c4");
       orc_program_add_temporary (p, 2, "t1");
       orc_program_add_temporary (p, 2, "t2");
       orc_program_add_temporary (p, 2, "t3");
@@ -714,7 +714,7 @@
         1, 9, 29, 100, 101, 105, 110, 116, 101, 114, 108, 97, 99, 101, 95, 108,
         105, 110, 101, 95, 108, 105, 110, 101, 97, 114, 95, 98, 108, 101, 110,
             100,
-        11, 1, 1, 12, 1, 1, 12, 1, 1, 12, 1, 1, 14, 4, 2, 0,
+        11, 1, 1, 12, 1, 1, 12, 1, 1, 12, 1, 1, 14, 2, 2, 0,
         0, 0, 20, 2, 20, 2, 20, 2, 150, 32, 4, 150, 33, 5, 150, 34,
         6, 70, 32, 32, 33, 70, 34, 34, 34, 70, 32, 32, 34, 70, 32, 32,
         16, 94, 32, 32, 16, 160, 0, 32, 2, 0,
@@ -731,7 +731,7 @@
       orc_program_add_source (p, 1, "s1");
       orc_program_add_source (p, 1, "s2");
       orc_program_add_source (p, 1, "s3");
-      orc_program_add_constant (p, 4, 0x00000002, "c1");
+      orc_program_add_constant (p, 2, 0x00000002, "c1");
       orc_program_add_temporary (p, 2, "t1");
       orc_program_add_temporary (p, 2, "t2");
       orc_program_add_temporary (p, 2, "t3");
@@ -797,11 +797,7 @@
 #else
   orc_int8 var44;
 #endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_int8 var45;
-#else
   orc_int8 var45;
-#endif
   orc_int8 var46;
   orc_int8 var47;
   orc_int8 var48;
@@ -825,8 +821,6 @@
   orc_int8 var66;
   orc_int8 var67;
   orc_int8 var68;
-  orc_int8 var69;
-  orc_int8 var70;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_int8 *) s1;
@@ -836,62 +830,58 @@
 
   /* 11: loadpb */
   var44 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-  /* 13: loadpb */
-  var45 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-  /* 21: loadpb */
-  var46 = p1;
-  /* 23: loadpb */
-  var47 = p1;
+  /* 20: loadpb */
+  var45 = p1;
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
-    var49 = ptr4[i];
+    var47 = ptr4[i];
     /* 1: loadb */
-    var50 = ptr7[i];
+    var48 = ptr7[i];
     /* 2: loadb */
-    var51 = ptr6[i];
+    var49 = ptr6[i];
     /* 3: loadb */
-    var52 = ptr5[i];
+    var50 = ptr5[i];
     /* 4: avgub */
-    var53 = ((orc_uint8) var52 + (orc_uint8) var51 + 1) >> 1;
+    var51 = ((orc_uint8) var50 + (orc_uint8) var49 + 1) >> 1;
     /* 5: maxub */
-    var54 = ORC_MAX ((orc_uint8) var49, (orc_uint8) var53);
+    var52 = ORC_MAX ((orc_uint8) var47, (orc_uint8) var51);
     /* 6: minub */
-    var55 = ORC_MIN ((orc_uint8) var49, (orc_uint8) var53);
+    var53 = ORC_MIN ((orc_uint8) var47, (orc_uint8) var51);
     /* 7: subb */
-    var56 = var54 - var55;
+    var54 = var52 - var53;
     /* 8: maxub */
-    var57 = ORC_MAX ((orc_uint8) var50, (orc_uint8) var53);
+    var55 = ORC_MAX ((orc_uint8) var48, (orc_uint8) var51);
     /* 9: minub */
-    var58 = ORC_MIN ((orc_uint8) var50, (orc_uint8) var53);
+    var56 = ORC_MIN ((orc_uint8) var48, (orc_uint8) var51);
     /* 10: subb */
-    var59 = var57 - var58;
+    var57 = var55 - var56;
     /* 12: xorb */
-    var60 = var56 ^ var44;
-    /* 14: xorb */
-    var61 = var59 ^ var45;
-    /* 15: cmpgtsb */
-    var62 = (var60 > var61) ? (~0) : 0;
-    /* 16: andb */
-    var63 = var50 & var62;
-    /* 17: andnb */
-    var64 = (~var62) & var49;
-    /* 18: orb */
-    var65 = var63 | var64;
-    /* 19: maxub */
-    var66 = ORC_MAX ((orc_uint8) var52, (orc_uint8) var51);
-    /* 20: minub */
-    var67 = ORC_MIN ((orc_uint8) var52, (orc_uint8) var51);
-    /* 22: addusb */
-    var68 = ORC_CLAMP_UB ((orc_uint8) var66 + (orc_uint8) var46);
-    /* 24: subusb */
-    var69 = ORC_CLAMP_UB ((orc_uint8) var67 - (orc_uint8) var47);
-    /* 25: minub */
-    var70 = ORC_MIN ((orc_uint8) var65, (orc_uint8) var68);
-    /* 26: maxub */
-    var48 = ORC_MAX ((orc_uint8) var70, (orc_uint8) var69);
-    /* 27: storeb */
-    ptr0[i] = var48;
+    var58 = var54 ^ var44;
+    /* 13: xorb */
+    var59 = var57 ^ var44;
+    /* 14: cmpgtsb */
+    var60 = (var58 > var59) ? (~0) : 0;
+    /* 15: andb */
+    var61 = var48 & var60;
+    /* 16: andnb */
+    var62 = (~var60) & var47;
+    /* 17: orb */
+    var63 = var61 | var62;
+    /* 18: maxub */
+    var64 = ORC_MAX ((orc_uint8) var50, (orc_uint8) var49);
+    /* 19: minub */
+    var65 = ORC_MIN ((orc_uint8) var50, (orc_uint8) var49);
+    /* 21: addusb */
+    var66 = ORC_CLAMP_UB ((orc_uint8) var64 + (orc_uint8) var45);
+    /* 22: subusb */
+    var67 = ORC_CLAMP_UB ((orc_uint8) var65 - (orc_uint8) var45);
+    /* 23: minub */
+    var68 = ORC_MIN ((orc_uint8) var63, (orc_uint8) var66);
+    /* 24: maxub */
+    var46 = ORC_MAX ((orc_uint8) var68, (orc_uint8) var67);
+    /* 25: storeb */
+    ptr0[i] = var46;
   }
 
 }
@@ -912,11 +902,7 @@
 #else
   orc_int8 var44;
 #endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_int8 var45;
-#else
   orc_int8 var45;
-#endif
   orc_int8 var46;
   orc_int8 var47;
   orc_int8 var48;
@@ -940,8 +926,6 @@
   orc_int8 var66;
   orc_int8 var67;
   orc_int8 var68;
-  orc_int8 var69;
-  orc_int8 var70;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_int8 *) ex->arrays[4];
@@ -951,62 +935,58 @@
 
   /* 11: loadpb */
   var44 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-  /* 13: loadpb */
-  var45 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-  /* 21: loadpb */
-  var46 = ex->params[24];
-  /* 23: loadpb */
-  var47 = ex->params[24];
+  /* 20: loadpb */
+  var45 = ex->params[24];
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
-    var49 = ptr4[i];
+    var47 = ptr4[i];
     /* 1: loadb */
-    var50 = ptr7[i];
+    var48 = ptr7[i];
     /* 2: loadb */
-    var51 = ptr6[i];
+    var49 = ptr6[i];
     /* 3: loadb */
-    var52 = ptr5[i];
+    var50 = ptr5[i];
     /* 4: avgub */
-    var53 = ((orc_uint8) var52 + (orc_uint8) var51 + 1) >> 1;
+    var51 = ((orc_uint8) var50 + (orc_uint8) var49 + 1) >> 1;
     /* 5: maxub */
-    var54 = ORC_MAX ((orc_uint8) var49, (orc_uint8) var53);
+    var52 = ORC_MAX ((orc_uint8) var47, (orc_uint8) var51);
     /* 6: minub */
-    var55 = ORC_MIN ((orc_uint8) var49, (orc_uint8) var53);
+    var53 = ORC_MIN ((orc_uint8) var47, (orc_uint8) var51);
     /* 7: subb */
-    var56 = var54 - var55;
+    var54 = var52 - var53;
     /* 8: maxub */
-    var57 = ORC_MAX ((orc_uint8) var50, (orc_uint8) var53);
+    var55 = ORC_MAX ((orc_uint8) var48, (orc_uint8) var51);
     /* 9: minub */
-    var58 = ORC_MIN ((orc_uint8) var50, (orc_uint8) var53);
+    var56 = ORC_MIN ((orc_uint8) var48, (orc_uint8) var51);
     /* 10: subb */
-    var59 = var57 - var58;
+    var57 = var55 - var56;
     /* 12: xorb */
-    var60 = var56 ^ var44;
-    /* 14: xorb */
-    var61 = var59 ^ var45;
-    /* 15: cmpgtsb */
-    var62 = (var60 > var61) ? (~0) : 0;
-    /* 16: andb */
-    var63 = var50 & var62;
-    /* 17: andnb */
-    var64 = (~var62) & var49;
-    /* 18: orb */
-    var65 = var63 | var64;
-    /* 19: maxub */
-    var66 = ORC_MAX ((orc_uint8) var52, (orc_uint8) var51);
-    /* 20: minub */
-    var67 = ORC_MIN ((orc_uint8) var52, (orc_uint8) var51);
-    /* 22: addusb */
-    var68 = ORC_CLAMP_UB ((orc_uint8) var66 + (orc_uint8) var46);
-    /* 24: subusb */
-    var69 = ORC_CLAMP_UB ((orc_uint8) var67 - (orc_uint8) var47);
-    /* 25: minub */
-    var70 = ORC_MIN ((orc_uint8) var65, (orc_uint8) var68);
-    /* 26: maxub */
-    var48 = ORC_MAX ((orc_uint8) var70, (orc_uint8) var69);
-    /* 27: storeb */
-    ptr0[i] = var48;
+    var58 = var54 ^ var44;
+    /* 13: xorb */
+    var59 = var57 ^ var44;
+    /* 14: cmpgtsb */
+    var60 = (var58 > var59) ? (~0) : 0;
+    /* 15: andb */
+    var61 = var48 & var60;
+    /* 16: andnb */
+    var62 = (~var60) & var47;
+    /* 17: orb */
+    var63 = var61 | var62;
+    /* 18: maxub */
+    var64 = ORC_MAX ((orc_uint8) var50, (orc_uint8) var49);
+    /* 19: minub */
+    var65 = ORC_MIN ((orc_uint8) var50, (orc_uint8) var49);
+    /* 21: addusb */
+    var66 = ORC_CLAMP_UB ((orc_uint8) var64 + (orc_uint8) var45);
+    /* 22: subusb */
+    var67 = ORC_CLAMP_UB ((orc_uint8) var65 - (orc_uint8) var45);
+    /* 23: minub */
+    var68 = ORC_MIN ((orc_uint8) var63, (orc_uint8) var66);
+    /* 24: maxub */
+    var46 = ORC_MAX ((orc_uint8) var68, (orc_uint8) var67);
+    /* 25: storeb */
+    ptr0[i] = var46;
   }
 
 }
@@ -1031,7 +1011,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 23, 100, 101, 105, 110, 116, 101, 114, 108, 97, 99, 101, 95, 108,
         105, 110, 101, 95, 103, 114, 101, 101, 100, 121, 11, 1, 1, 12, 1, 1,
-        12, 1, 1, 12, 1, 1, 12, 1, 1, 14, 4, 128, 0, 0, 0, 16,
+        12, 1, 1, 12, 1, 1, 12, 1, 1, 14, 1, 128, 0, 0, 0, 16,
         1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20,
         1, 20, 1, 20, 1, 20, 1, 20, 1, 43, 32, 4, 43, 33, 7, 43,
         34, 6, 43, 35, 5, 39, 36, 35, 34, 53, 39, 32, 36, 55, 40, 32,
@@ -1052,7 +1032,7 @@
       orc_program_add_source (p, 1, "s2");
       orc_program_add_source (p, 1, "s3");
       orc_program_add_source (p, 1, "s4");
-      orc_program_add_constant (p, 4, 0x00000080, "c1");
+      orc_program_add_constant (p, 1, 0x00000080, "c1");
       orc_program_add_parameter (p, 1, "p1");
       orc_program_add_temporary (p, 1, "t1");
       orc_program_add_temporary (p, 1, "t2");
diff --git a/gst/flv/gstflvdemux.c b/gst/flv/gstflvdemux.c
index 802b0cd..d4d0265 100644
--- a/gst/flv/gstflvdemux.c
+++ b/gst/flv/gstflvdemux.c
@@ -894,7 +894,7 @@
 {
   gboolean ret = FALSE;
   gint32 dpts = pts - *last;
-  if (!discont && ABS (dpts) >= RESYNC_THRESHOLD) {
+  if (!discont && dpts <= -RESYNC_THRESHOLD) {
     /* Theoretically, we should use substract the duration of the last buffer,
        but this demuxer sends no durations on buffers, not sure if it cannot
        know, or just does not care to calculate. */
diff --git a/gst/isomp4/gstqtmuxmap.c b/gst/isomp4/gstqtmuxmap.c
index 5b17f85..1f5f2b7 100644
--- a/gst/isomp4/gstqtmuxmap.c
+++ b/gst/isomp4/gstqtmuxmap.c
@@ -47,12 +47,12 @@
 /* static info related to various format */
 
 #define COMMON_VIDEO_CAPS \
-  "width = (int) [ 16, 4096 ], " \
-  "height = (int) [ 16, 4096 ]"
+  "width = (int) [ 16, MAX ], " \
+  "height = (int) [ 16, MAX ]"
 
 #define COMMON_VIDEO_CAPS_NO_FRAMERATE \
-  "width = (int) [ 16, 4096 ], " \
-  "height = (int) [ 16, 4096 ] "
+  "width = (int) [ 16, MAX ], " \
+  "height = (int) [ 16, MAX ] "
 
 #define H263_CAPS \
   "video/x-h263, " \
diff --git a/gst/matroska/matroska-mux.c b/gst/matroska/matroska-mux.c
index 8c76cd0..80df3d8 100644
--- a/gst/matroska/matroska-mux.c
+++ b/gst/matroska/matroska-mux.c
@@ -359,21 +359,10 @@
   gboolean frame_duration_user;
 } GstMatroskamuxPad;
 
-static void gst_matroskamux_pad_class_init (GstPadClass * klass);
+typedef GstPadClass GstMatroskamuxPadClass;
 
-static GType
-gst_matroskamux_pad_get_type (void)
-{
-  static GType type = 0;
-
-  if (G_UNLIKELY (type == 0)) {
-    type = g_type_register_static_simple (GST_TYPE_PAD,
-        g_intern_static_string ("GstMatroskamuxPad"), sizeof (GstPadClass),
-        (GClassInitFunc) gst_matroskamux_pad_class_init,
-        sizeof (GstMatroskamuxPad), NULL, 0);
-  }
-  return type;
-}
+GType gst_matroskamux_pad_get_type (void);
+G_DEFINE_TYPE (GstMatroskamuxPad, gst_matroskamux_pad, GST_TYPE_PAD);
 
 #define GST_TYPE_MATROSKAMUX_PAD (gst_matroskamux_pad_get_type())
 #define GST_MATROSKAMUX_PAD(pad) (G_TYPE_CHECK_INSTANCE_CAST((pad),GST_TYPE_MATROSKAMUX_PAD,GstMatroskamuxPad))
@@ -414,7 +403,7 @@
 }
 
 static void
-gst_matroskamux_pad_class_init (GstPadClass * klass)
+gst_matroskamux_pad_class_init (GstMatroskamuxPadClass * klass)
 {
   GObjectClass *gobject_class = (GObjectClass *) klass;
 
diff --git a/gst/rtp/gstrtpgstdepay.c b/gst/rtp/gstrtpgstdepay.c
index 5803f98..621aa47 100644
--- a/gst/rtp/gstrtpgstdepay.c
+++ b/gst/rtp/gstrtpgstdepay.c
@@ -232,6 +232,9 @@
   if (!read_length (rtpgstdepay, map.data, map.size, &length, &offset))
     goto too_small;
 
+  if (length == 0 || map.data[offset + length - 1] != '\0')
+    goto invalid_buffer;
+
   GST_DEBUG_OBJECT (rtpgstdepay, "parsing caps %s", &map.data[offset]);
 
   /* parse and store in cache */
@@ -249,6 +252,13 @@
     gst_buffer_unmap (buf, &map);
     return NULL;
   }
+invalid_buffer:
+  {
+    GST_ELEMENT_WARNING (rtpgstdepay, STREAM, DECODE,
+        ("caps string not 0-terminated."), (NULL));
+    gst_buffer_unmap (buf, &map);
+    return NULL;
+  }
 }
 
 static GstEvent *
@@ -269,6 +279,14 @@
   if (!read_length (rtpgstdepay, map.data, map.size, &length, &offset))
     goto too_small;
 
+  if (length == 0)
+    goto invalid_buffer;
+  if (map.data[offset + length - 1] != '\0')
+    goto invalid_buffer;
+  /* backward compat, old payloader did not put 0-byte at the end */
+  if (map.data[offset + length - 1] != ';')
+    goto invalid_buffer;
+
   GST_DEBUG_OBJECT (rtpgstdepay, "parsing event %s", &map.data[offset]);
 
   /* parse */
@@ -307,6 +325,13 @@
     gst_buffer_unmap (buf, &map);
     return NULL;
   }
+invalid_buffer:
+  {
+    GST_ELEMENT_WARNING (rtpgstdepay, STREAM, DECODE,
+        ("event string not 0-terminated."), (NULL));
+    gst_buffer_unmap (buf, &map);
+    return NULL;
+  }
 parse_failed:
   {
     GST_WARNING_OBJECT (rtpgstdepay, "could not parse event");
diff --git a/gst/rtp/gstrtpgstpay.c b/gst/rtp/gstrtpgstpay.c
index c0a9d94..08794d1 100644
--- a/gst/rtp/gstrtpgstpay.c
+++ b/gst/rtp/gstrtpgstpay.c
@@ -483,6 +483,8 @@
 
   estr = gst_structure_to_string (s);
   elen = strlen (estr);
+  /* for 0 byte */
+  elen++;
   outbuf = make_data_buffer (rtpgstpay, estr, elen);
   GST_DEBUG_OBJECT (rtpgstpay, "sending event=%s", estr);
   g_free (estr);
diff --git a/gst/rtp/gstrtph264pay.c b/gst/rtp/gstrtph264pay.c
index 5219f09..41330d6 100644
--- a/gst/rtp/gstrtph264pay.c
+++ b/gst/rtp/gstrtph264pay.c
@@ -826,8 +826,10 @@
      * checking when we need to send SPS/PPS but convert to running_time first. */
     rtph264pay->send_spspps = FALSE;
     ret = gst_rtp_h264_pay_send_sps_pps (basepayload, rtph264pay, dts, pts);
-    if (ret != GST_FLOW_OK)
+    if (ret != GST_FLOW_OK) {
+      gst_buffer_unref (paybuf);
       return ret;
+    }
   }
 
   packet_len = gst_rtp_buffer_calc_packet_len (size, 0, 0);
@@ -1325,6 +1327,13 @@
       rtph264pay->send_spspps = FALSE;
       gst_adapter_clear (rtph264pay->adapter);
       break;
+    default:
+      break;
+  }
+
+  ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
+
+  switch (transition) {
     case GST_STATE_CHANGE_PAUSED_TO_READY:
       rtph264pay->last_spspps = -1;
       gst_rtp_h264_pay_clear_sps_pps (rtph264pay);
@@ -1333,8 +1342,6 @@
       break;
   }
 
-  ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
-
   return ret;
 }
 
diff --git a/gst/rtpmanager/gstrtpjitterbuffer.c b/gst/rtpmanager/gstrtpjitterbuffer.c
index 1239161..7b1f255 100644
--- a/gst/rtpmanager/gstrtpjitterbuffer.c
+++ b/gst/rtpmanager/gstrtpjitterbuffer.c
@@ -821,7 +821,7 @@
 {
   GstRtpJitterBuffer *jitterbuffer;
   GstPad *otherpad = NULL;
-  GstIterator *it;
+  GstIterator *it = NULL;
   GValue val = { 0, };
 
   jitterbuffer = GST_RTP_JITTER_BUFFER_CAST (parent);
@@ -831,13 +831,15 @@
   } else if (pad == jitterbuffer->priv->srcpad) {
     otherpad = jitterbuffer->priv->sinkpad;
   } else if (pad == jitterbuffer->priv->rtcpsinkpad) {
-    otherpad = NULL;
+    it = gst_iterator_new_single (GST_TYPE_PAD, NULL);
   }
 
-  g_value_init (&val, GST_TYPE_PAD);
-  g_value_set_object (&val, otherpad);
-  it = gst_iterator_new_single (GST_TYPE_PAD, &val);
-  g_value_unset (&val);
+  if (it == NULL) {
+    g_value_init (&val, GST_TYPE_PAD);
+    g_value_set_object (&val, otherpad);
+    it = gst_iterator_new_single (GST_TYPE_PAD, &val);
+    g_value_unset (&val);
+  }
 
   return it;
 }
diff --git a/gst/rtpmanager/gstrtprtxreceive.c b/gst/rtpmanager/gstrtprtxreceive.c
index 52f6b01..b7a30e6 100644
--- a/gst/rtpmanager/gstrtprtxreceive.c
+++ b/gst/rtpmanager/gstrtprtxreceive.c
@@ -427,12 +427,14 @@
   guint payload_len = 0;
 
   /* copy fixed header */
-  mem = gst_memory_copy (rtp->map[0].memory, 0, rtp->size[0]);
+  mem = gst_memory_copy (rtp->map[0].memory,
+      (guint8 *) rtp->data[0] - rtp->map[0].data, rtp->size[0]);
   gst_buffer_append_memory (new_buffer, mem);
 
   /* copy extension if any */
   if (rtp->size[1]) {
-    mem = gst_memory_copy (rtp->map[1].memory, 0, rtp->size[1]);
+    mem = gst_memory_copy (rtp->map[1].memory,
+        (guint8 *) rtp->data[1] - rtp->map[1].data, rtp->size[1]);
     gst_buffer_append_memory (new_buffer, mem);
   }
 
diff --git a/gst/rtpmanager/gstrtpsession.c b/gst/rtpmanager/gstrtpsession.c
index 88293cc..8c7306b 100644
--- a/gst/rtpmanager/gstrtpsession.c
+++ b/gst/rtpmanager/gstrtpsession.c
@@ -1676,6 +1676,8 @@
     it = gst_iterator_new_single (GST_TYPE_PAD, &val);
     g_value_unset (&val);
     gst_object_unref (otherpad);
+  } else {
+    it = gst_iterator_new_single (GST_TYPE_PAD, NULL);
   }
 
   return it;
diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c
index fbc7f7f..c545a4f 100644
--- a/gst/rtsp/gstrtspsrc.c
+++ b/gst/rtsp/gstrtspsrc.c
@@ -1727,6 +1727,7 @@
     return FALSE;
 
   msg = gst_mikey_message_new_from_data (data, size, NULL, NULL);
+  g_free (data);
   if (msg == NULL)
     return FALSE;
 
diff --git a/gst/videocrop/gstaspectratiocrop.c b/gst/videocrop/gstaspectratiocrop.c
index a4a6553..62e9644 100644
--- a/gst/videocrop/gstaspectratiocrop.c
+++ b/gst/videocrop/gstaspectratiocrop.c
@@ -152,28 +152,22 @@
 gst_aspect_ratio_crop_sink_event (GstPad * pad, GstObject * parent,
     GstEvent * evt)
 {
-  gboolean ret;
   GstAspectRatioCrop *aspect_ratio_crop = GST_ASPECT_RATIO_CROP (parent);
 
-  ret =
-      aspect_ratio_crop->sinkpad_old_eventfunc (pad, parent,
-      gst_event_ref (evt));
-
   switch (GST_EVENT_TYPE (evt)) {
     case GST_EVENT_CAPS:
     {
       GstCaps *caps;
 
       gst_event_parse_caps (evt, &caps);
-      ret = gst_aspect_ratio_crop_set_caps (aspect_ratio_crop, caps);
+      gst_aspect_ratio_crop_set_caps (aspect_ratio_crop, caps);
       break;
     }
     default:
       break;
   }
-  gst_event_unref (evt);
 
-  return ret;
+  return gst_pad_event_default (pad, parent, evt);
 }
 
 static void
@@ -253,8 +247,6 @@
       aspect_ratio_crop->sink);
   gst_object_unref (link_pad);
 
-  aspect_ratio_crop->sinkpad_old_eventfunc =
-      GST_PAD_EVENTFUNC (aspect_ratio_crop->sink);
   gst_pad_set_event_function (aspect_ratio_crop->sink,
       GST_DEBUG_FUNCPTR (gst_aspect_ratio_crop_sink_event));
 }
diff --git a/gst/videocrop/gstaspectratiocrop.h b/gst/videocrop/gstaspectratiocrop.h
index 5e10840..2caeb5c 100644
--- a/gst/videocrop/gstaspectratiocrop.h
+++ b/gst/videocrop/gstaspectratiocrop.h
@@ -46,7 +46,6 @@
   GstElement *videocrop;
 
   GstPad *sink;
-  GstPadEventFunction sinkpad_old_eventfunc;
 
   /* target aspect ratio */
   gint ar_num; /* if < 1 then don't change ar */
diff --git a/gst/videomixer/videomixer2.c b/gst/videomixer/videomixer2.c
index 180c24a..52edb4d 100644
--- a/gst/videomixer/videomixer2.c
+++ b/gst/videomixer/videomixer2.c
@@ -805,7 +805,7 @@
   GST_OBJECT_LOCK (mix);
   mix->proportion = proportion;
   if (G_LIKELY (timestamp != GST_CLOCK_TIME_NONE)) {
-    if (G_UNLIKELY (diff > 0))
+    if (!mix->live && G_UNLIKELY (diff > 0))
       mix->earliest_time =
           timestamp + 2 * diff + gst_util_uint64_scale_int_round (GST_SECOND,
           GST_VIDEO_INFO_FPS_D (&mix->info), GST_VIDEO_INFO_FPS_N (&mix->info));
@@ -1501,6 +1501,8 @@
   g_value_unset (&item);
   gst_iterator_free (it);
 
+  mix->live = live;
+
   if (res) {
     /* store the results */
     GST_DEBUG_OBJECT (mix, "Calculated total latency: live %s, min %"
diff --git a/gst/videomixer/videomixer2.h b/gst/videomixer/videomixer2.h
index 5097d1d..8c6a65f 100644
--- a/gst/videomixer/videomixer2.h
+++ b/gst/videomixer/videomixer2.h
@@ -116,6 +116,9 @@
 
   gboolean send_stream_start;
 
+  /* latency */
+  gboolean live;
+
   GstTagList *pending_tags;
 };
 
diff --git a/gst/videomixer/videomixerorc-dist.c b/gst/videomixer/videomixerorc-dist.c
index 80a4a2d..b114731 100644
--- a/gst/videomixer/videomixerorc-dist.c
+++ b/gst/videomixer/videomixerorc-dist.c
@@ -522,7 +522,7 @@
       /* 6: mullw */
       var41.i = (var40.i * var36.i) & 0xffff;
       /* 7: shlw */
-      var42.i = var38.i << 8;
+      var42.i = ((orc_uint16) var38.i) << 8;
       /* 8: addw */
       var43.i = var42.i + var41.i;
       /* 9: shruw */
@@ -579,7 +579,7 @@
       /* 6: mullw */
       var41.i = (var40.i * var36.i) & 0xffff;
       /* 7: shlw */
-      var42.i = var38.i << 8;
+      var42.i = ((orc_uint16) var38.i) << 8;
       /* 8: addw */
       var43.i = var42.i + var41.i;
       /* 9: shruw */
@@ -725,8 +725,9 @@
       var43 = var42.i;
       /* 3: splatbl */
       var44.i =
-          ((var43 & 0xff) << 24) | ((var43 & 0xff) << 16) | ((var43 & 0xff) <<
-          8) | (var43 & 0xff);
+          ((((orc_uint32) var43) & 0xff) << 24) | ((((orc_uint32) var43) & 0xff)
+          << 16) | ((((orc_uint32) var43) & 0xff) << 8) | (((orc_uint32) var43)
+          & 0xff);
       /* 4: convubw */
       var45.x4[0] = (orc_uint8) var44.x4[0];
       var45.x4[1] = (orc_uint8) var44.x4[1];
@@ -850,8 +851,9 @@
       var43 = var42.i;
       /* 3: splatbl */
       var44.i =
-          ((var43 & 0xff) << 24) | ((var43 & 0xff) << 16) | ((var43 & 0xff) <<
-          8) | (var43 & 0xff);
+          ((((orc_uint32) var43) & 0xff) << 24) | ((((orc_uint32) var43) & 0xff)
+          << 16) | ((((orc_uint32) var43) & 0xff) << 8) | (((orc_uint32) var43)
+          & 0xff);
       /* 4: convubw */
       var45.x4[0] = (orc_uint8) var44.x4[0];
       var45.x4[1] = (orc_uint8) var44.x4[1];
@@ -939,7 +941,7 @@
       static const orc_uint8 bc[] = {
         1, 7, 9, 26, 118, 105, 100, 101, 111, 95, 109, 105, 120, 101, 114, 95,
         111, 114, 99, 95, 98, 108, 101, 110, 100, 95, 97, 114, 103, 98, 11, 4,
-        4, 12, 4, 4, 14, 4, 255, 0, 0, 0, 14, 4, 8, 0, 0, 0,
+        4, 12, 4, 4, 14, 4, 255, 0, 0, 0, 14, 2, 8, 0, 0, 0,
         16, 2, 20, 4, 20, 2, 20, 1, 20, 4, 20, 8, 20, 8, 20, 8,
         113, 32, 4, 163, 33, 32, 157, 34, 33, 152, 35, 34, 21, 2, 150, 38,
         35, 21, 2, 89, 38, 38, 24, 21, 2, 95, 38, 38, 17, 21, 2, 150,
@@ -957,7 +959,7 @@
       orc_program_add_destination (p, 4, "d1");
       orc_program_add_source (p, 4, "s1");
       orc_program_add_constant (p, 4, 0x000000ff, "c1");
-      orc_program_add_constant (p, 4, 0x00000008, "c2");
+      orc_program_add_constant (p, 2, 0x00000008, "c2");
       orc_program_add_parameter (p, 2, "p1");
       orc_program_add_temporary (p, 4, "t1");
       orc_program_add_temporary (p, 2, "t2");
@@ -1084,8 +1086,9 @@
       var45 = var44.i;
       /* 4: splatbl */
       var46.i =
-          ((var45 & 0xff) << 24) | ((var45 & 0xff) << 16) | ((var45 & 0xff) <<
-          8) | (var45 & 0xff);
+          ((((orc_uint32) var45) & 0xff) << 24) | ((((orc_uint32) var45) & 0xff)
+          << 16) | ((((orc_uint32) var45) & 0xff) << 8) | (((orc_uint32) var45)
+          & 0xff);
       /* 5: convubw */
       var47.x4[0] = (orc_uint8) var46.x4[0];
       var47.x4[1] = (orc_uint8) var46.x4[1];
@@ -1212,8 +1215,9 @@
       var45 = var44.i;
       /* 4: splatbl */
       var46.i =
-          ((var45 & 0xff) << 24) | ((var45 & 0xff) << 16) | ((var45 & 0xff) <<
-          8) | (var45 & 0xff);
+          ((((orc_uint32) var45) & 0xff) << 24) | ((((orc_uint32) var45) & 0xff)
+          << 16) | ((((orc_uint32) var45) & 0xff) << 8) | (((orc_uint32) var45)
+          & 0xff);
       /* 5: convubw */
       var47.x4[0] = (orc_uint8) var46.x4[0];
       var47.x4[1] = (orc_uint8) var46.x4[1];
@@ -1302,7 +1306,7 @@
         1, 7, 9, 26, 118, 105, 100, 101, 111, 95, 109, 105, 120, 101, 114, 95,
         111, 114, 99, 95, 98, 108, 101, 110, 100, 95, 98, 103, 114, 97, 11, 4,
         4, 12, 4, 4, 14, 4, 0, 0, 0, 255, 14, 4, 24, 0, 0, 0,
-        14, 4, 8, 0, 0, 0, 16, 2, 20, 4, 20, 4, 20, 2, 20, 1,
+        14, 2, 8, 0, 0, 0, 16, 2, 20, 4, 20, 4, 20, 2, 20, 1,
         20, 4, 20, 8, 20, 8, 20, 8, 113, 32, 4, 126, 33, 32, 17, 163,
         34, 33, 157, 35, 34, 152, 36, 35, 21, 2, 150, 39, 36, 21, 2, 89,
         39, 39, 24, 21, 2, 95, 39, 39, 18, 21, 2, 150, 38, 32, 113, 32,
@@ -1321,7 +1325,7 @@
       orc_program_add_source (p, 4, "s1");
       orc_program_add_constant (p, 4, 0xff000000, "c1");
       orc_program_add_constant (p, 4, 0x00000018, "c2");
-      orc_program_add_constant (p, 4, 0x00000008, "c3");
+      orc_program_add_constant (p, 2, 0x00000008, "c3");
       orc_program_add_parameter (p, 2, "p1");
       orc_program_add_temporary (p, 4, "t1");
       orc_program_add_temporary (p, 4, "t2");
@@ -1470,8 +1474,9 @@
       var46 = var45.i;
       /* 3: splatbl */
       var47.i =
-          ((var46 & 0xff) << 24) | ((var46 & 0xff) << 16) | ((var46 & 0xff) <<
-          8) | (var46 & 0xff);
+          ((((orc_uint32) var46) & 0xff) << 24) | ((((orc_uint32) var46) & 0xff)
+          << 16) | ((((orc_uint32) var46) & 0xff) << 8) | (((orc_uint32) var46)
+          & 0xff);
       /* 4: convubw */
       var48.x4[0] = (orc_uint8) var47.x4[0];
       var48.x4[1] = (orc_uint8) var47.x4[1];
@@ -1515,8 +1520,9 @@
       var58 = var57.i;
       /* 16: splatbl */
       var59.i =
-          ((var58 & 0xff) << 24) | ((var58 & 0xff) << 16) | ((var58 & 0xff) <<
-          8) | (var58 & 0xff);
+          ((((orc_uint32) var58) & 0xff) << 24) | ((((orc_uint32) var58) & 0xff)
+          << 16) | ((((orc_uint32) var58) & 0xff) << 8) | (((orc_uint32) var58)
+          & 0xff);
       /* 17: convubw */
       var60.x4[0] = (orc_uint8) var59.x4[0];
       var60.x4[1] = (orc_uint8) var59.x4[1];
@@ -1676,8 +1682,9 @@
       var46 = var45.i;
       /* 3: splatbl */
       var47.i =
-          ((var46 & 0xff) << 24) | ((var46 & 0xff) << 16) | ((var46 & 0xff) <<
-          8) | (var46 & 0xff);
+          ((((orc_uint32) var46) & 0xff) << 24) | ((((orc_uint32) var46) & 0xff)
+          << 16) | ((((orc_uint32) var46) & 0xff) << 8) | (((orc_uint32) var46)
+          & 0xff);
       /* 4: convubw */
       var48.x4[0] = (orc_uint8) var47.x4[0];
       var48.x4[1] = (orc_uint8) var47.x4[1];
@@ -1721,8 +1728,9 @@
       var58 = var57.i;
       /* 16: splatbl */
       var59.i =
-          ((var58 & 0xff) << 24) | ((var58 & 0xff) << 16) | ((var58 & 0xff) <<
-          8) | (var58 & 0xff);
+          ((((orc_uint32) var58) & 0xff) << 24) | ((((orc_uint32) var58) & 0xff)
+          << 16) | ((((orc_uint32) var58) & 0xff) << 8) | (((orc_uint32) var58)
+          & 0xff);
       /* 17: convubw */
       var60.x4[0] = (orc_uint8) var59.x4[0];
       var60.x4[1] = (orc_uint8) var59.x4[1];
@@ -1826,7 +1834,7 @@
         111, 114, 99, 95, 111, 118, 101, 114, 108, 97, 121, 95, 97, 114, 103,
             98,
         11, 4, 4, 12, 4, 4, 14, 4, 255, 255, 255, 255, 14, 4, 255, 0,
-        0, 0, 14, 4, 0, 255, 255, 255, 14, 4, 8, 0, 0, 0, 16, 2,
+        0, 0, 14, 4, 0, 255, 255, 255, 14, 2, 8, 0, 0, 0, 16, 2,
         20, 4, 20, 2, 20, 1, 20, 8, 20, 8, 20, 8, 20, 4, 20, 8,
         20, 8, 113, 32, 4, 163, 33, 32, 157, 34, 33, 152, 38, 34, 21, 2,
         150, 35, 38, 21, 2, 89, 35, 35, 24, 21, 2, 95, 35, 35, 19, 21,
@@ -1850,7 +1858,7 @@
       orc_program_add_constant (p, 4, 0xffffffff, "c1");
       orc_program_add_constant (p, 4, 0x000000ff, "c2");
       orc_program_add_constant (p, 4, 0xffffff00, "c3");
-      orc_program_add_constant (p, 4, 0x00000008, "c4");
+      orc_program_add_constant (p, 2, 0x00000008, "c4");
       orc_program_add_parameter (p, 2, "p1");
       orc_program_add_temporary (p, 4, "t1");
       orc_program_add_temporary (p, 2, "t2");
@@ -2028,8 +2036,9 @@
       var48 = var47.i;
       /* 4: splatbl */
       var49.i =
-          ((var48 & 0xff) << 24) | ((var48 & 0xff) << 16) | ((var48 & 0xff) <<
-          8) | (var48 & 0xff);
+          ((((orc_uint32) var48) & 0xff) << 24) | ((((orc_uint32) var48) & 0xff)
+          << 16) | ((((orc_uint32) var48) & 0xff) << 8) | (((orc_uint32) var48)
+          & 0xff);
       /* 5: convubw */
       var50.x4[0] = (orc_uint8) var49.x4[0];
       var50.x4[1] = (orc_uint8) var49.x4[1];
@@ -2075,8 +2084,9 @@
       var61 = var60.i;
       /* 18: splatbl */
       var62.i =
-          ((var61 & 0xff) << 24) | ((var61 & 0xff) << 16) | ((var61 & 0xff) <<
-          8) | (var61 & 0xff);
+          ((((orc_uint32) var61) & 0xff) << 24) | ((((orc_uint32) var61) & 0xff)
+          << 16) | ((((orc_uint32) var61) & 0xff) << 8) | (((orc_uint32) var61)
+          & 0xff);
       /* 19: convubw */
       var63.x4[0] = (orc_uint8) var62.x4[0];
       var63.x4[1] = (orc_uint8) var62.x4[1];
@@ -2240,8 +2250,9 @@
       var48 = var47.i;
       /* 4: splatbl */
       var49.i =
-          ((var48 & 0xff) << 24) | ((var48 & 0xff) << 16) | ((var48 & 0xff) <<
-          8) | (var48 & 0xff);
+          ((((orc_uint32) var48) & 0xff) << 24) | ((((orc_uint32) var48) & 0xff)
+          << 16) | ((((orc_uint32) var48) & 0xff) << 8) | (((orc_uint32) var48)
+          & 0xff);
       /* 5: convubw */
       var50.x4[0] = (orc_uint8) var49.x4[0];
       var50.x4[1] = (orc_uint8) var49.x4[1];
@@ -2287,8 +2298,9 @@
       var61 = var60.i;
       /* 18: splatbl */
       var62.i =
-          ((var61 & 0xff) << 24) | ((var61 & 0xff) << 16) | ((var61 & 0xff) <<
-          8) | (var61 & 0xff);
+          ((((orc_uint32) var61) & 0xff) << 24) | ((((orc_uint32) var61) & 0xff)
+          << 16) | ((((orc_uint32) var61) & 0xff) << 8) | (((orc_uint32) var61)
+          & 0xff);
       /* 19: convubw */
       var63.x4[0] = (orc_uint8) var62.x4[0];
       var63.x4[1] = (orc_uint8) var62.x4[1];
@@ -2392,7 +2404,7 @@
         111, 114, 99, 95, 111, 118, 101, 114, 108, 97, 121, 95, 98, 103, 114,
             97,
         11, 4, 4, 12, 4, 4, 14, 4, 255, 255, 255, 255, 14, 4, 0, 0,
-        0, 255, 14, 4, 255, 255, 255, 0, 14, 4, 24, 0, 0, 0, 14, 4,
+        0, 255, 14, 4, 255, 255, 255, 0, 14, 4, 24, 0, 0, 0, 14, 2,
         8, 0, 0, 0, 16, 2, 20, 4, 20, 4, 20, 2, 20, 1, 20, 8,
         20, 8, 20, 8, 20, 4, 20, 8, 20, 8, 113, 32, 4, 126, 33, 32,
         19, 163, 34, 33, 157, 35, 34, 152, 39, 35, 21, 2, 150, 36, 39, 21,
@@ -2418,7 +2430,7 @@
       orc_program_add_constant (p, 4, 0xff000000, "c2");
       orc_program_add_constant (p, 4, 0x00ffffff, "c3");
       orc_program_add_constant (p, 4, 0x00000018, "c4");
-      orc_program_add_constant (p, 4, 0x00000008, "c5");
+      orc_program_add_constant (p, 2, 0x00000008, "c5");
       orc_program_add_parameter (p, 2, "p1");
       orc_program_add_temporary (p, 4, "t1");
       orc_program_add_temporary (p, 4, "t2");
@@ -3136,18 +3148,13 @@
 #endif
   orc_int8 var37;
   orc_union32 var38;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_int8 var39;
-#else
   orc_int8 var39;
-#endif
-  orc_int8 var40;
-  orc_union32 var41;
+  orc_union32 var40;
+  orc_int8 var41;
   orc_int8 var42;
-  orc_int8 var43;
+  orc_union16 var43;
   orc_union16 var44;
   orc_union16 var45;
-  orc_union16 var46;
 
   ptr0 = (orc_union32 *) d1;
   ptr1 = (orc_union32 *) d2;
@@ -3158,20 +3165,18 @@
 
   /* 3: loadpb */
   var36 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-  /* 8: loadpb */
-  var39 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadupdb */
-    var42 = ptr6[i >> 1];
+    var41 = ptr6[i >> 1];
     /* 1: loadupdb */
-    var43 = ptr7[i >> 1];
+    var42 = ptr7[i >> 1];
     /* 2: mergebw */
     {
       orc_union16 _dest;
-      _dest.x2[0] = var42;
-      _dest.x2[1] = var43;
-      var44.i = _dest.i;
+      _dest.x2[0] = var41;
+      _dest.x2[1] = var42;
+      var43.i = _dest.i;
     }
     /* 4: loadb */
     var37 = ptr4[i];
@@ -3180,35 +3185,35 @@
       orc_union16 _dest;
       _dest.x2[0] = var36;
       _dest.x2[1] = var37;
-      var45.i = _dest.i;
+      var44.i = _dest.i;
     }
     /* 6: mergewl */
     {
       orc_union32 _dest;
-      _dest.x2[0] = var45.i;
-      _dest.x2[1] = var44.i;
+      _dest.x2[0] = var44.i;
+      _dest.x2[1] = var43.i;
       var38.i = _dest.i;
     }
     /* 7: storel */
     ptr0[i] = var38;
-    /* 9: loadb */
-    var40 = ptr5[i];
-    /* 10: mergebw */
+    /* 8: loadb */
+    var39 = ptr5[i];
+    /* 9: mergebw */
     {
       orc_union16 _dest;
-      _dest.x2[0] = var39;
-      _dest.x2[1] = var40;
-      var46.i = _dest.i;
+      _dest.x2[0] = var36;
+      _dest.x2[1] = var39;
+      var45.i = _dest.i;
     }
-    /* 11: mergewl */
+    /* 10: mergewl */
     {
       orc_union32 _dest;
-      _dest.x2[0] = var46.i;
-      _dest.x2[1] = var44.i;
-      var41.i = _dest.i;
+      _dest.x2[0] = var45.i;
+      _dest.x2[1] = var43.i;
+      var40.i = _dest.i;
     }
-    /* 12: storel */
-    ptr1[i] = var41;
+    /* 11: storel */
+    ptr1[i] = var40;
   }
 
 }
@@ -3233,18 +3238,13 @@
 #endif
   orc_int8 var37;
   orc_union32 var38;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_int8 var39;
-#else
   orc_int8 var39;
-#endif
-  orc_int8 var40;
-  orc_union32 var41;
+  orc_union32 var40;
+  orc_int8 var41;
   orc_int8 var42;
-  orc_int8 var43;
+  orc_union16 var43;
   orc_union16 var44;
   orc_union16 var45;
-  orc_union16 var46;
 
   ptr0 = (orc_union32 *) ex->arrays[0];
   ptr1 = (orc_union32 *) ex->arrays[1];
@@ -3255,20 +3255,18 @@
 
   /* 3: loadpb */
   var36 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-  /* 8: loadpb */
-  var39 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadupdb */
-    var42 = ptr6[i >> 1];
+    var41 = ptr6[i >> 1];
     /* 1: loadupdb */
-    var43 = ptr7[i >> 1];
+    var42 = ptr7[i >> 1];
     /* 2: mergebw */
     {
       orc_union16 _dest;
-      _dest.x2[0] = var42;
-      _dest.x2[1] = var43;
-      var44.i = _dest.i;
+      _dest.x2[0] = var41;
+      _dest.x2[1] = var42;
+      var43.i = _dest.i;
     }
     /* 4: loadb */
     var37 = ptr4[i];
@@ -3277,35 +3275,35 @@
       orc_union16 _dest;
       _dest.x2[0] = var36;
       _dest.x2[1] = var37;
-      var45.i = _dest.i;
+      var44.i = _dest.i;
     }
     /* 6: mergewl */
     {
       orc_union32 _dest;
-      _dest.x2[0] = var45.i;
-      _dest.x2[1] = var44.i;
+      _dest.x2[0] = var44.i;
+      _dest.x2[1] = var43.i;
       var38.i = _dest.i;
     }
     /* 7: storel */
     ptr0[i] = var38;
-    /* 9: loadb */
-    var40 = ptr5[i];
-    /* 10: mergebw */
+    /* 8: loadb */
+    var39 = ptr5[i];
+    /* 9: mergebw */
     {
       orc_union16 _dest;
-      _dest.x2[0] = var39;
-      _dest.x2[1] = var40;
-      var46.i = _dest.i;
+      _dest.x2[0] = var36;
+      _dest.x2[1] = var39;
+      var45.i = _dest.i;
     }
-    /* 11: mergewl */
+    /* 10: mergewl */
     {
       orc_union32 _dest;
-      _dest.x2[0] = var46.i;
-      _dest.x2[1] = var44.i;
-      var41.i = _dest.i;
+      _dest.x2[0] = var45.i;
+      _dest.x2[1] = var43.i;
+      var40.i = _dest.i;
     }
-    /* 12: storel */
-    ptr1[i] = var41;
+    /* 11: storel */
+    ptr1[i] = var40;
   }
 
 }
@@ -8969,19 +8967,15 @@
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union32 var53;
-#else
   orc_union32 var53;
-#endif
   orc_union32 var54;
-  orc_union32 var55;
+  orc_union16 var55;
   orc_union16 var56;
-  orc_union16 var57;
+  orc_int8 var57;
   orc_int8 var58;
   orc_int8 var59;
   orc_int8 var60;
-  orc_int8 var61;
+  orc_union16 var61;
   orc_union16 var62;
   orc_union16 var63;
   orc_union16 var64;
@@ -8993,13 +8987,12 @@
   orc_union16 var70;
   orc_union16 var71;
   orc_union16 var72;
-  orc_union16 var73;
+  orc_int8 var73;
   orc_int8 var74;
   orc_int8 var75;
-  orc_int8 var76;
+  orc_union16 var76;
   orc_union16 var77;
-  orc_union16 var78;
-  orc_union32 var79;
+  orc_union32 var78;
 
   for (j = 0; j < m; j++) {
     ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
@@ -9020,99 +9013,94 @@
     var51.i = p4;
     /* 20: loadpw */
     var52.i = p5;
-    /* 29: loadpb */
-    var53.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
       var46 = ptr4[i];
       /* 2: subb */
-      var55.x4[0] = var46.x4[0] - var47.x4[0];
-      var55.x4[1] = var46.x4[1] - var47.x4[1];
-      var55.x4[2] = var46.x4[2] - var47.x4[2];
-      var55.x4[3] = var46.x4[3] - var47.x4[3];
+      var54.x4[0] = var46.x4[0] - var47.x4[0];
+      var54.x4[1] = var46.x4[1] - var47.x4[1];
+      var54.x4[2] = var46.x4[2] - var47.x4[2];
+      var54.x4[3] = var46.x4[3] - var47.x4[3];
       /* 3: splitlw */
       {
         orc_union32 _src;
-        _src.i = var55.i;
-        var56.i = _src.x2[1];
-        var57.i = _src.x2[0];
+        _src.i = var54.i;
+        var55.i = _src.x2[1];
+        var56.i = _src.x2[0];
       }
       /* 4: splitwb */
       {
         orc_union16 _src;
-        _src.i = var57.i;
-        var58 = _src.x2[1];
-        var59 = _src.x2[0];
+        _src.i = var56.i;
+        var57 = _src.x2[1];
+        var58 = _src.x2[0];
       }
       /* 5: splitwb */
       {
         orc_union16 _src;
-        _src.i = var56.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
+        _src.i = var55.i;
+        var59 = _src.x2[1];
+        var60 = _src.x2[0];
       }
       /* 6: splatbw */
-      var62.i = ((var58 & 0xff) << 8) | (var58 & 0xff);
+      var61.i = ((var57 & 0xff) << 8) | (var57 & 0xff);
       /* 7: splatbw */
-      var63.i = ((var61 & 0xff) << 8) | (var61 & 0xff);
+      var62.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
       /* 8: splatbw */
-      var64.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
+      var63.i = ((var59 & 0xff) << 8) | (var59 & 0xff);
       /* 10: mulhsw */
-      var65.i = (var62.i * var48.i) >> 16;
+      var64.i = (var61.i * var48.i) >> 16;
       /* 12: mulhsw */
-      var66.i = (var64.i * var49.i) >> 16;
+      var65.i = (var63.i * var49.i) >> 16;
       /* 13: addssw */
-      var67.i = ORC_CLAMP_SW (var65.i + var66.i);
+      var66.i = ORC_CLAMP_SW (var64.i + var65.i);
       /* 15: mulhsw */
-      var68.i = (var63.i * var50.i) >> 16;
+      var67.i = (var62.i * var50.i) >> 16;
       /* 16: addssw */
-      var69.i = ORC_CLAMP_SW (var65.i + var68.i);
+      var68.i = ORC_CLAMP_SW (var64.i + var67.i);
       /* 18: mulhsw */
-      var70.i = (var63.i * var51.i) >> 16;
+      var69.i = (var62.i * var51.i) >> 16;
       /* 19: addssw */
-      var71.i = ORC_CLAMP_SW (var65.i + var70.i);
+      var70.i = ORC_CLAMP_SW (var64.i + var69.i);
       /* 21: mulhsw */
-      var72.i = (var64.i * var52.i) >> 16;
+      var71.i = (var63.i * var52.i) >> 16;
       /* 22: addssw */
-      var73.i = ORC_CLAMP_SW (var71.i + var72.i);
+      var72.i = ORC_CLAMP_SW (var70.i + var71.i);
       /* 23: convssswb */
-      var74 = ORC_CLAMP_SB (var67.i);
+      var73 = ORC_CLAMP_SB (var66.i);
       /* 24: convssswb */
-      var75 = ORC_CLAMP_SB (var73.i);
+      var74 = ORC_CLAMP_SB (var72.i);
       /* 25: convssswb */
-      var76 = ORC_CLAMP_SB (var69.i);
+      var75 = ORC_CLAMP_SB (var68.i);
       /* 26: mergebw */
       {
         orc_union16 _dest;
-        _dest.x2[0] = var59;
-        _dest.x2[1] = var74;
-        var77.i = _dest.i;
+        _dest.x2[0] = var58;
+        _dest.x2[1] = var73;
+        var76.i = _dest.i;
       }
       /* 27: mergebw */
       {
         orc_union16 _dest;
-        _dest.x2[0] = var75;
-        _dest.x2[1] = var76;
-        var78.i = _dest.i;
+        _dest.x2[0] = var74;
+        _dest.x2[1] = var75;
+        var77.i = _dest.i;
       }
       /* 28: mergewl */
       {
         orc_union32 _dest;
-        _dest.x2[0] = var77.i;
-        _dest.x2[1] = var78.i;
-        var79.i = _dest.i;
+        _dest.x2[0] = var76.i;
+        _dest.x2[1] = var77.i;
+        var78.i = _dest.i;
       }
-      /* 30: addb */
-      var54.x4[0] = var79.x4[0] + var53.x4[0];
-      var54.x4[1] = var79.x4[1] + var53.x4[1];
-      var54.x4[2] = var79.x4[2] + var53.x4[2];
-      var54.x4[3] = var79.x4[3] + var53.x4[3];
-      /* 31: storel */
-      ptr0[i] = var54;
+      /* 29: addb */
+      var53.x4[0] = var78.x4[0] + var47.x4[0];
+      var53.x4[1] = var78.x4[1] + var47.x4[1];
+      var53.x4[2] = var78.x4[2] + var47.x4[2];
+      var53.x4[3] = var78.x4[3] + var47.x4[3];
+      /* 30: storel */
+      ptr0[i] = var53;
     }
   }
 
@@ -9140,19 +9128,15 @@
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union32 var53;
-#else
   orc_union32 var53;
-#endif
   orc_union32 var54;
-  orc_union32 var55;
+  orc_union16 var55;
   orc_union16 var56;
-  orc_union16 var57;
+  orc_int8 var57;
   orc_int8 var58;
   orc_int8 var59;
   orc_int8 var60;
-  orc_int8 var61;
+  orc_union16 var61;
   orc_union16 var62;
   orc_union16 var63;
   orc_union16 var64;
@@ -9164,13 +9148,12 @@
   orc_union16 var70;
   orc_union16 var71;
   orc_union16 var72;
-  orc_union16 var73;
+  orc_int8 var73;
   orc_int8 var74;
   orc_int8 var75;
-  orc_int8 var76;
+  orc_union16 var76;
   orc_union16 var77;
-  orc_union16 var78;
-  orc_union32 var79;
+  orc_union32 var78;
 
   for (j = 0; j < m; j++) {
     ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
@@ -9191,99 +9174,94 @@
     var51.i = ex->params[27];
     /* 20: loadpw */
     var52.i = ex->params[28];
-    /* 29: loadpb */
-    var53.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
       var46 = ptr4[i];
       /* 2: subb */
-      var55.x4[0] = var46.x4[0] - var47.x4[0];
-      var55.x4[1] = var46.x4[1] - var47.x4[1];
-      var55.x4[2] = var46.x4[2] - var47.x4[2];
-      var55.x4[3] = var46.x4[3] - var47.x4[3];
+      var54.x4[0] = var46.x4[0] - var47.x4[0];
+      var54.x4[1] = var46.x4[1] - var47.x4[1];
+      var54.x4[2] = var46.x4[2] - var47.x4[2];
+      var54.x4[3] = var46.x4[3] - var47.x4[3];
       /* 3: splitlw */
       {
         orc_union32 _src;
-        _src.i = var55.i;
-        var56.i = _src.x2[1];
-        var57.i = _src.x2[0];
+        _src.i = var54.i;
+        var55.i = _src.x2[1];
+        var56.i = _src.x2[0];
       }
       /* 4: splitwb */
       {
         orc_union16 _src;
-        _src.i = var57.i;
-        var58 = _src.x2[1];
-        var59 = _src.x2[0];
+        _src.i = var56.i;
+        var57 = _src.x2[1];
+        var58 = _src.x2[0];
       }
       /* 5: splitwb */
       {
         orc_union16 _src;
-        _src.i = var56.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
+        _src.i = var55.i;
+        var59 = _src.x2[1];
+        var60 = _src.x2[0];
       }
       /* 6: splatbw */
-      var62.i = ((var58 & 0xff) << 8) | (var58 & 0xff);
+      var61.i = ((var57 & 0xff) << 8) | (var57 & 0xff);
       /* 7: splatbw */
-      var63.i = ((var61 & 0xff) << 8) | (var61 & 0xff);
+      var62.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
       /* 8: splatbw */
-      var64.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
+      var63.i = ((var59 & 0xff) << 8) | (var59 & 0xff);
       /* 10: mulhsw */
-      var65.i = (var62.i * var48.i) >> 16;
+      var64.i = (var61.i * var48.i) >> 16;
       /* 12: mulhsw */
-      var66.i = (var64.i * var49.i) >> 16;
+      var65.i = (var63.i * var49.i) >> 16;
       /* 13: addssw */
-      var67.i = ORC_CLAMP_SW (var65.i + var66.i);
+      var66.i = ORC_CLAMP_SW (var64.i + var65.i);
       /* 15: mulhsw */
-      var68.i = (var63.i * var50.i) >> 16;
+      var67.i = (var62.i * var50.i) >> 16;
       /* 16: addssw */
-      var69.i = ORC_CLAMP_SW (var65.i + var68.i);
+      var68.i = ORC_CLAMP_SW (var64.i + var67.i);
       /* 18: mulhsw */
-      var70.i = (var63.i * var51.i) >> 16;
+      var69.i = (var62.i * var51.i) >> 16;
       /* 19: addssw */
-      var71.i = ORC_CLAMP_SW (var65.i + var70.i);
+      var70.i = ORC_CLAMP_SW (var64.i + var69.i);
       /* 21: mulhsw */
-      var72.i = (var64.i * var52.i) >> 16;
+      var71.i = (var63.i * var52.i) >> 16;
       /* 22: addssw */
-      var73.i = ORC_CLAMP_SW (var71.i + var72.i);
+      var72.i = ORC_CLAMP_SW (var70.i + var71.i);
       /* 23: convssswb */
-      var74 = ORC_CLAMP_SB (var67.i);
+      var73 = ORC_CLAMP_SB (var66.i);
       /* 24: convssswb */
-      var75 = ORC_CLAMP_SB (var73.i);
+      var74 = ORC_CLAMP_SB (var72.i);
       /* 25: convssswb */
-      var76 = ORC_CLAMP_SB (var69.i);
+      var75 = ORC_CLAMP_SB (var68.i);
       /* 26: mergebw */
       {
         orc_union16 _dest;
-        _dest.x2[0] = var59;
-        _dest.x2[1] = var74;
-        var77.i = _dest.i;
+        _dest.x2[0] = var58;
+        _dest.x2[1] = var73;
+        var76.i = _dest.i;
       }
       /* 27: mergebw */
       {
         orc_union16 _dest;
-        _dest.x2[0] = var75;
-        _dest.x2[1] = var76;
-        var78.i = _dest.i;
+        _dest.x2[0] = var74;
+        _dest.x2[1] = var75;
+        var77.i = _dest.i;
       }
       /* 28: mergewl */
       {
         orc_union32 _dest;
-        _dest.x2[0] = var77.i;
-        _dest.x2[1] = var78.i;
-        var79.i = _dest.i;
+        _dest.x2[0] = var76.i;
+        _dest.x2[1] = var77.i;
+        var78.i = _dest.i;
       }
-      /* 30: addb */
-      var54.x4[0] = var79.x4[0] + var53.x4[0];
-      var54.x4[1] = var79.x4[1] + var53.x4[1];
-      var54.x4[2] = var79.x4[2] + var53.x4[2];
-      var54.x4[3] = var79.x4[3] + var53.x4[3];
-      /* 31: storel */
-      ptr0[i] = var54;
+      /* 29: addb */
+      var53.x4[0] = var78.x4[0] + var47.x4[0];
+      var53.x4[1] = var78.x4[1] + var47.x4[1];
+      var53.x4[2] = var78.x4[2] + var47.x4[2];
+      var53.x4[3] = var78.x4[3] + var47.x4[3];
+      /* 30: storel */
+      ptr0[i] = var53;
     }
   }
 
@@ -9452,19 +9430,15 @@
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union32 var53;
-#else
   orc_union32 var53;
-#endif
   orc_union32 var54;
-  orc_union32 var55;
+  orc_union16 var55;
   orc_union16 var56;
-  orc_union16 var57;
+  orc_int8 var57;
   orc_int8 var58;
   orc_int8 var59;
   orc_int8 var60;
-  orc_int8 var61;
+  orc_union16 var61;
   orc_union16 var62;
   orc_union16 var63;
   orc_union16 var64;
@@ -9476,13 +9450,12 @@
   orc_union16 var70;
   orc_union16 var71;
   orc_union16 var72;
-  orc_union16 var73;
+  orc_int8 var73;
   orc_int8 var74;
   orc_int8 var75;
-  orc_int8 var76;
+  orc_union16 var76;
   orc_union16 var77;
-  orc_union16 var78;
-  orc_union32 var79;
+  orc_union32 var78;
 
   for (j = 0; j < m; j++) {
     ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
@@ -9503,99 +9476,94 @@
     var51.i = p4;
     /* 20: loadpw */
     var52.i = p5;
-    /* 29: loadpb */
-    var53.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
       var46 = ptr4[i];
       /* 2: subb */
-      var55.x4[0] = var46.x4[0] - var47.x4[0];
-      var55.x4[1] = var46.x4[1] - var47.x4[1];
-      var55.x4[2] = var46.x4[2] - var47.x4[2];
-      var55.x4[3] = var46.x4[3] - var47.x4[3];
+      var54.x4[0] = var46.x4[0] - var47.x4[0];
+      var54.x4[1] = var46.x4[1] - var47.x4[1];
+      var54.x4[2] = var46.x4[2] - var47.x4[2];
+      var54.x4[3] = var46.x4[3] - var47.x4[3];
       /* 3: splitlw */
       {
         orc_union32 _src;
-        _src.i = var55.i;
-        var56.i = _src.x2[1];
-        var57.i = _src.x2[0];
+        _src.i = var54.i;
+        var55.i = _src.x2[1];
+        var56.i = _src.x2[0];
       }
       /* 4: splitwb */
       {
         orc_union16 _src;
-        _src.i = var57.i;
-        var58 = _src.x2[1];
-        var59 = _src.x2[0];
+        _src.i = var56.i;
+        var57 = _src.x2[1];
+        var58 = _src.x2[0];
       }
       /* 5: splitwb */
       {
         orc_union16 _src;
-        _src.i = var56.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
+        _src.i = var55.i;
+        var59 = _src.x2[1];
+        var60 = _src.x2[0];
       }
       /* 6: splatbw */
-      var62.i = ((var58 & 0xff) << 8) | (var58 & 0xff);
+      var61.i = ((var57 & 0xff) << 8) | (var57 & 0xff);
       /* 7: splatbw */
-      var63.i = ((var61 & 0xff) << 8) | (var61 & 0xff);
+      var62.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
       /* 8: splatbw */
-      var64.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
+      var63.i = ((var59 & 0xff) << 8) | (var59 & 0xff);
       /* 10: mulhsw */
-      var65.i = (var62.i * var48.i) >> 16;
+      var64.i = (var61.i * var48.i) >> 16;
       /* 12: mulhsw */
-      var66.i = (var64.i * var49.i) >> 16;
+      var65.i = (var63.i * var49.i) >> 16;
       /* 13: addssw */
-      var67.i = ORC_CLAMP_SW (var65.i + var66.i);
+      var66.i = ORC_CLAMP_SW (var64.i + var65.i);
       /* 15: mulhsw */
-      var68.i = (var63.i * var50.i) >> 16;
+      var67.i = (var62.i * var50.i) >> 16;
       /* 16: addssw */
-      var69.i = ORC_CLAMP_SW (var65.i + var68.i);
+      var68.i = ORC_CLAMP_SW (var64.i + var67.i);
       /* 18: mulhsw */
-      var70.i = (var63.i * var51.i) >> 16;
+      var69.i = (var62.i * var51.i) >> 16;
       /* 19: addssw */
-      var71.i = ORC_CLAMP_SW (var65.i + var70.i);
+      var70.i = ORC_CLAMP_SW (var64.i + var69.i);
       /* 21: mulhsw */
-      var72.i = (var64.i * var52.i) >> 16;
+      var71.i = (var63.i * var52.i) >> 16;
       /* 22: addssw */
-      var73.i = ORC_CLAMP_SW (var71.i + var72.i);
+      var72.i = ORC_CLAMP_SW (var70.i + var71.i);
       /* 23: convssswb */
-      var74 = ORC_CLAMP_SB (var67.i);
+      var73 = ORC_CLAMP_SB (var66.i);
       /* 24: convssswb */
-      var75 = ORC_CLAMP_SB (var73.i);
+      var74 = ORC_CLAMP_SB (var72.i);
       /* 25: convssswb */
-      var76 = ORC_CLAMP_SB (var69.i);
+      var75 = ORC_CLAMP_SB (var68.i);
       /* 26: mergebw */
       {
         orc_union16 _dest;
-        _dest.x2[0] = var76;
-        _dest.x2[1] = var75;
-        var77.i = _dest.i;
+        _dest.x2[0] = var75;
+        _dest.x2[1] = var74;
+        var76.i = _dest.i;
       }
       /* 27: mergebw */
       {
         orc_union16 _dest;
-        _dest.x2[0] = var74;
-        _dest.x2[1] = var59;
-        var78.i = _dest.i;
+        _dest.x2[0] = var73;
+        _dest.x2[1] = var58;
+        var77.i = _dest.i;
       }
       /* 28: mergewl */
       {
         orc_union32 _dest;
-        _dest.x2[0] = var77.i;
-        _dest.x2[1] = var78.i;
-        var79.i = _dest.i;
+        _dest.x2[0] = var76.i;
+        _dest.x2[1] = var77.i;
+        var78.i = _dest.i;
       }
-      /* 30: addb */
-      var54.x4[0] = var79.x4[0] + var53.x4[0];
-      var54.x4[1] = var79.x4[1] + var53.x4[1];
-      var54.x4[2] = var79.x4[2] + var53.x4[2];
-      var54.x4[3] = var79.x4[3] + var53.x4[3];
-      /* 31: storel */
-      ptr0[i] = var54;
+      /* 29: addb */
+      var53.x4[0] = var78.x4[0] + var47.x4[0];
+      var53.x4[1] = var78.x4[1] + var47.x4[1];
+      var53.x4[2] = var78.x4[2] + var47.x4[2];
+      var53.x4[3] = var78.x4[3] + var47.x4[3];
+      /* 30: storel */
+      ptr0[i] = var53;
     }
   }
 
@@ -9623,19 +9591,15 @@
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union32 var53;
-#else
   orc_union32 var53;
-#endif
   orc_union32 var54;
-  orc_union32 var55;
+  orc_union16 var55;
   orc_union16 var56;
-  orc_union16 var57;
+  orc_int8 var57;
   orc_int8 var58;
   orc_int8 var59;
   orc_int8 var60;
-  orc_int8 var61;
+  orc_union16 var61;
   orc_union16 var62;
   orc_union16 var63;
   orc_union16 var64;
@@ -9647,13 +9611,12 @@
   orc_union16 var70;
   orc_union16 var71;
   orc_union16 var72;
-  orc_union16 var73;
+  orc_int8 var73;
   orc_int8 var74;
   orc_int8 var75;
-  orc_int8 var76;
+  orc_union16 var76;
   orc_union16 var77;
-  orc_union16 var78;
-  orc_union32 var79;
+  orc_union32 var78;
 
   for (j = 0; j < m; j++) {
     ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
@@ -9674,99 +9637,94 @@
     var51.i = ex->params[27];
     /* 20: loadpw */
     var52.i = ex->params[28];
-    /* 29: loadpb */
-    var53.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
       var46 = ptr4[i];
       /* 2: subb */
-      var55.x4[0] = var46.x4[0] - var47.x4[0];
-      var55.x4[1] = var46.x4[1] - var47.x4[1];
-      var55.x4[2] = var46.x4[2] - var47.x4[2];
-      var55.x4[3] = var46.x4[3] - var47.x4[3];
+      var54.x4[0] = var46.x4[0] - var47.x4[0];
+      var54.x4[1] = var46.x4[1] - var47.x4[1];
+      var54.x4[2] = var46.x4[2] - var47.x4[2];
+      var54.x4[3] = var46.x4[3] - var47.x4[3];
       /* 3: splitlw */
       {
         orc_union32 _src;
-        _src.i = var55.i;
-        var56.i = _src.x2[1];
-        var57.i = _src.x2[0];
+        _src.i = var54.i;
+        var55.i = _src.x2[1];
+        var56.i = _src.x2[0];
       }
       /* 4: splitwb */
       {
         orc_union16 _src;
-        _src.i = var57.i;
-        var58 = _src.x2[1];
-        var59 = _src.x2[0];
+        _src.i = var56.i;
+        var57 = _src.x2[1];
+        var58 = _src.x2[0];
       }
       /* 5: splitwb */
       {
         orc_union16 _src;
-        _src.i = var56.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
+        _src.i = var55.i;
+        var59 = _src.x2[1];
+        var60 = _src.x2[0];
       }
       /* 6: splatbw */
-      var62.i = ((var58 & 0xff) << 8) | (var58 & 0xff);
+      var61.i = ((var57 & 0xff) << 8) | (var57 & 0xff);
       /* 7: splatbw */
-      var63.i = ((var61 & 0xff) << 8) | (var61 & 0xff);
+      var62.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
       /* 8: splatbw */
-      var64.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
+      var63.i = ((var59 & 0xff) << 8) | (var59 & 0xff);
       /* 10: mulhsw */
-      var65.i = (var62.i * var48.i) >> 16;
+      var64.i = (var61.i * var48.i) >> 16;
       /* 12: mulhsw */
-      var66.i = (var64.i * var49.i) >> 16;
+      var65.i = (var63.i * var49.i) >> 16;
       /* 13: addssw */
-      var67.i = ORC_CLAMP_SW (var65.i + var66.i);
+      var66.i = ORC_CLAMP_SW (var64.i + var65.i);
       /* 15: mulhsw */
-      var68.i = (var63.i * var50.i) >> 16;
+      var67.i = (var62.i * var50.i) >> 16;
       /* 16: addssw */
-      var69.i = ORC_CLAMP_SW (var65.i + var68.i);
+      var68.i = ORC_CLAMP_SW (var64.i + var67.i);
       /* 18: mulhsw */
-      var70.i = (var63.i * var51.i) >> 16;
+      var69.i = (var62.i * var51.i) >> 16;
       /* 19: addssw */
-      var71.i = ORC_CLAMP_SW (var65.i + var70.i);
+      var70.i = ORC_CLAMP_SW (var64.i + var69.i);
       /* 21: mulhsw */
-      var72.i = (var64.i * var52.i) >> 16;
+      var71.i = (var63.i * var52.i) >> 16;
       /* 22: addssw */
-      var73.i = ORC_CLAMP_SW (var71.i + var72.i);
+      var72.i = ORC_CLAMP_SW (var70.i + var71.i);
       /* 23: convssswb */
-      var74 = ORC_CLAMP_SB (var67.i);
+      var73 = ORC_CLAMP_SB (var66.i);
       /* 24: convssswb */
-      var75 = ORC_CLAMP_SB (var73.i);
+      var74 = ORC_CLAMP_SB (var72.i);
       /* 25: convssswb */
-      var76 = ORC_CLAMP_SB (var69.i);
+      var75 = ORC_CLAMP_SB (var68.i);
       /* 26: mergebw */
       {
         orc_union16 _dest;
-        _dest.x2[0] = var76;
-        _dest.x2[1] = var75;
-        var77.i = _dest.i;
+        _dest.x2[0] = var75;
+        _dest.x2[1] = var74;
+        var76.i = _dest.i;
       }
       /* 27: mergebw */
       {
         orc_union16 _dest;
-        _dest.x2[0] = var74;
-        _dest.x2[1] = var59;
-        var78.i = _dest.i;
+        _dest.x2[0] = var73;
+        _dest.x2[1] = var58;
+        var77.i = _dest.i;
       }
       /* 28: mergewl */
       {
         orc_union32 _dest;
-        _dest.x2[0] = var77.i;
-        _dest.x2[1] = var78.i;
-        var79.i = _dest.i;
+        _dest.x2[0] = var76.i;
+        _dest.x2[1] = var77.i;
+        var78.i = _dest.i;
       }
-      /* 30: addb */
-      var54.x4[0] = var79.x4[0] + var53.x4[0];
-      var54.x4[1] = var79.x4[1] + var53.x4[1];
-      var54.x4[2] = var79.x4[2] + var53.x4[2];
-      var54.x4[3] = var79.x4[3] + var53.x4[3];
-      /* 31: storel */
-      ptr0[i] = var54;
+      /* 29: addb */
+      var53.x4[0] = var78.x4[0] + var47.x4[0];
+      var53.x4[1] = var78.x4[1] + var47.x4[1];
+      var53.x4[2] = var78.x4[2] + var47.x4[2];
+      var53.x4[3] = var78.x4[3] + var47.x4[3];
+      /* 30: storel */
+      ptr0[i] = var53;
     }
   }
 
@@ -9935,19 +9893,15 @@
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union32 var53;
-#else
   orc_union32 var53;
-#endif
   orc_union32 var54;
-  orc_union32 var55;
+  orc_union16 var55;
   orc_union16 var56;
-  orc_union16 var57;
+  orc_int8 var57;
   orc_int8 var58;
   orc_int8 var59;
   orc_int8 var60;
-  orc_int8 var61;
+  orc_union16 var61;
   orc_union16 var62;
   orc_union16 var63;
   orc_union16 var64;
@@ -9959,13 +9913,12 @@
   orc_union16 var70;
   orc_union16 var71;
   orc_union16 var72;
-  orc_union16 var73;
+  orc_int8 var73;
   orc_int8 var74;
   orc_int8 var75;
-  orc_int8 var76;
+  orc_union16 var76;
   orc_union16 var77;
-  orc_union16 var78;
-  orc_union32 var79;
+  orc_union32 var78;
 
   for (j = 0; j < m; j++) {
     ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
@@ -9986,99 +9939,94 @@
     var51.i = p4;
     /* 20: loadpw */
     var52.i = p5;
-    /* 29: loadpb */
-    var53.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
       var46 = ptr4[i];
       /* 2: subb */
-      var55.x4[0] = var46.x4[0] - var47.x4[0];
-      var55.x4[1] = var46.x4[1] - var47.x4[1];
-      var55.x4[2] = var46.x4[2] - var47.x4[2];
-      var55.x4[3] = var46.x4[3] - var47.x4[3];
+      var54.x4[0] = var46.x4[0] - var47.x4[0];
+      var54.x4[1] = var46.x4[1] - var47.x4[1];
+      var54.x4[2] = var46.x4[2] - var47.x4[2];
+      var54.x4[3] = var46.x4[3] - var47.x4[3];
       /* 3: splitlw */
       {
         orc_union32 _src;
-        _src.i = var55.i;
-        var56.i = _src.x2[1];
-        var57.i = _src.x2[0];
+        _src.i = var54.i;
+        var55.i = _src.x2[1];
+        var56.i = _src.x2[0];
       }
       /* 4: splitwb */
       {
         orc_union16 _src;
-        _src.i = var57.i;
-        var58 = _src.x2[1];
-        var59 = _src.x2[0];
+        _src.i = var56.i;
+        var57 = _src.x2[1];
+        var58 = _src.x2[0];
       }
       /* 5: splitwb */
       {
         orc_union16 _src;
-        _src.i = var56.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
+        _src.i = var55.i;
+        var59 = _src.x2[1];
+        var60 = _src.x2[0];
       }
       /* 6: splatbw */
-      var62.i = ((var58 & 0xff) << 8) | (var58 & 0xff);
+      var61.i = ((var57 & 0xff) << 8) | (var57 & 0xff);
       /* 7: splatbw */
-      var63.i = ((var61 & 0xff) << 8) | (var61 & 0xff);
+      var62.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
       /* 8: splatbw */
-      var64.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
+      var63.i = ((var59 & 0xff) << 8) | (var59 & 0xff);
       /* 10: mulhsw */
-      var65.i = (var62.i * var48.i) >> 16;
+      var64.i = (var61.i * var48.i) >> 16;
       /* 12: mulhsw */
-      var66.i = (var64.i * var49.i) >> 16;
+      var65.i = (var63.i * var49.i) >> 16;
       /* 13: addssw */
-      var67.i = ORC_CLAMP_SW (var65.i + var66.i);
+      var66.i = ORC_CLAMP_SW (var64.i + var65.i);
       /* 15: mulhsw */
-      var68.i = (var63.i * var50.i) >> 16;
+      var67.i = (var62.i * var50.i) >> 16;
       /* 16: addssw */
-      var69.i = ORC_CLAMP_SW (var65.i + var68.i);
+      var68.i = ORC_CLAMP_SW (var64.i + var67.i);
       /* 18: mulhsw */
-      var70.i = (var63.i * var51.i) >> 16;
+      var69.i = (var62.i * var51.i) >> 16;
       /* 19: addssw */
-      var71.i = ORC_CLAMP_SW (var65.i + var70.i);
+      var70.i = ORC_CLAMP_SW (var64.i + var69.i);
       /* 21: mulhsw */
-      var72.i = (var64.i * var52.i) >> 16;
+      var71.i = (var63.i * var52.i) >> 16;
       /* 22: addssw */
-      var73.i = ORC_CLAMP_SW (var71.i + var72.i);
+      var72.i = ORC_CLAMP_SW (var70.i + var71.i);
       /* 23: convssswb */
-      var74 = ORC_CLAMP_SB (var67.i);
+      var73 = ORC_CLAMP_SB (var66.i);
       /* 24: convssswb */
-      var75 = ORC_CLAMP_SB (var73.i);
+      var74 = ORC_CLAMP_SB (var72.i);
       /* 25: convssswb */
-      var76 = ORC_CLAMP_SB (var69.i);
+      var75 = ORC_CLAMP_SB (var68.i);
       /* 26: mergebw */
       {
         orc_union16 _dest;
-        _dest.x2[0] = var59;
-        _dest.x2[1] = var76;
-        var77.i = _dest.i;
+        _dest.x2[0] = var58;
+        _dest.x2[1] = var75;
+        var76.i = _dest.i;
       }
       /* 27: mergebw */
       {
         orc_union16 _dest;
-        _dest.x2[0] = var75;
-        _dest.x2[1] = var74;
-        var78.i = _dest.i;
+        _dest.x2[0] = var74;
+        _dest.x2[1] = var73;
+        var77.i = _dest.i;
       }
       /* 28: mergewl */
       {
         orc_union32 _dest;
-        _dest.x2[0] = var77.i;
-        _dest.x2[1] = var78.i;
-        var79.i = _dest.i;
+        _dest.x2[0] = var76.i;
+        _dest.x2[1] = var77.i;
+        var78.i = _dest.i;
       }
-      /* 30: addb */
-      var54.x4[0] = var79.x4[0] + var53.x4[0];
-      var54.x4[1] = var79.x4[1] + var53.x4[1];
-      var54.x4[2] = var79.x4[2] + var53.x4[2];
-      var54.x4[3] = var79.x4[3] + var53.x4[3];
-      /* 31: storel */
-      ptr0[i] = var54;
+      /* 29: addb */
+      var53.x4[0] = var78.x4[0] + var47.x4[0];
+      var53.x4[1] = var78.x4[1] + var47.x4[1];
+      var53.x4[2] = var78.x4[2] + var47.x4[2];
+      var53.x4[3] = var78.x4[3] + var47.x4[3];
+      /* 30: storel */
+      ptr0[i] = var53;
     }
   }
 
@@ -10106,19 +10054,15 @@
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union32 var53;
-#else
   orc_union32 var53;
-#endif
   orc_union32 var54;
-  orc_union32 var55;
+  orc_union16 var55;
   orc_union16 var56;
-  orc_union16 var57;
+  orc_int8 var57;
   orc_int8 var58;
   orc_int8 var59;
   orc_int8 var60;
-  orc_int8 var61;
+  orc_union16 var61;
   orc_union16 var62;
   orc_union16 var63;
   orc_union16 var64;
@@ -10130,13 +10074,12 @@
   orc_union16 var70;
   orc_union16 var71;
   orc_union16 var72;
-  orc_union16 var73;
+  orc_int8 var73;
   orc_int8 var74;
   orc_int8 var75;
-  orc_int8 var76;
+  orc_union16 var76;
   orc_union16 var77;
-  orc_union16 var78;
-  orc_union32 var79;
+  orc_union32 var78;
 
   for (j = 0; j < m; j++) {
     ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
@@ -10157,99 +10100,94 @@
     var51.i = ex->params[27];
     /* 20: loadpw */
     var52.i = ex->params[28];
-    /* 29: loadpb */
-    var53.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
       var46 = ptr4[i];
       /* 2: subb */
-      var55.x4[0] = var46.x4[0] - var47.x4[0];
-      var55.x4[1] = var46.x4[1] - var47.x4[1];
-      var55.x4[2] = var46.x4[2] - var47.x4[2];
-      var55.x4[3] = var46.x4[3] - var47.x4[3];
+      var54.x4[0] = var46.x4[0] - var47.x4[0];
+      var54.x4[1] = var46.x4[1] - var47.x4[1];
+      var54.x4[2] = var46.x4[2] - var47.x4[2];
+      var54.x4[3] = var46.x4[3] - var47.x4[3];
       /* 3: splitlw */
       {
         orc_union32 _src;
-        _src.i = var55.i;
-        var56.i = _src.x2[1];
-        var57.i = _src.x2[0];
+        _src.i = var54.i;
+        var55.i = _src.x2[1];
+        var56.i = _src.x2[0];
       }
       /* 4: splitwb */
       {
         orc_union16 _src;
-        _src.i = var57.i;
-        var58 = _src.x2[1];
-        var59 = _src.x2[0];
+        _src.i = var56.i;
+        var57 = _src.x2[1];
+        var58 = _src.x2[0];
       }
       /* 5: splitwb */
       {
         orc_union16 _src;
-        _src.i = var56.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
+        _src.i = var55.i;
+        var59 = _src.x2[1];
+        var60 = _src.x2[0];
       }
       /* 6: splatbw */
-      var62.i = ((var58 & 0xff) << 8) | (var58 & 0xff);
+      var61.i = ((var57 & 0xff) << 8) | (var57 & 0xff);
       /* 7: splatbw */
-      var63.i = ((var61 & 0xff) << 8) | (var61 & 0xff);
+      var62.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
       /* 8: splatbw */
-      var64.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
+      var63.i = ((var59 & 0xff) << 8) | (var59 & 0xff);
       /* 10: mulhsw */
-      var65.i = (var62.i * var48.i) >> 16;
+      var64.i = (var61.i * var48.i) >> 16;
       /* 12: mulhsw */
-      var66.i = (var64.i * var49.i) >> 16;
+      var65.i = (var63.i * var49.i) >> 16;
       /* 13: addssw */
-      var67.i = ORC_CLAMP_SW (var65.i + var66.i);
+      var66.i = ORC_CLAMP_SW (var64.i + var65.i);
       /* 15: mulhsw */
-      var68.i = (var63.i * var50.i) >> 16;
+      var67.i = (var62.i * var50.i) >> 16;
       /* 16: addssw */
-      var69.i = ORC_CLAMP_SW (var65.i + var68.i);
+      var68.i = ORC_CLAMP_SW (var64.i + var67.i);
       /* 18: mulhsw */
-      var70.i = (var63.i * var51.i) >> 16;
+      var69.i = (var62.i * var51.i) >> 16;
       /* 19: addssw */
-      var71.i = ORC_CLAMP_SW (var65.i + var70.i);
+      var70.i = ORC_CLAMP_SW (var64.i + var69.i);
       /* 21: mulhsw */
-      var72.i = (var64.i * var52.i) >> 16;
+      var71.i = (var63.i * var52.i) >> 16;
       /* 22: addssw */
-      var73.i = ORC_CLAMP_SW (var71.i + var72.i);
+      var72.i = ORC_CLAMP_SW (var70.i + var71.i);
       /* 23: convssswb */
-      var74 = ORC_CLAMP_SB (var67.i);
+      var73 = ORC_CLAMP_SB (var66.i);
       /* 24: convssswb */
-      var75 = ORC_CLAMP_SB (var73.i);
+      var74 = ORC_CLAMP_SB (var72.i);
       /* 25: convssswb */
-      var76 = ORC_CLAMP_SB (var69.i);
+      var75 = ORC_CLAMP_SB (var68.i);
       /* 26: mergebw */
       {
         orc_union16 _dest;
-        _dest.x2[0] = var59;
-        _dest.x2[1] = var76;
-        var77.i = _dest.i;
+        _dest.x2[0] = var58;
+        _dest.x2[1] = var75;
+        var76.i = _dest.i;
       }
       /* 27: mergebw */
       {
         orc_union16 _dest;
-        _dest.x2[0] = var75;
-        _dest.x2[1] = var74;
-        var78.i = _dest.i;
+        _dest.x2[0] = var74;
+        _dest.x2[1] = var73;
+        var77.i = _dest.i;
       }
       /* 28: mergewl */
       {
         orc_union32 _dest;
-        _dest.x2[0] = var77.i;
-        _dest.x2[1] = var78.i;
-        var79.i = _dest.i;
+        _dest.x2[0] = var76.i;
+        _dest.x2[1] = var77.i;
+        var78.i = _dest.i;
       }
-      /* 30: addb */
-      var54.x4[0] = var79.x4[0] + var53.x4[0];
-      var54.x4[1] = var79.x4[1] + var53.x4[1];
-      var54.x4[2] = var79.x4[2] + var53.x4[2];
-      var54.x4[3] = var79.x4[3] + var53.x4[3];
-      /* 31: storel */
-      ptr0[i] = var54;
+      /* 29: addb */
+      var53.x4[0] = var78.x4[0] + var47.x4[0];
+      var53.x4[1] = var78.x4[1] + var47.x4[1];
+      var53.x4[2] = var78.x4[2] + var47.x4[2];
+      var53.x4[3] = var78.x4[3] + var47.x4[3];
+      /* 30: storel */
+      ptr0[i] = var53;
     }
   }
 
@@ -10418,19 +10356,15 @@
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union32 var53;
-#else
   orc_union32 var53;
-#endif
   orc_union32 var54;
-  orc_union32 var55;
+  orc_union16 var55;
   orc_union16 var56;
-  orc_union16 var57;
+  orc_int8 var57;
   orc_int8 var58;
   orc_int8 var59;
   orc_int8 var60;
-  orc_int8 var61;
+  orc_union16 var61;
   orc_union16 var62;
   orc_union16 var63;
   orc_union16 var64;
@@ -10442,13 +10376,12 @@
   orc_union16 var70;
   orc_union16 var71;
   orc_union16 var72;
-  orc_union16 var73;
+  orc_int8 var73;
   orc_int8 var74;
   orc_int8 var75;
-  orc_int8 var76;
+  orc_union16 var76;
   orc_union16 var77;
-  orc_union16 var78;
-  orc_union32 var79;
+  orc_union32 var78;
 
   for (j = 0; j < m; j++) {
     ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
@@ -10469,99 +10402,94 @@
     var51.i = p4;
     /* 20: loadpw */
     var52.i = p5;
-    /* 29: loadpb */
-    var53.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
       var46 = ptr4[i];
       /* 2: subb */
-      var55.x4[0] = var46.x4[0] - var47.x4[0];
-      var55.x4[1] = var46.x4[1] - var47.x4[1];
-      var55.x4[2] = var46.x4[2] - var47.x4[2];
-      var55.x4[3] = var46.x4[3] - var47.x4[3];
+      var54.x4[0] = var46.x4[0] - var47.x4[0];
+      var54.x4[1] = var46.x4[1] - var47.x4[1];
+      var54.x4[2] = var46.x4[2] - var47.x4[2];
+      var54.x4[3] = var46.x4[3] - var47.x4[3];
       /* 3: splitlw */
       {
         orc_union32 _src;
-        _src.i = var55.i;
-        var56.i = _src.x2[1];
-        var57.i = _src.x2[0];
+        _src.i = var54.i;
+        var55.i = _src.x2[1];
+        var56.i = _src.x2[0];
       }
       /* 4: splitwb */
       {
         orc_union16 _src;
-        _src.i = var57.i;
-        var58 = _src.x2[1];
-        var59 = _src.x2[0];
+        _src.i = var56.i;
+        var57 = _src.x2[1];
+        var58 = _src.x2[0];
       }
       /* 5: splitwb */
       {
         orc_union16 _src;
-        _src.i = var56.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
+        _src.i = var55.i;
+        var59 = _src.x2[1];
+        var60 = _src.x2[0];
       }
       /* 6: splatbw */
-      var62.i = ((var58 & 0xff) << 8) | (var58 & 0xff);
+      var61.i = ((var57 & 0xff) << 8) | (var57 & 0xff);
       /* 7: splatbw */
-      var63.i = ((var61 & 0xff) << 8) | (var61 & 0xff);
+      var62.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
       /* 8: splatbw */
-      var64.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
+      var63.i = ((var59 & 0xff) << 8) | (var59 & 0xff);
       /* 10: mulhsw */
-      var65.i = (var62.i * var48.i) >> 16;
+      var64.i = (var61.i * var48.i) >> 16;
       /* 12: mulhsw */
-      var66.i = (var64.i * var49.i) >> 16;
+      var65.i = (var63.i * var49.i) >> 16;
       /* 13: addssw */
-      var67.i = ORC_CLAMP_SW (var65.i + var66.i);
+      var66.i = ORC_CLAMP_SW (var64.i + var65.i);
       /* 15: mulhsw */
-      var68.i = (var63.i * var50.i) >> 16;
+      var67.i = (var62.i * var50.i) >> 16;
       /* 16: addssw */
-      var69.i = ORC_CLAMP_SW (var65.i + var68.i);
+      var68.i = ORC_CLAMP_SW (var64.i + var67.i);
       /* 18: mulhsw */
-      var70.i = (var63.i * var51.i) >> 16;
+      var69.i = (var62.i * var51.i) >> 16;
       /* 19: addssw */
-      var71.i = ORC_CLAMP_SW (var65.i + var70.i);
+      var70.i = ORC_CLAMP_SW (var64.i + var69.i);
       /* 21: mulhsw */
-      var72.i = (var64.i * var52.i) >> 16;
+      var71.i = (var63.i * var52.i) >> 16;
       /* 22: addssw */
-      var73.i = ORC_CLAMP_SW (var71.i + var72.i);
+      var72.i = ORC_CLAMP_SW (var70.i + var71.i);
       /* 23: convssswb */
-      var74 = ORC_CLAMP_SB (var67.i);
+      var73 = ORC_CLAMP_SB (var66.i);
       /* 24: convssswb */
-      var75 = ORC_CLAMP_SB (var73.i);
+      var74 = ORC_CLAMP_SB (var72.i);
       /* 25: convssswb */
-      var76 = ORC_CLAMP_SB (var69.i);
+      var75 = ORC_CLAMP_SB (var68.i);
       /* 26: mergebw */
       {
         orc_union16 _dest;
-        _dest.x2[0] = var74;
-        _dest.x2[1] = var75;
-        var77.i = _dest.i;
+        _dest.x2[0] = var73;
+        _dest.x2[1] = var74;
+        var76.i = _dest.i;
       }
       /* 27: mergebw */
       {
         orc_union16 _dest;
-        _dest.x2[0] = var76;
-        _dest.x2[1] = var59;
-        var78.i = _dest.i;
+        _dest.x2[0] = var75;
+        _dest.x2[1] = var58;
+        var77.i = _dest.i;
       }
       /* 28: mergewl */
       {
         orc_union32 _dest;
-        _dest.x2[0] = var77.i;
-        _dest.x2[1] = var78.i;
-        var79.i = _dest.i;
+        _dest.x2[0] = var76.i;
+        _dest.x2[1] = var77.i;
+        var78.i = _dest.i;
       }
-      /* 30: addb */
-      var54.x4[0] = var79.x4[0] + var53.x4[0];
-      var54.x4[1] = var79.x4[1] + var53.x4[1];
-      var54.x4[2] = var79.x4[2] + var53.x4[2];
-      var54.x4[3] = var79.x4[3] + var53.x4[3];
-      /* 31: storel */
-      ptr0[i] = var54;
+      /* 29: addb */
+      var53.x4[0] = var78.x4[0] + var47.x4[0];
+      var53.x4[1] = var78.x4[1] + var47.x4[1];
+      var53.x4[2] = var78.x4[2] + var47.x4[2];
+      var53.x4[3] = var78.x4[3] + var47.x4[3];
+      /* 30: storel */
+      ptr0[i] = var53;
     }
   }
 
@@ -10589,19 +10517,15 @@
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union32 var53;
-#else
   orc_union32 var53;
-#endif
   orc_union32 var54;
-  orc_union32 var55;
+  orc_union16 var55;
   orc_union16 var56;
-  orc_union16 var57;
+  orc_int8 var57;
   orc_int8 var58;
   orc_int8 var59;
   orc_int8 var60;
-  orc_int8 var61;
+  orc_union16 var61;
   orc_union16 var62;
   orc_union16 var63;
   orc_union16 var64;
@@ -10613,13 +10537,12 @@
   orc_union16 var70;
   orc_union16 var71;
   orc_union16 var72;
-  orc_union16 var73;
+  orc_int8 var73;
   orc_int8 var74;
   orc_int8 var75;
-  orc_int8 var76;
+  orc_union16 var76;
   orc_union16 var77;
-  orc_union16 var78;
-  orc_union32 var79;
+  orc_union32 var78;
 
   for (j = 0; j < m; j++) {
     ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
@@ -10640,99 +10563,94 @@
     var51.i = ex->params[27];
     /* 20: loadpw */
     var52.i = ex->params[28];
-    /* 29: loadpb */
-    var53.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var53.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
       var46 = ptr4[i];
       /* 2: subb */
-      var55.x4[0] = var46.x4[0] - var47.x4[0];
-      var55.x4[1] = var46.x4[1] - var47.x4[1];
-      var55.x4[2] = var46.x4[2] - var47.x4[2];
-      var55.x4[3] = var46.x4[3] - var47.x4[3];
+      var54.x4[0] = var46.x4[0] - var47.x4[0];
+      var54.x4[1] = var46.x4[1] - var47.x4[1];
+      var54.x4[2] = var46.x4[2] - var47.x4[2];
+      var54.x4[3] = var46.x4[3] - var47.x4[3];
       /* 3: splitlw */
       {
         orc_union32 _src;
-        _src.i = var55.i;
-        var56.i = _src.x2[1];
-        var57.i = _src.x2[0];
+        _src.i = var54.i;
+        var55.i = _src.x2[1];
+        var56.i = _src.x2[0];
       }
       /* 4: splitwb */
       {
         orc_union16 _src;
-        _src.i = var57.i;
-        var58 = _src.x2[1];
-        var59 = _src.x2[0];
+        _src.i = var56.i;
+        var57 = _src.x2[1];
+        var58 = _src.x2[0];
       }
       /* 5: splitwb */
       {
         orc_union16 _src;
-        _src.i = var56.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
+        _src.i = var55.i;
+        var59 = _src.x2[1];
+        var60 = _src.x2[0];
       }
       /* 6: splatbw */
-      var62.i = ((var58 & 0xff) << 8) | (var58 & 0xff);
+      var61.i = ((var57 & 0xff) << 8) | (var57 & 0xff);
       /* 7: splatbw */
-      var63.i = ((var61 & 0xff) << 8) | (var61 & 0xff);
+      var62.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
       /* 8: splatbw */
-      var64.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
+      var63.i = ((var59 & 0xff) << 8) | (var59 & 0xff);
       /* 10: mulhsw */
-      var65.i = (var62.i * var48.i) >> 16;
+      var64.i = (var61.i * var48.i) >> 16;
       /* 12: mulhsw */
-      var66.i = (var64.i * var49.i) >> 16;
+      var65.i = (var63.i * var49.i) >> 16;
       /* 13: addssw */
-      var67.i = ORC_CLAMP_SW (var65.i + var66.i);
+      var66.i = ORC_CLAMP_SW (var64.i + var65.i);
       /* 15: mulhsw */
-      var68.i = (var63.i * var50.i) >> 16;
+      var67.i = (var62.i * var50.i) >> 16;
       /* 16: addssw */
-      var69.i = ORC_CLAMP_SW (var65.i + var68.i);
+      var68.i = ORC_CLAMP_SW (var64.i + var67.i);
       /* 18: mulhsw */
-      var70.i = (var63.i * var51.i) >> 16;
+      var69.i = (var62.i * var51.i) >> 16;
       /* 19: addssw */
-      var71.i = ORC_CLAMP_SW (var65.i + var70.i);
+      var70.i = ORC_CLAMP_SW (var64.i + var69.i);
       /* 21: mulhsw */
-      var72.i = (var64.i * var52.i) >> 16;
+      var71.i = (var63.i * var52.i) >> 16;
       /* 22: addssw */
-      var73.i = ORC_CLAMP_SW (var71.i + var72.i);
+      var72.i = ORC_CLAMP_SW (var70.i + var71.i);
       /* 23: convssswb */
-      var74 = ORC_CLAMP_SB (var67.i);
+      var73 = ORC_CLAMP_SB (var66.i);
       /* 24: convssswb */
-      var75 = ORC_CLAMP_SB (var73.i);
+      var74 = ORC_CLAMP_SB (var72.i);
       /* 25: convssswb */
-      var76 = ORC_CLAMP_SB (var69.i);
+      var75 = ORC_CLAMP_SB (var68.i);
       /* 26: mergebw */
       {
         orc_union16 _dest;
-        _dest.x2[0] = var74;
-        _dest.x2[1] = var75;
-        var77.i = _dest.i;
+        _dest.x2[0] = var73;
+        _dest.x2[1] = var74;
+        var76.i = _dest.i;
       }
       /* 27: mergebw */
       {
         orc_union16 _dest;
-        _dest.x2[0] = var76;
-        _dest.x2[1] = var59;
-        var78.i = _dest.i;
+        _dest.x2[0] = var75;
+        _dest.x2[1] = var58;
+        var77.i = _dest.i;
       }
       /* 28: mergewl */
       {
         orc_union32 _dest;
-        _dest.x2[0] = var77.i;
-        _dest.x2[1] = var78.i;
-        var79.i = _dest.i;
+        _dest.x2[0] = var76.i;
+        _dest.x2[1] = var77.i;
+        var78.i = _dest.i;
       }
-      /* 30: addb */
-      var54.x4[0] = var79.x4[0] + var53.x4[0];
-      var54.x4[1] = var79.x4[1] + var53.x4[1];
-      var54.x4[2] = var79.x4[2] + var53.x4[2];
-      var54.x4[3] = var79.x4[3] + var53.x4[3];
-      /* 31: storel */
-      ptr0[i] = var54;
+      /* 29: addb */
+      var53.x4[0] = var78.x4[0] + var47.x4[0];
+      var53.x4[1] = var78.x4[1] + var47.x4[1];
+      var53.x4[2] = var78.x4[2] + var47.x4[2];
+      var53.x4[3] = var78.x4[3] + var47.x4[3];
+      /* 30: storel */
+      ptr0[i] = var53;
     }
   }
 
@@ -10898,39 +10816,31 @@
 #else
   orc_int8 var43;
 #endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_int8 var44;
-#else
-  orc_int8 var44;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_int8 var45;
-#else
-  orc_int8 var45;
-#endif
+  orc_union16 var44;
+  orc_union16 var45;
   orc_union16 var46;
   orc_union16 var47;
   orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_int8 var51;
+  volatile orc_int8 var49;
 #else
-  orc_int8 var51;
+  orc_int8 var49;
 #endif
 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union32 var52;
+  volatile orc_union32 var50;
 #else
-  orc_union32 var52;
+  orc_union32 var50;
 #endif
-  orc_union32 var53;
+  orc_union32 var51;
+  orc_int8 var52;
+  orc_union16 var53;
   orc_int8 var54;
-  orc_union16 var55;
-  orc_int8 var56;
+  orc_int8 var55;
+  orc_union16 var56;
   orc_int8 var57;
-  orc_union16 var58;
-  orc_int8 var59;
-  orc_int8 var60;
+  orc_int8 var58;
+  orc_union16 var59;
+  orc_union16 var60;
   orc_union16 var61;
   orc_union16 var62;
   orc_union16 var63;
@@ -10939,14 +10849,12 @@
   orc_union16 var66;
   orc_union16 var67;
   orc_union16 var68;
-  orc_union16 var69;
-  orc_union16 var70;
+  orc_int8 var69;
+  orc_int8 var70;
   orc_int8 var71;
-  orc_int8 var72;
-  orc_int8 var73;
-  orc_union16 var74;
-  orc_union16 var75;
-  orc_union32 var76;
+  orc_union16 var72;
+  orc_union16 var73;
+  orc_union32 var74;
 
   ptr0 = (orc_union32 *) d1;
   ptr4 = (orc_int8 *) s1;
@@ -10955,99 +10863,95 @@
 
   /* 1: loadpb */
   var43 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-  /* 5: loadpb */
-  var44 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-  /* 9: loadpb */
-  var45 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+  /* 10: loadpw */
+  var44.i = p1;
   /* 12: loadpw */
-  var46.i = p1;
-  /* 14: loadpw */
-  var47.i = p2;
-  /* 17: loadpw */
-  var48.i = p3;
-  /* 20: loadpw */
-  var49.i = p4;
-  /* 23: loadpw */
-  var50.i = p5;
-  /* 30: loadpb */
-  var51 = (int) 0x0000007f;     /* 127 or 6.27463e-322f */
-  /* 33: loadpb */
-  var52.x4[0] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var52.x4[1] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var52.x4[2] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var52.x4[3] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
+  var45.i = p2;
+  /* 15: loadpw */
+  var46.i = p3;
+  /* 18: loadpw */
+  var47.i = p4;
+  /* 21: loadpw */
+  var48.i = p5;
+  /* 28: loadpb */
+  var49 = (int) 0x0000007f;     /* 127 or 6.27463e-322f */
+  /* 31: loadpb */
+  var50.x4[0] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
+  var50.x4[1] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
+  var50.x4[2] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
+  var50.x4[3] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
     var42 = ptr4[i];
     /* 2: subb */
-    var54 = var42 - var43;
+    var52 = var42 - var43;
     /* 3: splatbw */
-    var55.i = ((var54 & 0xff) << 8) | (var54 & 0xff);
+    var53.i = ((var52 & 0xff) << 8) | (var52 & 0xff);
     /* 4: loadupdb */
-    var56 = ptr5[i >> 1];
-    /* 6: subb */
-    var57 = var56 - var44;
-    /* 7: splatbw */
-    var58.i = ((var57 & 0xff) << 8) | (var57 & 0xff);
-    /* 8: loadupdb */
-    var59 = ptr6[i >> 1];
-    /* 10: subb */
-    var60 = var59 - var45;
-    /* 11: splatbw */
-    var61.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
+    var54 = ptr5[i >> 1];
+    /* 5: subb */
+    var55 = var54 - var43;
+    /* 6: splatbw */
+    var56.i = ((var55 & 0xff) << 8) | (var55 & 0xff);
+    /* 7: loadupdb */
+    var57 = ptr6[i >> 1];
+    /* 8: subb */
+    var58 = var57 - var43;
+    /* 9: splatbw */
+    var59.i = ((var58 & 0xff) << 8) | (var58 & 0xff);
+    /* 11: mulhsw */
+    var60.i = (var53.i * var44.i) >> 16;
     /* 13: mulhsw */
-    var62.i = (var55.i * var46.i) >> 16;
-    /* 15: mulhsw */
-    var63.i = (var61.i * var47.i) >> 16;
-    /* 16: addssw */
-    var64.i = ORC_CLAMP_SW (var62.i + var63.i);
-    /* 18: mulhsw */
-    var65.i = (var58.i * var48.i) >> 16;
-    /* 19: addssw */
-    var66.i = ORC_CLAMP_SW (var62.i + var65.i);
-    /* 21: mulhsw */
-    var67.i = (var58.i * var49.i) >> 16;
-    /* 22: addssw */
-    var68.i = ORC_CLAMP_SW (var62.i + var67.i);
-    /* 24: mulhsw */
-    var69.i = (var61.i * var50.i) >> 16;
-    /* 25: addssw */
-    var70.i = ORC_CLAMP_SW (var68.i + var69.i);
+    var61.i = (var59.i * var45.i) >> 16;
+    /* 14: addssw */
+    var62.i = ORC_CLAMP_SW (var60.i + var61.i);
+    /* 16: mulhsw */
+    var63.i = (var56.i * var46.i) >> 16;
+    /* 17: addssw */
+    var64.i = ORC_CLAMP_SW (var60.i + var63.i);
+    /* 19: mulhsw */
+    var65.i = (var56.i * var47.i) >> 16;
+    /* 20: addssw */
+    var66.i = ORC_CLAMP_SW (var60.i + var65.i);
+    /* 22: mulhsw */
+    var67.i = (var59.i * var48.i) >> 16;
+    /* 23: addssw */
+    var68.i = ORC_CLAMP_SW (var66.i + var67.i);
+    /* 24: convssswb */
+    var69 = ORC_CLAMP_SB (var62.i);
+    /* 25: convssswb */
+    var70 = ORC_CLAMP_SB (var68.i);
     /* 26: convssswb */
     var71 = ORC_CLAMP_SB (var64.i);
-    /* 27: convssswb */
-    var72 = ORC_CLAMP_SB (var70.i);
-    /* 28: convssswb */
-    var73 = ORC_CLAMP_SB (var66.i);
-    /* 29: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var73;
-      _dest.x2[1] = var72;
-      var74.i = _dest.i;
-    }
-    /* 31: mergebw */
+    /* 27: mergebw */
     {
       orc_union16 _dest;
       _dest.x2[0] = var71;
-      _dest.x2[1] = var51;
-      var75.i = _dest.i;
+      _dest.x2[1] = var70;
+      var72.i = _dest.i;
     }
-    /* 32: mergewl */
+    /* 29: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var69;
+      _dest.x2[1] = var49;
+      var73.i = _dest.i;
+    }
+    /* 30: mergewl */
     {
       orc_union32 _dest;
-      _dest.x2[0] = var74.i;
-      _dest.x2[1] = var75.i;
-      var76.i = _dest.i;
+      _dest.x2[0] = var72.i;
+      _dest.x2[1] = var73.i;
+      var74.i = _dest.i;
     }
-    /* 34: addb */
-    var53.x4[0] = var76.x4[0] + var52.x4[0];
-    var53.x4[1] = var76.x4[1] + var52.x4[1];
-    var53.x4[2] = var76.x4[2] + var52.x4[2];
-    var53.x4[3] = var76.x4[3] + var52.x4[3];
-    /* 35: storel */
-    ptr0[i] = var53;
+    /* 32: addb */
+    var51.x4[0] = var74.x4[0] + var50.x4[0];
+    var51.x4[1] = var74.x4[1] + var50.x4[1];
+    var51.x4[2] = var74.x4[2] + var50.x4[2];
+    var51.x4[3] = var74.x4[3] + var50.x4[3];
+    /* 33: storel */
+    ptr0[i] = var51;
   }
 
 }
@@ -11069,39 +10973,31 @@
 #else
   orc_int8 var43;
 #endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_int8 var44;
-#else
-  orc_int8 var44;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_int8 var45;
-#else
-  orc_int8 var45;
-#endif
+  orc_union16 var44;
+  orc_union16 var45;
   orc_union16 var46;
   orc_union16 var47;
   orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_int8 var51;
+  volatile orc_int8 var49;
 #else
-  orc_int8 var51;
+  orc_int8 var49;
 #endif
 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union32 var52;
+  volatile orc_union32 var50;
 #else
-  orc_union32 var52;
+  orc_union32 var50;
 #endif
-  orc_union32 var53;
+  orc_union32 var51;
+  orc_int8 var52;
+  orc_union16 var53;
   orc_int8 var54;
-  orc_union16 var55;
-  orc_int8 var56;
+  orc_int8 var55;
+  orc_union16 var56;
   orc_int8 var57;
-  orc_union16 var58;
-  orc_int8 var59;
-  orc_int8 var60;
+  orc_int8 var58;
+  orc_union16 var59;
+  orc_union16 var60;
   orc_union16 var61;
   orc_union16 var62;
   orc_union16 var63;
@@ -11110,14 +11006,12 @@
   orc_union16 var66;
   orc_union16 var67;
   orc_union16 var68;
-  orc_union16 var69;
-  orc_union16 var70;
+  orc_int8 var69;
+  orc_int8 var70;
   orc_int8 var71;
-  orc_int8 var72;
-  orc_int8 var73;
-  orc_union16 var74;
-  orc_union16 var75;
-  orc_union32 var76;
+  orc_union16 var72;
+  orc_union16 var73;
+  orc_union32 var74;
 
   ptr0 = (orc_union32 *) ex->arrays[0];
   ptr4 = (orc_int8 *) ex->arrays[4];
@@ -11126,99 +11020,95 @@
 
   /* 1: loadpb */
   var43 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-  /* 5: loadpb */
-  var44 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-  /* 9: loadpb */
-  var45 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+  /* 10: loadpw */
+  var44.i = ex->params[24];
   /* 12: loadpw */
-  var46.i = ex->params[24];
-  /* 14: loadpw */
-  var47.i = ex->params[25];
-  /* 17: loadpw */
-  var48.i = ex->params[26];
-  /* 20: loadpw */
-  var49.i = ex->params[27];
-  /* 23: loadpw */
-  var50.i = ex->params[28];
-  /* 30: loadpb */
-  var51 = (int) 0x0000007f;     /* 127 or 6.27463e-322f */
-  /* 33: loadpb */
-  var52.x4[0] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var52.x4[1] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var52.x4[2] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var52.x4[3] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
+  var45.i = ex->params[25];
+  /* 15: loadpw */
+  var46.i = ex->params[26];
+  /* 18: loadpw */
+  var47.i = ex->params[27];
+  /* 21: loadpw */
+  var48.i = ex->params[28];
+  /* 28: loadpb */
+  var49 = (int) 0x0000007f;     /* 127 or 6.27463e-322f */
+  /* 31: loadpb */
+  var50.x4[0] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
+  var50.x4[1] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
+  var50.x4[2] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
+  var50.x4[3] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
     var42 = ptr4[i];
     /* 2: subb */
-    var54 = var42 - var43;
+    var52 = var42 - var43;
     /* 3: splatbw */
-    var55.i = ((var54 & 0xff) << 8) | (var54 & 0xff);
+    var53.i = ((var52 & 0xff) << 8) | (var52 & 0xff);
     /* 4: loadupdb */
-    var56 = ptr5[i >> 1];
-    /* 6: subb */
-    var57 = var56 - var44;
-    /* 7: splatbw */
-    var58.i = ((var57 & 0xff) << 8) | (var57 & 0xff);
-    /* 8: loadupdb */
-    var59 = ptr6[i >> 1];
-    /* 10: subb */
-    var60 = var59 - var45;
-    /* 11: splatbw */
-    var61.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
+    var54 = ptr5[i >> 1];
+    /* 5: subb */
+    var55 = var54 - var43;
+    /* 6: splatbw */
+    var56.i = ((var55 & 0xff) << 8) | (var55 & 0xff);
+    /* 7: loadupdb */
+    var57 = ptr6[i >> 1];
+    /* 8: subb */
+    var58 = var57 - var43;
+    /* 9: splatbw */
+    var59.i = ((var58 & 0xff) << 8) | (var58 & 0xff);
+    /* 11: mulhsw */
+    var60.i = (var53.i * var44.i) >> 16;
     /* 13: mulhsw */
-    var62.i = (var55.i * var46.i) >> 16;
-    /* 15: mulhsw */
-    var63.i = (var61.i * var47.i) >> 16;
-    /* 16: addssw */
-    var64.i = ORC_CLAMP_SW (var62.i + var63.i);
-    /* 18: mulhsw */
-    var65.i = (var58.i * var48.i) >> 16;
-    /* 19: addssw */
-    var66.i = ORC_CLAMP_SW (var62.i + var65.i);
-    /* 21: mulhsw */
-    var67.i = (var58.i * var49.i) >> 16;
-    /* 22: addssw */
-    var68.i = ORC_CLAMP_SW (var62.i + var67.i);
-    /* 24: mulhsw */
-    var69.i = (var61.i * var50.i) >> 16;
-    /* 25: addssw */
-    var70.i = ORC_CLAMP_SW (var68.i + var69.i);
+    var61.i = (var59.i * var45.i) >> 16;
+    /* 14: addssw */
+    var62.i = ORC_CLAMP_SW (var60.i + var61.i);
+    /* 16: mulhsw */
+    var63.i = (var56.i * var46.i) >> 16;
+    /* 17: addssw */
+    var64.i = ORC_CLAMP_SW (var60.i + var63.i);
+    /* 19: mulhsw */
+    var65.i = (var56.i * var47.i) >> 16;
+    /* 20: addssw */
+    var66.i = ORC_CLAMP_SW (var60.i + var65.i);
+    /* 22: mulhsw */
+    var67.i = (var59.i * var48.i) >> 16;
+    /* 23: addssw */
+    var68.i = ORC_CLAMP_SW (var66.i + var67.i);
+    /* 24: convssswb */
+    var69 = ORC_CLAMP_SB (var62.i);
+    /* 25: convssswb */
+    var70 = ORC_CLAMP_SB (var68.i);
     /* 26: convssswb */
     var71 = ORC_CLAMP_SB (var64.i);
-    /* 27: convssswb */
-    var72 = ORC_CLAMP_SB (var70.i);
-    /* 28: convssswb */
-    var73 = ORC_CLAMP_SB (var66.i);
-    /* 29: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var73;
-      _dest.x2[1] = var72;
-      var74.i = _dest.i;
-    }
-    /* 31: mergebw */
+    /* 27: mergebw */
     {
       orc_union16 _dest;
       _dest.x2[0] = var71;
-      _dest.x2[1] = var51;
-      var75.i = _dest.i;
+      _dest.x2[1] = var70;
+      var72.i = _dest.i;
     }
-    /* 32: mergewl */
+    /* 29: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var69;
+      _dest.x2[1] = var49;
+      var73.i = _dest.i;
+    }
+    /* 30: mergewl */
     {
       orc_union32 _dest;
-      _dest.x2[0] = var74.i;
-      _dest.x2[1] = var75.i;
-      var76.i = _dest.i;
+      _dest.x2[0] = var72.i;
+      _dest.x2[1] = var73.i;
+      var74.i = _dest.i;
     }
-    /* 34: addb */
-    var53.x4[0] = var76.x4[0] + var52.x4[0];
-    var53.x4[1] = var76.x4[1] + var52.x4[1];
-    var53.x4[2] = var76.x4[2] + var52.x4[2];
-    var53.x4[3] = var76.x4[3] + var52.x4[3];
-    /* 35: storel */
-    ptr0[i] = var53;
+    /* 32: addb */
+    var51.x4[0] = var74.x4[0] + var50.x4[0];
+    var51.x4[1] = var74.x4[1] + var50.x4[1];
+    var51.x4[2] = var74.x4[2] + var50.x4[2];
+    var51.x4[3] = var74.x4[3] + var50.x4[3];
+    /* 33: storel */
+    ptr0[i] = var51;
   }
 
 }
@@ -11247,7 +11137,7 @@
             95,
         99, 111, 110, 118, 101, 114, 116, 95, 73, 52, 50, 48, 95, 66, 71, 82,
         65, 11, 4, 4, 12, 1, 1, 12, 1, 1, 12, 1, 1, 14, 1, 128,
-        0, 0, 0, 14, 4, 127, 0, 0, 0, 16, 2, 16, 2, 16, 2, 16,
+        0, 0, 0, 14, 1, 127, 0, 0, 0, 16, 2, 16, 2, 16, 2, 16,
         2, 16, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20,
         1, 20, 1, 20, 1, 20, 4, 65, 38, 4, 16, 151, 32, 38, 45, 38,
         5, 65, 38, 38, 16, 151, 33, 38, 45, 38, 6, 65, 38, 38, 16, 151,
@@ -11271,7 +11161,7 @@
       orc_program_add_source (p, 1, "s2");
       orc_program_add_source (p, 1, "s3");
       orc_program_add_constant (p, 1, 0x00000080, "c1");
-      orc_program_add_constant (p, 4, 0x0000007f, "c2");
+      orc_program_add_constant (p, 1, 0x0000007f, "c2");
       orc_program_add_parameter (p, 2, "p1");
       orc_program_add_parameter (p, 2, "p2");
       orc_program_add_parameter (p, 2, "p3");
diff --git a/po/af.gmo b/po/af.gmo
index f83c4d5..90c8059 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index b33702b..fbc285d 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: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\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"
@@ -218,10 +218,6 @@
 msgstr ""
 
 #, fuzzy, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Toestel \"%s\" is nie 'n vasleggingtoestel nie."
-
-#, fuzzy, c-format
 msgid "Device '%s' is busy"
 msgstr "Toestel \"%s\" is nie 'n vasleggingtoestel nie."
 
@@ -411,6 +407,10 @@
 msgstr ""
 
 #, fuzzy
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Toestel \"%s\" is nie 'n vasleggingtoestel nie."
+
+#, fuzzy
 #~ msgid "Failed trying to get video frames from device '%s'."
 #~ msgstr "Kon nie genoeg buffers vanaf toestel \"%s\" kry nie."
 
diff --git a/po/az.gmo b/po/az.gmo
index 6393cbb..ecf8d6f 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index 3836c0c..a027fc9 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: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\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"
@@ -219,10 +219,6 @@
 msgstr ""
 
 #, fuzzy, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "\"%s\" avadanlığı capture avadanlığı deyil."
-
-#, fuzzy, c-format
 msgid "Device '%s' is busy"
 msgstr "\"%s\" avadanlığı capture avadanlığı deyil."
 
@@ -412,6 +408,10 @@
 msgstr ""
 
 #, fuzzy
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "\"%s\" avadanlığı capture avadanlığı deyil."
+
+#, fuzzy
 #~ msgid "Failed trying to get video frames from device '%s'."
 #~ msgstr "\"%s\" avadanlığından kifayət qədər bufferlər alına bilmədi."
 
diff --git a/po/bg.gmo b/po/bg.gmo
index 29d7963..088dfe8 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index d3820d6..fcaa69e 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2011-04-26 22:35+0300\n"
 "Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
 "Language-Team: Bulgarian <dict@fsa-bg.org>\n"
@@ -225,10 +225,6 @@
 msgstr "Драйверът за устройството „%s“ не поддържа познати методи за запис."
 
 #, fuzzy, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Устройството „%s“ не е изходно устройство."
-
-#, fuzzy, c-format
 msgid "Device '%s' is busy"
 msgstr "Устройството „%s“ не е изходно устройство."
 
@@ -437,6 +433,10 @@
 msgid "Cannot operate without a clock"
 msgstr "Работата без часовник е невъзможна."
 
+#, fuzzy
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Устройството „%s“ не е изходно устройство."
+
 #~ msgid "Got unexpected frame size of %u instead of %u."
 #~ msgstr "Получена е рамка с размер %u вместо очаквания %u."
 
diff --git a/po/ca.gmo b/po/ca.gmo
index 77ff4ef..dcee017 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index f6f1cce..4c81613 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\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"
@@ -234,10 +234,6 @@
 "El controlador del dispositiu «%s» no és compatible amb cap mètode de "
 "captura conegut."
 
-#, fuzzy, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "El dispositiu «%s» no és un dispositiu de sortida."
-
 #, c-format
 msgid "Device '%s' is busy"
 msgstr ""
@@ -467,6 +463,10 @@
 msgid "Cannot operate without a clock"
 msgstr "No es pot operar sense un rellotge"
 
+#, fuzzy
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "El dispositiu «%s» no és un dispositiu de sortida."
+
 #~ msgid "Got unexpected frame size of %u instead of %u."
 #~ msgstr "S'ha obtingut una mida de fotograma inesperada de %u en lloc de %u."
 
diff --git a/po/cs.gmo b/po/cs.gmo
index e367739..e07a6b2 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 42e7184..9b346dc 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-1.1.4\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2013-09-18 19:18+0200\n"
 "Last-Translator: Marek Černocký <marek@manet.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
@@ -230,10 +230,6 @@
 msgstr "Ovladač zařízení „%s“ nepodporuje žádnou známou V/V metodu."
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Zařízení „%s“ nepodporuje zachytávání videa"
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr "Zařízení „%s“ je zaneprázdněno"
 
@@ -432,3 +428,6 @@
 
 msgid "Cannot operate without a clock"
 msgstr "Není možné fungovat bez hodin"
+
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Zařízení „%s“ nepodporuje zachytávání videa"
diff --git a/po/da.gmo b/po/da.gmo
index 5395a62..c287a14 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index d9b1add..1f447df 100644
--- a/po/da.po
+++ b/po/da.po
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-1.3.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2014-06-29 23:54+0200\n"
 "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -232,10 +232,6 @@
 msgstr "Driveren til enhed »%s« understøtter ingen kendt IO-metode."
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Enheden »%s« understøtter ikke videooptagelse"
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr "Enheden »%s« er optaget"
 
@@ -429,3 +425,6 @@
 
 msgid "Cannot operate without a clock"
 msgstr "Kan ikke fungere uden et ur"
+
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Enheden »%s« understøtter ikke videooptagelse"
diff --git a/po/de.gmo b/po/de.gmo
index 4e1586b..509a426 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index bf02d21..a0a6c68 100644
--- a/po/de.po
+++ b/po/de.po
@@ -14,7 +14,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.3.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2014-06-29 21:20+0100\n"
 "Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
@@ -242,10 +242,6 @@
 msgstr "Der Treiber von Gerät »%s« unterstützt keine bekannte EA-Methode"
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Gerät »%s« unterstützt keine Videoaufnahme"
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr "Gerät »%s« ist belegt"
 
@@ -449,6 +445,9 @@
 msgid "Cannot operate without a clock"
 msgstr "Es kann nicht ohne einen Taktgeber gearbeitet werden."
 
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Gerät »%s« unterstützt keine Videoaufnahme"
+
 #~ msgid "Could not establish connection to sound server"
 #~ msgstr "Es konnte keine Verbindung zum Audio-Server hergestellt werden"
 
diff --git a/po/el.gmo b/po/el.gmo
index 432e1c0..51a5a90 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index c73e2ea..2da9ccf 100644
--- a/po/el.po
+++ b/po/el.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2012-05-05 19:05+0100\n"
 "Last-Translator: Savvas Radevic <vicedar@gmail.com>\n"
 "Language-Team: Greek <team@lists.gnome.gr>\n"
@@ -228,10 +228,6 @@
 msgid "The driver of device '%s' does not support any known IO method."
 msgstr "Ο οδηγός της συσκευής '%s' δεν υποστηρίζει κάποια γνωστή μέθοδο λήψης."
 
-#, fuzzy, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Η συσκευή '%s' δεν είναι συσκευή εξόδου."
-
 #, c-format
 msgid "Device '%s' is busy"
 msgstr ""
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index f0f0a0e..777db82 100644
--- a/po/en_GB.gmo
+++ b/po/en_GB.gmo
Binary files differ
diff --git a/po/en_GB.po b/po/en_GB.po
index 1de132c..d891c2c 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: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\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"
@@ -218,10 +218,6 @@
 msgstr ""
 
 #, fuzzy, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Device \"%s\" is not a capture device."
-
-#, fuzzy, c-format
 msgid "Device '%s' is busy"
 msgstr "Device \"%s\" is not a capture device."
 
@@ -411,6 +407,10 @@
 msgstr ""
 
 #, fuzzy
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Device \"%s\" is not a capture device."
+
+#, fuzzy
 #~ msgid "Failed trying to get video frames from device '%s'."
 #~ msgstr "Could not get enough buffers from device \"%s\"."
 
diff --git a/po/eo.gmo b/po/eo.gmo
index f11af34..3e1807a 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index 7520938..f83111a 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2011-06-04 21:48+0100\n"
 "Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
@@ -214,10 +214,6 @@
 msgstr ""
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr ""
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr ""
 
diff --git a/po/es.gmo b/po/es.gmo
index 0b8c5ed..7bf0d0a 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 8fb6ee1..79ef604 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.26.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2011-02-12 18:30+0100\n"
 "Last-Translator: Jorge González González <aloriel@gmail.com>\n"
 "Language-Team: Spanish <es@li.org>\n"
@@ -237,10 +237,6 @@
 "conocido."
 
 #, fuzzy, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "El dispositivo «%s» no es un dispositivo de salida."
-
-#, fuzzy, c-format
 msgid "Device '%s' is busy"
 msgstr "El dispositivo «%s» no es un dispositivo de salida."
 
@@ -463,6 +459,10 @@
 msgid "Cannot operate without a clock"
 msgstr "No se puede operar sin reloj"
 
+#, fuzzy
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "El dispositivo «%s» no es un dispositivo de salida."
+
 #~ msgid "Got unexpected frame size of %u instead of %u."
 #~ msgstr "Se obtuvo un tamaño de cuadro inesperado %u en lugar de %u."
 
diff --git a/po/eu.gmo b/po/eu.gmo
index 44df98d..a2ac707 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index 3902d6a..45a72f2 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-0.10.18.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2010-03-25 12:37+0100\n"
 "Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n"
 "Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
@@ -235,10 +235,6 @@
 "'%s' gailuaren kontrolatzaileak ez du onartzen kaptura-metodo ezagunik."
 
 #, fuzzy, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "'%s' gailua ez da irteerako gailu bat."
-
-#, fuzzy, c-format
 msgid "Device '%s' is busy"
 msgstr "'%s' gailua ez da irteerako gailu bat."
 
@@ -458,6 +454,10 @@
 msgid "Cannot operate without a clock"
 msgstr "Ezin du funtzionatu erlojurik gabe"
 
+#, fuzzy
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "'%s' gailua ez da irteerako gailu bat."
+
 #~ msgid "Got unexpected frame size of %u instead of %u."
 #~ msgstr "Ustekabeko fotograma-tamaina jaso da (%u), %u ordez."
 
diff --git a/po/fi.gmo b/po/fi.gmo
index ed39b09..0b17341 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index d67587a..32c4cdc 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.25.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2010-11-17 23:03+0200\n"
 "Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -232,10 +232,6 @@
 msgstr "Laitteen ”%s” ajuri ei tue mitään tunnettua kaappaustapaa."
 
 #, fuzzy, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Laite ”%s” ei ole ulostulolaite."
-
-#, fuzzy, c-format
 msgid "Device '%s' is busy"
 msgstr "Laite ”%s” ei ole ulostulolaite."
 
@@ -435,6 +431,10 @@
 msgid "Cannot operate without a clock"
 msgstr "Ei voitu toimia ilman kelloa"
 
+#, fuzzy
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Laite ”%s” ei ole ulostulolaite."
+
 #~ msgid "Got unexpected frame size of %u instead of %u."
 #~ msgstr "Saatiin odottamaton kehys kooltaan %u odotetun %u sijaan."
 
diff --git a/po/fr.gmo b/po/fr.gmo
index bb3c115..971e2e7 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index bce6197..8f8b7cc 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2011-04-28 09:22+0200\n"
 "Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
 "Language-Team: French <traduc@traduc.org>\n"
@@ -235,10 +235,6 @@
 "d'enregistrement connue."
 
 #, fuzzy, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Le périphérique « %s » n'est pas un périphérique de sortie."
-
-#, fuzzy, c-format
 msgid "Device '%s' is busy"
 msgstr "Le périphérique « %s » n'est pas un périphérique de sortie."
 
@@ -463,6 +459,10 @@
 msgid "Cannot operate without a clock"
 msgstr "Impossible de fonctionner sans horloge"
 
+#, fuzzy
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Le périphérique « %s » n'est pas un périphérique de sortie."
+
 #~ msgid "Got unexpected frame size of %u instead of %u."
 #~ msgstr "Taille de trame imprévue de %u à la place de %u."
 
diff --git a/po/gl.gmo b/po/gl.gmo
index 24aca0c..f84be0b 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index 9ec1fb2..7e95167 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2012-12-15 03:46+0200\n"
 "Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n"
 "Language-Team: Galician <proxecto@trasno.net>\n"
@@ -234,10 +234,6 @@
 "O controlador do dispositivo «%s» non admite calquera método IO coñecido."
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "O dispositivo «%s» non admite a captura de vídeo."
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr "O dispositivo «%s» está ocupado"
 
@@ -456,6 +452,9 @@
 msgid "Cannot operate without a clock"
 msgstr "Non é posíbel operar sen reloxo"
 
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "O dispositivo «%s» non admite a captura de vídeo."
+
 #~ msgid "Could not establish connection to sound server"
 #~ msgstr "Non foi posíbel estabelecer a conexión co servidor de son"
 
diff --git a/po/gst-plugins-good-1.0.pot b/po/gst-plugins-good-1.0.pot
index ffaea70..0bb87f9 100644
--- a/po/gst-plugins-good-1.0.pot
+++ b/po/gst-plugins-good-1.0.pot
@@ -5,9 +5,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-good 1.4.4\n"
+"Project-Id-Version: gst-plugins-good 1.4.5\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\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"
@@ -112,13 +112,13 @@
 msgid "This file contains too many streams. Only playing first %d"
 msgstr ""
 
-#: gst/rtsp/gstrtspsrc.c:6478
+#: gst/rtsp/gstrtspsrc.c:6479
 msgid ""
 "No supported stream was found. You might need to install a GStreamer RTSP "
 "extension plugin for Real media streams."
 msgstr ""
 
-#: gst/rtsp/gstrtspsrc.c:6483
+#: gst/rtsp/gstrtspsrc.c:6484
 msgid ""
 "No supported stream was found. You might need to allow more transport "
 "protocols or may otherwise be missing the right GStreamer RTSP extension "
@@ -252,7 +252,7 @@
 msgid "AUX 2 Out"
 msgstr ""
 
-#: sys/v4l2/gstv4l2bufferpool.c:1522
+#: sys/v4l2/gstv4l2bufferpool.c:1574
 #, c-format
 msgid "Error reading %d bytes from device '%s'."
 msgstr ""
@@ -262,80 +262,75 @@
 msgid "Failed to enumerate possible video formats device '%s' can work with"
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:2310
+#: sys/v4l2/gstv4l2object.c:2342
 #, c-format
 msgid "Could not map buffers from device '%s'"
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:2318
+#: sys/v4l2/gstv4l2object.c:2350
 #, c-format
 msgid "The driver of device '%s' does not support the IO method %d"
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:2325
+#: sys/v4l2/gstv4l2object.c:2357
 #, c-format
 msgid "The driver of device '%s' does not support any known IO method."
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:2818
-#, c-format
-msgid "Device '%s' does not support video capture"
-msgstr ""
-
-#: sys/v4l2/gstv4l2object.c:2827
+#: sys/v4l2/gstv4l2object.c:2835
 #, c-format
 msgid "Device '%s' is busy"
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:2833 sys/v4l2/gstv4l2object.c:2844
+#: sys/v4l2/gstv4l2object.c:2841 sys/v4l2/gstv4l2object.c:2852
 #, c-format
 msgid "Device '%s' cannot capture at %dx%d"
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:2853
+#: sys/v4l2/gstv4l2object.c:2861
 #, c-format
 msgid "Device '%s' cannot capture in the specified format"
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:2864
+#: sys/v4l2/gstv4l2object.c:2872
 #, c-format
 msgid "Device '%s' does support non-contiguous planes"
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:2874
+#: sys/v4l2/gstv4l2object.c:2882
 #, c-format
 msgid "Could not get parameters on device '%s'"
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:2882
+#: sys/v4l2/gstv4l2object.c:2890
 msgid "Video device did not accept new frame rate setting."
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:2975
+#: sys/v4l2/gstv4l2object.c:2983
 msgid "Video device did not provide output format."
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:2981
+#: sys/v4l2/gstv4l2object.c:2989
 msgid "Video device returned invalid dimensions."
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:2989
+#: sys/v4l2/gstv4l2object.c:2997
 msgid "Video devices uses an unsupported interlacing method."
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:2996
+#: sys/v4l2/gstv4l2object.c:3004
 msgid "Video devices uses an unsupported pixel format."
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:3411
+#: sys/v4l2/gstv4l2object.c:3419
 msgid "Failed to configure internal buffer pool."
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:3417
+#: sys/v4l2/gstv4l2object.c:3425
 msgid "Video device did not suggest any buffer size."
 msgstr ""
 
-#: sys/v4l2/gstv4l2object.c:3432
+#: sys/v4l2/gstv4l2object.c:3440
 msgid "No downstream pool to import from."
 msgstr ""
 
@@ -373,7 +368,7 @@
 msgid "Failed to allocated required memory."
 msgstr ""
 
-#: sys/v4l2/gstv4l2src.c:477 sys/v4l2/gstv4l2videodec.c:572
+#: sys/v4l2/gstv4l2src.c:480 sys/v4l2/gstv4l2videodec.c:574
 msgid "Failed to allocate required memory."
 msgstr ""
 
@@ -397,11 +392,11 @@
 msgid "Encoder on device %s has no supported output format"
 msgstr ""
 
-#: sys/v4l2/gstv4l2videodec.c:586
+#: sys/v4l2/gstv4l2videodec.c:588
 msgid "Failed to start decoding thread."
 msgstr ""
 
-#: sys/v4l2/gstv4l2videodec.c:594
+#: sys/v4l2/gstv4l2videodec.c:596
 msgid "Failed to process frame."
 msgstr ""
 
diff --git a/po/hr.gmo b/po/hr.gmo
index 00f391c..7e54c9a 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index 56a40d4..a8cb4dd 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.28.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2012-04-16 03:04+0200\n"
 "Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n"
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
@@ -225,10 +225,6 @@
 msgid "The driver of device '%s' does not support any known IO method."
 msgstr "Upravljački program uređaja „%s” ne podržava poznate metode snimanja."
 
-#, fuzzy, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Uređaj „%s” nije izlazni uređaj."
-
 #, c-format
 msgid "Device '%s' is busy"
 msgstr ""
@@ -428,6 +424,10 @@
 msgid "Cannot operate without a clock"
 msgstr "Ne mogu raditi bez takta"
 
+#, fuzzy
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Uređaj „%s” nije izlazni uređaj."
+
 #~ msgid "Could not establish connection to sound server"
 #~ msgstr "Ne mogu ostvariti vezu prema poslužitelju zvuka"
 
diff --git a/po/hu.gmo b/po/hu.gmo
index 88a9b44..e3dd4f3 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index d05d6d0..ebb2a77 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.3.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2014-06-29 12:56+0200\n"
 "Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
@@ -234,10 +234,6 @@
 "A(z) „%s” eszköz illesztőprogramja nem támogat egyetlen ismert IO módot sem."
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "A(z) „%s” eszköz nem támogatja a videofelvételt"
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr "A(z) „%s” eszköz foglalt"
 
@@ -436,6 +432,9 @@
 msgid "Cannot operate without a clock"
 msgstr "Óra nélkül lehetetlen a működés"
 
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "A(z) „%s” eszköz nem támogatja a videofelvételt"
+
 #~ msgid "Could not establish connection to sound server"
 #~ msgstr "Nem hozható létre kapcsolat a hangkiszolgálóhoz"
 
diff --git a/po/id.gmo b/po/id.gmo
index 97bca48..5d927ae 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index 486af2c..2efb92d 100644
--- a/po/id.po
+++ b/po/id.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.3.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2014-07-06 21:37+0700\n"
 "Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -229,10 +229,6 @@
 msgstr "Driver dari divais '%s' tak mendukung metode IO apapun yang dikenal."
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Divais '%s' tak mendukung penangkapan video"
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr "Divais '%s' sibuk"
 
@@ -424,3 +420,6 @@
 
 msgid "Cannot operate without a clock"
 msgstr "Tak dapat beroperasi tanpa jam"
+
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Divais '%s' tak mendukung penangkapan video"
diff --git a/po/it.gmo b/po/it.gmo
index 05fd862..ab76355 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index c7d32c1..15bb6ec 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.25.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2010-10-25 10:11+0200\n"
 "Last-Translator: Luca Ferretti <elle.uca@infinito.it>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
@@ -229,10 +229,6 @@
 msgstr "Il driver del device «%s» non supporta alcun metodo di cattura noto."
 
 #, fuzzy, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Il device «%s» non è un dispositivo di uscita."
-
-#, fuzzy, c-format
 msgid "Device '%s' is busy"
 msgstr "Il device «%s» non è un dispositivo di uscita."
 
@@ -455,6 +451,10 @@
 msgid "Cannot operate without a clock"
 msgstr "Impossibile operare senza un clock"
 
+#, fuzzy
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Il device «%s» non è un dispositivo di uscita."
+
 #~ msgid "Got unexpected frame size of %u instead of %u."
 #~ msgstr "Ottenuta dimensione inattesa del fotogramma: %u invece di %u."
 
diff --git a/po/ja.gmo b/po/ja.gmo
index d261b32..ea7b838 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index b10838b..0e6a8fa 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2012-12-22 20:13+0900\n"
 "Last-Translator: Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -239,10 +239,6 @@
 "ん。"
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "デバイス '%s' はビデオキャプチャをサポートしていません"
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr "デバイス`%s'はビジー状態です"
 
@@ -447,6 +443,9 @@
 msgid "Cannot operate without a clock"
 msgstr "クロックなしでは動作できません。"
 
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "デバイス '%s' はビデオキャプチャをサポートしていません"
+
 #~ msgid "Could not establish connection to sound server"
 #~ msgstr "サウンドサーバーへの接続に失敗しました"
 
diff --git a/po/lt.gmo b/po/lt.gmo
index ce948bf..249c740 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index d870d1d..82c305d 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.23.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2010-07-16 19:34+0300\n"
 "Last-Translator: Žygimantas Beručka <uid0@akl.lt>\n"
 "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
@@ -228,10 +228,6 @@
 msgstr "Įrenginio „%s“ tvarkyklė nepalaiko jokių žinomų įrašymo būdų."
 
 #, fuzzy, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Įrenginys „%s“ nėra išvesties įrenginys."
-
-#, fuzzy, c-format
 msgid "Device '%s' is busy"
 msgstr "Įrenginys „%s“ nėra išvesties įrenginys."
 
@@ -431,6 +427,10 @@
 msgid "Cannot operate without a clock"
 msgstr "Negali veikti be laikrodžio"
 
+#, fuzzy
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Įrenginys „%s“ nėra išvesties įrenginys."
+
 #~ msgid "Got unexpected frame size of %u instead of %u."
 #~ msgstr "Gautas netikėtas kadro dydis %u vietoje %u."
 
diff --git a/po/lv.gmo b/po/lv.gmo
index 8f58b84..3990377 100644
--- a/po/lv.gmo
+++ b/po/lv.gmo
Binary files differ
diff --git a/po/lv.po b/po/lv.po
index 1025632..075bb67 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2014-04-20 16:38+0300\n"
 "Last-Translator: Rihards Prieditis <rprieditis@gmail.com>\n"
 "Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
@@ -227,10 +227,6 @@
 msgstr "Ierīces “%s” draiveris neatbalsta nevienu zināmo ierakstīšanas metodi."
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Ierīce “%s” neatbalsta video tveršanu"
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr "Ierīce “%s” ir aizņemta"
 
@@ -431,6 +427,9 @@
 msgid "Cannot operate without a clock"
 msgstr "Nevar veikt darbības bez pulksteņa"
 
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Ierīce “%s” neatbalsta video tveršanu"
+
 #~ msgid "Could not establish connection to sound server"
 #~ msgstr "Nevar izveidot savienojumu ar skaņas serveri"
 
diff --git a/po/mt.gmo b/po/mt.gmo
index 9a83c1d..113795e 100644
--- a/po/mt.gmo
+++ b/po/mt.gmo
Binary files differ
diff --git a/po/mt.po b/po/mt.po
index bf2a75f..0be7069 100644
--- a/po/mt.po
+++ b/po/mt.po
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-0.10.10.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2008-10-26 19:09+0100\n"
 "Last-Translator: Michel Bugeja <michelbugeja@rabatmalta.com>\n"
 "Language-Team: Maltese <translation-team-mt@lists.sourceforge.net>\n"
@@ -223,10 +223,6 @@
 "Id-driver tal-apparat '%s' ma jissapportja l-ebda capture method mifhum."
 
 #, fuzzy, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Device '%s' mhux capture device."
-
-#, fuzzy, c-format
 msgid "Device '%s' is busy"
 msgstr "Device '%s' mhux capture device."
 
@@ -436,6 +432,10 @@
 msgid "Cannot operate without a clock"
 msgstr "Ma nistax nħaddem mingħajr arloġġ"
 
+#, fuzzy
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Device '%s' mhux capture device."
+
 #~ msgid "Got unexpected frame size of %u instead of %u."
 #~ msgstr "Irċivejt frame size ta' %u minflok kif kien mistenni ta' %u."
 
diff --git a/po/nb.gmo b/po/nb.gmo
index 53f623c..2dcfc91 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index bc9f5b5..0905097 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.3.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2014-07-22 13:14+0100\n"
 "Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
 "Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
@@ -225,10 +225,6 @@
 msgstr "Driveren av enheten «%s» støtter ikke noen kjente IO-metoder."
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Enhet «%s» støtter ikke videoopptak"
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr "Enheten «%s» er opptatt"
 
@@ -422,6 +418,9 @@
 msgid "Cannot operate without a clock"
 msgstr "Kan ikke operere uten en klokke"
 
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Enhet «%s» støtter ikke videoopptak"
+
 #~ msgid "Could not establish connection to sound server"
 #~ msgstr "Kunne ikke etablere tilkobling til lydtjener"
 
diff --git a/po/nl.gmo b/po/nl.gmo
index 2744b52..55545e9 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 3c27e8d..8b7bad8 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.3.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2014-07-22 10:55+0200\n"
 "Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
@@ -228,10 +228,6 @@
 "Het stuurprogramma van apparaat '%s' ondersteunt geen bekende IO-methode."
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Apparaat '%s' ondersteunt het opnemen van video niet"
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr "Apparaat '%s' is bezet"
 
@@ -428,6 +424,9 @@
 msgid "Cannot operate without a clock"
 msgstr "Kan niet werken zonder een klok."
 
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Apparaat '%s' ondersteunt het opnemen van video niet"
+
 #~ msgid "Could not establish connection to sound server"
 #~ msgstr "Kan geen verbinding maken met de geluidsserver"
 
diff --git a/po/or.gmo b/po/or.gmo
index b37feb1..5b31c34 100644
--- a/po/or.gmo
+++ b/po/or.gmo
Binary files differ
diff --git a/po/or.po b/po/or.po
index 2229ddd..59c48da 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: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\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"
@@ -222,10 +222,6 @@
 msgstr ""
 
 #, fuzzy, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "\"%s\" ଯନ୍ତ୍ର ଗୋଟିଏ ଅନୁଲିପିକାର ନୁହେଁ."
-
-#, fuzzy, c-format
 msgid "Device '%s' is busy"
 msgstr "\"%s\" ଯନ୍ତ୍ର ଗୋଟିଏ ଅନୁଲିପିକାର ନୁହେଁ."
 
@@ -415,6 +411,10 @@
 msgstr ""
 
 #, fuzzy
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "\"%s\" ଯନ୍ତ୍ର ଗୋଟିଏ ଅନୁଲିପିକାର ନୁହେଁ."
+
+#, fuzzy
 #~ msgid "Failed trying to get video frames from device '%s'."
 #~ msgstr "\"%s\" ଯନ୍ତ୍ରରୁ ପର୍ଯ୍ଯାପ୍ତ ଅସ୍ଥାୟୀ ସଞ୍ଚୟ ସ୍ଥାନ ଆଣିହେଲା ନାହିଁ."
 
diff --git a/po/pl.gmo b/po/pl.gmo
index 34af7a4..9bf9cf3 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index b0c0753..00b94c5 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.3.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2014-06-29 10:45+0200\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -225,10 +225,6 @@
 msgstr "Sterownik urządzenia '%s' nie obsługuje żadnej znanej metody we/wy."
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Urządzenie '%s' nie obsługuje przechwytywania obrazu"
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr "Urządzenie '%s' jest zajęte"
 
@@ -424,3 +420,6 @@
 
 msgid "Cannot operate without a clock"
 msgstr "Nie można pracować bez zegara"
+
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Urządzenie '%s' nie obsługuje przechwytywania obrazu"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index af39ceb..a7066ee 100644
--- a/po/pt_BR.gmo
+++ b/po/pt_BR.gmo
Binary files differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 96ffe88..0851053 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2013-12-29 17:48-0200\n"
 "Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
 "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
@@ -236,10 +236,6 @@
 "E/S."
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "O dispositivo \"%s\" não tem suporte a captura de vídeo"
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr "O dispositivo \"%s\" está ocupado"
 
@@ -441,6 +437,9 @@
 msgid "Cannot operate without a clock"
 msgstr "Não é possível operar sem um temporizador"
 
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "O dispositivo \"%s\" não tem suporte a captura de vídeo"
+
 #~ msgid "Could not establish connection to sound server"
 #~ msgstr "Não foi possível estabelecer uma conexão com servidor de som"
 
diff --git a/po/ro.gmo b/po/ro.gmo
index e96ede1..baf532d 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index 09c68a8..d979ced 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.23.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2010-08-16 03:22+0300\n"
 "Last-Translator: Lucian Adrian Grijincu <lucian.grijincu@gmail.com>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -234,10 +234,6 @@
 "cunoscută."
 
 #, fuzzy, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Dispozitivul „%s” nu este un dispozitiv de ieșire."
-
-#, fuzzy, c-format
 msgid "Device '%s' is busy"
 msgstr "Dispozitivul „%s” nu este un dispozitiv de ieșire."
 
@@ -452,6 +448,10 @@
 msgid "Cannot operate without a clock"
 msgstr "Nu se poate opera fără un ceas"
 
+#, fuzzy
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Dispozitivul „%s” nu este un dispozitiv de ieșire."
+
 #~ msgid "Got unexpected frame size of %u instead of %u."
 #~ msgstr "S-a obținut o dimensiune neașteptată pentru cadru, %u în loc de %u."
 
diff --git a/po/ru.gmo b/po/ru.gmo
index d6ee94a..a97f59a 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index 8de8287..0c581e4 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.3.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2014-06-29 18:59+0400\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
 "Language-Team: Russian <gnu@mx.ru>\n"
@@ -236,10 +236,6 @@
 "вывода."
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Устройство «%s» не поддерживает захват видео"
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr "Устройство «%s» занято"
 
@@ -438,6 +434,9 @@
 msgid "Cannot operate without a clock"
 msgstr "Операция невозможна без часов"
 
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Устройство «%s» не поддерживает захват видео"
+
 #~ msgid "Could not establish connection to sound server"
 #~ msgstr "Не удалось установить соединение с сервером звука"
 
diff --git a/po/sk.gmo b/po/sk.gmo
index 8756db0..6c47486 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index 68c9102..cab7659 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2014-01-30 11:08+0100\n"
 "Last-Translator: Peter Tuharsky <tuharsky@misbb.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -228,10 +228,6 @@
 msgstr "Tento ovládač zariadenia '%s' nepodporuje žiadnu známu IO metódu."
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Zariadenie '%s' nie je určené pre nahrávanie videa"
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr "Zariadenie '%s' je zaneprázdnené"
 
@@ -433,6 +429,9 @@
 msgid "Cannot operate without a clock"
 msgstr "Nemôžem fungovať bez hodín"
 
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Zariadenie '%s' nie je určené pre nahrávanie videa"
+
 #~ msgid "Could not establish connection to sound server"
 #~ msgstr "Nepodarilo sa nadviazať spojenie so zvukovým serverom"
 
diff --git a/po/sl.gmo b/po/sl.gmo
index 891de77..fbb7609 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index cb47dc1..bf0cbae 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2014-04-09 22:52+0100\n"
 "Last-Translator: Klemen Košir <klemen913@gmail.com>\n"
 "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
@@ -230,10 +230,6 @@
 msgstr "Gonilnik naprave \"%s\" ne podpira nobenega znanega načina I/O."
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Naprava \"%s\" ne podpira zajemanja videa."
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr "Naprava \"%s\" je zaposlena."
 
@@ -436,3 +432,6 @@
 
 msgid "Cannot operate without a clock"
 msgstr "Izvajanje opravil brez ure ni mogoče"
+
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Naprava \"%s\" ne podpira zajemanja videa."
diff --git a/po/sq.gmo b/po/sq.gmo
index 71651f5..4bf9905 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index 6893d55..9e71f2b 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: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\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"
@@ -218,10 +218,6 @@
 msgstr ""
 
 #, fuzzy, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Dispozitivi \"%s\" nuk është një dispozitiv marrje."
-
-#, fuzzy, c-format
 msgid "Device '%s' is busy"
 msgstr "Dispozitivi \"%s\" nuk është një dispozitiv marrje."
 
@@ -411,6 +407,10 @@
 msgstr ""
 
 #, fuzzy
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Dispozitivi \"%s\" nuk është një dispozitiv marrje."
+
+#, fuzzy
 #~ msgid "Failed trying to get video frames from device '%s'."
 #~ msgstr "E pamundur marrja e buffers të mjaftueshëm nga dispozitivi \"%s\"."
 
diff --git a/po/sr.gmo b/po/sr.gmo
index 88a204a..89b4ec3 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index be0222f..df14bea 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2014-09-13 10:50+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <(nothing)>\n"
@@ -228,10 +228,6 @@
 msgstr "Управљачки програм уређаја „%s“ не подржава ниједан познати УИ начин."
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Уређај „%s“ не подржава видео снимање"
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr "Уређај „%s“ је заузет"
 
@@ -425,3 +421,6 @@
 
 msgid "Cannot operate without a clock"
 msgstr "Не могу да радим без сата"
+
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Уређај „%s“ не подржава видео снимање"
diff --git a/po/sv.gmo b/po/sv.gmo
index 4da6bb1..503d067 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 6a8998d..8622d1c 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.3.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2014-07-11 02:52+0200\n"
 "Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -228,10 +228,6 @@
 msgstr "Drivrutinen för enheten \"%s\" stöder inte någon känd IO-metod."
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Enheten \"%s\" stöder inte videoinfångning."
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr "Enheten \"%s\" är upptagen"
 
@@ -433,3 +429,6 @@
 
 msgid "Cannot operate without a clock"
 msgstr "Kan inte fungera utan en klocka"
+
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Enheten \"%s\" stöder inte videoinfångning."
diff --git a/po/tr.gmo b/po/tr.gmo
index 0456920..00214cd 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index cd91a2f..ab00ae3 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.0.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2013-03-10 13:05+0200\n"
 "Last-Translator: Server Acim <serveracim@gmail.com>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -224,10 +224,6 @@
 "desteklemiyor."
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Aygıt '%s' video yakalamayı desteklemiyor"
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr "Aygıt '%s' meşgul"
 
diff --git a/po/uk.gmo b/po/uk.gmo
index d2f8f06..7d3eeb6 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index ef60a80..b1d4133 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.3.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2014-06-29 11:40+0300\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
@@ -236,10 +236,6 @@
 "даних."
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Пристрій «%s» не може захоплювати відеодані"
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr "Пристрій «%s» зайнято"
 
@@ -444,6 +440,9 @@
 msgid "Cannot operate without a clock"
 msgstr "Робота без годинника неможлива"
 
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Пристрій «%s» не може захоплювати відеодані"
+
 #~ msgid "Could not establish connection to sound server"
 #~ msgstr "Не вдалося встановити з'єднання із звуковим сервером."
 
diff --git a/po/vi.gmo b/po/vi.gmo
index c88b211..714f7c7 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index caf681f..a52ae5f 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 1.3.90\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2014-06-30 09:12+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
@@ -233,10 +233,6 @@
 "Trình điều khiển của thiết bị “%s” không hỗ trợ phương pháp VR đã biết nào."
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "Thiết bị “%s” không hỗ trợ chức năng quay video"
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr "Thiết bị “%s” đang bận"
 
@@ -436,6 +432,9 @@
 msgid "Cannot operate without a clock"
 msgstr "Không thể thao tác khi không có đồng hồ"
 
+#~ msgid "Device '%s' does not support video capture"
+#~ msgstr "Thiết bị “%s” không hỗ trợ chức năng quay video"
+
 #~ msgid "Could not establish connection to sound server"
 #~ msgstr "Không thể thiết lập sự kết nối tới máy phục vụ âm thanh"
 
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index 33cd730..6866700 100644
--- a/po/zh_CN.gmo
+++ b/po/zh_CN.gmo
Binary files differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 5f3a036..c4cb2a0 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good 0.10.16.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2009-11-13 22:20+0800\n"
 "Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -224,10 +224,6 @@
 msgstr "设备‘%s’的驱动不支持任何已知的捕获方式。"
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr "设备‘%s’不支持视频捕获"
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr ""
 
diff --git a/po/zh_HK.gmo b/po/zh_HK.gmo
index a62ce82..e1e8c46 100644
--- a/po/zh_HK.gmo
+++ b/po/zh_HK.gmo
Binary files differ
diff --git a/po/zh_HK.po b/po/zh_HK.po
index 6dfa833..d7577a7 100644
--- a/po/zh_HK.po
+++ b/po/zh_HK.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-0.10.2 0.10.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2006-08-29 01:08+0800\n"
 "Last-Translator: Abel Cheung <abelcheung@gmail.com>\n"
 "Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
@@ -213,10 +213,6 @@
 msgstr ""
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr ""
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr ""
 
diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo
index 8759927..69b4ff6 100644
--- a/po/zh_TW.gmo
+++ b/po/zh_TW.gmo
Binary files differ
diff --git a/po/zh_TW.po b/po/zh_TW.po
index e78e5e7..7fdc776 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-good-0.10.2 0.10.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-11-06 12:30+0100\n"
+"POT-Creation-Date: 2014-12-18 12:05+0100\n"
 "PO-Revision-Date: 2006-08-29 01:08+0800\n"
 "Last-Translator: Abel Cheung <abelcheung@gmail.com>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -213,10 +213,6 @@
 msgstr ""
 
 #, c-format
-msgid "Device '%s' does not support video capture"
-msgstr ""
-
-#, c-format
 msgid "Device '%s' is busy"
 msgstr ""
 
diff --git a/sys/osxvideo/osxvideosink.m b/sys/osxvideo/osxvideosink.m
index faa3196..aa428f0 100644
--- a/sys/osxvideo/osxvideosink.m
+++ b/sys/osxvideo/osxvideosink.m
@@ -587,7 +587,9 @@
   GstOSXVideoSink *osxvideosink = GST_OSX_VIDEO_SINK (navigation);
   GstPad *peer;
   GstEvent *event;
-  GstVideoRectangle src, dst, result;
+  GstVideoRectangle src = { 0, };
+  GstVideoRectangle dst = { 0, };
+  GstVideoRectangle result;
   NSRect bounds;
   gdouble x, y, xscale = 1.0, yscale = 1.0;
 
diff --git a/sys/v4l2/gstv4l2allocator.c b/sys/v4l2/gstv4l2allocator.c
index a5c9626..bf1750c 100644
--- a/sys/v4l2/gstv4l2allocator.c
+++ b/sys/v4l2/gstv4l2allocator.c
@@ -717,8 +717,7 @@
 
 already_active:
   {
-    GST_ERROR_OBJECT (allocator,
-        "error requesting %d buffers: %s", count, g_strerror (errno));
+    GST_ERROR_OBJECT (allocator, "allocator already active");
     goto error;
   }
 reqbufs_failed:
diff --git a/sys/v4l2/gstv4l2allocator.h b/sys/v4l2/gstv4l2allocator.h
index 3f7b33d..8200e03 100644
--- a/sys/v4l2/gstv4l2allocator.h
+++ b/sys/v4l2/gstv4l2allocator.h
@@ -123,7 +123,7 @@
 guint                gst_v4l2_allocator_start          (GstV4l2Allocator * allocator,
                                                         guint32 count, guint32 memory);
 
-gboolean             gst_v4l2_allocator_stop           (GstV4l2Allocator * allocator);
+GstV4l2Return        gst_v4l2_allocator_stop           (GstV4l2Allocator * allocator);
 
 GstV4l2MemoryGroup*  gst_v4l2_allocator_alloc_mmap     (GstV4l2Allocator * allocator);
 
diff --git a/sys/v4l2/gstv4l2bufferpool.c b/sys/v4l2/gstv4l2bufferpool.c
index 527add5..b8d7bb1 100644
--- a/sys/v4l2/gstv4l2bufferpool.c
+++ b/sys/v4l2/gstv4l2bufferpool.c
@@ -69,7 +69,7 @@
     GstBuffer * buffer);
 
 static gboolean
-gst_v4l2_is_buffer_valid (GstBuffer * buffer, GstV4l2MemoryGroup ** group)
+gst_v4l2_is_buffer_valid (GstBuffer * buffer, GstV4l2MemoryGroup ** out_group)
 {
   GstMemory *mem = gst_buffer_peek_memory (buffer, 0);
   gboolean valid = FALSE;
@@ -83,9 +83,23 @@
 
   if (mem && gst_is_v4l2_memory (mem)) {
     GstV4l2Memory *vmem = (GstV4l2Memory *) mem;
+    GstV4l2MemoryGroup *group = vmem->group;
+    gint i;
+
+    if (group->n_mem != gst_buffer_n_memory (buffer))
+      goto done;
+
+    for (i = 0; i < group->n_mem; i++) {
+      if (group->mem[i] != gst_buffer_peek_memory (buffer, i))
+        goto done;
+
+      if (!gst_memory_is_writable (group->mem[i]))
+        goto done;
+    }
+
     valid = TRUE;
-    if (group)
-      *group = vmem->group;
+    if (out_group)
+      *out_group = group;
   }
 
 done:
@@ -458,7 +472,8 @@
       can_allocate = GST_V4L2_ALLOCATOR_CAN_ALLOCATE (pool->vallocator, DMABUF);
       break;
     case GST_V4L2_IO_RW:
-      pool->allocator = g_object_ref (allocator);
+      if (allocator)
+        pool->allocator = g_object_ref (allocator);
       pool->params = params;
       /* No need to change the configuration */
       goto done;
@@ -629,6 +644,15 @@
   switch (obj->mode) {
     case GST_V4L2_IO_RW:
       can_allocate = TRUE;
+#ifdef HAVE_LIBV4L2
+      /* This workaround a unfixable bug in libv4l2 when RW is emulated on top
+       * of MMAP. In this case, the first read initialize the queues, but the
+       * poll before that will always fail. Doing an empty read, forces the
+       * queue to be initialized now. We only do this if we have a streaming
+       * driver. */
+      if (obj->vcap.capabilities & V4L2_CAP_STREAMING)
+        v4l2_read (obj->video_fd, NULL, 0);
+#endif
       break;
     case GST_V4L2_IO_DMABUF:
     case GST_V4L2_IO_MMAP:
@@ -731,7 +755,7 @@
   pool->min_latency = min_latency;
   pool->num_queued = 0;
 
-  if (max_buffers < min_buffers)
+  if (max_buffers != 0 && max_buffers < min_buffers)
     max_buffers = min_buffers;
 
   gst_buffer_pool_config_set_params (config, caps, size, min_buffers,
@@ -947,10 +971,14 @@
 {
   gint ret;
 
-  GST_OBJECT_LOCK (pool);
-  while (pool->empty)
-    g_cond_wait (&pool->empty_cond, GST_OBJECT_GET_LOCK (pool));
-  GST_OBJECT_UNLOCK (pool);
+  /* In RW mode there is no queue, hence no need to wait while the queue is
+   * empty */
+  if (pool->obj->mode != GST_V4L2_IO_RW) {
+    GST_OBJECT_LOCK (pool);
+    while (pool->empty)
+      g_cond_wait (&pool->empty_cond, GST_OBJECT_GET_LOCK (pool));
+    GST_OBJECT_UNLOCK (pool);
+  }
 
   if (!pool->can_poll_device)
     goto done;
@@ -1093,15 +1121,35 @@
 #endif
 
   /* set top/bottom field first if v4l2_buffer has the information */
-  if (group->buffer.field == V4L2_FIELD_INTERLACED_TB) {
-    GST_BUFFER_FLAG_SET (outbuf, GST_VIDEO_BUFFER_FLAG_INTERLACED);
-    GST_BUFFER_FLAG_SET (outbuf, GST_VIDEO_BUFFER_FLAG_TFF);
-  } else if (group->buffer.field == V4L2_FIELD_INTERLACED_BT) {
-    GST_BUFFER_FLAG_SET (outbuf, GST_VIDEO_BUFFER_FLAG_INTERLACED);
-    GST_BUFFER_FLAG_UNSET (outbuf, GST_VIDEO_BUFFER_FLAG_TFF);
-  } else {
-    GST_BUFFER_FLAG_UNSET (outbuf, GST_VIDEO_BUFFER_FLAG_INTERLACED);
-    GST_BUFFER_FLAG_UNSET (outbuf, GST_VIDEO_BUFFER_FLAG_TFF);
+  switch (group->buffer.field) {
+    case V4L2_FIELD_NONE:
+      GST_BUFFER_FLAG_UNSET (outbuf, GST_VIDEO_BUFFER_FLAG_INTERLACED);
+      GST_BUFFER_FLAG_UNSET (outbuf, GST_VIDEO_BUFFER_FLAG_TFF);
+      break;
+    case V4L2_FIELD_INTERLACED_TB:
+      GST_BUFFER_FLAG_SET (outbuf, GST_VIDEO_BUFFER_FLAG_INTERLACED);
+      GST_BUFFER_FLAG_SET (outbuf, GST_VIDEO_BUFFER_FLAG_TFF);
+      break;
+    case V4L2_FIELD_INTERLACED_BT:
+      GST_BUFFER_FLAG_SET (outbuf, GST_VIDEO_BUFFER_FLAG_INTERLACED);
+      GST_BUFFER_FLAG_UNSET (outbuf, GST_VIDEO_BUFFER_FLAG_TFF);
+      break;
+    case V4L2_FIELD_INTERLACED:
+      GST_BUFFER_FLAG_SET (outbuf, GST_VIDEO_BUFFER_FLAG_INTERLACED);
+      if (obj->tv_norm == V4L2_STD_NTSC_M ||
+          obj->tv_norm == V4L2_STD_NTSC_M_JP ||
+          obj->tv_norm == V4L2_STD_NTSC_M_KR) {
+        GST_BUFFER_FLAG_UNSET (outbuf, GST_VIDEO_BUFFER_FLAG_TFF);
+      } else {
+        GST_BUFFER_FLAG_SET (outbuf, GST_VIDEO_BUFFER_FLAG_TFF);
+      }
+      break;
+    default:
+      GST_BUFFER_FLAG_UNSET (outbuf, GST_VIDEO_BUFFER_FLAG_INTERLACED);
+      GST_BUFFER_FLAG_UNSET (outbuf, GST_VIDEO_BUFFER_FLAG_TFF);
+      GST_FIXME_OBJECT (pool,
+          "Unhandled enum v4l2_field %d - treating as progressive",
+          group->buffer.field);
   }
 
   if (GST_VIDEO_INFO_FORMAT (&obj->info) == GST_VIDEO_FORMAT_ENCODED) {
@@ -1111,6 +1159,9 @@
       GST_BUFFER_FLAG_SET (outbuf, GST_BUFFER_FLAG_DELTA_UNIT);
   }
 
+  if (group->buffer.flags & V4L2_BUF_FLAG_ERROR)
+    GST_BUFFER_FLAG_SET (outbuf, GST_BUFFER_FLAG_CORRUPTED);
+
   GST_BUFFER_TIMESTAMP (outbuf) = timestamp;
 
   *buffer = outbuf;
@@ -1466,6 +1517,7 @@
 allocator_failed:
   {
     GST_ERROR_OBJECT (pool, "Failed to create V4L2 allocator");
+    gst_object_unref (pool);
     return NULL;
   }
 }
@@ -1573,8 +1625,12 @@
           GstBuffer *tmp;
 
           if ((*buf)->pool == bpool) {
-            if (gst_buffer_get_size (*buf) == 0)
-              goto eos;
+            if (gst_buffer_get_size (*buf) == 0) {
+              if (GST_BUFFER_FLAG_IS_SET (*buf, GST_BUFFER_FLAG_CORRUPTED))
+                goto buffer_corrupted;
+              else
+                goto eos;
+            }
 
             /* start copying buffers when we are running low on buffers */
             if (g_atomic_int_get (&pool->num_queued) < pool->copy_threshold) {
@@ -1610,7 +1666,11 @@
           /* An empty buffer on capture indicates the end of stream */
           if (gst_buffer_get_size (tmp) == 0) {
             gst_v4l2_buffer_pool_release_buffer (bpool, tmp);
-            goto eos;
+
+            if (GST_BUFFER_FLAG_IS_SET (*buf, GST_BUFFER_FLAG_CORRUPTED))
+              goto buffer_corrupted;
+            else
+              goto eos;
           }
 
           ret = gst_v4l2_buffer_pool_copy_buffer (pool, *buf, tmp);
@@ -1765,10 +1825,19 @@
     GST_ERROR_OBJECT (pool, "failed to copy buffer");
     return ret;
   }
+buffer_corrupted:
+  {
+    GST_WARNING_OBJECT (pool, "Dropping corrupted buffer without payload");
+    gst_buffer_unref (*buf);
+    *buf = NULL;
+    return GST_V4L2_FLOW_CORRUPTED_BUFFER;
+  }
 eos:
   {
     GST_DEBUG_OBJECT (pool, "end of stream reached");
-    return GST_FLOW_EOS;
+    gst_buffer_unref (*buf);
+    *buf = NULL;
+    return GST_V4L2_FLOW_LAST_BUFFER;
   }
 acquire_failed:
   {
diff --git a/sys/v4l2/gstv4l2bufferpool.h b/sys/v4l2/gstv4l2bufferpool.h
index 8601a32..76013ce 100644
--- a/sys/v4l2/gstv4l2bufferpool.h
+++ b/sys/v4l2/gstv4l2bufferpool.h
@@ -44,6 +44,16 @@
 #define GST_V4L2_BUFFER_POOL(obj)      (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_V4L2_BUFFER_POOL, GstV4l2BufferPool))
 #define GST_V4L2_BUFFER_POOL_CAST(obj) ((GstV4l2BufferPool*)(obj))
 
+/* This flow return is used to indicated that the last buffer of a
+ * drain or a resoltuion change has been found. This should normally
+ * only occure for mem-2-mem devices. */
+#define GST_V4L2_FLOW_LAST_BUFFER GST_FLOW_CUSTOM_SUCCESS
+
+/* This flow return is used to indicated that the returned buffer was marked
+ * with the error flag and had no payload. This error should be recovered by
+ * simply waiting for next buffer. */
+#define GST_V4L2_FLOW_CORRUPTED_BUFFER GST_FLOW_CUSTOM_SUCCESS_1
+
 struct _GstV4l2BufferPool
 {
   GstBufferPool parent;
diff --git a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c
index ef77e71..aa4071d 100644
--- a/sys/v4l2/gstv4l2object.c
+++ b/sys/v4l2/gstv4l2object.c
@@ -1562,7 +1562,7 @@
 
 static gboolean
 gst_v4l2_object_get_nearest_size (GstV4l2Object * v4l2object,
-    guint32 pixelformat, gint * width, gint * height, gboolean * interlaced);
+    guint32 pixelformat, gint * width, gint * height);
 
 static void
 gst_v4l2_object_add_aspect_ratio (GstV4l2Object * v4l2object, GstStructure * s)
@@ -1625,6 +1625,121 @@
   return FALSE;
 }
 
+static gboolean
+gst_v4l2_object_get_interlace_mode (enum v4l2_field field,
+    GstVideoInterlaceMode * interlace_mode)
+{
+  /* NB: If you add new return values, please fix mode_strings in
+   * gst_v4l2_object_add_interlace_mode */
+  switch (field) {
+    case V4L2_FIELD_ANY:
+      GST_ERROR
+          ("Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git\n");
+      /* fallthrough */
+    case V4L2_FIELD_NONE:
+      *interlace_mode = GST_VIDEO_INTERLACE_MODE_PROGRESSIVE;
+      return TRUE;
+    case V4L2_FIELD_INTERLACED:
+    case V4L2_FIELD_INTERLACED_TB:
+    case V4L2_FIELD_INTERLACED_BT:
+      *interlace_mode = GST_VIDEO_INTERLACE_MODE_INTERLEAVED;
+      return TRUE;
+    default:
+      GST_ERROR ("Unknown enum v4l2_field %d", field);
+      return FALSE;
+  }
+}
+
+static int
+gst_v4l2_object_try_fmt (GstV4l2Object * v4l2object,
+    struct v4l2_format *try_fmt)
+{
+  int fd = v4l2object->video_fd;
+  struct v4l2_format fmt;
+  int r;
+
+  memcpy (&fmt, try_fmt, sizeof (fmt));
+  r = v4l2_ioctl (fd, VIDIOC_TRY_FMT, &fmt);
+
+  if (r < 0 && errno == ENOTTY) {
+    /* The driver might not implement TRY_FMT, in which case we will try
+       S_FMT to probe */
+    if (GST_V4L2_IS_ACTIVE (v4l2object))
+      goto error;
+
+    memcpy (&fmt, try_fmt, sizeof (fmt));
+    r = v4l2_ioctl (fd, VIDIOC_S_FMT, &fmt);
+  }
+  memcpy (try_fmt, &fmt, sizeof (fmt));
+  return r;
+
+error:
+  memcpy (try_fmt, &fmt, sizeof (fmt));
+  GST_WARNING_OBJECT (v4l2object->element,
+      "Unable to try format: %s", g_strerror (errno));
+  return r;
+}
+
+
+static void
+gst_v4l2_object_add_interlace_mode (GstV4l2Object * v4l2object,
+    GstStructure * s, guint32 width, guint32 height, guint32 pixelformat)
+{
+  struct v4l2_format fmt;
+  GValue interlace_formats = { 0, };
+  GstVideoInterlaceMode interlace_mode;
+
+  const gchar *mode_strings[] = { "progressive",
+    "interleaved",
+    "mixed"
+  };
+
+  if (!g_str_equal (gst_structure_get_name (s), "video/x-raw"))
+    return;
+
+  if (v4l2object->never_interlaced) {
+    gst_structure_set (s, "interlace-mode", G_TYPE_STRING, "progressive", NULL);
+    return;
+  }
+
+  g_value_init (&interlace_formats, GST_TYPE_LIST);
+
+  /* Try twice - once for NONE, once for INTERLACED. */
+  memset (&fmt, 0, sizeof (fmt));
+  fmt.type = v4l2object->type;
+  fmt.fmt.pix.width = width;
+  fmt.fmt.pix.height = height;
+  fmt.fmt.pix.pixelformat = pixelformat;
+  fmt.fmt.pix.field = V4L2_FIELD_NONE;
+
+  if (gst_v4l2_object_try_fmt (v4l2object, &fmt) == 0 &&
+      gst_v4l2_object_get_interlace_mode (fmt.fmt.pix.field, &interlace_mode)) {
+    GValue interlace_enum = { 0, };
+    g_value_init (&interlace_enum, G_TYPE_STRING);
+    g_value_set_string (&interlace_enum, mode_strings[interlace_mode]);
+    gst_value_list_append_and_take_value (&interlace_formats, &interlace_enum);
+  }
+
+  memset (&fmt, 0, sizeof (fmt));
+  fmt.type = v4l2object->type;
+  fmt.fmt.pix.width = width;
+  fmt.fmt.pix.height = height;
+  fmt.fmt.pix.pixelformat = pixelformat;
+  fmt.fmt.pix.field = V4L2_FIELD_INTERLACED;
+
+  if (gst_v4l2_object_try_fmt (v4l2object, &fmt) == 0 &&
+      gst_v4l2_object_get_interlace_mode (fmt.fmt.pix.field, &interlace_mode)) {
+    GValue interlace_enum = { 0, };
+    g_value_init (&interlace_enum, G_TYPE_STRING);
+    g_value_set_string (&interlace_enum, mode_strings[interlace_mode]);
+    gst_value_list_append_and_take_value (&interlace_formats, &interlace_enum);
+  }
+
+  gst_v4l2src_value_simplify (&interlace_formats);
+  gst_structure_take_value (s, "interlace-mode", &interlace_formats);
+  return;
+}
+
 /* The frame interval enumeration code first appeared in Linux 2.6.19. */
 static GstStructure *
 gst_v4l2_object_probe_caps_for_format_and_size (GstV4l2Object * v4l2object,
@@ -1636,18 +1751,6 @@
   guint32 num, denom;
   GstStructure *s;
   GValue rates = { 0, };
-  gboolean interlaced;
-  gint int_width = width;
-  gint int_height = height;
-
-  if (v4l2object->never_interlaced) {
-    interlaced = FALSE;
-  } else {
-    /* Interlaced detection using VIDIOC_TRY/S_FMT */
-    if (!gst_v4l2_object_get_nearest_size (v4l2object, pixelformat,
-            &int_width, &int_height, &interlaced))
-      return NULL;
-  }
 
   memset (&ival, 0, sizeof (struct v4l2_frmivalenum));
   ival.index = 0;
@@ -1807,9 +1910,8 @@
   gst_structure_set (s, "width", G_TYPE_INT, (gint) width,
       "height", G_TYPE_INT, (gint) height, NULL);
   gst_v4l2_object_add_aspect_ratio (v4l2object, s);
-  if (g_str_equal (gst_structure_get_name (s), "video/x-raw"))
-    gst_structure_set (s, "interlace-mode", G_TYPE_STRING,
-        (interlaced ? "mixed" : "progressive"), NULL);
+  gst_v4l2_object_add_interlace_mode (v4l2object, s, width, height,
+      pixelformat);
 
   if (G_IS_VALUE (&rates)) {
     gst_v4l2src_value_simplify (&rates);
@@ -2072,19 +2174,18 @@
 default_frame_sizes:
   {
     gint min_w, max_w, min_h, max_h, fix_num = 0, fix_denom = 0;
-    gboolean interlaced;
 
     /* This code is for Linux < 2.6.19 */
     min_w = min_h = 1;
     max_w = max_h = GST_V4L2_MAX_SIZE;
     if (!gst_v4l2_object_get_nearest_size (v4l2object, pixelformat, &min_w,
-            &min_h, &interlaced)) {
+            &min_h)) {
       GST_WARNING_OBJECT (v4l2object->element,
           "Could not probe minimum capture size for pixelformat %"
           GST_FOURCC_FORMAT, GST_FOURCC_ARGS (pixelformat));
     }
     if (!gst_v4l2_object_get_nearest_size (v4l2object, pixelformat, &max_w,
-            &max_h, &interlaced)) {
+            &max_h)) {
       GST_WARNING_OBJECT (v4l2object->element,
           "Could not probe maximum capture size for pixelformat %"
           GST_FOURCC_FORMAT, GST_FOURCC_ARGS (pixelformat));
@@ -2130,9 +2231,9 @@
     else
       gst_structure_set (tmp, "height", GST_TYPE_INT_RANGE, min_h, max_h, NULL);
 
-    if (g_str_equal (gst_structure_get_name (tmp), "video/x-raw"))
-      gst_structure_set (tmp, "interlace-mode", G_TYPE_STRING,
-          (interlaced ? "mixed" : "progressive"), NULL);
+    /* We could consider setting interlace mode from min and max. */
+    gst_v4l2_object_add_interlace_mode (v4l2object, tmp, max_w, max_h,
+        pixelformat);
     gst_v4l2_object_add_aspect_ratio (v4l2object, tmp);
 
     gst_v4l2_object_update_and_append (v4l2object, pixelformat, ret, tmp);
@@ -2141,31 +2242,12 @@
 }
 
 static gboolean
-gst_v4l2_object_get_interlace (int field, gboolean * interlaced)
-{
-  switch (field) {
-    case V4L2_FIELD_ANY:
-    case V4L2_FIELD_NONE:
-      *interlaced = FALSE;
-      return TRUE;
-    case V4L2_FIELD_INTERLACED:
-    case V4L2_FIELD_INTERLACED_TB:
-    case V4L2_FIELD_INTERLACED_BT:
-      *interlaced = TRUE;
-      return TRUE;
-    default:
-      return FALSE;
-  }
-}
-
-static gboolean
 gst_v4l2_object_get_nearest_size (GstV4l2Object * v4l2object,
-    guint32 pixelformat, gint * width, gint * height, gboolean * interlaced)
+    guint32 pixelformat, gint * width, gint * height)
 {
   struct v4l2_format fmt;
-  int fd;
-  int r;
   gboolean ret = FALSE;
+  GstVideoInterlaceMode interlace_mode;
 
   g_return_val_if_fail (width != NULL, FALSE);
   g_return_val_if_fail (height != NULL, FALSE);
@@ -2174,8 +2256,6 @@
       "getting nearest size to %dx%d with format %" GST_FOURCC_FORMAT,
       *width, *height, GST_FOURCC_ARGS (pixelformat));
 
-  fd = v4l2object->video_fd;
-
   memset (&fmt, 0, sizeof (struct v4l2_format));
 
   /* get size delimiters */
@@ -2184,58 +2264,10 @@
   fmt.fmt.pix.width = *width;
   fmt.fmt.pix.height = *height;
   fmt.fmt.pix.pixelformat = pixelformat;
-  fmt.fmt.pix.field = V4L2_FIELD_NONE;
+  fmt.fmt.pix.field = V4L2_FIELD_ANY;
 
-  r = v4l2_ioctl (fd, VIDIOC_TRY_FMT, &fmt);
-  if ((r < 0 && errno == EINVAL) ||
-      !gst_v4l2_object_get_interlace (fmt.fmt.pix.field, interlaced)) {
-    /* try again with interlaced video */
-    memset (&fmt, 0, sizeof (fmt));
-    fmt.type = v4l2object->type;
-    fmt.fmt.pix.width = *width;
-    fmt.fmt.pix.height = *height;
-    fmt.fmt.pix.pixelformat = pixelformat;
-    fmt.fmt.pix.field = V4L2_FIELD_INTERLACED;
-    r = v4l2_ioctl (fd, VIDIOC_TRY_FMT, &fmt);
-  }
-
-  if (r < 0) {
-    /* The driver might not implement TRY_FMT, in which case we will try
-       S_FMT to probe */
-    if (errno != ENOTTY)
-      goto error;
-
-    /* Only try S_FMT if we're not actively capturing yet, which we shouldn't
-       be, because we're still probing */
-    if (GST_V4L2_IS_ACTIVE (v4l2object))
-      goto error;
-
-    GST_LOG_OBJECT (v4l2object->element,
-        "Failed to probe size limit with VIDIOC_TRY_FMT, trying VIDIOC_S_FMT");
-
-    memset (&fmt, 0, sizeof (fmt));
-    fmt.type = v4l2object->type;
-    fmt.fmt.pix.width = *width;
-    fmt.fmt.pix.height = *height;
-    fmt.fmt.pix.pixelformat = pixelformat;
-    fmt.fmt.pix.field = V4L2_FIELD_NONE;
-
-    r = v4l2_ioctl (fd, VIDIOC_S_FMT, &fmt);
-    if ((r < 0 && errno == EINVAL) ||
-        !gst_v4l2_object_get_interlace (fmt.fmt.pix.field, interlaced)) {
-      /* try again with interlaced video */
-      memset (&fmt, 0, sizeof (fmt));
-      fmt.type = v4l2object->type;
-      fmt.fmt.pix.width = *width;
-      fmt.fmt.pix.height = *height;
-      fmt.fmt.pix.pixelformat = pixelformat;
-      fmt.fmt.pix.field = V4L2_FIELD_INTERLACED;
-      r = v4l2_ioctl (fd, VIDIOC_S_FMT, &fmt);
-    }
-
-    if (r < 0)
-      goto error;
-  }
+  if (gst_v4l2_object_try_fmt (v4l2object, &fmt) < 0)
+    goto error;
 
   GST_LOG_OBJECT (v4l2object->element,
       "got nearest size %dx%d", fmt.fmt.pix.width, fmt.fmt.pix.height);
@@ -2243,7 +2275,7 @@
   *width = fmt.fmt.pix.width;
   *height = fmt.fmt.pix.height;
 
-  if (!gst_v4l2_object_get_interlace (fmt.fmt.pix.field, interlaced)) {
+  if (!gst_v4l2_object_get_interlace_mode (fmt.fmt.pix.field, &interlace_mode)) {
     GST_WARNING_OBJECT (v4l2object->element,
         "Unsupported field type for %" GST_FOURCC_FORMAT "@%ux%u: %u",
         GST_FOURCC_ARGS (pixelformat), *width, *height, fmt.fmt.pix.field);
@@ -2536,7 +2568,8 @@
   gint width, height, fps_n, fps_d;
   gint n_v4l_planes;
   gint i = 0;
-  gboolean is_mplane, format_changed;
+  gboolean is_mplane;
+  enum v4l2_colorspace colorspace = 0;
 
   GST_V4L2_CHECK_OPEN (v4l2object);
   GST_V4L2_CHECK_NOT_ACTIVE (v4l2object);
@@ -2572,6 +2605,28 @@
     field = V4L2_FIELD_NONE;
   }
 
+  if (V4L2_TYPE_IS_OUTPUT (v4l2object->type)) {
+    /* We should set colorspace if we have it */
+    if (gst_video_colorimetry_matches (&info.colorimetry, "bt601")) {
+      colorspace = V4L2_COLORSPACE_SMPTE170M;
+    } else if (gst_video_colorimetry_matches (&info.colorimetry, "bt709")) {
+      colorspace = V4L2_COLORSPACE_REC709;
+    } else if (gst_video_colorimetry_matches (&info.colorimetry, "smpte240m")) {
+      colorspace = V4L2_COLORSPACE_SMPTE240M;
+    } else {
+      /* Try to guess colorspace according to pixelformat and size */
+      if (GST_VIDEO_INFO_IS_YUV (&info)) {
+        /* SD streams likely use SMPTE170M and HD streams REC709 */
+        if (width <= 720 && height <= 576)
+          colorspace = V4L2_COLORSPACE_SMPTE170M;
+        else
+          colorspace = V4L2_COLORSPACE_REC709;
+      } else if (GST_VIDEO_INFO_IS_RGB (&info)) {
+        colorspace = V4L2_COLORSPACE_SRGB;
+      }
+    }
+  }
+
   GST_DEBUG_OBJECT (v4l2object->element, "Desired format %dx%d, format "
       "%" GST_FOURCC_FORMAT " stride: %d", width, height,
       GST_FOURCC_ARGS (pixelformat), GST_VIDEO_INFO_PLANE_STRIDE (&info, 0));
@@ -2579,56 +2634,6 @@
   memset (&format, 0x00, sizeof (struct v4l2_format));
   format.type = v4l2object->type;
 
-  if (v4l2object->no_initial_format) {
-    format_changed = TRUE;
-  } else {
-    if (v4l2_ioctl (fd, VIDIOC_G_FMT, &format) < 0)
-      goto get_fmt_failed;
-
-    /* Note that four first fields are the same between v4l2_pix_format and
-     * v4l2_pix_format_mplane, so we don't need to duplicate he checks */
-
-    /* If no size in caps, use configured size */
-    if (width == 0 && height == 0) {
-      width = format.fmt.pix_mp.width;
-      height = format.fmt.pix_mp.height;
-    }
-
-    format_changed = format.type != v4l2object->type ||
-        format.fmt.pix_mp.width != width ||
-        format.fmt.pix_mp.height != height ||
-        format.fmt.pix_mp.pixelformat != pixelformat ||
-        format.fmt.pix_mp.field != field;
-  }
-
-#ifndef GST_DISABLE_GST_DEBUG
-  if (is_mplane) {
-    GST_DEBUG_OBJECT (v4l2object->element, "Current size is %dx%d, format "
-        "%" GST_FOURCC_FORMAT " colorspace %d, nb planes %d",
-        format.fmt.pix_mp.width, format.fmt.pix_mp.height,
-        GST_FOURCC_ARGS (format.fmt.pix.pixelformat),
-        format.fmt.pix_mp.colorspace, format.fmt.pix_mp.num_planes);
-
-    for (i = 0; i < format.fmt.pix_mp.num_planes; i++)
-      GST_DEBUG_OBJECT (v4l2object->element, "  stride %d",
-          format.fmt.pix_mp.plane_fmt[i].bytesperline);
-  } else {
-    GST_DEBUG_OBJECT (v4l2object->element, "Current size is %dx%d, format "
-        "%" GST_FOURCC_FORMAT " stride %d, colorspace %d",
-        format.fmt.pix.width, format.fmt.pix.height,
-        GST_FOURCC_ARGS (format.fmt.pix.pixelformat),
-        format.fmt.pix.bytesperline, format.fmt.pix.colorspace);
-  }
-#endif
-
-  /* If nothing changed, we are done */
-  if (!format_changed)
-    goto done;
-
-  /* something different, set the format */
-  GST_DEBUG_OBJECT (v4l2object->element, "Setting format to %dx%d, format "
-      "%" GST_FOURCC_FORMAT, width, height, GST_FOURCC_ARGS (pixelformat));
-
   if (is_mplane) {
     format.type = v4l2object->type;
     format.fmt.pix_mp.pixelformat = pixelformat;
@@ -2688,14 +2693,25 @@
   }
 #endif
 
+  if (V4L2_TYPE_IS_OUTPUT (v4l2object->type)) {
+    if (is_mplane)
+      format.fmt.pix_mp.colorspace = colorspace;
+    else
+      format.fmt.pix.colorspace = colorspace;
+
+    GST_DEBUG_OBJECT (v4l2object->element, "Desired colorspace is %d",
+        colorspace);
+  }
+
   if (v4l2_ioctl (fd, VIDIOC_S_FMT, &format) < 0)
     goto set_fmt_failed;
 
   GST_DEBUG_OBJECT (v4l2object->element, "Got format of %dx%d, format "
-      "%" GST_FOURCC_FORMAT ", nb planes %d", format.fmt.pix.width,
-      format.fmt.pix_mp.height,
+      "%" GST_FOURCC_FORMAT ", nb planes %d, colorspace %d",
+      format.fmt.pix.width, format.fmt.pix_mp.height,
       GST_FOURCC_ARGS (format.fmt.pix.pixelformat),
-      is_mplane ? format.fmt.pix_mp.num_planes : 1);
+      is_mplane ? format.fmt.pix_mp.num_planes : 1,
+      is_mplane ? format.fmt.pix_mp.colorspace : format.fmt.pix.colorspace);
 
 #ifndef GST_DISABLE_GST_DEBUG
   if (is_mplane) {
@@ -2812,14 +2828,6 @@
         caps);
     return FALSE;
   }
-get_fmt_failed:
-  {
-    GST_ELEMENT_ERROR (v4l2object->element, RESOURCE, SETTINGS,
-        (_("Device '%s' does not support video capture"),
-            v4l2object->videodev),
-        ("Call to G_FMT failed: (%s)", g_strerror (errno)));
-    return FALSE;
-  }
 set_fmt_failed:
   {
     if (errno == EBUSY) {
diff --git a/sys/v4l2/gstv4l2src.c b/sys/v4l2/gstv4l2src.c
index e1c0df0..bb3bf17 100644
--- a/sys/v4l2/gstv4l2src.c
+++ b/sys/v4l2/gstv4l2src.c
@@ -274,6 +274,9 @@
 
     if (gst_structure_has_field (structure, "format"))
       gst_structure_fixate_field (structure, "format");
+
+    if (gst_structure_has_field (structure, "interlace-mode"))
+      gst_structure_fixate_field (structure, "interlace-mode");
   }
 
   GST_DEBUG_OBJECT (basesrc, "fixated caps %" GST_PTR_FORMAT, caps);
@@ -629,19 +632,22 @@
 {
   GstV4l2Src *v4l2src = GST_V4L2SRC (src);
   GstV4l2Object *obj = v4l2src->v4l2object;
+  GstV4l2BufferPool *pool = GST_V4L2_BUFFER_POOL_CAST (obj->pool);
   GstFlowReturn ret;
   GstClock *clock;
   GstClockTime abs_time, base_time, timestamp, duration;
   GstClockTime delay;
 
-  ret = GST_BASE_SRC_CLASS (parent_class)->alloc (GST_BASE_SRC (src), 0,
-      obj->info.size, buf);
+  do {
+    ret = GST_BASE_SRC_CLASS (parent_class)->alloc (GST_BASE_SRC (src), 0,
+        obj->info.size, buf);
 
-  if (G_UNLIKELY (ret != GST_FLOW_OK))
-    goto alloc_failed;
+    if (G_UNLIKELY (ret != GST_FLOW_OK))
+      goto alloc_failed;
 
-  ret =
-      gst_v4l2_buffer_pool_process (GST_V4L2_BUFFER_POOL_CAST (obj->pool), buf);
+    ret = gst_v4l2_buffer_pool_process (pool, buf);
+
+  } while (ret == GST_V4L2_FLOW_CORRUPTED_BUFFER);
 
   if (G_UNLIKELY (ret != GST_FLOW_OK))
     goto error;
@@ -751,8 +757,15 @@
   }
 error:
   {
-    GST_DEBUG_OBJECT (src, "error processing buffer %d (%s)", ret,
-        gst_flow_get_name (ret));
+    if (ret == GST_V4L2_FLOW_LAST_BUFFER) {
+      GST_ELEMENT_ERROR (src, RESOURCE, FAILED,
+          ("Driver returned a buffer with no payload, this most likely "
+              "indicate a bug in the driver."), (NULL));
+      ret = GST_FLOW_ERROR;
+    } else {
+      GST_DEBUG_OBJECT (src, "error processing buffer %d (%s)", ret,
+          gst_flow_get_name (ret));
+    }
     return ret;
   }
 }
diff --git a/sys/v4l2/gstv4l2transform.c b/sys/v4l2/gstv4l2transform.c
index f645532..cfcc3dd 100644
--- a/sys/v4l2/gstv4l2transform.c
+++ b/sys/v4l2/gstv4l2transform.c
@@ -468,20 +468,23 @@
   if (G_UNLIKELY (ret != GST_FLOW_OK))
     goto beach;
 
-  pool = gst_base_transform_get_buffer_pool (trans);
+  do {
+    pool = gst_base_transform_get_buffer_pool (trans);
 
-  if (!gst_buffer_pool_set_active (pool, TRUE))
-    goto activate_failed;
+    if (!gst_buffer_pool_set_active (pool, TRUE))
+      goto activate_failed;
 
-  GST_DEBUG_OBJECT (self, "Dequeue output buffer");
-  ret = gst_buffer_pool_acquire_buffer (pool, outbuf, NULL);
-  g_object_unref (pool);
+    GST_DEBUG_OBJECT (self, "Dequeue output buffer");
+    ret = gst_buffer_pool_acquire_buffer (pool, outbuf, NULL);
+    g_object_unref (pool);
 
-  if (ret != GST_FLOW_OK)
-    goto alloc_failed;
+    if (ret != GST_FLOW_OK)
+      goto alloc_failed;
 
-  pool = self->v4l2capture->pool;
-  ret = gst_v4l2_buffer_pool_process (GST_V4L2_BUFFER_POOL (pool), outbuf);
+    pool = self->v4l2capture->pool;
+    ret = gst_v4l2_buffer_pool_process (GST_V4L2_BUFFER_POOL (pool), outbuf);
+
+  } while (ret == GST_V4L2_FLOW_CORRUPTED_BUFFER);
 
   if (ret != GST_FLOW_OK) {
     gst_buffer_unref (*outbuf);
diff --git a/sys/v4l2/gstv4l2videodec.c b/sys/v4l2/gstv4l2videodec.c
index f3e03c7..c81f0aa 100644
--- a/sys/v4l2/gstv4l2videodec.c
+++ b/sys/v4l2/gstv4l2videodec.c
@@ -358,6 +358,7 @@
 gst_v4l2_video_dec_loop (GstVideoDecoder * decoder)
 {
   GstV4l2VideoDec *self = GST_V4L2_VIDEO_DEC (decoder);
+  GstV4l2BufferPool *v4l2_pool = GST_V4L2_BUFFER_POOL (self->v4l2capture->pool);
   GstBufferPool *pool;
   GstVideoCodecFrame *frame;
   GstBuffer *buffer = NULL;
@@ -365,28 +366,29 @@
 
   GST_LOG_OBJECT (decoder, "Allocate output buffer");
 
-  /* We cannot use the base class allotate helper since it taking the internal
-   * stream lock. we know that the acquire may need to poll until more frames
-   * comes in and holding this lock would prevent that.
-   */
-  pool = gst_video_decoder_get_buffer_pool (decoder);
+  do {
+    /* We cannot use the base class allotate helper since it taking the internal
+     * stream lock. we know that the acquire may need to poll until more frames
+     * comes in and holding this lock would prevent that.
+     */
+    pool = gst_video_decoder_get_buffer_pool (decoder);
 
-  /* Pool may be NULL if we started going to READY state */
-  if (pool == NULL) {
-    ret = GST_FLOW_FLUSHING;
-    goto beach;
-  }
+    /* Pool may be NULL if we started going to READY state */
+    if (pool == NULL) {
+      ret = GST_FLOW_FLUSHING;
+      goto beach;
+    }
 
-  ret = gst_buffer_pool_acquire_buffer (pool, &buffer, NULL);
-  g_object_unref (pool);
+    ret = gst_buffer_pool_acquire_buffer (pool, &buffer, NULL);
+    g_object_unref (pool);
 
-  if (ret != GST_FLOW_OK)
-    goto beach;
+    if (ret != GST_FLOW_OK)
+      goto beach;
 
-  GST_LOG_OBJECT (decoder, "Process output buffer");
-  ret =
-      gst_v4l2_buffer_pool_process (GST_V4L2_BUFFER_POOL (self->
-          v4l2capture->pool), &buffer);
+    GST_LOG_OBJECT (decoder, "Process output buffer");
+    ret = gst_v4l2_buffer_pool_process (v4l2_pool, &buffer);
+
+  } while (ret == GST_V4L2_FLOW_CORRUPTED_BUFFER);
 
   if (ret != GST_FLOW_OK)
     goto beach;
diff --git a/sys/v4l2/v4l2_calls.h b/sys/v4l2/v4l2_calls.h
index 5a4bd84..0437ebf 100644
--- a/sys/v4l2/v4l2_calls.h
+++ b/sys/v4l2/v4l2_calls.h
@@ -29,7 +29,7 @@
 #ifdef HAVE_LIBV4L2
 #  include <libv4l2.h>
 #else
-#  include <linux/videodev2.h>
+#  include "ext/videodev2.h"
 #  include <sys/ioctl.h>
 #  include <sys/mman.h>
 #  include <unistd.h>
diff --git a/win32/common/config.h b/win32/common/config.h
index 4c8b1a3..4cd1d5a 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -58,7 +58,7 @@
 #define GST_PACKAGE_ORIGIN "Unknown package origin"
 
 /* GStreamer package release date/time for plugins as YYYY-MM-DD */
-#define GST_PACKAGE_RELEASE_DATETIME "2014-11-06"
+#define GST_PACKAGE_RELEASE_DATETIME "2014-12-18"
 
 /* Define if static plugins should be built */
 #undef GST_PLUGIN_BUILD_STATIC
@@ -372,7 +372,7 @@
 #define PACKAGE_NAME "GStreamer Good Plug-ins"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer Good Plug-ins 1.4.4"
+#define PACKAGE_STRING "GStreamer Good Plug-ins 1.4.5"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gst-plugins-good"
@@ -381,7 +381,7 @@
 #undef PACKAGE_URL
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.4.4"
+#define PACKAGE_VERSION "1.4.5"
 
 /* directory where plugins are located */
 #ifdef _DEBUG
@@ -415,7 +415,7 @@
 #undef TARGET_CPU
 
 /* Version number of package */
-#define VERSION "1.4.4"
+#define VERSION "1.4.5"
 
 /* old wavpack API */
 #undef WAVPACK_OLD_API