diff --git a/ChangeLog b/ChangeLog
index 2b61b99..a387112 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,16045 @@
-=== release 1.4.0 ===
+=== release 1.5.1 ===
 
-2014-07-19  Sebastian Dröge <slomo@coaxion.net>
+2015-06-07  Sebastian Dröge <slomo@coaxion.net>
 
 	* configure.ac:
-	  releasing 1.4.0
+	  releasing 1.5.1
+
+2015-06-07 09:36:21 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* po/af.po:
+	* po/az.po:
+	* po/bg.po:
+	* po/ca.po:
+	* po/cs.po:
+	* po/da.po:
+	* po/de.po:
+	* po/el.po:
+	* po/en_GB.po:
+	* po/eo.po:
+	* po/es.po:
+	* po/eu.po:
+	* po/fi.po:
+	* po/fr.po:
+	* po/gl.po:
+	* po/hr.po:
+	* po/hu.po:
+	* po/id.po:
+	* po/it.po:
+	* po/ja.po:
+	* po/ky.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: Update translations
+
+2015-05-30 21:35:36 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Fix wrong gst-launch command in the description
+	  Fix wrong gst-lauch command in the description.
+	  This patch may help people to get right testing results using the script.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750143
+
+2015-06-05 14:49:18 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/directfb/dfbvideosink.c:
+	  dfbvideosink: remove ignored assignments
+	  Remove assignments to DFBResult res that are never read.
+
+2015-06-05 14:34:55 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: remove ignored assignment
+	  Function goes to done before the value set in start_offset is ever used.
+
+2015-06-05 09:35:39 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/gl/caopengllayersink.m:
+	* ext/gl/gstglfilterbin.c:
+	* ext/gl/gstglmixerbin.c:
+	* ext/gl/gstglsinkbin.c:
+	* ext/gl/gstglsrcbin.c:
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+	* sys/applemedia/avsamplevideosink.m:
+	* tests/check/elements/glimagesink.c:
+	  Fix a common typo: retreive -> retrieve
+	  Seems to have been copy pasted around a few places
+
+2015-06-05 09:22:58 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: drop TODO that doesn't need a solution
+	  Connection speed is only checked at that point in hlsdemux so there
+	  is no real need to refactor it.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749328
+
+2015-06-05 09:15:34 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/m3u8.c:
+	  Revert "hlsdemux: Simplify logic in process_manifest"
+	  This reverts commit 4ca3a22b6b33ad8be4383063e76f79c4d346535d.
+	  The connection-speed=0 is used as a special value in the property
+	  of hlsdemux to mean 'automatic' selection, m3u8.c doesn't need
+	  to know about that as it should be as simple as possible.
+	  So this patch hides this automatic selection documented in hlsdemux
+	  into m3u8 logic and I think the gets harder to understand the code.
+	  It also makes the hlsdemux unit tests work again
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749328
+
+2015-06-05 14:30:03 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstmpdparser.c:
+	  mpdparser: Fix inverted logic introduced in last commit
+
+2015-06-05 08:58:03 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+	* gst/videosignal/gstsimplevideomarkdetect.c:
+	  simplevideomarkdetect: fix detect of videomark partially or fully outside video
+	  In case of the videomark being partially or fully outside,
+	  an error was bein thrown saying, mark width is more than video width.
+	  And when the width, offset properties are set to maximum it resulted in crash.
+	  Instead of throwing error, added logic to detect the mark
+	  in case of partial visibility or dont show the mark when it is outside.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743908
+
+2015-06-05 14:10:43 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstmpdparser.c:
+	  mpdparser: Calculate the number of segments we have when a segment template instead of a list is used
+	  Otherwise we would just continue downloading new files forever until we get
+	  404 for the first one, and then error out instead of going EOS.
+
+2015-06-05 08:53:30 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+	* gst/videosignal/gstsimplevideomark.c:
+	  simplevideomark: Add Error logs
+	  When the pattern offset is outside the video, the print error message
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743908
+
+2015-06-05 13:28:39 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstmpdparser.c:
+	  Revert "mpdparser: Don't consider streams with a known media presentation duration as live"
+	  This reverts commit 37011e519830e0786fa6e307ed26003a2a8774f1.
+	  This change was actually completely unnecessary, the streams in question are
+	  marked as static and are not considered live anyway.
+
+2015-06-05 13:21:55 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstmpdparser.c:
+	  mpdparser: Don't consider streams with a known media presentation duration as live
+
+2015-06-05 11:26:11 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Error out if downloading a segment failed too often in live mode
+	  It's true that we shouldn't consider errors fatal immediately, but if we
+	  always ignore them we will loop infinitely on live streams with segments
+	  that can't be downloaded at all.
+
+2015-06-03 12:17:19 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/srtp/gstsrtp.c:
+	  srtp: Allow getting ssrc of more package types than RR and SR
+	  This allows decrypting reduce size packages. See RFC 5506
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750326
+
+2015-06-04 13:36:32 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: refactor pad creation
+	  Avoid repeating the same pad creation code everywhere
+
+2015-06-04 15:57:57 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstmpdparser.c:
+	  mpdparser: Don't crash in debug output if stream->segments is NULL
+
+2015-06-04 13:31:56 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* sys/winks/gstksvideosrc.c:
+	  ksvideosrc: fix logic and timestamp non-muxed streams again
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750381
+
+2015-06-04 12:53:19 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/libde265/gstlibde265.c:
+	* ext/libde265/libde265-dec.c:
+	  libde265dec: fix up plugin name and decoder description
+
+2015-06-04 13:36:05 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstmpdparser.c:
+	  mpdparse: Clamp seek times to the availabilityStartTime
+	  Otherwise we will seek to negative times, which are interpreted as unsigned
+	  integers later.
+
+2015-06-04 13:13:39 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstmpdparser.c:
+	  mpdparser: Improve debug output a bit when advancing segments
+
+2015-06-04 12:36:41 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Release the manifest mutex before waiting for a download
+	  Otherwise we will hurt parallel downloads in the best case, and often cause
+	  deadlocks.
+
+2015-06-04 11:54:24 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusdec.c:
+	  opusdec: If channel/rate negotiation fails, fall back to stereo and 48kHz
+
+2015-06-04 11:52:40 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusparse.c:
+	  opusparse: Set up default header with 48kHz sample rate instead of 0
+
+2015-06-04 11:45:05 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusdec.c:
+	  opusdec: gst_structure_fixate_field_nearest_int() only works if the structure has this field
+	  Just set the rate/channels directly if the caps don't have this field.
+
+2015-06-04 11:05:07 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstmpdparser.c:
+	  mpdparser: Use 64 bit integer format strings when passing a 64 bit integer
+	  Otherwise we'll only get half of its bits printed on 32 bit architectures.
+	  For this, promote the %d-style format strings to something that accepts
+	  64 bit integers with G_GINT64_MODIFIER.
+
+2015-06-04 10:47:07 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstmpdparser.c:
+	  mpdparse: Validate format strings before using them
+	  Using format strings from an untrusted source without validation is
+	  calling for problems, and at least allows to remotely crash your application.
+	  If not worse.
+
+2015-06-04 09:40:19 +0200  Philippe Normand <philn@igalia.com>
+
+	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
+	  gl/dispmanx: Fix build
+
+2015-06-03 22:21:30 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* tests/examples/gl/cocoa/Makefile.am:
+	  gl/example: fix build error when compiling cocoa-videooverlay
+	  libtool: error: ignoring unknown tag OBJC
+	  and
+	  clang: error: argument unused during compilation: '-pthread'
+
+2015-06-04 15:01:16 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
+	  gl/window/dispmanx: fix compiler warning
+
+2015-06-04 12:16:35 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
+	* gst-libs/gst/gl/android/gstglwindow_android_egl.h:
+	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
+	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h:
+	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	* gst-libs/gst/gl/win32/gstglwindow_win32.h:
+	  gl/window: use the default main loop implementation for all backends
+	  fixes glimagsink being unable to display.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750337
+
+2015-06-03 21:22:09 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  glwindow_cocoa: use parent default implementation
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=750337
+
+2015-06-03 20:03:37 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstmpdparser.c:
+	  mpdparser: Add the startNumber as offset to the segment index when using a template
+
+2015-06-03 16:59:44 +0200  Santiago Carot-Nemesio <sancane@gmail.com>
+
+	* ext/dtls/gstdtlsdec.c:
+	* ext/dtls/gstdtlsdec.h:
+	  dtlsdec: Fix critical warning "got data flow before stream-start event"
+	  Forward sticky events on requested src pad.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750348
+
+2015-06-03 15:25:10 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: remove useless value assignments
+	  In all these cases ret is set but overwritten before the return of the function
+
+2015-06-03 14:44:31 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* tests/examples/camerabin2/gst-camerabin2-test.c:
+	  examples: gst-camerabin2-test: protect from division by zero
+	  Highly unlikely to have 0 captures, but protect from crashes in the future by
+	  doing none of the math if there is no data.
+
+2015-06-02 20:57:34 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	  configure: lower curl requirement to 7.35.0
+	  Build and unit tests were tested against 7.35 too now,
+	  which is the version in Ubuntu 14.04.
+
+2015-06-02 16:40:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/mpegtsdemux/mpegtsbase.c:
+	  mpegtsbase: do not access variable after unref
+	  Data might not exist anymore
+
+2015-06-02 15:45:13 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* tests/check/elements/audiointerleave.c:
+	  tests: audiointerleave: test not setting positions
+	  Disable "channel-positions-from-input", but without actually giving
+	  a position table, so every position should be NONE
+
+2015-06-02 15:44:57 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* tests/check/elements/audiointerleave.c:
+	  tests: Fix indentation in audiointerleave test
+
+2015-06-02 11:31:00 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* ext/zbar/gstzbar.c:
+	  zbar: don't ignore zbar_scan_image() errors
+
+2015-06-03 00:31:42 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	  glsyncmeta: Set new sync point when copying
+	  Set a new sync point when copying instead of
+	  transferring the (non-refcounted) GL sync object
+	  from the source meta.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750279
+
+2015-06-02 23:59:50 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	  glsyncmeta: Add some debug output
+
+2015-06-02 16:02:37 +0200  Edward Hervey <edward@centricular.com>
+
+	* tests/check/elements/asfmux.c:
+	* tests/check/elements/faac.c:
+	* tests/check/elements/faad.c:
+	* tests/check/elements/h263parse.c:
+	* tests/check/elements/hlsdemux_m3u8.c:
+	* tests/check/elements/jpegparse.c:
+	* tests/check/elements/kate.c:
+	* tests/check/elements/mpeg2enc.c:
+	* tests/check/elements/mpeg4videoparse.c:
+	* tests/check/elements/mpegvideoparse.c:
+	* tests/check/elements/mplex.c:
+	* tests/check/elements/opus.c:
+	* tests/check/elements/rtponvif.c:
+	* tests/check/elements/timidity.c:
+	* tests/check/elements/voaacenc.c:
+	* tests/check/elements/voamrwbenc.c:
+	* tests/check/libs/h264parser.c:
+	* tests/check/libs/mpegts.c:
+	* tests/check/libs/mpegvideoparser.c:
+	* tests/check/libs/vc1parser.c:
+	* tests/check/libs/vp8parser.c:
+	* tests/check/pipelines/simple-launch-lines.c:
+	* tests/check/pipelines/streamheader.c:
+	  check: Use GST_CHECK_MAIN () macro everywhere
+	  Makes source code smaller, and ensures we go through common initialization
+	  path (like the one that sets up XML unit test output ...)
+
+2015-06-02 10:21:42 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+	* gst/videosignal/gstsimplevideomark.c:
+	  simplevideomark: fix display of videomark partially or fully outside video
+	  In case of the videomark being partially or fully outside, an error was being
+	  thrown saying the mark width is more than video width. And when the width,
+	  offset properties are set to maximum it resulted in crash. Instead of throwing
+	  an error, add logic to detect the mark in case of partial visibility or don't
+	  show the mark when it is outside.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743908
+
+2015-03-24 15:17:16 +0100  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: enable Chinese AVS video stream
+	  Chinese broadcaster encapsulate AVS video codec into MPEG2-TS. They
+	  use the stream_id 0x42 to identify AVS video streams. It should be noted
+	  that this id is currently within the ISO reserved range, hence it's
+	  utilisation is unofficial.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=727731
+
+2015-06-02 17:24:18 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: provide compatibility definition for GLES2 for GL_RGBA8
+
+2015-06-02 16:32:03 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstglfiltershader.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglframebuffer.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	  gl: consolidate internal_rgba_format into glmemory
+	  Expose some useful value format conversion functions available in
+	  GstGLMemory.
+
+2015-06-01 19:43:20 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/gstaudiointerleave.c:
+	  audiointerleave: Always have "channels" be the actual pad count
+	  Don't force it anywhere
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750252
+
+2015-06-01 19:42:49 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/gstaudiointerleave.c:
+	  audiointerleave: Use the channel count from the set caps
+	  This is the same number that was used to allocate the buffer
+
+2015-06-01 18:50:14 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Document that the latency is in ns
+
+2015-06-01 20:03:22 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamc.c:
+	  amc: Only lower ranks of OMX.Exynos. audio codecs, the video codecs are actually working
+
+2015-06-01 19:40:11 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamc.c:
+	  amc: Give marginal rank to codecs that start with OMX.Exynos.
+	  OMX.Exynos. codecs are existing on some devices like the
+	  Galaxy S5 mini, and cause random crashes (of the device,
+	  not the app!) and generally misbehave. That specific device
+	  has other codecs that work with a different name, but let's
+	  just give them marginal rank in case there are devices that
+	  have no other codecs and these are actually the only working
+	  ones
+
+2015-06-01 19:23:01 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamc.c:
+	  androidmedia: Give lower ranks to codecs not starting with OMX.
+	  On some devices there are codecs that don't start with OMX., while
+	  there are also some that do. And on some of these devices the ones
+	  that don't start with OMX. just crash during initialization while
+	  the others work. To make things even more complicated other devices
+	  have codecs with the same name that work and no alternatives.
+	  So just give a lower rank to these non-OMX codecs and hope that
+	  there's an alternative with a higher rank.
+	  Also stagefright gives codecs starting with OMX. a higher rank too and
+	  considers other codecs that don't start with OMX. as software codecs.
+
+2015-06-01 11:12:22 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* tests/check/elements/zbar.c:
+	  tests: zbar: check for frame field on attach-frame=true
+	  Also check for the sample to have a buffer and caps
+	  associated with it.
+	  Related to:
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747557
+
+2015-05-20 15:04:40 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: Require width and height field for H264
+	  This decoder does not work if width and height field are not set
+	  in the sinkpad caps. Let's make this explicit by adding them to
+	  the template caps.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749655
+
+2015-06-01 14:07:37 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gpuprocess/gstglcontext_gpu_process.c:
+	  glcontext_gpu_process: close the window when done
+
+2015-06-01 14:05:58 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gpuprocess/gstglwindow_gpu_process.c:
+	  glwindow_gpu_process: avoid empty struct
+
+2015-06-01 12:58:11 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  glwindow: move main loop/context creation back to init/finalize
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=750199
+
+2015-06-01 14:05:06 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* tests/examples/gl/gtk/gstgtk.c:
+	  examples: Fix gl usage without wayland support
+	  Not all platforms have wayland support. Handle that gracefully at
+	  compile time
+
+2015-06-01 13:55:20 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* ext/rtmp/gstrtmpsink.c:
+	  rtmpsink: Initialize GstMapInfo
+	  Avoids doing a call to unmap with it uninitialized
+	  CID #1302834
+
+2015-06-01 12:51:46 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	  audiovisualizer: clean dereferences of private structure
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742875
+
+2015-04-25 22:55:28 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	* sys/applemedia/vtenc.h:
+	  vtenc: fix keyframe request race condition
+	  It is incorrect to modify the frame properties after passing them, since
+	  VTCompressionSessionEncodeFrame takes reference and we have no control
+	  over when it's being used.
+	  In fact, the code can be simplified. We just preallocate the frame
+	  properties for keyframe requests, and pass NULL otherwise.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748467
+
+2015-06-01 11:56:13 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	* gst/audiovisualizers/gstaudiovisualizer.h:
+	  audiovisualizer: make private all variable subclasses don't need
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742875
+
+2015-05-01 23:20:30 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* ext/zbar/gstzbar.c:
+	* ext/zbar/gstzbar.h:
+	  zbar: add frame sample to barcode message
+	  New attach-frame property enables barcode frame
+	  dumping when set to true.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747557
+
+2015-05-31 21:30:23 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+	  gl: Fix compiler warning
+	  gstglwindow_wayland_egl.c:246:41: error: unused variable 'surface_listener' [-Werror,-Wunused-const-variable]
+	  static const struct wl_surface_listener surface_listener = {
+	  ^
+
+2015-05-27 23:34:14 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamc.c:
+	* sys/androidmedia/gstamc.h:
+	* sys/androidmedia/gstamcaudiodec.c:
+	* sys/androidmedia/gstamcaudiodec.h:
+	* sys/androidmedia/gstamcvideodec.c:
+	* sys/androidmedia/gstamcvideodec.h:
+	* sys/androidmedia/gstamcvideoenc.c:
+	* sys/androidmedia/gstamcvideoenc.h:
+	* sys/androidmedia/gstjniutils.c:
+	* sys/androidmedia/gstjniutils.h:
+	  androidmedia: Conditionally use get_{input,output}_buffer() Android 21 APIs
+	  Also properly set limit/position on byte buffer, some codecs prefer to have
+	  correct values there.
+
+2015-05-31 16:53:14 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  glwindow: fix compiler error
+	  gstglwindow.c:1118:544: error: 'return' with no value, in function returning non-void [-Werror]
+	  g_return_if_fail (GST_GL_IS_WINDOW (window));
+
+2015-05-31 15:42:48 +1000  Matthew Waters <matthew@centricular.com>
+
+	* tests/examples/gl/gtk/filternovideooverlay/main.cpp:
+	* tests/examples/gl/gtk/filtervideooverlay/main.cpp:
+	  gl/examples: update gtk examples for glupload
+
+2015-05-31 15:40:15 +1000  Matthew Waters <matthew@centricular.com>
+
+	* tests/examples/gl/gtk/filtervideooverlay/main.cpp:
+	* tests/examples/gl/gtk/switchvideooverlay/main.cpp:
+	  gl/examples: update gtk examples for wayland
+
+2015-05-29 18:06:27 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
+	  gl/wayland: implement setting the render rectangle
+	  Places our subsurface at the rectangle provided position
+
+2015-05-29 18:03:52 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* gst-libs/gst/gl/gstglwindow.c:
+	* gst-libs/gst/gl/gstglwindow.h:
+	  glwindow: handle gst_video_overlay_set_render_rectangle
+
+2015-05-29 18:01:29 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/wayland/wayland_event_source.c:
+	  gl/wayland: don't block the event loop after poll
+	  Use the dispatch_pending set of functions which just run the currently
+	  queued up events instead of potentially waiting for an event to occur.
+
+2015-05-27 16:42:55 +1000  Matthew Waters <matthew@centricular.com>
+
+	* tests/examples/gl/gtk/gstgtk.c:
+	* tests/examples/gl/gtk/gstgtk.h:
+	  tests/gl/gtk: implement setting a wayland display/surface
+
+2015-05-27 16:39:06 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
+	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.h:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
+	  gl/wayland: implement basic video overlay support via subsurfaces
+	  Currently does not position the subsurface relative to the parent surface at all
+
+2015-05-27 15:44:33 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/wayland/wayland_event_source.c:
+	  gl/wayland: allow a NULL wl_event_queue
+	  perform operations on the default wl_display event queue in that case
+
+2015-05-27 15:43:06 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglutils.c:
+	  gl/utils: implement wayland display GstContext
+	  requried for sharing GL contexts or subsurface support
+
+2015-05-22 16:07:49 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
+	* gst-libs/gst/gl/wayland/wayland_event_source.c:
+	* gst-libs/gst/gl/wayland/wayland_event_source.h:
+	  gl/wayland: run each window on a separate queue
+	  Based on patch by Julien Isorce <julien.isorce@collabora.co.uk>
+	  https://bugzilla.gnome.org/show_bug.cgi?id=709747
+
+2015-05-30 02:19:25 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  gl: Don't leak temp strings in _RGB_pixel_order()
+	  Fix a memory leak of temporary strings when computing
+	  swizzling of RGB formats.
+
+2015-05-30 02:29:47 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  glfilter: Add transform_internal_caps() vfunc
+	  Add a vfunc that is called by glfilter before it sets
+	  caps features and intersects with the peer caps, and
+	  move removing the size from caps into its default
+	  implementation. Allows sub-classes to do more
+	  sophisticated management of the size fields in case they
+	  don't support arbitrary resizing or have distinct
+	  preferences.
+
+2015-05-30 02:23:44 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: Don't remove size fields from caps
+	  Instead of removing size fields, set them to the full range
+	  like videoscale does, so the caps are clearly unfixed in
+	  all cases.
+
+2015-05-10 18:55:16 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst-libs/gst/video/gstvideoaggregator.h:
+	  videoaggregator: Add class property to disable caps scaling
+	  Add preserve_update_caps_result boolean on the class to allow
+	  sub-classes to disable videoaggregator removing sizes and framerate
+	  from the update_caps() return result.
+
+2015-05-04 18:17:21 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Catch errors, and allow sub-class to return NULL from get_output_buffer()
+	  A return value of GST_FLOW_OK with a NULL buffer from get_output_buffer()
+	  means the sub-class doesn't want to produce an output buffer, so
+	  skip it.
+	  If gst_videoaggregator_do_aggregate() generates an error, make sure
+	  to propagate it - don't just ignore and discard the error by
+	  over-writing it with the gst_pad_push() result.
+
+2015-05-29 16:02:31 +0300  Vivia Nikolaidou <vivia@toolsonair.com>
+
+	* ext/rtmp/gstrtmpsink.c:
+	* ext/rtmp/gstrtmpsink.h:
+	  rtmpsink: Do not crash when receiving buffers after GST_FLOW_ERROR
+	  If the RTMP URI is invalid, the rtmpsink will return GST_FLOW_ERROR.
+	  If it still receives buffers after that, it shouldn't crash.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750104
+
+2015-05-29 09:01:29 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: avoid assertion when splitting buffer
+	  Pass size=-1 as is if that is the case instead of subtracting
+	  the offset. Otherwise we have an invalid size passed for that
+	  buffer.
+
+2015-05-28 15:59:02 +0200  Santiago Carot-Nemesio <sancane@gmail.com>
+
+	* ext/dtls/gstdtlssrtpdec.c:
+	  dtlssrtpdec: Release requested pads
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750036
+
+2015-05-28 15:57:10 +0200  Santiago Carot-Nemesio <sancane@gmail.com>
+
+	* ext/dtls/gstdtlsdec.c:
+	  dtlsdec: Remove unnecessary ref/unref operations
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750036
+
+2015-05-28 15:55:03 +0200  Santiago Carot-Nemesio <sancane@gmail.com>
+
+	* ext/dtls/gstdtlsdec.c:
+	  dtlsdec: Fix release request pad function
+	  Don't unref the pad reference we don't own and just remove the pad.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750036
+
+2015-05-28 14:30:46 +0200  Edward Hervey <edward@centricular.com>
+
+	* ext/hls/m3u8.c:
+	  hlsdemux: Search more when advancing fragment
+	  In live situations, it is not uncommon for the current fragment to end
+	  up out of the (updated) play range (lowest/highest sequence). But the next
+	  fragment to play *is* present in the play range.
+	  When advancing, if we can't find the current GstM3U8MediaFile, don't abort
+	  straight away. Instead, look if a GstM3U8MediaFile with the next sequence value
+	  is present, and if so switch to it.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=750028
+
+2015-05-27 10:58:10 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* configure.ac:
+	* ext/gl/gstglimagesink.c:
+	* gst-libs/gst/gl/Makefile.am:
+	* gst-libs/gst/gl/gpuprocess/Makefile.am:
+	* gst-libs/gst/gl/gpuprocess/gstglcontext_gpu_process.c:
+	* gst-libs/gst/gl/gpuprocess/gstglcontext_gpu_process.h:
+	* gst-libs/gst/gl/gpuprocess/gstglwindow_gpu_process.c:
+	* gst-libs/gst/gl/gpuprocess/gstglwindow_gpu_process.h:
+	* gst-libs/gst/gl/gstglapi.c:
+	* gst-libs/gst/gl/gstglapi.h:
+	  gl: add GstGLContextGPUProcess backend
+	  It builds its GL vtable from a proc address provided
+	  by the application.
+
+2015-05-27 16:28:39 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstglfiltershader.c:
+	* gst-libs/gst/gl/glprototypes/gstgl_gles2compat.h:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglframebuffer.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	  gl: add and use gst_gl_internal_format_rgba
+	  Previously when compiling GstGL with both GL and GLES2,
+	  GL_RGBA8 was picked from GL/gl.h. But a clash may happen at
+	  runtime when one is selecting GLES2.
+	  gst_gl_internal_format_rgba allows to check at runtime
+	  if it should use GL_RGBA or GL_RGBA8.
+
+2015-05-27 14:10:16 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
+	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
+	  glwindow_x11: use parent default implementation
+
+2015-05-27 11:16:32 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
+	  glcontext_glx: rename variable from window to context
+
+2015-05-27 11:11:55 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  glwindow: initialize debug in class_init
+	  Useful if one uses gst_gl_window_x11_new directly
+	  instead of gst_gl_window_new.
+
+2015-05-27 11:07:38 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: initialize debug in class_init
+	  Useful if one uses gst_gl_context_egl_new directly
+	  instead of gst_gl_context_new.
+
+2015-05-27 10:55:20 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstglcontext.h:
+	  glcontext: add gst_gl_context_set_display helper
+
+2015-05-27 15:25:40 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglcontext.h:
+	  glcontext: add missing _CAST after G_TYPE_CHECK_CLASS
+
+2015-05-27 10:51:54 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglwindow.h:
+	  glwindow: add missing _CAST after G_TYPE_CHECK_CLASS
+
+2015-05-26 18:38:39 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  glwindow: provides some default implementations to factorize with all backends
+
+2015-05-28 00:59:39 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Push EOS on error return.
+	  Before shutting down the srcpad task due to a
+	  downstream error, push an EOS to give downstream
+	  a chance to shut down somewhat cleanly.
+
+2015-05-27 13:12:57 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mpegtsmux/mpegtsmux.c:
+	  mpegtsmux: don't overwrite value
+	  Value of res is reset to FALSE in each iteration of the while loop. We want to
+	  conserve TRUE if any pad event succeeded until we arrive to done.
+	  Also, buf is set to the value of *outbuf twice. Removing the first assignment
+	  since the second one is outside of a conditional.
+
+2015-05-27 13:08:46 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/opencv/gstretinex.c:
+	  opencv: 'for' loop initial declaration
+	  'for' loop initial declarations are not allowed in C89, moving the declarations
+	  to before the 'for' loops.
+
+2015-05-27 13:05:11 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/gl/gstgleffects.c:
+	  gleffects: 'for' loop initial declaration
+	  'for' loop initial declarations are not allowed in C89, moving the declarations
+	  to before the 'for' loops.
+
+2015-05-27 12:03:42 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/resindvd/gstmpegdemux.c:
+	  resindvd: remove unused value
+	  The data variable is incremented but never read again. Remove the unused value
+	  assignment.
+
+2015-05-27 06:17:49 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: remove more unused attributes
+	  Those are not used or only read
+
+2015-05-27 05:35:30 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: remove unused attribute
+	  It is never read for anything useful
+
+2015-05-26 16:47:47 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* ext/gl/gstgloverlay.c:
+	  gloverlay: fix a leak
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749846
+
+2015-05-26 15:10:28 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* ext/gl/gstgloverlay.c:
+	  gloverlay: properly handle errors while loading file
+	  Post an error on the bus if anything bad happens while reading
+	  and parsing the image file.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749846
+
+2015-05-26 15:04:34 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* ext/gl/gstgloverlay.c:
+	* ext/gl/gstgloverlay.h:
+	  gloverlay: remove unused type_file field
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749846
+
+2015-05-26 15:01:37 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  gl: propagate return value from filter and filter_texture
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749846
+
+2015-05-26 16:39:59 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/dvbsuboverlay/dvb-sub.c:
+	  dvbsuboverlay: remove unused assignment
+	  buf is incremented just before returning, this new value is never used.
+	  Removing unused assignment.
+
+2015-05-26 15:24:52 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: 'for' loop initial declaration
+	  'for' loop initial declarations are only allowed in C89, moving the declaration
+	  to before the 'for' loop.
+
+2015-05-26 14:14:34 +0100  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/gaudieffects/gstexclusion.c:
+	  exclusion: exception when set factor to 0
+	  When factor property is set to 0, transform just returns.
+	  Adjust the minimum value to 1.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743907
+
+2015-05-26 12:47:40 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgleffects.c:
+	  gleffects: properly initialize the shaders across contexts implementing multiple API's
+
+2015-05-26 12:44:47 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/effects/gstgleffectssources.c:
+	  gleffects_laplacian: fix shader compilation in gl3/gles2
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748393
+
+2015-05-25 12:33:50 +0200  Patricia Muscalu <patricia@axis.com>
+
+	* configure.ac:
+	* ext/curl/gstcurlbasesink.c:
+	* ext/curl/gstcurlbasesink.h:
+	  curlsink: handle socket callback for active FTP connections as well
+	  Since version 7.28.0, libcurl allows application to set
+	  socket options for active FTP connections.
+	  Bump libcurl requirement to version tested.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749815
+
+2015-05-20 12:08:38 +0100  David Waring <david.waring@rd.bbc.co.uk>
+
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: Fix segfault introduced by segment iteration refactoring (2105a310).
+	  The functions to get the next fragment, next fragment timestamp and to advance
+	  to the next fragment need to work differently when stream->segments is NULL.
+	  Use logic similar to that introduced by commit 2105a310 to perform these
+	  functions.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749684
+
+2015-05-18 22:33:50 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: use signed integet to represent segment index
+	  We need to be able to represent -1 to check when we are EOS
+	  on reverse playback and unsigned integer won't allow that.
+	  CID #1298193
+	  CID #1298194
+	  CID #1298195
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749534
+
+2015-05-25 10:30:55 +0900  Suhwang Kim <suhwang.kim@lge.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: fix outdated example launch line
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749809
+
+2015-05-22 13:12:09 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/wayland/wayland_event_source.c:
+	  gl/wayland: remove dead event source code
+
+2015-05-21 17:48:31 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstgldisplay.c:
+	* gst-libs/gst/gl/wayland/Makefile.am:
+	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
+	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.h:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+	  gl/wayland: add GstGLDisplayWayland
+	  Simple implementation split from GstGLWindowWayland
+	  Can now have multiple glimagesink elements all displaying output
+	  linked via GL or otherwise (barring GL platform limitations).
+	  The intel driver is racy and can crash setting up the two glimagesink contexts.
+	  e.g.
+	  videotestsrc ! tee name=t ! queue ! glupload ! glimagesinkelement
+	  t. ! queue ! gleffects_blur ! glimagesinkelement
+	  videotestsrc ! glupload ! glfiltercube ! tee name=t ! queue ! glimagesinkelement
+	  t. ! queue ! gleffects_blur ! glimagesinkelement
+
+2015-05-25 17:27:58 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgltransformation.c:
+	  gltransformation: fix DrawElements call for element array buffers
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749734
+
+2015-05-23 01:00:18 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	  gl/calayer: provide the exact GL api version for the wrapped context
+	  Otherwise we could end up being mistaken for the diference between a
+	  gl3 and a gl2 context resulting in a failure getting the list of
+	  extensions from the wrapped context due to the difference between
+	  glGetString and glGetStringi for the GL_EXTENSIONS token.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749728
+
+2015-05-22 02:40:37 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: remove unnecessary semicolon
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749691
+
+2015-05-21 15:30:34 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	  gl: win32: do not call SetParent in release_parent_win_id()
+	  When called from gst_gl_window_win32_close(), internal window
+	  could not exist, and if it does it's going to be destroyed just
+	  after that anyway. Also it causes window_proc() to be called
+	  and crash because it gets a NULL context.
+	  When called from gst_gl_window_win32_set_window_handle() we are
+	  going to set another parent anyway, and it's probably better to
+	  reparent directly instead of passing by a NULL parent which could
+	  cause the internal window to popup briefly.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749601
+
+2015-05-21 15:30:00 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	  gl: win32: remove unused code
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749601
+
+2015-05-20 17:09:21 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	  gl: win32: fix crash when finalizing GstGLContext
+	  gst_gl_context_finalize() is calling gst_gl_window_win32_quit()
+	  which was posting a message. But then window_proc takes window's
+	  context and get a NULL.
+	  Now that we've got a GMainLoop we can do like other backends and
+	  simply call g_main_loop_quit().
+	  This also remove duplicated code to release the parent window and
+	  potential crash there because parent_proc could be NULL if we never
+	  created the internal window. That could happen for example if setting
+	  state to READY then setting a window_handle, and go back to NULL state.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749601
+
+2015-05-20 17:06:42 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	  gl: win32: Fix leaked GstGLContext
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749601
+
+2015-05-20 15:30:49 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	  gl: win32: set the parent window when creating internal window
+	  When _set_window_handle() was called in READY state, it wasn't
+	  set to the internal window created later.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749601
+
+2015-05-20 15:29:50 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst-libs/gst/gl/win32/Makefile.am:
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	* gst-libs/gst/gl/win32/gstglwindow_win32.h:
+	* gst-libs/gst/gl/win32/win32_message_source.c:
+	* gst-libs/gst/gl/win32/win32_message_source.h:
+	  gl: win32: use a GMainContext to dispatch win32 messages
+	  gst_gl_window_win32_send_message_async() could be called before the
+	  internal window is created so we cannot use PostMessage there.
+	  x11 and wayland backends both create a custom GSource for this,
+	  so there is no reason to not do that for win32.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749601
+
+2015-05-22 00:27:36 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: Don't leak all memory uploaded via raw uploads.
+	  Remove an extra ref missed when switching over to not
+	  reusing output textures
+
+2015-05-21 16:24:48 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	* gst/compositor/compositor.c:
+	  compositor/glvideomixer: Don't calculate PAR/DAR with unset GstVideoInfos
+	  Otherwise we divide by zero.
+
+2015-05-21 16:19:08 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: Fix double assignment
+
+2015-05-21 15:05:33 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: require a shader version to initialize.
+	  It's very near pointless to try our GL implementation without shaders.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749284
+
+2015-05-20 02:38:53 +1000  Jan Schmidt <jan@centricular.com>
+
+	* tests/examples/gl/generic/cube/Makefile.am:
+	* tests/examples/gl/generic/cubeyuv/Makefile.am:
+	* tests/examples/gl/generic/doublecube/Makefile.am:
+	  Fix flags order in GL examples for uninstalled build
+
+2015-05-20 01:57:52 +1000  Jan Schmidt <jan@centricular.com>
+
+	* sys/wasapi/Makefile.am:
+	  wasapi: Fix flags order for uninstalled build
+
+2015-05-21 00:56:01 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	* gst/compositor/compositor.c:
+	  compositor/glvideomixer: fix up par handling
+	  We were using the wrong formula
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749634
+
+2015-04-17 15:36:49 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: Consider SEI NALU as "HEADER" packets
+	  Like SPS/PPS they do contain information which will be needed to
+	  decode the following data (as per definition of the flag)
+	  Also ensures that the series of SPS/PPS/SEI NALU before a keyframe
+	  can be considered as one contiguous header
+
+2015-04-17 15:35:43 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst/mpegtsmux/mpegtsmux.c:
+	* gst/mpegtsmux/mpegtsmux.h:
+	  mpegtsmux: Carry over GST_BUFFER_FLAG_HEADER
+	  In the same way we do it for the DELTA_UNIT flag
+	  This allows downstream elements to know whether a given mpeg-ts
+	  packet contains a corresponding HEADER elementary unit
+
+2015-05-20 12:11:31 +0200  Thijs Vermeir <thijs.vermeir@barco.com>
+
+	* ext/x265/gstx265enc.c:
+	  x265enc: Only copy VPS/SPS/PPS NAL units in header buffer
+	  Previously the VPS unit was detected and all next packets where copied
+	  into the header buffer assuming only SPS and PPS would follow.  This is
+	  not always true, also other types of NAL units follow the VPS unit and
+	  where copied to the header buffer. Now the VPS/SPS/PPS are explicitely
+	  detected and copied in the header buffer.
+
+2015-05-20 11:27:25 +0200  Thijs Vermeir <thijs.vermeir@barco.com>
+
+	* ext/x265/gstx265enc.c:
+	  x265enc: Fix tune parameter mismatch
+	  There was a mismatch between the tune parameter in x265 and the enum
+	  used in this element. The value in the enum is the x265 tune
+	  parameter + 1.
+
+2015-05-19 18:02:30 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamcaudiodec.c:
+	* sys/androidmedia/gstamcaudiodec.h:
+	  amcaudiodec: Add an output adapter for chunking the output into codec frames
+	  Otherwise the base class will be confused.
+	  See https://bugzilla.gnome.org/show_bug.cgi?id=685730
+
+2015-05-19 10:43:28 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglframebuffer.c:
+	  gl: fix crash on windows with intel driver
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749430
+
+2015-05-20 00:50:37 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/caopengllayersink.m:
+	  caopengllayersink: static const the indices array
+	  the contents will never change anyway.
+
+2015-05-20 00:28:52 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/caopengllayersink.h:
+	* ext/gl/caopengllayersink.m:
+	  caopengllayersink: correctly use the sync meta across multiple contexts
+	  1. Set the sync point after the (possible) upload has occured
+	  2. Wait in the correct GL context (the draw context)
+	  Note: We don't add the GL sync meta to the input buffer as it's not
+	  writable and a copy would be expensive.
+	  Similar to the change with the same name for glimagesink
+
+2015-05-20 00:28:07 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/caopengllayersink.h:
+	* ext/gl/caopengllayersink.m:
+	  caopengllayersink: update for GL3 element array buffer usage
+	  fixes blank output
+
+2015-05-19 16:22:00 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	  glimagesink: correctly use the sync meta across multiple contexts
+	  1. Set the sync point after the (possible) upload has occured
+	  2. Wait in the correct GL context (the draw context)
+	  Note: We don't add the GL sync meta to the input buffer as it's not
+	  writable and a copy would be expensive.
+
+2015-05-19 16:19:41 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.h:
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	  gl/calayer: provide a current wrapped GstGLContext for callbacks
+	  So that the draw and resize callbacks can get the current GstGLContext.
+
+2015-05-19 16:14:39 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	  glsyncmeta: ensure that the Fence is going to be executed
+	  Otherwise it could stay client side without being submitted to the GL
+	  server resulting in another context waiting on a Fence that will never
+	  become signalled causing a deadlock.
+
+2015-05-19 11:47:23 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: don't reuse output textures for raw data upload
+	  Causes stale textures to be used further down the chain.
+
+2015-05-19 11:11:02 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglframebuffer.c:
+	  glframebuffer: don't clear the framebuffer
+	  Breaks attempting to blend with the destination buffer and should be done
+	  explicitly by the callback anyway.
+
+2015-05-19 11:09:54 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglbasefilter.c:
+	  glbasefilter: track gl_start/stop correctly
+	  Don't start multiple times without calling gl_stop.
+
+2015-05-18 20:16:32 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	* gst/compositor/compositor.c:
+	  Revert "doc: Workaround gtkdoc issue"
+	  This reverts commit ff6c736fe08e01f4320c4b02e811a0b57cf97cc1.
+	  This is fixed by the gtk-doc 1.23 release.
+	  <para> cannot contain <refsect2>:
+	  http://www.docbook.org/tdg/en/html/para.html
+	  http://www.docbook.org/tdg/en/html/refsect2.html
+
+2015-05-14 02:11:50 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/m3u8.c:
+	  hlsdemux: Simplify logic in process_manifest
+	  Simplify logic in process_manifest and remove a TODO item.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749328
+
+2015-05-18 14:12:56 +0900  Vineeth T M <vineeth.tm@samsung.com>
+
+	* ext/opencv/gstcvsmooth.c:
+	* ext/opencv/gstcvsmooth.h:
+	  cvsmooth: rename properties
+	  The properties are named as param1 to param4, which makes very little sense
+	  hence renamed the properties according to what it is doing.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749523
+
+2015-05-18 14:01:59 +0900  Vineeth T M <vineeth.tm@samsung.com>
+
+	* ext/opencv/gstcvsmooth.c:
+	  cvsmooth: Wrong assignment of prop leads to crash
+	  when setting param2 property, it is wrongly being assigned to param1.
+	  This leads to wrong behavior and a crash when param2 is set as 0.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749523
+
+2015-05-18 14:30:19 +0900  Vineeth T M <vineeth.tm@samsung.com>
+
+	* ext/opencv/gstpyramidsegment.c:
+	  pyramidsegment: wrong value of level property
+	  The property level has a minimum value of 0. But when we set the level as 0,
+	  it gets an assertion error. The function icvPyrSegmentation8uC3R returns false
+	  if level is set as 0, since the minimum level cant be 0 and thus results in error.
+	  Hence changing the minimum value to 1.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749525
+
+2015-05-16 23:38:14 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	* gst/compositor/compositor.c:
+	  doc: Workaround gtkdoc issue
+	  With gtkdoc 1.22, the XML generator fails when a itemizedlist is
+	  followed by a refsect2. Workaround the issue by wrapping the
+	  refsect2 into para.
+
+2015-05-06 15:17:24 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: fix buffer timestamp not being in stream time
+	  Timestamps should start at the segment start, rather than 0, so
+	  we need to not subtract the first timestamp. This makes the sink
+	  correctly account for running time when switching PMTs where a
+	  stream starts not quite at zero, causing timing offsets that can
+	  become noticeable and causing dropped frames after a few times.
+
+2015-05-06 15:16:37 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: accumulate previous segment base time
+
+2015-04-24 12:56:02 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/mpegtsdemux/mpegtsbase.c:
+	  tsdemux: fix refcounting when applying a new PMT
+	  A new program object is created to replace an existing one
+	  in the programs hash table, so its refcount needs to match.
+	  With the default of 0 refcount on creation, the next PAT
+	  change will cause that refcount to be both incremented and
+	  decremented (assuming the new PAT references that stream too),
+	  which will cause the program to be destroyed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748412
+
+2015-05-14 16:06:55 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/dtls/gstdtlsdec.c:
+	* ext/dtls/gstdtlsenc.c:
+	* ext/dtls/gstdtlssrtpdec.c:
+	* ext/dtls/gstdtlssrtpenc.c:
+	  dtls: Fix memory leak
+	  Keys were not correctly released when it was get as a property
+	  nor when a second key was received
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749380
+
+2015-05-14 21:21:01 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: free the vertex buffer when done
+	  fixes a memory leak
+
+2015-01-22 18:00:36 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  glcontext/cocoa: implement GL3 core context selection
+
+2015-05-14 18:35:35 +1000  Matthew Waters <matthew@centricular.com>
+
+	* tests/check/libs/gstglcontext.c:
+	  tests/gl: fix typo
+
+2015-05-14 16:42:09 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/effects/gstgleffectblur.c:
+	* ext/gl/effects/gstgleffectbulge.c:
+	* ext/gl/effects/gstgleffectfisheye.c:
+	* ext/gl/effects/gstgleffectglow.c:
+	* ext/gl/effects/gstgleffectlaplacian.c:
+	* ext/gl/effects/gstgleffectlumatocurve.c:
+	* ext/gl/effects/gstgleffectmirror.c:
+	* ext/gl/effects/gstgleffectrgbtocurve.c:
+	* ext/gl/effects/gstgleffectsin.c:
+	* ext/gl/effects/gstgleffectsobel.c:
+	* ext/gl/effects/gstgleffectsquare.c:
+	* ext/gl/effects/gstgleffectsqueeze.c:
+	* ext/gl/effects/gstgleffectstretch.c:
+	* ext/gl/effects/gstgleffecttunnel.c:
+	* ext/gl/effects/gstgleffecttwirl.c:
+	* ext/gl/effects/gstgleffectxray.c:
+	* ext/gl/gltestsrc.c:
+	* ext/gl/gstgldeinterlace.c:
+	* ext/gl/gstgldifferencematte.c:
+	* ext/gl/gstglfilterglass.c:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglmosaic.c:
+	* ext/gl/gstgloverlay.c:
+	* ext/gl/gstglvideomixer.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* tests/check/libs/gstglcontext.c:
+	* tests/check/libs/gstglupload.c:
+	  gl: remove useless gl{En,Dis}able (GL_TEXTURE_*) calls
+	  We are using shaders everywhere and so they are not needed
+
+2015-05-14 15:10:59 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	  glimagesink: cleanup properties
+	  remove unused "display-name"
+	  ensure defaults between the bin/element are the same
+
+2015-05-14 14:56:30 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgleffects.c:
+	  gleffects: only try the GL2 shader init path if we have a GL2 context
+
+2015-05-12 22:04:26 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglshader.c:
+	  glshader: attempt to detect the gles2 inside opengl3 case
+	  This is necessary to use gles2 shaders in a GL 3 core context on
+	  OS X which fails without a proper #version being set on the shaders.
+
+2015-05-12 17:55:43 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglshader.c:
+	  glshader: remove references to gl3 specific shaders
+	  We rely specifically on gles2 shaders being supported by the GL
+	  implementation with GL3 core profile.
+
+2015-05-01 12:04:28 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglfiltercube.c:
+	* ext/gl/gstglfiltercube.h:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* ext/gl/gstgloverlay.c:
+	* ext/gl/gstgloverlay.h:
+	* ext/gl/gstgltransformation.c:
+	* ext/gl/gstgltransformation.h:
+	* ext/gl/gstglvideomixer.c:
+	* ext/gl/gstglvideomixer.h:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  gl: element buffers are part of vao state
+	  Use them as such.  They are also required for GL3 core profile support
+	  with glDrawElements on OS X.
+
+2015-05-07 12:25:10 +0700  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: properly detect (hopefully) the correct ext_rg/arb_rg variant
+	  GL_EXT_texture_rg is only valid for GLES2. GLES3 uses similar wording to
+	  the GL_ARB_texture_rg which requires a sized internal format that the
+	  GL_EXT_texture_rg does not require.
+	  https://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_rg.txt
+	  https://www.opengl.org/registry/specs/ARB/texture_rg.txt
+
+2015-05-14 13:04:21 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst/compositor/compositor.c:
+	  compositor: implement proper par handling
+	  We were previously failing on different input and output par
+
+2015-05-12 13:41:19 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: avoid busy-looping when waiting for new fragment
+	  When all fragments have already been downloaded on a live stream
+	  dashdemux would busy loop as the default implementation of
+	  has_next_fragment would return TRUE. Implement it to correctly
+	  signal if adaptivedemux should wait for the manifest update before
+	  trying to get new fragments.
+
+2015-05-11 14:19:20 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: Improve live stream manifest update repositioning
+	  When updating the manifest the timestamps on it might have changed a little
+	  due to rounding and timescale conversions. If the change makes the timestamp
+	  of the current segment to go up it makes dashdemux reposition to the previous
+	  one causing one extra unnecessary download.
+	  So when repositioning add an extra 10 microseconds to cover for that rounding
+	  issues and increase the chance of falling in the same segment.
+	  Additionally, also improve the time used when the client is already after the
+	  last segment. Instead of using the last segment starting timestamp use the
+	  final timestamp to make it reposition to the next one and not to the one that
+	  has already been downloaded.
+
+2015-05-11 12:30:03 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: add more protection when acessing gptrarray entries
+	  The glib structure doesn't do range checking so we have to do it
+	  ourselves.
+	  Also adds some more debugging messages
+
+2015-05-08 16:58:36 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: remove unused functions
+	  These functions of directly getting and setting segment indexes
+	  are no longer useful as now we need 2 indexes: repeat and segment
+	  index.
+	  The only operations needed are advance_segment, going back to the
+	  first one or seeking for a timestamp.
+
+2015-05-08 16:49:02 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: reuse seeking function to reduce repeated code
+	  Instead of writing a seek routine, just use the mpdparser function.
+	  Also remove function that is not needed anymore
+
+2015-05-08 16:31:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: refactor segment iteration for better performance
+	  Segments are now stored with their repeat counts instead of spanding
+	  them to multiple segments. This caused advancing to the next segment
+	  using a single index to have to iterate over the whole list every time.
+	  This commit addresses this by storing both the segment index as well
+	  as the repeat index and makes advancing to next segment just an
+	  increment of the repeat or the segment index.
+
+2015-05-07 16:30:48 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: improve mpd parsing for repeated segment entries
+	  Use a single segment to represent it internally to avoid using too
+	  much memory. This has the drawback of issuing a linear search to
+	  find the correct segment to play but this can be fixed by using
+	  binary searches or caching the current position and just looking
+	  for the next one.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748369
+
+2015-05-12 12:55:42 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: drop debug message that was wrong
+	  EOS doesn't necessarily mean that no fragment was downloaded
+
+2015-05-12 12:55:17 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: run gst-indent
+	  To allow commiting on this file cleanly
+
+2015-05-11 11:56:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/mpegtsmux/mpegtsmux.c:
+	  mpegtsmux: the parent is provided in the function
+	  No need to get it again
+
+2015-05-13 15:59:48 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/dtls/gstdtlsenc.c:
+	  dtlsenc: Fix memory leak releasing connection_id
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749318
+
+2015-05-13 15:33:49 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/dtls/gstdtlsenc.c:
+	  dtlsenc: Fix memory leak while setting connection-id
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749318
+
+2015-05-13 17:15:57 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/dtls/gstdtlsdec.c:
+	  dtlsdec: Fix memory leak, release previous pem
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749322
+
+2015-05-13 16:06:52 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/dtls/gstdtlsdec.c:
+	  dtlsdec: Fix memory leak on dispose
+	  Parent dispose function was not called
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749322
+
+2015-05-13 17:19:25 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/dtls/gstdtlsconnection.c:
+	  dtlsconnection: Fix memory leak while setting closure
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749325
+
+2015-05-13 16:23:26 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* configure.ac:
+	  fix faad2 version check
+	  On fedora 22, the output of cpp inserts extra debug comments, which
+	  makes our regexp for the faad2 version check fail. This in turn causes
+	  it to compile with the wrong arguments passed which then causes stack
+	  corruption and crashes.
+	  Fix this by only checking for the version (which should be by itself on
+	  a single line). This is potentially less safe, it might be possible that
+	  a similar string would appear in a later version in the header file.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=748571
+
+2015-05-13 23:55:28 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: propagate the version/extension failure upwards
+	  Otherwise the calling code has no idea that the context failed to
+	  be created fully.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749284
+
+2015-05-13 23:54:52 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglbasemixer.c:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglbasefilter.c:
+	  gl: don't deadlock on context creation failure
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749284
+
+2015-05-13 15:42:15 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglmixerbin.c:
+	  glmixerbin: Don't unref pad templates
+	  Otherwise we unref the reference that is owned by the element class.
+
+2015-05-13 12:31:44 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/srtp/gstsrtpenc.c:
+	  srtpenc: fix failure return values from create_session()
+	  create_session() returns an err_status_t with
+	  err_status_ok=0 and err_status_fail=1, so
+	  returning TRUE/FALSE is not quite right.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749304
+
+2015-05-13 13:14:14 +0200  Miguel París Díaz <mparisdiaz@gmail.com>
+
+	* ext/srtp/gstsrtpenc.c:
+	  srtpenc: fix over unlocking
+	  Called should call function with lock, and is
+	  also responsible for unlocking it later.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749304
+
+2015-05-12 15:47:33 +0800  Lyon Wang <lyon.wang@freescale.com>
+
+	* gst/videoparsers/h263parse.c:
+	  h263parse: fix custom picture format (CPFMT) parsing
+	  In the H263 spec, CPFMT is present only if the use of a custom
+	  picture format is signalled in PLUSEPTYPE and UFEP is "001",
+	  so we need to check params->format and only if the value is
+	  6 (custom source format) the CPFMT should be read, otherwise
+	  it's not present and wrong data will be parsed.
+	  When reading the CPFMT, the width and height were not
+	  calculated correctly (wrong bitmask).
+	  https://bugzilla.gnome.org//show_bug.cgi?id=749253
+
+2015-05-13 17:38:35 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst/compositor/compositor.c:
+	* tests/check/elements/compositor.c:
+	  compositor: fix rectangle obscure test to clamp against the output frame size
+	  Rather than one of the input pad video info's.
+	  The test checking this was not constraining the output frame size
+	  to ensure that the out of frame stream was not being displayed.
+
+2015-05-13 17:11:55 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	  glvideomixer: implement par handling
+	  We were previously ignoring it completely
+
+2015-05-13 17:10:42 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	  glvideomixer: don't upload the vertex data every frame
+	  Add the missing cache tracking statement.
+
+2015-05-12 16:36:58 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* ext/gl/gstgluploadelement.c:
+	  gluploadelement: Remove uneeded header and defines
+
+2015-05-11 15:02:02 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/gl/gstgltestsrc.c:
+	  gltestsrc: Use default get_caps implementation
+	  The custom code is wrong as it ignores the templates, which leads to
+	  missing fields in the result. Instead, simply use the default get_caps
+	  implementation which does it correctly (get the template, intersect
+	  with filter and return).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749237
+
+2015-05-11 15:54:52 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: Implement GstVideoAggregator::find_best_format()
+	  Without this, we will fixate weird pixel-aspect-ratios like 1/2147483647. But
+	  in the end, all the negotiation code in videoaggregator needs a big cleanup
+	  and videoaggregator needs to get rid of the software-mixer specific things
+	  everywhere.
+
+2015-05-11 22:53:09 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstopengl.c:
+	  gl: demote upload/convert/download elements to none
+	  Copy paste error
+
+2015-05-11 22:37:44 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstopengl.c:
+	  gl: expose internal glvideomixerelement\
+	  We might want more control over the exact pipeline
+	  Also reduces overhead
+
+2015-05-11 22:35:18 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstopengl.c:
+	  gl: expose internal glimagesinkelement
+	  We might want more control over the exact pipeline.
+	  Also reduces overhead.
+
+2015-05-07 21:18:27 +0200  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: fix unconditional buffer queue unlock
+	  Unless stopRequest is set, we should unlock conditionally -- otherwise,
+	  the 'create:' method can wake up to an empty buffer queue
+	  and pull a nil buffer.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748054
+
+2015-05-11 12:18:28 +0200  Heinrich Fink <hfink@toolsonair.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	  decklink: Rename mode 2048p to 1556p
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749218
+
+2015-05-11 12:04:47 +0200  Heinrich Fink <hfink@toolsonair.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	  decklink: Use correct frame rate for mode 2160p50
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749218
+
+2015-05-11 12:02:47 +0200  Heinrich Fink <hfink@toolsonair.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	  decklink: Rename mode 3184p to 2160p
+	  https://bugzilla.gnome.org/show_bug.cgi?id=749218
+
+2015-01-22 15:43:22 +0100  Piotr Drąg <piotrdrag@gmail.com>
+
+	* po/POTFILES.in:
+	* po/POTFILES.skip:
+	  po: update POTFILES.skip and POTFILES.in
+	  The ones in .skip need to be added back to POTFILES.in
+	  after porting to 1.x.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743352
+
+2015-05-08 14:20:44 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/removesilence/gstremovesilence.c:
+	  removesilence: remove gst_remove_silence_reset()
+	  No need to call gst_remove_silence_reset() in gst_remove_silence_init() because
+	  vad_new() already calls this function. Since there are no more uses of
+	  _silence_reset(), we can remove it altogether.
+
+2015-05-08 14:55:28 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: We shouldn't manually check reconfigure flag on pads but instead implement ::negotiate()
+	  Add FIXME comment related to that.
+
+2015-05-08 13:54:06 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/asfmux/gstasfmux.c:
+	* gst/debugutils/fpsdisplaysink.c:
+	* gst/mxf/mxfdv-dif.c:
+	* gst/mxf/mxfmux.c:
+	* gst/videomeasure/gstvideomeasure_ssim.c:
+	* gst/videoparsers/gsth264parse.c:
+	* gst/videoparsers/gsth265parse.c:
+	  Update references to decodebin
+	  Update old references for decodebin2 to decodebin.
+
+2015-05-08 13:49:38 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/removesilence/gstremovesilence.c:
+	  removesilence: update example launch line
+
+2015-05-07 21:04:30 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlssrtpdec.c:
+	* ext/dtls/gstdtlssrtpdec.h:
+	  dtlssrtpdec: Don't merge RTP and RTCP streams that were just split by srtpdec
+	  The funnel has some overhead, and later rtpbin will have to split both streams
+	  again anyway.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748723
+
+2015-05-06 15:47:27 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  Revert "Revert "glimagesink: add pixel-aspect-ratio property on the bin""
+	  This reverts commit d96e43b034a03fe54633907bc1bf2a26fe5f95fb.
+
+2015-05-06 15:47:20 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  Revert "Revert "glimagesink: forward ALL the properties on the bin""
+	  This reverts commit 59fb0f830f08e3e59f87f83df8fa3c2d9f3d9741.
+
+2015-05-06 15:47:04 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* ext/gl/gstopengl.c:
+	  Revert "Revert "glimagesink: implement as a bin""
+	  This reverts commit be938f92d94e8acccf593128281f6e09213600a0.
+
+2015-05-06 15:46:49 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglcolorconvertelement.c:
+	* ext/gl/gstglcolorconvertelement.h:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixer.h:
+	* ext/gl/gstglmosaic.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	  Revert "gl: readd glupload/download onto element pads"
+	  This reverts commit 87d8270f302b03f63ce04f986d824892a2c131fd.
+
+2015-05-06 15:43:32 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	* ext/gl/gstglvideomixer.h:
+	* ext/gl/gstopengl.c:
+	  Revert "Revert "glvideomixer: implement with glmixerbin""
+	  This reverts commit b4bd11f2f3a60224d188b27ab55b278077cb1217.
+
+2015-05-06 12:59:33 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/srtp/gstsrtpdec.c:
+	  srtpdec: Actually set the caps on the srcpad instead of just calling the default event handler for the sinkpad
+	  Fixes up dafa11b9d21d06a0273007628a2a0bb4d7858658
+
+2015-04-29 18:23:31 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: only update stream position if query success
+	  We don't need to check about the query fail case.
+	  because it is update to segment position even though query fail.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748529
+
+2015-05-05 12:45:24 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  decklink: Disable decklink plugin on Android
+
+2015-05-05 14:44:25 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	  glsyncmeta: fixup size declaration
+
+2015-05-04 23:42:36 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: handle the local_context query
+	  so that upstream elements can get the GL context from glimagesink
+
+2015-05-03 14:56:05 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* sys/androidmedia/gstamc-constants.h:
+	* sys/androidmedia/gstamc.c:
+	  androidmedia: Add suport for COLOR_FormatYV12
+	  Reference: http://developer.android.com/reference/android/graphics/ImageFormat.html#YV12
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747126
+
+2015-04-30 11:44:06 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* sys/androidmedia/gstamc-constants.h:
+	  androidmedia: Declare QOMX_COLOR_FORMATYVU420PackedSemiPlanar32mMultiView constant
+	  This color format is the same as QOMX_COLOR_FORMATYUV420PackedSemiPlanar32m
+	  but stores two images one after the other in a top-bottom layout.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747126
+
+2015-05-04 11:23:16 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstrtpopusdepay.c:
+	  opusdepay: Set multistream=FALSE on the Opus caps
+	  The RTP Opus mapping only allows mono/stereo, and not multistream Opus
+	  streams.
+
+2015-05-04 10:35:55 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/opus/gstopusheader.c:
+	  opusheader: Do not include rate in caps if it is 0
+	  As expressed in gst_opus_header_create_caps, value 0 means unset.
+	  Setting rate value to 0 make negotiation with decoder fail.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748875
+
+2015-05-04 08:06:35 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* sys/androidmedia/gstamc.c:
+	  androidmedia: Fix slice-height for Tegra 3 devices
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748867
+
+2015-03-13 16:07:15 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* sys/androidmedia/gstamc-constants.h:
+	* sys/androidmedia/gstamc.c:
+	  androidmedia: Add support for COLOR_FormatYUV420Flexible
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747126
+
+2015-03-25 17:43:59 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* sys/androidmedia/gstamc-constants.h:
+	* sys/androidmedia/gstamc.c:
+	  androidmedia: Add suport for Intel color formats
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747126
+
+2015-05-02 18:06:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: Fix profile and level setting in caps
+	  Don't use the apis in codec-utils to extract the profile and level
+	  syntax elements since it is wrong if there are emulation prevention
+	  bytes existing in the byte-stream data.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747613
+
+2015-05-03 23:08:15 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglcolorconvert.h:
+	  glcolorconvert: Improve passthrough check when no conversion is needed.
+	  Make the passthrough check contingent on only the fields we
+	  can modify being unchanged, and pre-compute it when caps
+	  change instead of checking on each buffer. Makes the passthrough
+	  more lenient if consumers are lax about making input and output
+	  caps complete.
+
+2015-05-01 19:39:58 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: handle when source creation fail
+	  Remember to set the source to NULL state as adding it to the pipeline
+	  will set it to the READY state.
+
+2015-05-01 19:31:45 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: fix element linking order
+	  Video source should be linked to videocrop and not to
+	  videoconvert as it is done in the main linking path
+
+2015-03-13 06:10:52 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/elements/compositor.c:
+	  tests: Add a check for the new compositor pad-is-obscured optimization
+	  We verify that all the buffers on an obscured sinkpad are skipped by overriding
+	  the map() function in the GstVideoMeta of the buffers to set a variable when
+	  called. We also test that the buffers do get mapped when they're not obscured.
+	  Blame^WCredit for the GstVideoMeta map() idea goes to Tim.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746147
+
+2015-04-18 15:10:00 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: Only map the frame from a buffer if it will be used
+	  It's a waste of resources to map it if it won't be converted
+	  or used at all. Since we moved the frame mapping down, we need
+	  to use the GST_VIDEO_INFO accessor macros now in the code above
+	  that instead of the GST_VIDEO_FRAME accessor macros.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746147
+
+2015-04-18 15:09:02 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: use accessor macros for consistency
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746147
+
+2015-04-18 15:09:02 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: Skip pads that are completely obscured by a higher zorder pad
+	  For each frame, compare the frame boundaries, check if the format contains an
+	  alpha channel, check opacity, and skip the frame if it's going to be completely
+	  overwritten by a higher zorder frame. The check is O(n^2), but that doesn't
+	  matter here because the number of sinkpads is small.
+	  More can be done to avoid needless drawing, but this covers the majority of
+	  cases. See TODOs. Ideally, a reverse painter's algorithm should be used for
+	  optimal drawing, but memcpy during compositing is small compared to the CPU used
+	  for frame conversion on each pad.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746147
+
+2015-04-30 19:08:25 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst/videoparsers/gsth265parse.c:
+	  h265parse: Fix source caps to report cropped dimensions
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747613
+
+2015-04-10 15:34:40 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst/videoparsers/gsth265parse.c:
+	  h265parse: Fix the memory freeing of stored VPS nals
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747613
+
+2015-04-30 18:36:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst/videoparsers/gsth265parse.c:
+	  h265parse: Fix profile, tier and level setting in caps
+	  Don't use the apis in codec-utils to extract the profile,tier and level
+	  syntax elements since it is wrong if there are emulation prevention
+	  bytes existing in the byte-stream data.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747613
+
+2015-04-17 15:15:33 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	  codecparser: h265: Fix nal unit size checking
+	  The EOS and EOB nals have the size 2 which is the size of
+	  nal unit header itself. The gst_h265_parser_identify_nalu()
+	  is not required to scan start code again in this case.
+	  In other cases, for a valid nalunit the minimum required size
+	  is 3 bytes (2 byte header and at least 1 byte RBSP payload)
+
+2015-04-17 15:03:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	* gst-libs/gst/codecparsers/gsth265parser.h:
+	  codecparser: h265: Calculate crop rectangle dimensions
+
+2015-04-17 15:01:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	* gst-libs/gst/codecparsers/gsth265parser.h:
+	  codecparser: h265: Fix parsing multiple SEI messages in a single SEI Nal
+	  An SEI Nal can have more than one SEI message.
+	  Change in API: the gst_h265_parser_parse_sei()
+
+2015-04-30 21:32:29 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/srtp/gstsrtpdec.c:
+	  srtpdec: Make sure to send caps events downstream before any segment events
+	  Upstream might not give us a caps event (dtlssrtpdec) because it might be an
+	  RTP/RTCP mixed stream, but we split the two streams anyway and should report
+	  proper caps downstream if possible.
+	  Fixes "sticky event misordering" warnings with dtlssrtpdec.
+
+2015-04-30 10:50:19 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/rtjpeg/gstrtjpegdec.c:
+	* gst/rtjpeg/gstrtjpegenc.c:
+	  rtjpeg: remove unused quality property
+
+2015-04-30 11:15:40 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglcolorconvertelement.c:
+	* ext/gl/gstglcolorconvertelement.h:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixer.h:
+	* ext/gl/gstglmosaic.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	  gl: readd glupload/download onto element pads
+	  Allows insertion of gl elements into non-gl pipelines without converter
+	  (upload/download) elements.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743974
+
+2015-04-29 22:55:00 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	* ext/gl/gstglvideomixer.h:
+	* ext/gl/gstopengl.c:
+	  Revert "glvideomixer: implement with glmixerbin"
+	  This reverts commit 0fb56738a14391f248aa0be8756adeaf978baa0c.
+
+2015-04-29 22:38:00 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* ext/gl/gstopengl.c:
+	  Revert "glimagesink: implement as a bin"
+	  This reverts commit 8a0017e21d5f9a8507f0593c6b24f723aa415258.
+
+2015-04-29 22:32:33 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  Revert "glimagesink: forward ALL the properties on the bin"
+	  This reverts commit 4be45e5f30dc6121f2769323603447f591ca4a0a.
+
+2015-04-29 22:32:20 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  Revert "glimagesink: add pixel-aspect-ratio property on the bin"
+	  This reverts commit 2ba6bb9b9325b63f58a9ff0b2c82fa28759dcabc.
+
+2015-04-29 09:57:52 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+	* sys/winks/gstksvideodevice.c:
+	* sys/winks/gstksvideodevice.h:
+	* sys/winks/gstksvideosrc.c:
+	  ksvideosrc: don't timestamp buffers for muxed streams
+
+2015-04-29 21:37:56 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+	* sys/winks/gstksvideodevice.c:
+	  ksvideosrc: fix header size for muxed streams
+
+2015-04-29 19:39:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	  codecparser: h265: Fix the number of tile rows/columns parsing
+	  The possible minimum value for num_tile_columns_minus1 and num_tile_rows_minus1
+	  is zero (7.4.3.3).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748641
+
+2015-04-29 17:20:58 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mixmatrix/mixmatrix.c:
+	  mixmatrix: remove unused property enum items
+	  These two properties have been there since the origin of the element but they
+	  aren't used. Removing them.
+
+2015-04-29 15:41:07 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Fix comparision logic
+	  We can't answer the SEEKING query if we do *not* have the manifest
+
+2015-04-29 10:56:24 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst/aiff/Makefile.am:
+	  aiff: Re-add noinst_HEADERS instruction
+	  Was removed in the previous android cleanup commit
+
+2015-04-28 21:43:56 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
+
+	* sys/winks/Makefile.am:
+	* sys/winks/gstksclock.c:
+	* sys/winks/gstksvideosrc.c:
+	* sys/winks/ksdeviceprovider.c:
+	* sys/winks/ksdeviceprovider.h:
+	* sys/winks/kshelpers.c:
+	* sys/winks/kshelpers.h:
+	  GstDeviceProvider implementation for WIN Kernel Streaming plugin
+	  gst_ks_device_provider_probe() is a no-braier, just runs ks_enumerate_devices()
+	  and reports the results.
+	  Monitoring is a bit more tricky. We have to create a dummy message-processing
+	  window and register device change notifications for it.
+	  As kernel streaming can (and should) be used for audio capture and audio
+	  playback, this change also has certain placeholders for such.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747757
+
+2015-04-29 02:30:05 +1000  Jan Schmidt <jan@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	  glimagesink: Cache caps for passing to the client draw call
+	  Don't convert the GstVideoInfo to caps on every draw call,
+	  just cache the caps and pass them into the GstSample.
+
+2015-04-29 02:20:09 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: Make upload method static caps non-const.
+	  Retrieving a GstStaticCaps does a one time internal
+	  initialisation and caches it - they can't be stored as
+	  const structures.
+
+2015-04-28 17:24:04 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/opus/gstopusdec.h:
+	* ext/opus/gstopusenc.c:
+	* ext/opus/gstopusenc.h:
+	* ext/opus/gstopusparse.c:
+	  opus: fix includes and compilation against opus in non-standard prefix
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748594
+
+2015-04-28 16:58:21 +0200  Mersad Jelacic <mersad@axis.com>
+
+	* ext/opus/gstopusdec.c:
+	* ext/opus/gstopusenc.c:
+	  opus: don't use deprecated gst_buffer_new_and_alloc
+	  Use the helper function available in the base class instead.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748585
+
+2015-04-28 16:06:47 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/libde265/libde265-dec.c:
+	  de265dec: use g_get_num_processors() if available
+	  And provide home-made fallback for older GLib versions,
+	  so that we can later find these and remove them when
+	  we bump the GLib requirement (which is certainly going
+	  to happen before 2.0).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748495
+
+2015-04-28 16:02:27 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/debugutils/fpsdisplaysink.c:
+	* gst/inter/gstintertest.c:
+	* gst/liveadder/liveadder.c:
+	  gst: remove some unnecessary glib version checks
+	  We require 2.32, no need to check for anything older
+	  than that.
+
+2015-04-28 11:28:39 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* gst/mxf/mxfmetadata.c:
+	  mxf: fix descriptor leak
+	  Free the existing descriptor array, if any, before replacing it.
+	  Fix leaks with the
+	  validate.file.playback.scrub_forward_seeking.test-mpeg2-mp3_mxf scenario.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748580
+
+2015-04-28 10:13:35 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: fix taglist leak
+	  If the stream which is about to be removed still has a ref on a tag list we
+	  should drop it.
+	  Fix a leak which was occasionally happening with the
+	  validate.file.playback.change_state_intensive.tron_en_ge_aac_h264_ts scenario.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748576
+
+2015-04-27 22:44:28 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	  mpegtspacketizer: fix find_subtable() return value
+	  find_subtable() returns a pointer, so return NULL and
+	  not FALSE when nothing is found.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748527
+
+2015-04-28 14:52:36 +0200  Edward Hervey <edward@centricular.com>
+
+	* win32/common/libgstcodecparsers.def:
+	  win32: update defs
+
+2015-04-28 20:46:52 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: remove uneeded unref
+	  The call to _gl_mem_alloc_data will unref and NULLify 'dest' for us.
+	  We just need to return.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744246
+
+2015-04-28 09:37:59 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Use gst_pad_get_pad_template_caps in ::get_caps()
+
+2015-04-28 20:11:07 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglfilterbin.c:
+	* ext/gl/gstglmixerbin.c:
+	* ext/gl/gstglsinkbin.c:
+	* ext/gl/gstgluploadelement.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	* gst-libs/gst/gl/gstglupload.c:
+	* gst-libs/gst/gl/gstglupload.h:
+	  glupload: provide the sink template caps that could be used
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746399
+
+2015-04-27 19:28:57 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/examples/camerabin2/gst-camera2.c:
+	* tests/examples/camerabin2/gst-camera2.h:
+	* tests/examples/camerabin2/gst-camera2.ui:
+	  examples: gst-camera: add zoom property to UI
+	  Add a slider to modify the zoom in camerabin
+
+2015-04-27 18:33:37 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/examples/camerabin2/gst-camera2.ui:
+	  examples: gst-camera: remove widgets deprecated in GTK3.0
+	  VBox and HBox are now simply Box
+
+2015-04-27 15:41:04 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/examples/camerabin2/Makefile.am:
+	* tests/examples/camerabin2/gst-camera2.c:
+	* tests/examples/camerabin2/gst-camera2.ui:
+	  examples: gst-camera: update to GTK3
+	  When opening the .ui file it complains about being for GTK 2 and
+	  automatically updates it to GTK3. Commit this version and update
+	  the makefile
+
+2015-04-27 13:41:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: remove unused code
+	  The structure is created and never used anymore. Remove it.
+
+2015-04-27 13:24:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	* gst/camerabin2/gstwrappercamerabinsrc.h:
+	  wrappercamerabinsrc: use digitalzoom element
+	  Replace videocrop ! videoscale ! capsfilter with the digitalzoom
+	  bin that has the same pipeline internally and already updates
+	  the capsfilter automatically when caps change, removing this code
+	  from wrappercamerabinsrc and making it cleaner.
+
+2015-04-27 21:14:02 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstdigitalzoom.c:
+	  digitalzoom: change videocrop parameters before passing caps event
+	  Avoids one extra uneeded renegotiation if the elements are already
+	  configured to their final property values when the caps event
+	  goes through.
+	  Also avoids hitting bug https://bugzilla.gnome.org/show_bug.cgi?id=748344
+
+2015-04-22 13:06:30 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstdigitalzoom.c:
+	  digitalzoom: also skip internal pipeline in upstream caps query
+	  To avoid going through our capsfilter which would limit the choices.
+
+2015-04-22 13:05:42 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstdigitalzoom.c:
+	  digitalzoom: prevent assertion when caps is any
+
+2015-04-21 23:10:05 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/Makefile.am:
+	* gst/camerabin2/gstdigitalzoom.c:
+	* gst/camerabin2/gstdigitalzoom.h:
+	  camerabin: digitalzoom: create a bin element for digital zooming
+	  It contains videocrop ! videoscale ! capsfilter and implements digital
+	  zooming.
+	  At this moment, it is a private element of the camerabin plugin.
+	  This will remove some code used in wrappercamerabinsrc to make
+	  code clearer and digitalzoom can potentially be used by other
+	  applications in the future, it has nothing camerabin specific.
+
+2015-04-27 10:11:41 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	  egl: Use maximum bits per color instead of minimum
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748425
+
+2015-04-26 20:55:03 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
+
+	* ext/libde265/libde265-dec.c:
+	  libde265: W32 thread count support
+	  This code is imported from GLib g_get_num_processors(). This function
+	  was added in 2.36 but we depend on 2.32.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748495
+
+2015-04-26 21:00:06 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
+
+	* ext/libde265/libde265-dec.c:
+	  libde265: Fix format string for gsize
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748496
+
+2015-04-26 21:03:45 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
+
+	* ext/spandsp/gstspanplc.c:
+	  spandsp: Don't use the private field 'missing_samples'
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748497
+
+2015-04-27 14:56:06 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	  mpegdemux: remove unused property enum item
+	  The property enum item has been there since the origin of the element but it
+	  has never been used. Removing it.
+
+2015-04-27 14:49:59 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/gl/gstglfiltercube.c:
+	  glfiltercube: Don't initialize multiple shaders on renegotiation
+
+2015-04-27 10:55:13 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/adpcmenc/adpcmenc.c:
+	* gst/festival/gstfestival.c:
+	* gst/games/gstpuzzle.c:
+	* gst/id3tag/gstid3mux.c:
+	* gst/librfb/gstrfbsrc.c:
+	* gst/mixmatrix/mixmatrix.c:
+	* gst/mpeg1sys/gstmpeg1systemencode.c:
+	* gst/mpegdemux/gstmpegdemux.c:
+	* gst/mpegtsdemux/tsdemux.c:
+	* gst/mpegtsmux/mpegtsmux.c:
+	* gst/mve/gstmvemux.c:
+	* gst/onvif/gstrtponviftimestamp.c:
+	* gst/overlay/gstoverlay.c:
+	* gst/rtjpeg/gstrtjpegdec.c:
+	* gst/rtjpeg/gstrtjpegenc.c:
+	* gst/speed/gstspeed.c:
+	* gst/stereo/gststereo.c:
+	* gst/subenc/gstsrtenc.c:
+	* gst/subenc/gstwebvttenc.c:
+	* gst/tta/gstttadec.c:
+	* gst/vbidec/gstvbidec.c:
+	* gst/vmnc/vmncdec.c:
+	  Rename property enums from ARG_ to PROP_
+	  Property enum items should be named PROP_ for consistency and readability.
+
+2015-04-27 10:24:00 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Remove unused stop function
+
+2015-04-27 16:04:50 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: unref the pool in the correct place
+	  Otherwise we could hold a pool to a context that is never going to be used.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748405
+
+2015-04-27 10:01:53 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/gl/gstgltransformation.c:
+	  gltransformation: Unref shader in ::stop()
+
+2015-04-27 15:20:56 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglbasemixer.c:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglbasefilter.c:
+	  gl: unref display/other-context in the correct place
+	  Otherwise state changes from PLAYING->READY->PAUSED will cause there to
+	  to be no display configured on the element.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748405
+
+2015-04-10 14:08:43 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	* gst-libs/gst/codecparsers/gsth265parser.h:
+	  codecparsers: h265: add helpers to convert quantization matrices
+	  Add utility functions to convert quantization matrices from zig-zag scan
+	  order into raster scan order and vice-versa
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747613
+
+2015-04-10 14:07:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	  codecparser: h265: skip byte alignment bits while parsing slice header
+	  Skip the byte alignment bits as per the logic of byte_alignment()
+	  provided in hevc specification. This will fix the calculation of
+	  slice header size.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747613
+
+2015-04-10 14:07:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	  codecparser: h265: Fix the NumDeltaPocs calculation
+	  Always use the equation provided in spec (7-57) for finding
+	  the NumDeltaPocs
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747613
+
+2015-04-10 14:04:17 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	  codecparser: h265: Fix the NumPocTotalCurr calculation
+	  The NumPocToalCurr should be calculated for all B and P slices.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747613
+
+2015-04-10 13:59:50 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	  codecparser: h265: Fix nal size calculation for EOS and EOB
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747613
+
+2015-04-26 21:42:03 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglbumper.c:
+	* ext/gl/gstglcolorscale.c:
+	* ext/gl/gstgldeinterlace.c:
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstglfiltercube.c:
+	* ext/gl/gstglfilterglass.c:
+	* ext/gl/gstglfiltershader.c:
+	* ext/gl/gstgloverlay.c:
+	* ext/gl/gstgltransformation.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  glfilter: De-camelcase onInitFBO() vfunc
+
+2015-04-26 21:39:06 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglcolorscale.c:
+	* ext/gl/gstgldeinterlace.c:
+	* ext/gl/gstgldifferencematte.c:
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstglfiltercube.c:
+	* ext/gl/gstglfilterglass.c:
+	* ext/gl/gstglfiltershader.c:
+	* ext/gl/gstgloverlay.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  glfilter: Remove onStart/onStop vfuncs, and unused onReset()
+	  onStart/onStop are just duplicates of the basetransform ones, onReset
+	  was never called but was used everywhere when stop should've been used.
+
+2015-04-21 09:43:58 +0200  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>
+
+	* ext/gl/gstgltransformation.c:
+	  gltransformation: don't initialize multiple shaders on renegotiation
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748407
+	  * delete shader if one exists
+	  * set it to NULL after unrefing
+
+2015-04-26 21:11:17 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglcolorconvertelement.c:
+	  glcolorconvert: Fix compiler warning
+	  gstglcolorconvertelement.c:230:19: error: unused variable 'in_structure'
+	  [-Werror,-Wunused-variable]
+	  GstStructure *in_structure = gst_caps_get_structure (caps, 0);
+	  ^
+
+2015-04-15 01:24:45 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: drop frames we get before we have a clock
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748054
+
+2015-04-26 20:33:41 +0200  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglbasefilter.c:
+	  glbasefilter: Unref other context in finalize, and display in READY->NULL
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748405
+
+2015-04-19 19:16:55 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/gl/gstglcolorconvertelement.c:
+	  glcolorconvert: Keep colorimetry and chroma-site fields if passthrough
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748141
+
+2015-04-26 18:04:16 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* Android.mk:
+	* ext/faac/Makefile.am:
+	* ext/faad/Makefile.am:
+	* ext/hls/Makefile.am:
+	* ext/mpg123/Makefile.am:
+	* ext/smoothstreaming/Makefile.am:
+	* ext/x265/Makefile.am:
+	* gst-libs/gst/adaptivedemux/Makefile.am:
+	* gst-libs/gst/basecamerabinsrc/Makefile.am:
+	* gst-libs/gst/codecparsers/Makefile.am:
+	* gst-libs/gst/insertbin/Makefile.am:
+	* gst-libs/gst/interfaces/Makefile.am:
+	* gst-libs/gst/mpegts/Makefile.am:
+	* gst-libs/gst/uridownloader/Makefile.am:
+	* gst/adpcmdec/Makefile.am:
+	* gst/adpcmenc/Makefile.am:
+	* gst/aiff/Makefile.am:
+	* gst/asfmux/Makefile.am:
+	* gst/audiobuffer/Makefile.am:
+	* gst/audiofxbad/Makefile.am:
+	* gst/audiovisualizers/Makefile.am:
+	* gst/autoconvert/Makefile.am:
+	* gst/bayer/Makefile.am:
+	* gst/camerabin2/Makefile.am:
+	* gst/cdxaparse/Makefile.am:
+	* gst/coloreffects/Makefile.am:
+	* gst/dataurisrc/Makefile.am:
+	* gst/debugutils/Makefile.am:
+	* gst/dvbsuboverlay/Makefile.am:
+	* gst/dvdspu/Makefile.am:
+	* gst/festival/Makefile.am:
+	* gst/freeverb/Makefile.am:
+	* gst/frei0r/Makefile.am:
+	* gst/gaudieffects/Makefile.am:
+	* gst/gdp/Makefile.am:
+	* gst/geometrictransform/Makefile.am:
+	* gst/hdvparse/Makefile.am:
+	* gst/id3tag/Makefile.am:
+	* gst/inter/Makefile.am:
+	* gst/interlace/Makefile.am:
+	* gst/ivfparse/Makefile.am:
+	* gst/ivtc/Makefile.am:
+	* gst/jp2kdecimator/Makefile.am:
+	* gst/jpegformat/Makefile.am:
+	* gst/librfb/Makefile.am:
+	* gst/liveadder/Makefile.am:
+	* gst/midi/Makefile.am:
+	* gst/mpegdemux/Makefile.am:
+	* gst/mpegpsmux/Makefile.am:
+	* gst/mpegtsdemux/Makefile.am:
+	* gst/mve/Makefile.am:
+	* gst/mxf/Makefile.am:
+	* gst/nuvdemux/Makefile.am:
+	* gst/onvif/Makefile.am:
+	* gst/patchdetect/Makefile.am:
+	* gst/pcapparse/Makefile.am:
+	* gst/pnm/Makefile.am:
+	* gst/rawparse/Makefile.am:
+	* gst/rtp/Makefile.am:
+	* gst/sdi/Makefile.am:
+	* gst/sdp/Makefile.am:
+	* gst/segmentclip/Makefile.am:
+	* gst/siren/Makefile.am:
+	* gst/smooth/Makefile.am:
+	* gst/speed/Makefile.am:
+	* gst/stereo/Makefile.am:
+	* gst/subenc/Makefile.am:
+	* gst/tta/Makefile.am:
+	* gst/videofilters/Makefile.am:
+	* gst/videomeasure/Makefile.am:
+	* gst/videoparsers/Makefile.am:
+	* gst/videosignal/Makefile.am:
+	* gst/vmnc/Makefile.am:
+	* gst/y4m/Makefile.am:
+	* gst/yadif/Makefile.am:
+	* sys/androidmedia/Makefile.am:
+	  Remove obsolete Android build cruft
+	  This is not needed any longer.
+
+2015-04-19 00:55:50 +0900  Yujin Lee <saddopop@gmail.com>
+
+	* sys/applemedia/plugin.m:
+	  vtdec: fix build error with clang
+	  This commit fixes a simple build error by clang with
+	  by clang with [-Werror,-Wtautological-pointer-compare] options.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748110
+
+2015-04-26 19:08:00 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Only answer the duration query in non-live mode
+
+2015-04-25 18:50:52 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/audiovisualizers/gstdrawhelpers.h:
+	* gst/audiovisualizers/gstspacescope.c:
+	* gst/audiovisualizers/gstspacescope.h:
+	* gst/audiovisualizers/gstspectrascope.c:
+	* gst/audiovisualizers/gstspectrascope.h:
+	* gst/audiovisualizers/gstsynaescope.c:
+	* gst/audiovisualizers/gstsynaescope.h:
+	* gst/audiovisualizers/gstwavescope.c:
+	* gst/audiovisualizers/gstwavescope.h:
+	* gst/audiovisualizers/plugin.c:
+	  audiovisualizer: fix the license from GPL to LGPL
+	  This was a copy'n'paste buf in the initial commit done by myself.
+
+2015-04-25 18:46:41 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	* gst/audiovisualizers/gstaudiovisualizer.h:
+	  audiovisualizer: fix the license from GPL to LGPL
+	  This was a copy'n'paste buf in the initial commit done by myself.
+
+2015-04-25 13:38:08 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/examples/opencv/Makefile.am:
+	* tests/examples/opencv/gst_element_print_properties.c:
+	* tests/examples/opencv/gst_element_print_properties.h:
+	* tests/examples/opencv/gstmotioncells_dynamic_test.c:
+	* tests/examples/opencv/gstmotioncells_dynamic_test.h:
+	  examples: motioncells: remove GPL3 code we don't need
+	  If 95% of the code of an example app consists of GObject
+	  code, maybe that's defeating the point a little. So just
+	  remove a lot of that and trim down the example to the
+	  absolute minimum. Also removes the last remaining GPL3
+	  licensed code in -bad.
+
+2015-04-25 12:52:04 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/examples/opencv/gstmotioncells_dynamic_test.c:
+	  examples: motioncells: simplify property setting
+
+2015-04-25 12:48:28 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/examples/opencv/gstmotioncells_dynamic_test.c:
+	  examples: motioncells: port to 1.x
+
+2014-11-20 00:33:44 +0100  Robert Jobbagy <jobbagy.robert@gmail.com>
+
+	* tests/examples/opencv/gstmotioncells_dynamic_test.c:
+	* tests/examples/opencv/gstmotioncells_dynamic_test.h:
+	  examples: motioncells: relicense opencv example to LGPLv2
+
+2015-04-24 14:04:55 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/check/elements/camerabin.c:
+	  tests: camerabin: add tests for GstPhotography image capture
+	  GstPhotography enables new paths in wrappercamerabinsrc that allows
+	  the source to be notified about the capture caps and provide an
+	  alternative caps if desired bypassing the negotiation (this doesn't
+	  seem like a good idea these days). To make sure it keeps working
+	  until we remove it from the API in favor of standard caps negotiation
+	  features this test was added.
+	  It adds 3 extra tests with a simple test source that will:
+	  1) Test that capturing with ANY caps work
+	  2) Test that capturing with a fixed caps work
+	  3) Test that capturing with a fixed caps and having the source
+	  pick a different resolution from GstPhotography API works
+	  by having wrappercamerabinsrc crop the capture to the final
+	  requested dimensions
+
+2015-04-24 14:19:50 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	* gst/camerabin2/gstwrappercamerabinsrc.h:
+	  wrappercamerabinsrc: Rework cropping for zoom and dimension reduction
+	  wrappercamerabinsrc has a videocrop element to be used for
+	  zooming and for cropping when input caps is different when used
+	  with the GstPhotography interface. The zooming part needs
+	  the following elements:
+	  capsfilter ! videocrop ! videoscale ! capsfilter
+	  The capsfilters should always have the same caps to ensure the
+	  zooming is done and preserves dimensions, unless when it is needed
+	  to do more cropping due to input dimensions those caps
+	  need to be modified accordingly to preserve the output dimensions.
+	  This, however, makes it hard to get caps negotiation to work properly
+	  as we need to have different caps in the capsfilters to account for
+	  the extra cropping needed. It could be simple for fixed caps but it
+	  gets tricky with unfixed ones.
+	  To solve this, this patch splits the zooming and dimension reduction
+	  cropping into 2 separate videocrop elements. The first one does
+	  the dimension cropping, which is only needed when the GstPhotography
+	  API is used and the source provides a caps that is different than
+	  what is requested, while the second is dedicated to zoom crop only.
+	  The first part of the pipeline goes from:
+	  src ! videoconvert ! capsfilter ! videocrop ! videoscale ! capsfilter
+	  to
+	  src ! videocrop ! videoconvert ! capsfilter ! videocrop ! videoscale ! capsfilter
+	  It might add an extra overhead in the image capture as the image might need
+	  to be cropped twice but this can be solved by enabling videocrop to use
+	  crop metas so only the later one does the real cropping.
+	  It also makes the code a bit simpler.
+
+2015-04-24 14:17:51 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: remove obsolete comment
+	  This is already handled in another place and doesn't make sense
+	  in the function context anymore
+
+2015-04-24 14:16:24 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: error out if source fails to prepare for capture
+	  Post an error when preparing the image capture through photography
+	  interface fails
+
+2015-04-24 14:13:34 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: intersect instead of compare for equality
+	  Intersect is enough to check if the requested caps are compatible
+	  with what the source is going to provide. Equality will be too strict.
+
+2015-04-24 14:13:16 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: fix typo
+
+2015-04-24 02:22:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/check/elements/camerabin.c:
+	  camerabin: tests: remove unused macros
+	  Those macros were with the wrong name (likely a copy n paste mistake)
+	  and were unused.
+
+2015-04-23 14:28:11 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/check/elements/camerabin.c:
+	  tests: camerabin: remove obsolete check for 0.10 feature
+
+2015-04-24 16:48:23 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiobuffer/gstaudioringbuffer.c:
+	* gst/coloreffects/gstchromahold.c:
+	* gst/debugutils/gstcompare.c:
+	* gst/gaudieffects/gstgaussblur.c:
+	* gst/pcapparse/gstpcapparse.c:
+	* gst/rtp/gstrtph265pay.c:
+	* gst/sdp/gstsdpdemux.c:
+	* gst/videoparsers/gsth264parse.c:
+	* gst/videoparsers/gsth265parse.c:
+	* gst/videoparsers/gstmpeg4videoparse.c:
+	* gst/videoparsers/gstmpegvideoparse.c:
+	  remove unused enum items PROP_LAST
+	  This were probably added to the enums due to cargo cult programming and are
+	  unused.
+
+2015-04-24 17:13:10 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: balance change_state display ref/unref
+	  the display was being unreffed on the incorrect state change causing
+	  invalid state when changing from PLAYING/PAUSED->READY->PAUSED/PLAYING.
+
+2015-04-23 17:43:36 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Don't claim to be live when answering the LATENCY query
+	  Even for "live" streams we are not live in the GStreamer meaning of the word.
+	  We don't produce buffers that are timestamped based on their "capture time"
+	  and our clock, but just based on whatever timestamps the stream might contain.
+	  Also even if we wanted to claim to be live, that wouldn't work well as we
+	  would have to return GST_STATE_CHANGE_NO_PREROLL when going from READY to
+	  PAUSED, which we can't. We first need data to know if we are "live" or not.
+
+2015-04-23 17:39:46 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: Use the downloader of the base class instead of creating our own
+	  The one of the base class is completely unused because we override all
+	  the downloading here, so let's just use that one instead.
+
+2015-04-23 17:36:49 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/m3u8.c:
+	  hlsdemux: Don't error out if we can't match variant playlists after updating
+	  It's better to just select some random variant playlist instead of stopping,
+	  chances are that it's still continuing to work and we might just have to
+	  select a different variant again later.
+
+2015-04-23 17:33:04 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Fix how the playlists are refreshed
+	  We should only refresh the currently selected variant playlist (if any,
+	  otherwise the main playlist), not the main playlist. And only try to
+	  refresh the main playlist if updating the variant playlist fails.
+	  Some servers (Wowza) use the request of the main playlist to create a
+	  "session", which is then part of the URI of the variant playlist and
+	  also the fragments. Refreshing the main playlist would generate a new
+	  session, and the server rate limits that usually. And after a few retries
+	  the server just kicks us out.
+	  Also as a side effect we now use the same downloader for all playlists, so
+	  that we only have 2 instead of 3 connections to the server. And also
+	  previously we just ignored the downloaded data from the main playlist that
+	  the base class gave to us.
+
+2015-04-23 17:22:11 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/hls/gsthlsdemux.c:
+	* ext/smoothstreaming/gstmssdemux.c:
+	* ext/smoothstreaming/gstmssmanifest.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: Allow subclasses to override how a new manifest would be downloaded
+
+2015-04-23 17:02:44 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: Expose downloader
+	  This allows subclasses to use it and share connections if possible.
+
+2015-04-23 16:43:11 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* .gitignore:
+	  Update .gitignore
+
+2015-04-23 16:40:49 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/Makefile.am:
+	  tests: define GST_CHECK_TEST_ENVIRONMENT_BEACON
+	  Make sure the test environment is set up.
+	  https://bugzilla.gnome.org//show_bug.cgi?id=747624
+
+2015-04-23 16:39:20 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	  configure: bump automake requirement to 1.14 and autoconf to 2.69
+	  This is only required for builds from git, people can still
+	  build tarballs if they only have older autotools.
+	  https://bugzilla.gnome.org//show_bug.cgi?id=747624
+
+2015-04-23 16:47:40 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/gl/gstgluploadelement.c:
+	  glupload: Release glupload buffer when caps are changed
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748371
+
+2015-04-23 11:47:37 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstgaussblur.c:
+	  gaudi: don't run gaussian function if sigma is 0
+
+2015-04-22 19:28:39 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: handle too short segments
+	  When the segment is very short it might be the case that the
+	  typefinding fails and when finishing the segment hlsdemux would
+	  consider the remaining data (pending_buffer) as an encryption
+	  leftover.
+	  This patch fixes it and makes sure an error is properly posted
+	  if typefind failed by refactoring buffer handling to a function
+	  and using it from the data_received and finish_fragment functions.
+
+2015-04-22 19:04:43 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: use correct variable type
+	  gst_buffer_resize needs gssize and not gsize. This makes gdb
+	  print it correctly when debugging.
+
+2015-04-22 17:08:09 +0200  Josep Torra <n770galaxy@gmail.com>
+
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideosrc: fix mode autodetection
+	  The autodetection mode was broken because a race condition in the input mode
+	  setting. The mode could be reverted back when it was replaced in
+	  the streaming thread by the old mode in the middle of mode changed callback.
+
+2015-04-22 17:04:25 +0200  Josep Torra <n770galaxy@gmail.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	  decklink: do not repeat first video format in caps template
+	  The first entry in the modes array is used as default mode for autodetection.
+	  There's no need to copy it into the caps template.
+
+2015-04-22 15:04:03 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstexclusion.c:
+	  gaudi: fix to 30780db1
+	  The second check for (factor == 0) creeped in the last commit.
+	  Apologies.
+
+2015-04-22 14:30:56 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstexclusion.c:
+	  gaudi: fix exclusion's factor range
+	  Avoid dividing by zero when the factor is zero. Instead, output a buffer with
+	  all color values as zero.
+
+2015-04-22 14:15:13 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstsolarize.c:
+	  gaudi: remove floor variable in solarize
+	  Floor variable has no effect and it isn't worth it to have it adjustable.
+
+2015-04-22 13:55:06 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstburn.c:
+	* gst/gaudieffects/gstburn.h:
+	* gst/gaudieffects/gstchromium.c:
+	* gst/gaudieffects/gstchromium.h:
+	* gst/gaudieffects/gstdilate.c:
+	* gst/gaudieffects/gstdilate.h:
+	* gst/gaudieffects/gstdodge.c:
+	* gst/gaudieffects/gstdodge.h:
+	* gst/gaudieffects/gstexclusion.c:
+	* gst/gaudieffects/gstexclusion.h:
+	* gst/gaudieffects/gstsolarize.c:
+	* gst/gaudieffects/gstsolarize.h:
+	  gaudi: remove unused property
+
+2015-04-22 18:54:45 +0900  Vineeth T M <vineeth.tm@samsung.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: Possible null pointer dereference
+	  While printing error message when context fails, error variable is not being used anymore
+	  so it will lead to null pointer dereference
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748287
+
+2015-04-22 10:38:19 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* INSTALL:
+	  Remove INSTALL file
+	  autotools automatically generate this, and when using different versions
+	  for autogen.sh there will always be changes to a file tracked by git.
+
+2015-04-22 10:38:13 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* LICENSE_readme:
+	  Remove LICENSE_readme
+	  It's completely outdated and just confusing, better if people are
+	  forced to look at the actual code in question than trusting this file.
+
+2015-04-21 22:04:56 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Don't stop all tasks and streams from the update task on errors
+	  It will deadlocks as we will then join() the update task from itself. Instead
+	  just post an actual error message on the bus and only stop the update task.
+	  The application is then responsible for shutting down the element, and thus
+	  all the other tasks and everything, based on the error message it gets.
+
+2015-04-21 18:29:36 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Fix seeking
+	  We also have to update the current_file GList pointer in the M3U playlist
+	  client, otherwise we are just continuing playback from the current position
+	  instead of seeking.
+
+2015-04-21 18:05:44 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Don't call unlock() just to call lock() immediately afterwards
+
+2015-04-20 08:21:32 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: Reset zoom element caps to go to viewfinder mode
+	  Avoids not-negotiated failures related to using image capture caps
+	  still when adjusting to go back to viewfinder.
+
+2015-04-20 08:20:37 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/check/elements/camerabin.c:
+	  tests: camerabin: add test for capture with different caps
+	  Adds a test to verify that viewfinder and image capture caps
+	  can be set to non-intersecting caps and still work.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=724868
+
+2015-04-20 08:42:56 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: fix leak of drain query
+	  gst_pad_peer_query doesn't take ownership of the query object
+
+2015-04-20 08:42:48 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	* gst/camerabin2/gstwrappercamerabinsrc.h:
+	  wrappercamerabinsrc: Refactor internal pipeline
+	  Remove tee and output-selector and just link the source
+	  pad to the outputs we want as needed.
+	  The way we need to prioritize caps negotiation and allocation
+	  queries depending on the mode enabled is too custom to be
+	  handled using tee and output-selector.
+	  This provides more flexibility and doesn't get in the way of proper
+	  handling of negotiation and allocation queries.
+
+2015-04-05 20:18:56 +0200  Michał Dębski <debski.mi.zd@gmail.com>
+
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstgleffects.h:
+	* ext/gl/gstopengl.c:
+	  gleffects: Create element for each effect
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746209
+
+2015-03-22 11:22:52 +0100  Michał Dębski <debski.mi.zd@gmail.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/effects/gstgleffectlaplacian.c:
+	* ext/gl/effects/gstgleffectssources.c:
+	* ext/gl/effects/gstgleffectssources.h:
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstgleffects.h:
+	* ext/gl/gstglfilterlaplacian.c:
+	* ext/gl/gstglfilterlaplacian.h:
+	* ext/gl/gstopengl.c:
+	  gleffects: Merge laplacian filter into effects
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746209
+
+2015-03-22 11:20:49 +0100  Michał Dębski <debski.mi.zd@gmail.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/effects/gstgleffectsobel.c:
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstgleffects.h:
+	* ext/gl/gstglfiltersobel.c:
+	* ext/gl/gstglfiltersobel.h:
+	* ext/gl/gstopengl.c:
+	  gleffects: Merge sobel filter into effects
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746209
+
+2015-03-22 11:13:30 +0100  Michał Dębski <debski.mi.zd@gmail.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/effects/gstgleffectblur.c:
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstgleffects.h:
+	* ext/gl/gstglfilterblur.c:
+	* ext/gl/gstglfilterblur.h:
+	* ext/gl/gstopengl.c:
+	  gleffects: Merge blur filter into effects
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746209
+
+2015-03-21 23:50:33 +0100  Michał Dębski <debski.mi.zd@gmail.com>
+
+	* ext/gl/effects/gstgleffectglow.c:
+	* ext/gl/gstglfilterblur.c:
+	  gleffects: Correct attributes for hconv and vconv shaders
+	  Width and height were switched for glow shaders. For blur
+	  filter attributes names were obsolete.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746209
+
+2015-03-21 23:21:13 +0100  Michał Dębski <debski.mi.zd@gmail.com>
+
+	* ext/gl/effects/gstgleffectssources.c:
+	  gleffects: Fix fisheye shader - pass float to sqrt
+	  On OSX passing literal int to sqrt() in GLSL results in error.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746209
+
+2015-04-21 07:28:58 +0200  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>
+
+	* ext/gl/gstgltransformation.c:
+	  gltransformation: fix shader memory leak
+
+2015-04-21 12:25:11 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  glwindow: track context activation properly
+	  We only need to deactivate/reactivate the context iff it was already
+	  active.
+
+2015-04-21 12:19:46 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglbasemixer.c:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglbasefilter.c:
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstgldisplay.c:
+	* gst-libs/gst/gl/gstgldisplay.h:
+	  gldisplay: synchronize the searching and creation of GstGLContext's
+	  Ootherwise we could end up with multiple elements in different chains
+	  each creating a context.  Fixes context creation with glvideomixer.
+
+2015-04-20 14:35:19 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: Remove dead code
+	  The detection for missing format/alignment is done way before this
+	  codepath is reached (at which point we have already decided of a
+	  format and alignment).
+	  CID #1232800
+
+2015-01-07 16:26:57 +0000  Edward Hervey <edward@centricular.com>
+
+	* ext/opencv/gsthanddetect.c:
+	  handdetect: remove unneeded check
+	  Variable hands is already checked to contain a value previously at the beginning
+	  of the current block. There is no need to check again. This is logically dead code.
+	  CID 1197693
+
+2015-04-20 14:20:05 +0200  Edward Hervey <edward@centricular.com>
+
+	* sys/shm/shmpipe.c:
+	  shmpipe: Ensure string received from recv() is NULL-terminated
+	  We will be doing string operations on it later.
+	  CID #1292830
+
+2015-04-20 11:30:10 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: clean assignment typo
+	  No need to set the value twice.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745102
+	  CID #295122
+
+2015-04-20 10:57:41 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: remove dead code
+	  position of GstSegment is an unsigned int64, it can never be below zero.
+	  CID #1295123
+
+2015-02-09 11:29:46 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/fieldanalysis/gstfieldanalysis.c:
+	  fieldanalysis: exception when block width to 0
+	  When block width property is set to 0, exception occurs.
+	  This happens due to divide by zero errors in calculations.
+	  block width property can never be 0. Hence adjusting the minimum value to 1.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744188
+
+2015-04-15 15:22:37 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: fix caps leak in gst_gl_mixer_pad_sink_getcaps()
+	  Caps refcounting was all wrong in this function. Rewrote it and add some
+	  comments to make it clearer.
+	  Fix caps leaks with the
+	  validate.file.glvideomixer.simple.play_15s.synchronized scenario.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747915
+	  Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+2015-04-20 17:08:23 +1000  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	* sys/applemedia/corevideotexturecache.h:
+	* sys/applemedia/corevideotexturecache.m:
+	* sys/applemedia/vtdec.c:
+	  applemedia: avoid implicit color conversions
+	  Rework the GL texture code a little to avoid implicit color conversion inside
+	  AVF/VT on both iOS and OSX.
+
+2015-04-19 01:15:07 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* sys/applemedia/corevideotexturecache.m:
+	  corevideotexturecache: free texture cache on iOS
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748122
+
+2015-04-19 01:21:40 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: check for failure to create buffer
+	  gst_core_media_buffer_new and gst_core_video_texture_cache_get_gl_buffer
+	  can fail for various platform reasons.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748122
+
+2015-04-19 13:12:05 +0900  Yujin Lee <saddopop@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: fix build failure with clang
+	  Use fabs for floating point input.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748128
+
+2015-04-17 13:57:38 -0600  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/mpegtsdemux/mpegtsbase.c:
+	  mpegtsbase: Remove unused latency query code
+	  The behavior changes based on the type of segment,
+	  not on the liveness of the source.
+
+2015-04-17 13:55:26 -0600  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: Cleanup latency query handling
+	  The minimum latency is always 0 or more. And we should
+	  requery upstream as it may have changed.
+
+2014-07-17 10:53:30 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamcaudiodec.c:
+	* sys/androidmedia/gstamcvideodec.c:
+	  androidmedia: Handle queue/release errors non-fatal
+	  They can happen sometimes as a transient problem, e.g. if there
+	  is a problem in the stream. Only handle them as fatal if many of
+	  them happen in a row.
+
+2015-04-11 16:53:38 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
+
+	* ext/opencv/MotionCells.cpp:
+	* ext/opencv/MotionCells.h:
+	* ext/opencv/gstcvdilate.c:
+	* ext/opencv/gstcvdilate.h:
+	* ext/opencv/gstcvdilateerode.h:
+	* ext/opencv/gstcvequalizehist.c:
+	* ext/opencv/gstcvequalizehist.h:
+	* ext/opencv/gstcverode.c:
+	* ext/opencv/gstcverode.h:
+	* ext/opencv/gstcvlaplace.c:
+	* ext/opencv/gstcvlaplace.h:
+	* ext/opencv/gstcvsmooth.c:
+	* ext/opencv/gstcvsmooth.h:
+	* ext/opencv/gstcvsobel.c:
+	* ext/opencv/gstcvsobel.h:
+	* ext/opencv/gstdisparity.h:
+	* ext/opencv/gstedgedetect.c:
+	* ext/opencv/gstedgedetect.h:
+	* ext/opencv/gstfaceblur.c:
+	* ext/opencv/gstfaceblur.h:
+	* ext/opencv/gstfacedetect.c:
+	* ext/opencv/gstfacedetect.h:
+	* ext/opencv/gstgrabcut.cpp:
+	* ext/opencv/gstgrabcut.h:
+	* ext/opencv/gsthanddetect.c:
+	* ext/opencv/gsthanddetect.h:
+	* ext/opencv/gstmotioncells.h:
+	* ext/opencv/gstopencvutils.c:
+	* ext/opencv/gstopencvutils.h:
+	* ext/opencv/gstopencvvideofilter.h:
+	* ext/opencv/gstpyramidsegment.h:
+	* ext/opencv/gstretinex.c:
+	* ext/opencv/gstretinex.h:
+	* ext/opencv/gstsegmentation.cpp:
+	* ext/opencv/gstsegmentation.h:
+	* ext/opencv/gstskindetect.c:
+	* ext/opencv/gstskindetect.h:
+	* ext/opencv/gsttemplatematch.c:
+	* ext/opencv/gsttemplatematch.h:
+	* ext/opencv/gsttextoverlay.h:
+	  opencv: Change opencv plugin to use opencv2-style includes
+	  If old opencv1-style legacy include directory is available,
+	  this change becomes purely cosmetic (maybe will compile a bit faster).
+	  It becomes an FTBFS fix when opencv1-style include directory is missing
+	  (possibly because opencv package maintainer decided not to pack it).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747705
+
+2015-04-12 00:56:48 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
+
+	* configure.ac:
+	  opencv: Change configure test to check for OpenCV2 headers
+	  * Checks for opencv2 headers only, not for legacy opencv1 headers
+	  * Checks for every opencv2 header that the implementation needs,
+	  not just highgui_c.h
+	  https://bugzilla.gnome.org/show_bug.cgi?id=725163
+
+2015-04-17 05:12:10 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: get connection and input clock early
+
+2015-04-17 15:32:56 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	  mpegtspacketizer: Unify debug statements
+	  Use 0x%04x for PIDs
+
+2015-04-17 15:30:29 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: Unify duration querying code
+	  And properly use it in the SEEKING query.
+	  Fixes seeking with gst-play
+
+2015-04-16 14:17:04 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: fix caps leak when early returning
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747993
+	  Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+2015-04-16 14:21:16 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: unref owned caps when finalizing the mixer
+	  Fix a caps leak with the
+	  validate.file.glvideomixer.simple.play_15s.synchronized scenario.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747915
+	  Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+2015-04-15 15:16:33 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: pass the proper free function to frames and buffers array
+	  'array_buffers' contain borrowed GstBuffer and so shouldn't have a free
+	  function. 'frames' is the one containing GstGLMixerFrameData and so should use
+	  _free_glmixer_frame_data as free function.
+	  Fix GstGLMixerFrameData leaks with the
+	  validate.file.glvideomixer.simple.play_15s.synchronized scenario.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747913
+	  Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+2015-04-17 15:20:12 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstgldownloadelement.c:
+	  gldownloadelement: Download *from* OpenGL, not into
+
+2015-04-17 09:24:12 +0200  Robert Swain <robert.swain@ericsson.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Add complexity property for speed/quality tradeoff
+
+2015-04-17 14:24:28 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	  glcontext: Make gst_gl_context_egl_activate fail if the old surface could not be destroyed
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746251
+
+2015-04-17 10:38:16 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/gl/gstgluploadelement.c:
+	  gluploadelement: Unref GstGLUpload object and caps in ::stop()
+	  Fix leak of the GstGLUpload object.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=748033
+
+2015-04-17 14:09:47 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglbasemixer.c:
+	* ext/gl/gstglfilterbin.c:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglsinkbin.c:
+	* ext/gl/gstglsrcbin.c:
+	  gl: Remove some empty ::finalize() implementations
+
+2015-04-17 14:06:03 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstgldownloadelement.c:
+	  gldownloadelement: Fix element description
+
+2015-04-17 14:05:44 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstgldownloadelement.c:
+	  gldownloadelement: Remove unused ::finalize() implementation
+
+2015-04-17 14:03:21 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglcolorconvertelement.c:
+	  glcolorconvertelement: Also unref caps in ::stop() already
+	  They are not useful anymore afterwards, so keeping them until ::finalize()
+	  might only cause someone to use them later and then fail.
+
+2015-04-15 14:49:02 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* ext/gl/gstglcolorconvertelement.c:
+	  glcolorconvertelement: fix GstGLColorConvert leak
+	  convert->convert was never unreffed.
+	  This can be reproduce with the
+	  validate.file.glvideomixer.simple.play_15s.synchronized scenario.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747911
+
+2015-04-16 22:43:54 +1000  Jan Schmidt <jan@centricular.com>
+
+	* ext/apexsink/gstapexraop.c:
+	  apexsink: Fix buffer overflow, in case anyone ever ports it.
+	  Fix a simple buffer overflow - 16 bytes isn't enough to hold
+	  the string representation of a gulong on x86_64. I guess the
+	  intent was to generate a 32 bit random key, so let's do that.
+	  Only matters if anyone ever ports the sink to 1.x
+	  https://bugzilla.gnome.org/show_bug.cgi?id=676524
+
+2015-04-16 13:35:00 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	  mpegdemux: fix pad leak when not adding a new pad after no-more-pads
+
+2015-04-09 17:35:55 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: fix segment position tracking for the general case
+	  Different streams can have different PTS/DTS bases, and some
+	  streams may not even have DTS.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745102
+
+2015-04-16 10:42:45 +0200  Matthieu Bouron <matthieu.bouron@gmail.com>
+
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	  glcontext: Make gst_gl_context_egl_activate fail if the surface could not be created
+	  Also add some error logging.
+
+2015-04-15 21:07:35 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: Don't unref buffer that was unreffed just a few lines before already
+
+2015-04-11 04:20:43 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
+
+	* docs/libs/Makefile.am:
+	  Add adaptivedemux, badvideo and badbase to the link-list for the docscanner
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747697
+
+2015-04-12 01:58:31 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: remove unused variables
+	  Complement commit 5496fd3e75e65a4e387715d0ba0740790aefa5f6 by removing
+	  the involved variables.
+
+2015-04-14 20:33:25 +1000  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtdec.c:
+	  applemedia: vtdec: fix GL negotiation
+
+2015-04-14 18:05:31 +1000  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: log timestamps
+
+2015-04-13 11:55:42 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: subtract time spent in AVF queues
+	  The time spent in AVF queues was being incorrectly added to running time
+	  rather than subtracted.
+
+2015-04-11 07:38:57 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: fix GL texture negotiation
+	  GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE should no longer be used.
+	  Instead, just get the GL context.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747352
+
+2015-04-13 19:40:31 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsdec.c:
+	  dtlsdec: Fix typo
+
+2015-04-13 19:40:22 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlssrtpdec.c:
+	  dtlssrtpdec: Add some more debug output
+
+2015-04-13 19:40:03 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/srtp/gstsrtpdec.c:
+	  srtpdec: Add some more debug output
+
+2015-04-10 09:34:01 +0900  Yujin Lee <saddopop@gmail.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: enable playback of content with text streams
+	  There is a playback error when trying to play a content that
+	  has 'application' mimeType. This commit prevents an exception from
+	  setup text streams.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747525
+
+2015-04-12 13:01:56 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/winks/gstksvideosrc.c:
+	  winks: Reset DTS to GST_CLOCK_TIME_NONE
+	  Otherwise we might get a previous DTS set from a recycled buffer that we get
+	  back from a buffer pool, which then confuses synchronization.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747722
+
+2015-03-28 15:44:43 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamc.c:
+	* sys/androidmedia/gstamc.h:
+	  amc: Use new JNI utils almost everywhere
+
+2015-03-28 15:48:28 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstjniutils.c:
+	* sys/androidmedia/gstjniutils.h:
+	  amc: Allow creating global and local references of objects
+
+2015-03-28 15:21:02 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstjniutils.c:
+	* sys/androidmedia/gstjniutils.h:
+	  amc: Make GError argument order more consistent
+
+2015-03-28 15:08:15 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstjniutils.c:
+	* sys/androidmedia/gstjniutils.h:
+	  amc: Add helper function for getting a direct buffer array
+
+2015-03-28 15:08:02 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstjniutils.c:
+	* sys/androidmedia/gstjniutils.h:
+	  amc: Java longs are gint64s
+
+2015-03-28 14:31:41 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstjniutils.c:
+	* sys/androidmedia/gstjniutils.h:
+	  amc: Improve JNI utilities and add some missing ones
+	  We now fill GErrors for everything that could throw an exception, and method
+	  calls now always return a gboolean and their value in an out-parameter to
+	  distinguish failures from other values.
+
+2015-04-11 19:35:48 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: Fix last commit
+
+2015-04-11 19:17:00 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	  gl: Remove iOS/EAGL workaround for R/RG textures
+	  This should be unneeded now after https://bugzilla.gnome.org/show_bug.cgi?id=732507
+
+2015-04-11 19:14:34 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: Add correct check for RG/R textures in glcolorconvert too
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732507
+
+2015-04-11 12:12:57 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* sys/winks/ksvideohelpers.c:
+	  winks: fix debug message parameter format
+	  The first part of the GUID structure is a DWORD
+	  which is defined as an unsigned long, so we need
+	  to either cast or use %08lx.
+
+2015-04-10 20:25:49 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/pcapparse/gstpcapparse.c:
+	* gst/pcapparse/gstpcapparse.h:
+	  pcapparse: Take buffer directly from the adapter
+	  No need to make a copy into a new buffer, just take the data
+	  from the adapter.
+
+2015-04-10 20:15:52 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/pcapparse/gstpcapparse.c:
+	  pcapparse: Produce GstBufferList
+
+2015-04-10 16:23:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	* gst/camerabin2/gstwrappercamerabinsrc.h:
+	  wrappercamerabinsrc: remove unused attribute and related pad probe
+	  The variable was never set to true and can be removed along
+	  with the probe in which it used to act
+
+2015-03-31 17:10:45 +0100  Anton Obzhirov <obzhirov@yahoo.co.uk>
+
+	* gst-libs/gst/gl/gstglbasefilter.c:
+	  glbasefilter: avoid segfault when gl platform is not available
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747124
+
+2015-04-09 16:20:44 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* tests/check/elements/audiomixer.c:
+	  tests: fix type mismatch in varargs passing
+	  A bitmask is 64 bits, but integer immediates are passed as int
+	  in varargs, which happen to be 32 bit with high probability.
+	  This triggered a valgrind jump-relies-on-uninitalized-value
+	  report well away from the site, since it doesn't trigger on
+	  stack accesses, and there must have been enough zeroes to stop
+	  g_object_set at the right place.
+
+2014-08-20 13:46:12 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/mpegtsdemux/mpegtsbase.c:
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: handle seeks with no target (ie, keep current position)
+	  Such seeks are used to change playback rate and we do not want
+	  to alter the position in that case, so we bypass the flush/seek
+	  logic, and set things up so a new segment is scheduled to be
+	  regenerated.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735100
+
+2015-03-26 13:46:16 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/mpegtsdemux/mpegtsparse.c:
+	* gst/mpegtsdemux/mpegtsparse.h:
+	  tsparse: fix timestamps not updating after a PMT change
+	  The PCRs stay locked onto the same PID as before the change,
+	  but the relevant PID has no reason to be the same after it.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745102
+
+2015-03-24 12:56:53 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: send new segment when a stream is added
+	  This will happen when the PMT changes, replacing streams with
+	  new ones. In that case, we need to accumulate the running time
+	  from the previous chain in the segment base.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745102
+
+2015-03-09 09:56:38 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: keep track of current position
+	  This allows seeking to correctly set the base on the segment.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745102
+
+2015-04-09 15:41:57 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* tests/check/Makefile.am:
+	  check: Don't run the state change test on the dtls elements
+	  There isn't really any way to test the elements standalone.
+
+2015-04-08 19:29:40 -0700  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Remove broken timestamps-going-backwards check
+	  This would've also triggered if for some reason the segment was updated
+	  in such a way that PTS went backwards, but the running time increased. Like
+	  what happens when non-flushing seeks are done.
+	  We're doing a proper buffer-from-the-past check a few lines below based on the
+	  running time, which is the only time we should care about here.
+
+2015-04-08 18:51:50 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+	* sys/winks/gstksvideodevice.c:
+	* sys/winks/ksvideohelpers.c:
+	* sys/winks/ksvideohelpers.h:
+	  ksvideosrc: fix support for DV devices
+
+2015-02-10 13:32:00 +0100  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+	* sys/winks/kshelpers.c:
+	  ksvideosrc: only list capture devices
+
+2015-04-08 16:46:11 +0200  Edward Hervey <edward@centricular.com>
+
+	* common:
+	* tests/check/Makefile.am:
+	  tests: Use AM_TESTS_ENVIRONMENT
+	  Needed by the new automake test runner
+
+2015-04-08 10:52:17 +0530  Arun Raghavan <arun@centricular.com>
+
+	* sys/opensles/openslessink.c:
+	* sys/opensles/openslessrc.c:
+	  opensles: Explicitly specify layout=interleaved in caps
+	  This is fine to hard-code. Section 9.1.8 of the OpenSL ES 1.1
+	  specification, it is expected that multi-channel audio is always
+	  interleaved.
+
+2015-04-07 15:57:30 +0200  Edward Hervey <edward@centricular.com>
+
+	* configure.ac:
+	  configure: Depend on openh264 >= 1.3.0
+	  Required for the version check header, as agreed upon on IRC
+
+2015-04-05 05:37:09 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: fix setting of buffer offset end
+	  Don't set offset end to random values off the stack.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747352
+
+2015-04-07 11:09:38 +0200  Edward Hervey <edward@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  open264: Fix GType/gsize usage
+	  gstopenh264enc.cpp:108:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
+
+2015-04-07 11:21:55 +0200  Edward Hervey <edward@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264: Detect 1.4 API change
+	  As mentionned in release notes : Added new Sps/Pps strategies for real-time
+	  video (replace the old setting variable 'bEnableSpsPpsIdAddition' with
+	  'eSpsPpsIdStrategy')
+
+2015-04-06 20:28:22 -0700  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Disconnect mouse/key event signal handlers from window when shutting down context
+
+2015-04-06 20:24:06 -0700  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Guard against disconnecting invalid signal ids
+
+2015-03-26 11:52:33 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* gst/mxf/mxfdemux.c:
+	  mxfdemux: fix memory leak
+	  Reset the internal segment before freeing it.
+	  mxf_index_table_segment_parse() allocates data inside the segment
+	  (like segment->delta_entries) which have to be freed using
+	  mxf_index_table_segment_reset().
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746803
+
+2015-04-04 10:56:56 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlssink.c:
+	  hlssink: write the playlist end marker on EOS
+	  Catch EOS from the multifilesink and add the endlist marker to
+	  the playlist when it happens
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747319
+
+2015-03-29 17:53:23 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: document gap handling behavior
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746249
+
+2015-03-27 19:36:42 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: drop stale white space at warning
+
+2015-03-27 19:28:05 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* tests/check/libs/aggregator.c:
+	  aggregator: fix typo in test suite
+
+2015-03-27 18:32:27 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* tests/check/libs/aggregator.c:
+	  aggregator: add gap event handling unit test
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746249
+
+2015-03-17 22:13:06 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: implement gap handling
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746249
+
+2015-04-03 18:57:58 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* autogen.sh:
+	* common:
+	  Automatic update of common submodule
+	  From bc76a8b to c8fb372
+
+2015-04-03 11:46:12 +0530  Arun Raghavan <arun@centricular.com>
+
+	* ext/opus/gstopusenc.c:
+	  opus: Fix incorrect fall-through condition in property getter
+
+2012-04-27 18:29:14 +0200  Guillaume Emont <guijemont@igalia.com>
+
+	* sys/shm/gstshmsrc.c:
+	* sys/shm/shmpipe.c:
+	* sys/shm/shmpipe.h:
+	  shmsink: add an shm-area-name property
+	  The shm-area-property tells the name of the shm area used by the element. This
+	  is useful for cases where shmsink is not able to clean up (calling
+	  shm_unlink()), e.g. if it is in a sandbox.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=675134
+
+2015-04-01 22:10:11 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Unify downstream flow return and flushing
+	  Also means that having a non-OK downstream flow return
+	  wakes up the chain functions.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747220
+
+2015-04-01 21:45:01 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Flushing is always in pad lock, no need to atomics
+	  The usage of atomics was always doubtful as it was used to release a
+	  GCond
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747220
+
+2015-04-01 21:38:11 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Reset pending_eos on pad flush
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747220
+
+2015-04-01 21:37:25 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Unify code to set a pad flushing
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747220
+
+2015-04-02 18:05:55 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst-libs/gst/gl/eagl/gstglcontext_eagl.h:
+	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
+	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+	  libgstgl: fix rendering on iOS
+	  Stop assuming that the handle has been set by the time ->create_context is
+	  called. After bc7a7259f357b0065dd94e0668b5a895d83fa53a set_window_handle always
+	  happens after ->create_context in fact.
+	  See also https://bugzilla.gnome.org/show_bug.cgi?id=745090
+
+2015-03-06 21:12:52 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  aggregator: Query latency on first incoming buffer.
+	  And keep on querying upstream until we get a reply.
+	  Also, the _get_latency_unlocked() method required being calld
+	  with a private lock, so removed the _unlocked() variant from the API.
+	  And it now returns GST_CLOCK_TIME_NONE when the element is not live as
+	  we think that 0 upstream latency is possible.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745768
+
+2015-04-01 20:32:41 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	* tests/check/elements/audiomixer.c:
+	  audiomixer: Allow downstream caps with a non-default channel-mask
+	  Instead of failing, take the downstream channel mask if the channel
+	  count is 1.
+
+2015-03-31 16:27:00 +0200  Edward Hervey <edward@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	  glvideomixer: Don't use context if not present
+	  Avoids assertions at runtime
+
+2015-03-31 11:24:57 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/gl/Makefile.am:
+	* gst-libs/gst/insertbin/Makefile.am:
+	* gst-libs/gst/mpegts/Makefile.am:
+	  introspection: Don't use g-ir-scanner cache at compile time
+	  It pollutes user directories and we don't need to cache it
+	  https://bugzilla.gnome.org/show_bug.cgi?id=747095
+
+2015-03-31 10:53:55 +0100  Victor Toso <victortoso@redhat.com>
+
+	* configure.ac:
+	* sys/directsound/Makefile.am:
+	* sys/directsound/gstdirectsoundsrc.c:
+	* sys/directsound/gstdirectsoundsrc.h:
+	  directsoundsrc: Implement volume and mute
+	  Using the MixerAPI as IDirectSoundCaptureBuffer doesn't implement volume
+	  control.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744383
+
+2015-03-30 13:49:01 +0100  Anton Obzhirov <obzhirov@yahoo.co.uk>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/effects/gstgleffectbulge.c:
+	* ext/gl/effects/gstgleffectfisheye.c:
+	* ext/gl/effects/gstgleffectglow.c:
+	* ext/gl/effects/gstgleffectidentity.c:
+	* ext/gl/effects/gstgleffectlumatocurve.c:
+	* ext/gl/effects/gstgleffectmirror.c:
+	* ext/gl/effects/gstgleffectrgbtocurve.c:
+	* ext/gl/effects/gstgleffectsin.c:
+	* ext/gl/effects/gstgleffectsquare.c:
+	* ext/gl/effects/gstgleffectsqueeze.c:
+	* ext/gl/effects/gstgleffectssources.c:
+	* ext/gl/effects/gstgleffectssources.h:
+	* ext/gl/effects/gstgleffectstretch.c:
+	* ext/gl/effects/gstgleffecttunnel.c:
+	* ext/gl/effects/gstgleffecttwirl.c:
+	* ext/gl/effects/gstgleffectxray.c:
+	* ext/gl/gstgldifferencematte.c:
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstgleffects.h:
+	* ext/gl/gstglfilterblur.c:
+	* ext/gl/gstglfiltersobel.c:
+	  gleffects: port all effects to GLES2.0
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745955
+
+2015-03-28 11:40:14 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlssink.c:
+	  hlssink: implement a chain_list to request key unit for segments
+	  upstream might send buffer lists instead of buffers and hlssink's
+	  probe won't get called and a new segment won't be created when needed.
+	  This patch fixes it by adding a chain_list function to the sink pad
+	  that will just pass through the whole bufferlist if no segment needs
+	  to be requested at the moment or convert the list into buffers to
+	  check the proper timestamp to request the next key-unit that will
+	  start the segment.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746906
+
+2015-03-28 17:28:34 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+	* gst/mxf/mxfdemux.c:
+	  mxfdemux: resurrect some flow return handling
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744572
+
+2015-03-28 17:28:26 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	  mpegdemux: resurrect some flow return handling
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744572
+
+2015-03-27 00:27:34 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: do not try to advance fragment if there is none
+	  It might return OK from subclasses and it could cause a bitrate
+	  renegotiation. For DASH and MSS that is ok as they won't expose
+	  new pads as part of this but it can cause issues for HLS as
+	  it will expose new pads, leading to pads that will only have EOS
+	  that cause decodebin to fail
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745905
+
+2015-03-24 13:57:54 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* ext/opus/gstrtpopuspay.c:
+	  rtpopuspay: Forward stereo preferences from caps upstream
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746617
+
+2015-03-24 13:56:21 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+	* ext/opus/gstrtpopuspay.c:
+	  rtpopuspay: Set the number of channels to 2 as per RFC draft
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746617
+
+2015-03-17 21:49:40 +0800  Jun Xie <xixi10111011@gmail.com>
+
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: set default @startNumber and also avoid wrong overwrite
+	  Set default @startNumber to 1, if @startNumber is missing at all level.
+	  Also avoid incorrect overwriting inherited value.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746347
+
+2015-03-24 16:18:22 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiomixer/gstaudioaggregator.c:
+	  audioaggregator: check sink caps are valid
+
+2015-03-24 16:17:00 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiomixer/gstaudioaggregator.c:
+	  Revert "audioaggregator: check sink caps are valid"
+	  This reverts commit 6d4d0d1cdf7c7531fbf72ce39e1eab1260d20550.
+	  Never put code with side effects into an assertion, it can be compiled out
+
+2015-03-24 15:45:25 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiomixer/gstaudioaggregator.c:
+	  audioaggregator: check sink caps are valid
+	  CID #1291622
+
+2015-03-24 15:13:52 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/opus/gstopusenc.c:
+	  opusenc: fall through switch statement
+	  Adding a comment makes coverity happy and quells the issue.
+	  CID 1291629
+
+2015-03-24 19:05:00 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregatorpad.h:
+	  videoaggregator: Document why buffer_vinfo is needed
+
+2015-03-24 19:04:26 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Check if there's a previous buffer to 'keep'
+	  If we want to keep a previous buffer but there's no previous buffer, we actually
+	  need more data instead.
+
+2015-03-23 16:43:01 +0100  Philippe Normand <philn@igalia.com>
+
+	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
+	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h:
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	  gl/dispmanx: surfaceless EGL context support
+	  Show the DispmanX window only if there's no shared external GL context
+	  set up. When a window is required by the context a transparent
+	  DispmanX element is created and later on made visible by the ::show
+	  method.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746632
+
+2015-03-23 15:09:33 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstsolarize.c:
+	  gaudieffects: clean solarize code
+
+2015-03-23 14:39:56 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstburn.c:
+	* gst/gaudieffects/gstchromium.c:
+	* gst/gaudieffects/gstdodge.c:
+	* gst/gaudieffects/gstexclusion.c:
+	* gst/gaudieffects/gstsolarize.c:
+	  gaudieffects: removing values only used once
+
+2015-03-23 11:13:24 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstburn.h:
+	* gst/gaudieffects/gstdilate.h:
+	* gst/gaudieffects/gstdodge.h:
+	* gst/gaudieffects/gstexclusion.h:
+	* gst/gaudieffects/gstsolarize.h:
+	  gaudieffects: small cleanup in headers
+
+2015-03-23 13:15:30 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusenc.c:
+	  opusenc: Set output format immediately after creating the encoder instance
+	  We know the caps by then, there's no need to wait until we actually receive
+	  the first buffer.
+
+2015-03-23 13:13:35 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusenc.c:
+	* ext/opus/gstopusenc.h:
+	  opusenc: Remove another unused variable
+
+2015-03-23 13:11:42 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusenc.c:
+	* ext/opus/gstopusenc.h:
+	* ext/opus/gstopusheader.c:
+	  opusenc: Remove useless headers and header_sent variables from the instance struct
+	  They are only used inside a single function.
+
+2015-03-23 12:24:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstrtpopusdepay.c:
+	* ext/opus/gstrtpopuspay.c:
+	  opus: Handle sprop-stereo and sprop-maxcapturerate RTP caps fields
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746617
+
+2015-03-23 12:09:25 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusdec.c:
+	  opusdec: Take channels and sample rate from the caps if we have no stream header
+
+2015-03-23 12:07:52 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusdec.c:
+	  opusdec: Reset the decoder if the caps change
+
+2015-03-23 11:57:09 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusdec.c:
+	  opusdec: Take output sample rate from the stream headers too
+	  This way we let opusdec do the resampling if needed and don't carry
+	  around buffers with a too high sample rate if not required.
+	  While Opus always uses 48kHz internally, this information from the
+	  header specifies which frequencies are safe to drop.
+
+2015-03-23 11:56:09 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusheader.c:
+	  opusheader: Put number of channels and sample rate into the caps
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746617
+
+2015-03-22 19:12:15 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  glwindow: remove unused gl_thread field
+
+2015-03-22 19:03:19 +0100  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstgldisplay.c:
+	  gldisplay: fix GThread leak
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746541
+
+2015-03-20 18:33:45 +0100  Nicola Murino <nicola.murino@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: fix caps leak
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746541
+
+2015-03-18 11:25:42 +0100  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/srtp/gstsrtpdec.c:
+	  srtpdec: Add support for buffer list
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746387
+
+2015-03-19 16:17:58 +0100  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/srtp/gstsrtpenc.c:
+	  srtpenc: Do not drop all buffers in buffer list if one fails
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746387
+
+2015-03-19 13:59:42 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstdilate.c:
+	  gaudieffects: update copyright dates of dilate
+
+2015-03-19 13:58:21 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstdilate.c:
+	  gaudieffects: factorize transform code of dilate
+
+2015-03-19 14:04:28 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsconnection.c:
+	  dtls: Pass the connection instance as data to the thread pool
+	  No need to ref/unref the connection every time we push something on the pool.
+	  However we have to provide non-NULL data to the pool, so let's just give it
+	  some coffee.
+
+2015-03-19 13:55:53 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsconnection.c:
+	  dtls: Remove unused thread struct field
+
+2015-03-19 13:30:00 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsconnection.c:
+	* ext/dtls/gstdtlsconnection.h:
+	* ext/dtls/gstdtlsenc.c:
+	  dtls: Use a shared thread pool for the timeouts
+	  This way we will share threads with other DTLS connections if possible, and
+	  don't have to start/stop threads for timeouts if there are many to be handled
+	  in a short period of time.
+	  Also use the system clock and async waiting on it for scheduling the timeouts.
+
+2015-03-18 18:17:39 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsconnection.c:
+	  dtls: Shutdown timeout thread when it's not needed
+	  It is not needed most of the time and usually we have a thread
+	  idling around doing nothing all the time after the first few seconds.
+
+2015-03-18 10:12:49 -0700  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglbufferpool.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstgldisplay.c:
+	* gst-libs/gst/gl/gstgldownload.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglupload.c:
+	  gl/docs: update some doc comments
+
+2015-03-18 17:40:47 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsenc.c:
+	  dtlsenc: Clear the queue when deactivating the pad
+
+2015-03-18 17:38:35 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsenc.c:
+	* ext/dtls/gstdtlsenc.h:
+	  dtlsenc: Handle pad activity states properly
+
+2015-03-18 17:35:12 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsenc.c:
+	  dtlsenc: Don't manually activate/deactivate srcpad
+
+2015-03-18 10:47:15 +0100  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/srtp/gstsrtpdec.c:
+	  srtpdec: Separate buffer encoding functionality into a different function
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746387
+
+2015-03-18 10:16:41 +0100  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/srtp/gstsrtpenc.c:
+	  srtpenc: Add support for buffer list
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746387
+
+2015-03-18 09:39:49 +0100  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/srtp/gstsrtpenc.c:
+	  srtpenc: Add missing locks
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746387
+
+2015-03-18 09:17:31 +0100  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/srtp/gstsrtpenc.c:
+	  srtpenc: Split chain functionality so it can be reused for buffer list
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746387
+
+2015-03-18 13:52:38 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsenc.c:
+	* ext/dtls/gstdtlsenc.h:
+	  dtlsenc: Use a GQueue instead of a GPtrArray
+	  Using a GPtrArray as a queue is not very efficient as the whole
+	  array has to be copied whenever an element is removed from the
+	  beginning.
+
+2015-03-18 10:06:47 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsdec.c:
+	  dtlsdec: Fix locking
+	  Especially don't hold any mutex while adding/removing pads or pushing data.
+
+2015-03-18 09:57:32 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsdec.c:
+	  dtlsdec: Add support for buffer lists
+
+2015-03-18 09:46:40 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsconnection.c:
+	* ext/dtls/gstdtlsconnection.h:
+	* ext/dtls/gstdtlsdec.c:
+	* ext/dtls/gstdtlsdec.h:
+	* ext/dtls/gstdtlsenc.c:
+	* ext/dtls/gstdtlsenc.h:
+	* ext/dtls/gstdtlssrtpdec.c:
+	* ext/dtls/gstdtlssrtpenc.c:
+	* ext/dtls/gstdtlssrtpenc.h:
+	  dtls: Fix some search & replace mistakes from renaming the elements
+
+2015-03-17 16:49:54 +0100  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/srtp/gstsrtpenc.c:
+	  srtpenc: Improve memory management on chain function
+	  Avoiding copy the buffer twice, one while mapping and other with mencpy
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746356
+
+2015-03-17 16:50:41 +0100  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+	* ext/srtp/gstsrtpenc.c:
+	  srtpenc: Fix typo in log
+
+2015-03-17 11:43:00 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsagent.c:
+	  dtls: Initialize debug category earlier
+	  Otherwise the openssl initialization will use it before initialization
+
+2014-11-13 20:39:11 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/elements/.gitignore:
+	* tests/check/elements/audiointerleave.c:
+	  audiointerleave: Add unit tests
+	  Almost a copy of the "interleave" unit tests, improved to support
+	  the thread on the src pad on GstAggregator.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740236
+
+2015-03-06 13:49:48 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/gstaudiointerleave.c:
+	* gst/audiomixer/gstaudiointerleave.h:
+	  audiointerleave: Set src caps in aggregate
+	  This prevents races between the setcaps of the sink pads
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740236
+
+2014-11-13 15:40:15 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/Makefile.am:
+	* gst/audiomixer/gstaudiointerleave.c:
+	* gst/audiomixer/gstaudiointerleave.h:
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiointerleave: Add interleave element based on audioaggregator
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740236
+
+2015-03-06 16:51:12 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/gstaudioaggregator.c:
+	  audioaggregator: Print a message when a buffer is late
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740236
+
+2014-11-15 17:54:51 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/gstaudioaggregator.c:
+	  audioaggregator: Don't re-send the caps if they did not change
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740236
+
+2014-11-06 17:15:17 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/Makefile.am:
+	* gst/audiomixer/gstaudioaggregator.c:
+	* gst/audiomixer/gstaudioaggregator.h:
+	* gst/audiomixer/gstaudiomixer.c:
+	* gst/audiomixer/gstaudiomixer.h:
+	  audioaggregator: Split base class from audiomixer
+	  Also:
+	  -  Don't modify size on early buffer
+	  The size is the size of the buffer, not of remaining part.
+	  - Use the input caps when manipulating the input buffer
+	  Also store in in the sink pad
+	  - Reply to the position query in bytes too
+	  - Put GAP flag on output if all inputs are GAP data
+	  - Only try to clip buffer if the incoming segment is in time or samples
+	  - Use incoming segment with incoming timestamp
+	  Handle non-time segments and NONE timestamps
+	  - Don't reset the position when pushing out new caps
+	  - Make a number of member variables private
+	  - Correctly handle case where no pad has a buffer
+	  If none of the pads have buffers that can be handled, don't claim to be EOS.
+	  - Ensure proper locking
+	  - Only support time segments
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740236
+
+2015-03-07 22:08:40 -0500  Olivier Crête <olivier.crete@ocrete.ca>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Release pad object lock before dropping buffer
+	  Otherwise, the locking order is violated and deadlocks happen.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745768
+
+2015-03-06 20:22:13 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Only ignore pads with no buffers on timeout
+	  When the timeout is reached, only ignore pads with no buffers, iterate
+	  over the other pads until all buffers have been read. This is important
+	  in the cases where the input buffers are smaller than the output buffer.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745768
+
+2015-03-06 21:12:13 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Be more aggressive with invalid replies to our latency query
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745768
+
+2015-03-06 20:25:03 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Only advance by the buffer size when a buffer is late
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745768
+
+2015-03-16 17:49:58 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/dtls/gstdtlsagent.c:
+	* ext/dtls/gstdtlscertificate.c:
+	* ext/dtls/gstdtlsconnection.c:
+	  dtls: make sure we actually log into the right debug category
+	  GST_DTLS_USE_GST_LOG is not defined anywhere, so
+	  we'd just log into the default category by accident.
+	  We use the gst logging system unconditionally now,
+	  so might just as well remove this #if #else.
+
+2015-03-16 17:36:49 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/dtls/gstdtlsagent.c:
+	* ext/dtls/gstdtlsconnection.c:
+	  dtls: fix some more compiler warnings
+	  gcc-4.9.2:
+	  gstdtlsagent.c:114:1: error: old-style function definition
+	  gstdtlsconnection.c:253:3: error: ISO C90 forbids mixed declarations and code
+	  gstdtlsconnection.c:291:3: error: ISO C90 forbids mixed declarations and code
+	  gstdtlsconnection.c:391:3: error: ISO C90 forbids mixed declarations and code
+	  gstdtlsconnection.c:434:3: error: ISO C90 forbids mixed declarations and code
+	  gstdtlsconnection.c:773:1: error: 'BIO_s_gst_dtls_connection' was used with no prototype before its definition
+	  gstdtlsconnection.c:773:1: error: old-style function definition
+
+2015-03-16 17:53:11 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/Makefile.am:
+	* ext/dtls/gstdtlsagent.c:
+	* ext/dtls/gstdtlscertificate.c:
+	* ext/dtls/gstdtlscommon.h:
+	* ext/dtls/gstdtlsconnection.c:
+	* ext/dtls/gstdtlsdec.c:
+	* ext/dtls/gstdtlssrtpdec.c:
+	  dtls: Unconditionally use GStreamer debug log system
+
+2015-03-16 17:48:43 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsagent.c:
+	* ext/dtls/gstdtlsagent.h:
+	* ext/dtls/gstdtlscertificate.c:
+	* ext/dtls/gstdtlscertificate.h:
+	* ext/dtls/gstdtlscommon.h:
+	* ext/dtls/gstdtlsconnection.c:
+	* ext/dtls/gstdtlsconnection.h:
+	* ext/dtls/gstdtlsdec.c:
+	* ext/dtls/gstdtlsdec.h:
+	* ext/dtls/gstdtlsenc.c:
+	* ext/dtls/gstdtlsenc.h:
+	* ext/dtls/gstdtlssrtpbin.c:
+	* ext/dtls/gstdtlssrtpbin.h:
+	* ext/dtls/gstdtlssrtpdec.c:
+	* ext/dtls/gstdtlssrtpdec.h:
+	* ext/dtls/gstdtlssrtpdemux.c:
+	* ext/dtls/gstdtlssrtpdemux.h:
+	* ext/dtls/gstdtlssrtpenc.c:
+	* ext/dtls/gstdtlssrtpenc.h:
+	* ext/dtls/plugin.c:
+	  dtls: Re-namespace from Er to Gst
+
+2015-03-16 17:35:29 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsconnection.c:
+	  dtls: Fix some compiler warnings
+	  gstdtlsconnection.c:128:32: error: passing 'const char [30]' to parameter of type 'void *'
+	  discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
+	  SSL_get_ex_new_index (0, "gstdtlsagent connection index", NULL, NULL,
+	  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+	  /usr/include/openssl/ssl.h:1981:43: note: passing argument to parameter 'argp' here
+	  int SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
+	  ^
+	  gstdtlsconnection.c:822:40: error: arithmetic on a pointer to void is a GNU extension
+	  [-Werror,-Wpointer-arith]
+	  memcpy (out_buffer, priv->bio_buffer + priv->bio_buffer_offset, copy_size);
+	  ~~~~~~~~~~~~~~~~ ^
+
+2015-03-16 17:34:05 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dtls/gstdtlsagent.c:
+	* ext/dtls/gstdtlscertificate.c:
+	* ext/dtls/gstdtlsconnection.c:
+	* ext/dtls/gstdtlsdec.c:
+	* ext/dtls/gstdtlsenc.c:
+	* ext/dtls/gstdtlssrtpbin.c:
+	* ext/dtls/gstdtlssrtpdec.c:
+	* ext/dtls/gstdtlssrtpdemux.c:
+	* ext/dtls/gstdtlssrtpenc.c:
+	* ext/dtls/plugin.c:
+	  dtls: Fix indention
+
+2015-03-16 17:33:03 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	* ext/Makefile.am:
+	* ext/dtls/Makefile.am:
+	* ext/dtls/gstdtlsagent.c:
+	* ext/dtls/gstdtlsagent.h:
+	* ext/dtls/gstdtlscertificate.c:
+	* ext/dtls/gstdtlscertificate.h:
+	* ext/dtls/gstdtlscommon.h:
+	* ext/dtls/gstdtlsconnection.c:
+	* ext/dtls/gstdtlsconnection.h:
+	* ext/dtls/gstdtlsdec.c:
+	* ext/dtls/gstdtlsdec.h:
+	* ext/dtls/gstdtlsenc.c:
+	* ext/dtls/gstdtlsenc.h:
+	* ext/dtls/gstdtlssrtpbin.c:
+	* ext/dtls/gstdtlssrtpbin.h:
+	* ext/dtls/gstdtlssrtpdec.c:
+	* ext/dtls/gstdtlssrtpdec.h:
+	* ext/dtls/gstdtlssrtpdemux.c:
+	* ext/dtls/gstdtlssrtpdemux.h:
+	* ext/dtls/gstdtlssrtpenc.c:
+	* ext/dtls/gstdtlssrtpenc.h:
+	* ext/dtls/plugin.c:
+	  dtls: Add new DTLS plugin
+	  This is a copy of the Ericsson DTLS plugin from
+	  https://github.com/EricssonResearch/openwebrtc-gst-plugins/tree/master/ext/erdtls/src
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744582
+
+2015-03-16 03:53:33 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/compositor/compositororc.orc:
+	  compositor: Revert most of previous patch.
+	  The calculation doesn't produce the same results.
+	  Keep just the change to divide alpha by 255 instead of 256,
+	  for slightly better accuracy
+
+2015-03-15 16:55:00 +0000  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstjniutils.c:
+	* sys/androidmedia/gstjniutils.h:
+	  androidmedia: Add helpers for calling static methods
+
+2015-03-15 16:38:29 +0000  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstjniutils.c:
+	* sys/androidmedia/gstjniutils.h:
+	  androidmedia: Fix indention
+
+2014-06-05 10:33:56 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* sys/androidmedia/gstamc.c:
+	* sys/androidmedia/gstjniutils.c:
+	* sys/androidmedia/gstjniutils.h:
+	  androidmedia: Add more JNI helper functions
+
+2014-06-02 12:37:09 +0100  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* sys/androidmedia/Makefile.am:
+	* sys/androidmedia/gstamc.c:
+	* sys/androidmedia/gstjniutils.c:
+	* sys/androidmedia/gstjniutils.h:
+	  androidmedia: Split jni code to gstjniutils.c
+
+2015-03-15 16:10:31 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/mpegtsmux/mpegtsmux.c:
+	  mpegtsmux: drop some superfluous assertions
+	  g_return_*_if_fail() is for public API to catch
+	  programming errors. For internal code, we should
+	  just use g_assert() to check internal state.
+
+2015-03-15 15:54:01 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/mpegtsmux.c:
+	  tests: mpegtsmux: add test for keyframe/delta flag propagation
+	  The first output MPEG-TS packet that corresponds to a video input
+	  buffer which had the delta flag cleared (i.e. was a keyframe)
+	  should have the delta flag cleared as well.
+	  This is needed e.g. by tcpserversink in order to keep track
+	  of the last keyframe and be able to burst data to newly-
+	  connected clients.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=706872
+
+2015-03-15 14:35:15 +0000  Matthew Waters <matthew@centricular.com>
+
+	* docs/libs/gst-plugins-bad-libs-docs.sgml:
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* docs/libs/gst-plugins-bad-libs.types:
+	  gl/docs: add missing functions/objects
+
+2015-03-15 12:58:26 +0000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstgldisplay.c:
+	  gldisplay: tentative proper context collision detection
+	  Fixes
+	  tee name=t ! queue ! gliamgesink t. ! queue ! glimagesink
+
+2014-07-18 10:44:59 +0200  Jesper Larsen <knorr.jesper@gmail.com>
+
+	* gst/mpegtsmux/mpegtsmux.c:
+	  mpegtsmux: Fix namespace of some internal functions
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733347
+
+2015-03-16 00:22:14 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/compositor/compositororc.orc:
+	  compositor: Fix blending functions
+	  Correctly calculate alpha in a few places by dividing by 255,
+	  not 256.
+	  Fix the argb and bgra blending functions to avoid an off-by-one
+	  error in the calculations, so painting with alpha = 0xff doesn't
+	  ever bleed through from behind
+
+2015-03-15 12:06:22 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/mpegtsmux.c:
+	  tests: mpegtsmux: add unit test for "alignment" property
+	  https://bugzilla.gnome.org/show_bug.cgi?id=722129
+
+2015-03-14 15:27:39 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/mpegtsmux/mpegtsmux.c:
+	  mpegtsmux: make "alignment" property more useful for packetisation
+	  Currently the alignment property just makes sure that we
+	  output things in multiples of align*packet_size bytes, but
+	  with no clear maximum size. When streaming MPEG-TS over
+	  UDP one wants buffers with a maximum packet size of 1316.
+	  The alignment property so far would just output buffers
+	  that are a multiple of 1316 then.
+	  Instead we now make the alignment property output
+	  individual buffers with the alignment size, which
+	  is entirely backwards compatible with the expected
+	  behaviour up until now. For efficiency reason
+	  collect all those buffers in a buffer list and
+	  send that downstream.
+	  Also collect data to push downstream in a buffer
+	  list from the adapter if we don't align things,
+	  which is still more efficient because of the
+	  silly way the muxer currently creates output
+	  packets.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=722129
+
+2015-03-11 23:03:24 +0800  xixi <xixi10111011@gmail.com>
+
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: fetch wrong segment at the end of Period
+	  Fix check for end of Period time to avoid trying
+	  to fetch a segment that doesn't exist
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746038
+
+2015-03-14 19:48:21 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* ext/gl/gstgluploadelement.c:
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: move meta-data copy into gst-gl library
+	  In some upload implementations the out buffer has more than one references,
+	  turning the buffer not writable, so it won't be possible to modify its
+	  meta-data.
+	  This patch moves the meta-data copy before increasing the reference of the out
+	  buffer.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746173
+
+2015-03-14 18:45:01 +0000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: fix the slight difference between EXT_rg and ARB_rg
+	  GL_EXT_texture_rg doesn't take sized formats for the internalformat
+	  parameter of TexImage* but GL_ARB_texture_rg and GL(ES)3 do.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732507
+
+2015-03-14 17:29:02 +0000  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstcamerabin2.c:
+	  camerabin: remove hack around bug 648359
+	  It is already fixed
+
+2015-03-14 12:24:53 +0000  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstcamerabin2.c:
+	  camerabin: remove deprecated g_atomic function
+	  We depend on 2.32 already
+
+2015-03-14 11:45:20 +0000  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: fix pad leak
+	  Only get the pad if it is really going to be used to avoid
+	  leaking it
+
+2015-03-14 18:10:24 +0000  Matthew Waters <matthew@centricular.com>
+
+	* tests/examples/gl/generic/cube/main.cpp:
+	  gl/examples: fixup generic cube example for NDC
+	  translating outside the clip region doesn't work
+
+2015-03-14 15:38:28 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* tests/examples/gl/sdl/.gitignore:
+	* tests/examples/gl/sdl/Makefile.am:
+	* tests/examples/gl/sdl/sdlshare2.c:
+	  gl/examples: add sdlshare2 that uses glimagesink to output textures
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739681
+
+2015-03-14 16:30:42 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: keep window invisible when sharing output
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739681
+
+2015-03-14 15:16:55 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* ext/gl/gstglimagesink.c:
+	* tests/examples/gl/generic/cube/Makefile.am:
+	* tests/examples/gl/generic/cube/main.cpp:
+	* tests/examples/gl/generic/cubeyuv/Makefile.am:
+	* tests/examples/gl/generic/cubeyuv/main.cpp:
+	* tests/examples/gl/generic/doublecube/Makefile.am:
+	* tests/examples/gl/generic/doublecube/main.cpp:
+	* tests/examples/gl/qt/mousevideooverlay/pipeline.cpp:
+	* tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.cpp:
+	  glimagesink: provide GstSample in client-draw signal
+	  Instead of prividing texture and size directly.
+	  And apply changes to examples.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739681
+
+2015-03-14 15:37:05 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* tests/examples/gl/sdl/sdlshare.c:
+	  sdlshare: use glupload and unmap frame
+
+2015-03-14 16:25:29 +0000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglmixer.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	* gst-libs/gst/gl/gstglsyncmeta.h:
+	  glsyncmeta: make context to wait and set sync explicit
+	  otherwise we may wait on a sync object in same context by accident
+
+2015-03-14 15:16:01 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	  configure: fix build
+	  Was supposed to be squashed into earlier commit.
+
+2015-03-14 15:15:02 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/plugins/gst-plugins-bad-plugins.args:
+	* docs/plugins/gst-plugins-bad-plugins.hierarchy:
+	* docs/plugins/gst-plugins-bad-plugins.interfaces:
+	* docs/plugins/gst-plugins-bad-plugins.signals:
+	* docs/plugins/inspect/plugin-assrender.xml:
+	* docs/plugins/inspect/plugin-dvbsuboverlay.xml:
+	* docs/plugins/inspect/plugin-inter.xml:
+	* docs/plugins/inspect/plugin-jpegformat.xml:
+	* docs/plugins/inspect/plugin-resindvd.xml:
+	  docs: update plugin docs
+
+2015-03-14 14:43:37 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	* sys/Makefile.am:
+	* sys/osxvideo/Makefile.am:
+	* sys/osxvideo/osxvideoplugin.c:
+	* sys/osxvideo/osxvideosrc.c:
+	* sys/osxvideo/osxvideosrc.h:
+	  Remove unported and useless osxvideosrc element
+	  There are other elements for this now.
+
+2015-03-13 18:24:43 +0000  Ramiro Polla <ramiro.polla@collabora.co.uk>
+
+	* gst/sdp/gstsdpdemux.c:
+	  sdpdemux: properly escape percent sign in documentation
+
+2015-03-14 12:58:22 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Add NULL check in error case
+	  Other context may be NULL if something went wrong. Avoid trying to unref
+	  a NULL pointer.
+
+2015-03-14 11:01:12 +0000  Matthew Waters <matthew@centricular.com>
+
+	* configure.ac:
+	  gl: fix a couple of typos in configure.ac
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744020
+
+2015-03-14 10:39:06 +0000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglcolorconvertelement.c:
+	* ext/gl/gstgluploadelement.c:
+	  glupload/colorconvert: only copy timestamps if the input buffer != output
+
+2015-03-11 00:06:55 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/cocoa/Makefile.am:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	* gst-libs/gst/gl/cocoa/gstgldisplay_cocoa.h:
+	* gst-libs/gst/gl/cocoa/gstgldisplay_cocoa.m:
+	* gst-libs/gst/gl/gstgldisplay.c:
+	  gl: add GstGLDisplayCocoa
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746012
+
+2015-03-13 09:07:16 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* tests/examples/gl/cocoa/cocoa-videooverlay.m:
+	  examples: initialize NSApp at the beginning
+
+2015-03-14 07:49:14 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: do not terminate loop in gst_gl_window_cocoa_close
+	  It is now done in _finalize.
+	  Fix regression introduced by
+	  "gl/window: create the main loop/context on init/finalize"
+	  bc7a7259f357b0065dd94e0668b5a895d83fa53a
+
+2015-03-13 15:34:55 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglutils.c:
+	  gl: avoid overwriting display and context to NULL
+	  It happens when the application provides display
+	  and/or context.
+
+2015-03-13 17:41:17 +0000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gltestsrc.c:
+	* gst-libs/gst/gl/gstglshader.c:
+	  glshader: attribute locations are -1 on error
+
+2015-03-13 17:04:17 +0000  Neos3452 <neos3452@gmail.com>
+
+	* gst-libs/gst/gl/gstglshader.c:
+	  glshader: prevent from getting attributes without vertex shader
+	  It doesn't make sense to query for vertex attributes without a vertex
+	  shader. Moreover this is causing a crash on OSX.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746168
+
+2015-03-14 02:53:00 +1100  Jan Schmidt <jan@centricular.com>
+
+	* ext/gl/gstglfilterbin.c:
+	  GL: Remove annoying printf in the filterbin class_init
+
+2015-03-12 09:27:30 +0100  ijsf <ijsf@gmx.net>
+
+	* sys/applemedia/avfvideosrc.m:
+	  Restricted activeVideoMaxFrameDuration to fix frame rate
+
+2015-03-13 12:43:13 +0000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: add pixel-aspect-ratio property on the bin
+
+2015-03-13 12:40:04 +0000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: unref the bufferpool
+
+2015-03-13 12:29:54 +0000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: forward ALL the properties on the bin
+
+2015-03-13 12:28:36 +0000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgluploadelement.c:
+	  gluploadelement: properly unref buffers that are the same as the input
+	  basetransform doesn't unref equal input and output buffers
+
+2015-03-13 10:25:35 +0000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/effects/gstgleffectbulge.c:
+	* ext/gl/effects/gstgleffectfisheye.c:
+	* ext/gl/effects/gstgleffectglow.c:
+	* ext/gl/effects/gstgleffectidentity.c:
+	* ext/gl/effects/gstgleffectlumatocurve.c:
+	* ext/gl/effects/gstgleffectmirror.c:
+	* ext/gl/effects/gstgleffectrgbtocurve.c:
+	* ext/gl/effects/gstgleffectsin.c:
+	* ext/gl/effects/gstgleffectsquare.c:
+	* ext/gl/effects/gstgleffectsqueeze.c:
+	* ext/gl/effects/gstgleffectstretch.c:
+	* ext/gl/effects/gstgleffecttunnel.c:
+	* ext/gl/effects/gstgleffecttwirl.c:
+	* ext/gl/effects/gstgleffectxray.c:
+	* ext/gl/gstglbumper.c:
+	* ext/gl/gstglcolorscale.c:
+	* ext/gl/gstgldeinterlace.c:
+	* ext/gl/gstgldifferencematte.c:
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstglfilterapp.c:
+	* ext/gl/gstglfilterblur.c:
+	* ext/gl/gstglfiltercube.c:
+	* ext/gl/gstglfilterglass.c:
+	* ext/gl/gstglfilterlaplacian.c:
+	* ext/gl/gstglfilterreflectedscreen.c:
+	* ext/gl/gstglfiltershader.c:
+	* ext/gl/gstglfiltersobel.c:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixer.h:
+	* ext/gl/gstglmosaic.c:
+	* ext/gl/gstgloverlay.c:
+	* ext/gl/gstgltransformation.c:
+	* ext/gl/gstglvideomixer.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  gl: get the context from basemixer/basefilter
+
+2015-03-13 09:38:54 +0000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglbasemixer.c:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglbasefilter.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	  gl: retreive the gldisplay/app gl context as soon as possible
+	  fixes the usage of gst_gl_display_filter_gl_api
+
+2015-03-13 09:37:46 +0000  Matthew Waters <matthew@centricular.com>
+
+	* tests/check/libs/gstglcontext.c:
+	  gl/tests: fix deadlock on glcontext wrapped context test
+
+2015-03-12 16:46:44 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: cache indices in a buffer object
+
+2015-03-12 17:11:31 +0000  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Fix discont detection and buffer alignment code
+	  Actually accumulate the sample counter to check the accumulated error
+	  between actual timestamps and expected ones instead of just resetting
+	  the error back to 0 with every new buffer.
+	  Also don't reset discont_time whenever we don't resync. The whole point of
+	  discont_time is to remember when we first detected a discont until we actually
+	  act on it a bit later if the discont stayed around for discont_wait time.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=746032
+
+2015-03-08 18:16:04 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/caopengllayersink.h:
+	* ext/gl/caopengllayersink.m:
+	* ext/gl/gstopengl.c:
+	  caopengllayersink: implement as a bin like glimagesink
+
+2015-03-03 18:05:04 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/caopengllayersink.m:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: avoid deadlock when creating context on the main thread.
+	  Make window/view creation async so that it is possible to
+	  gst_gl_context_create from the main thread.
+
+2015-03-03 17:26:47 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglbasemixer.c:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglbasefilter.c:
+	* gst-libs/gst/gl/gstgldisplay.c:
+	* gst-libs/gst/gl/gstgldisplay.h:
+	  gl: store the list of contexts within gldisplay
+	  Removes the reliance on the allocation query to propogate GL contexts.
+	  Allows thread safely getting a context for the a specific thread.
+
+2015-03-03 16:48:24 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: unset the current shader after rendering
+	  fixes gltestsrc ! glimagesink when gltestsrc doesn't use a shader
+
+2015-03-03 16:38:56 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgltestsrc.c:
+	* ext/gl/gstgltestsrc.h:
+	  gltestsrc: remove usage of gldownload library object
+
+2015-02-28 00:30:38 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstglcontext.h:
+	  glcontext: store the thread current context
+
+2015-02-26 18:26:36 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/gstglsrcbin.c:
+	* ext/gl/gstglsrcbin.h:
+	* ext/gl/gstopengl.c:
+	  gl: new glsrcbin element
+
+2015-02-26 13:45:56 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	* ext/gl/gstglvideomixer.h:
+	* ext/gl/gstopengl.c:
+	  glvideomixer: implement with glmixerbin
+	  The relevant properties are forwarded to/from the containing bin
+	  and sink pads.
+
+2015-02-26 00:20:37 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixer.h:
+	  glmixer: remove usage of upload/download objects
+
+2015-02-25 23:48:56 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/gstglmixerbin.c:
+	* ext/gl/gstglmixerbin.h:
+	* ext/gl/gstopengl.c:
+	  gl: new glmixerbin element
+
+2015-02-20 16:47:01 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* ext/gl/gstopengl.c:
+	  glimagesink: implement as a bin
+	  glupload ! glcolorconvert ! sink
+	  Some properties are manually forwarded.  The rest are available using
+	  GstChildProxy.
+	  The two signals are forwarded as well.
+
+2015-02-19 18:23:37 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/gstglsinkbin.c:
+	* ext/gl/gstglsinkbin.h:
+	* ext/gl/gstopengl.c:
+	  gl: new glsinkbin element
+	  similar to glfilterbin but for sinks
+
+2015-02-19 14:19:59 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: don't use the library upload/convert objects
+
+2015-02-19 13:33:28 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/gstglfilterbin.c:
+	* ext/gl/gstglfilterbin.h:
+	* ext/gl/gstopengl.c:
+	  gl: new element glfilterbin
+	  It encapsulates a confiurable GL processing element in the
+	  upload/colorconvert/download dance required to transparently process
+	  the majority of GstBuffer's.
+
+2015-02-19 13:24:59 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/gstgldownloadelement.c:
+	* ext/gl/gstgldownloadelement.h:
+	* ext/gl/gstopengl.c:
+	  gl: add new gldownloadelement
+	  Simply transforms caps to/from raw/glmemory capsfeatures
+
+2015-02-12 17:59:27 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/gstglcolorconvertelement.c:
+	* ext/gl/gstglcolorconvertelement.h:
+	* ext/gl/gstopengl.c:
+	  gl: add a new glcolorconvert element based on the glcolorconvert library object
+
+2015-03-11 16:56:16 +0000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: implement propose_allocation pool handling for glmemory upload
+
+2015-02-11 23:29:01 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/gstgluploadelement.c:
+	* ext/gl/gstgluploadelement.h:
+	* ext/gl/gstopengl.c:
+	  gl: add a new glupload element based on the glupload library object
+
+2015-02-11 14:48:45 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/gstglbasemixer.c:
+	* ext/gl/gstglbasemixer.h:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixer.h:
+	* ext/gl/gstglmixerpad.h:
+	* ext/gl/gstglvideomixer.h:
+	  gl: add a new glbasemixer class below glmixer
+	  It deals with propagating the gl display/contexts throughout the
+	  application/pipeline
+
+2015-02-11 01:48:11 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/Makefile.am:
+	* gst-libs/gst/gl/gl.h:
+	* gst-libs/gst/gl/gstgl_fwd.h:
+	* gst-libs/gst/gl/gstglbasefilter.c:
+	* gst-libs/gst/gl/gstglbasefilter.h:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  gl: add a new glbasefilter class below glfilter
+	  It deals with propagating the gl display/contexts throughout the
+	  application/pipeline
+
+2015-02-11 01:27:28 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	  glutils: expose running a query on a set of src/sink pads
+
+2015-03-12 12:49:40 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/opus/gstopusenc.c:
+	* ext/opus/gstopusenc.h:
+	  opusenc: replace cbr and constrained-vbr properties with an enum
+	  It was deemed confusing before.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744909
+
+2015-03-12 10:14:50 +0000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: advertise resize in the caps negotiation properly
+
+2015-03-12 01:49:58 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Add locking to fill_buffer and fix mix_buffer
+	  The audiomixer pad struct fields may be changed from other threads
+
+2015-03-12 01:56:44 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	* gst/audiomixer/gstaudiomixer.h:
+	  audiomixer: Mark a discont when we receive a new segment event
+	  This allows us to handle new segment events correctly; either by dropping
+	  buffers or inserting silence; for example if the offset is changed on an srcpad
+	  connected to audiomixer.
+
+2015-03-12 09:46:02 +0000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: we don't do resizing of the video frames
+	  As we cannot do accurate texel sampling then due to the texture
+	  coordinates being interpolated based on the output frame size.
+
+2015-01-20 19:53:09 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: While aggregating, sync values for all pads before converting frames
+
+2015-03-11 18:49:22 +0000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
+	  gl/x11: don't XGetWindowAttributes every XEvent
+	  fixes a deadlock in xcb where the X window may not exist.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745633
+
+2015-03-11 14:50:28 +0000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
+	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+	  gl/window: hopefully fixup compile warnings on android/ios
+
+2015-03-11 17:19:17 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: Remove redundant check for clearing context on reset.
+	  The context is already cleared a few lines above.
+
+2015-03-11 16:55:14 +1100  Jan Schmidt <jan@centricular.com>
+
+	* ext/dash/gstisoff.c:
+	* ext/dc1394/gstdc1394.c:
+	* ext/openjpeg/gstopenjpegenc.c:
+	* ext/resindvd/gstmpegdesc.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/gl/egl/gsteglimagememory.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/insertbin/gstinsertbin.c:
+	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
+	* gst/mxf/mxfmetadata.c:
+	* gst/siren/gstsirendec.c:
+	* gst/videomeasure/gstvideomeasure_ssim.c:
+	* sys/acmenc/acmenc.c:
+	* sys/vdpau/gstvdpvideobufferpool.c:
+	  Remove a bunch of silly ';;' typos at the end of lines
+
+2015-03-06 15:31:18 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
+	  gl/window: create the main loop/context on init/finalize
+	  Avoids races setting the window handle from the main thread.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745633
+
+2015-03-08 02:04:11 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregatory: don't redefine GST_FLOW_CUSTOM_SUCCESS
+
+2015-03-04 11:12:32 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* sys/androidmedia/gstamcaudiodec.c:
+	  androidmedia: Remove unused label/variable
+
+2015-03-10 15:31:21 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: fix get_presentation_offset check.
+	  And return 0 isntead of FALSE.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745455
+
+2015-03-02 14:00:03 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: implement get_presentation_offset.
+	  To account for presentationTimeOffset as per section 7.2.1 .
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745455
+
+2015-03-02 13:53:03 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: [API]: get_presentation_offset virtual method.
+	  Asks the subclass for a potential time offset to apply to each
+	  separate stream, in dash streams can have "presentation time offsets",
+	  which can be different for each stream.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745455
+
+2015-03-06 12:24:44 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* ext/dash/gstmpdparser.c:
+	  gstmpdparser: Really set the default value for startNumber.
+	  + The specs ask for a default of 1, the current code only did
+	  set a default when the field was present.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745455
+
+2015-03-09 11:11:16 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/videoparsers/gstmpegvideoparse.c:
+	  videoparser: unused value
+	  Value set in off will be immediately overwritten after going to next.
+	  CID #1226476
+
+2015-03-09 12:51:21 +0900  hoonhee.lee <hoonhee.lee@lge.com>
+
+	* gst/y4m/gsty4mdec.c:
+	  y4mdec: remove unnecessary semicolon
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745877
+
+2015-03-09 12:41:59 +0900  hoonhee.lee <hoonhee.lee@lge.com>
+
+	* tests/check/libs/gstglcontext.c:
+	  tests: glcontext: remove unnecessary semicolon
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745875
+
+2015-03-06 14:49:20 +0200  Mohammed Hassan <mohammed.hassan@jolla.com>
+
+	* gst/camerabin2/gstcamerabin2.c:
+	  camerabin: update zoom param spec if video source changes its max-zoom
+	  If the video source happens to allow max-zoom to be greater than our maximum hard coded
+	  value of 10 then the user cannot set anything greater than our maximum specified in the
+	  param spec. We have to update our param spec to prevent glib from capping the value
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745740
+
+2015-03-07 10:28:35 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/plugin.m:
+	* sys/applemedia/vtdec.c:
+	* sys/applemedia/vtdec.h:
+	  vtdec: Register a hardware-only vtdec_hw on OSX and give it a higher rank
+	  while having the default vtdec at secondary rank. This allows decodebin/playbin
+	  to prefer the hardware based decoders, and if that fails to initialize because
+	  hardware resources are busy to fall back to e.g. the libav based h264 decoder
+	  instead of the software based vtdec (which is slower), and only fall back to
+	  the software based vtdec if there is no higher ranked decoder available.
+
+2015-03-06 20:11:00 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: Don't share our downstream pool with upstream
+	  Pool cannot have multiple owner. This can lead to spurious
+	  pool was flushing error.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=74570
+
+2015-03-05 16:28:36 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: Don't chain downstream pool
+	  Chaining a downstream pool would lead to two owner of the same
+	  pool. In dynamic pipeline, if one owner is removed from the pipeline
+	  the pool will be stopped, and the rest of the pipeline will fail
+	  since the pool will now be flushing. Also fix proposed pool caching,
+	  filter->pool was never set, never unrefed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745705
+
+2015-03-05 15:49:50 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Only cache pool, don't manage it
+	  GLImage does not use any kind of internal pool. There was some
+	  remaining code and comment stating that it was managing the
+	  pool, and it was in fact setting the active state when doing
+	  to ready state.
+	  * Only create the pool if requested and in propose_allocation
+	  * Cache the pool to avoid reallocation on spurious reconfigure
+	  * Don't try to deactivate the pool (we don't own it)
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745705
+
+2015-03-06 12:07:47 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst/videoparsers/gstpngparse.c:
+	  pngparse: stop spamming info messages
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745755
+
+2015-03-06 18:54:24 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstgldownload.c:
+	  gldownload: Simplify caps feature setting code
+
+2015-03-06 18:15:11 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	  gl: Remove format info in glcolorconvert's transform_caps function instead of on every caller
+	  ... and let glmixer actually transform the caps it is supposed to transform
+	  instead of inventing new caps.
+
+2015-03-06 18:49:16 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  Revert "videoaggregator: Create new caps from the video-info"
+	  This reverts commit 78215be0dfbb4e8ed4f249e161a94c644328d28d.
+	  because it broke glvideomixer with custom caps features.
+
+2015-03-06 18:36:12 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: Simplify caps feature setting code
+
+2015-03-06 14:54:41 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/rtp/gstrtph265depay.c:
+	  rtp: donl_present variable unused
+	  donl_present is not implemented, yet the value is set and checked a few times.
+	  Cleaning this.
+	  CID #1249687
+
+2015-03-06 14:27:44 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mpegtsmux/tsmux/tsmuxstream.c:
+	  mpegtsmux: fall through switch statement
+	  Adding a comment makes coverity happy and quells the issue.
+	  CID #1139748
+
+2015-03-06 14:36:26 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Create new caps from the video-info
+	  In case the original caps were missing some optional fields like
+	  interlace-mode. We assume default values for those everywhere,
+	  but they can still cause negotiation to fail if a downstream element
+	  expects the field to be there and at a specific value.
+
+2015-02-25 13:52:21 +0100  Florian Zwoch <fzwoch@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: allow "capture-screen" mode to select which screen to capture via the "device-index" option
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745161
+
+2015-03-05 19:09:49 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/gl/gstgldisplay.c:
+	  gldisplay: Only use debugging if we have valid values
+	  The debug category won't have been created/activated if it's not a
+	  valid display
+
+2015-03-05 15:54:55 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/opencv/motioncells_wrapper.cpp:
+	  motioncells: protect against not found id
+	  If searchIdx() doesn't find the id it returns -1, which breaks
+	  motioncelssvector.at (idx). Check for it and return if not found.
+	  Changing a few other lines for style consistency.
+
+2015-03-05 15:34:09 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/opencv/gsttemplatematch.c:
+	  opencv: remove always-true check
+	  filter->cvImage has just been used/dereferenced, there would be an error
+	  there if the pointer was NULL. No need to check since it will always be true.
+
+2015-03-04 16:13:30 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	  decklinkaudiosrc: Calculate the duration more accurately from the capture time and numbers of samples
+	  This should prevent any accumulating rounding errors with the duration.
+
+2015-03-04 16:05:28 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	  decklinkaudiosrc: Fix the timestamp and offset calculations even more
+
+2015-03-04 16:04:18 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	  decklinkaudiosrc: Don't subtract the duration from the capture time
+	  We already have the real capture time, not the time when we received
+	  the end of the packet.
+
+2015-03-04 13:16:03 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  Revert "audiomixer: Latency is twice the output buffer duration, not only once"
+	  This reverts commit d387cf67df91b59540f32ee17b4c02f747969add.
+	  The analysis was wrong: The first 20ms of latency are introduced by the source
+	  already and put into the latency query, making it only necessary to cover the
+	  additional 20ms of audiomixer inside audiomixer.
+
+2015-03-04 09:24:27 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/opus/gstopusdec.c:
+	  opusdec: fix latency query in FEC case
+	  The max latency parameter is "the maximum time an element
+	  synchronizing to the clock is allowed to wait for receiving all
+	  data for the current running time" (docs/design/part-latency.txt).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744338
+
+2015-03-03 11:42:09 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: reset the parser information when caps changes
+	  This prevents it from going into passthrough after receiving 2
+	  byte-stream caps (different ones) as it would keep the have_pps and
+	  have_sps set to true and would just go into passthrough without
+	  updating its caps.
+	  This patch makes it reset its stream information to restart properly
+	  when new caps are received.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745409
+
+2015-03-03 17:47:51 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: set timestamp on discont buffers
+	  Make sure discont buffers have its timestamp set to allow downstream
+	  to resync if needed
+
+2012-03-22 08:47:57 +0100  Oleksij Rempel <bug-track@fisher-privat.net>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	* gst/camerabin2/gstwrappercamerabinsrc.h:
+	  camerabin2: check negotiated caps avoid reseting of the pipe
+	  To avoid useless renegotiation of the pipe we can check for
+	  negotiated caps on src_filter and compare it with requested
+	  filter. If the caps intersect, avoid restart.
+	  Signed-off-by: Oleksij Rempel <bug-track@fisher-privat.net>
+	  https://bugzilla.gnome.org/show_bug.cgi?id=672610
+
+2015-03-02 01:08:15 +0300  Ilya Averyanov <i.averyanov@geoscan.aero>
+
+	* gst/mpegtsmux/mpegtsmux.c:
+	  mpegtsmux: Remove duplicate code
+	  The muxer is already allocated in reset(), which is called soon afterwards.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745506
+
+2015-03-03 10:12:11 +0800  Song Bing <b06498@freescale.com>
+
+	* gst/dvbsuboverlay/gstdvbsuboverlay.c:
+	  dvbsuboverlay: Set query ALLOCATION need_pool to FALSE
+	  Set query ALLOCATION need_pool to FALSE as it only need query if can
+	  support video overlay composition meta.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745495
+
+2015-03-04 14:38:36 +1100  Matthew Waters <matthew@centricular.com>
+
+	* sys/applemedia/avsamplevideosink.h:
+	* sys/applemedia/avsamplevideosink.m:
+	  applemedia/avsamplesink: utilise a pull based approach of displaying video frames
+	  Using requestMediaDataWhenReadyOnQueue the layer will execute a block
+	  when it would like more frames. Using this we can provide the current
+	  frame and avoid needlessly filling the layer's buffer queue causing
+	  older frames to be displayed when under resource pressure.
+
+2015-03-03 15:22:38 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/gl/gstgloverlay.c:
+	  gloverlay: Fix upside down and miss-aligned JPEG
+	  LibJPEG uses macroblock of 8x8 sample. In this element we use RGB and
+	  Y444, two 24bit formats that are stored in 32bit pixels. This mean we
+	  have 32x32 bytes macroblocks. For this reason, we need to allocate
+	  our buffer slightly larger. We also need to pass the line pointer in
+	  the right order, otherwise the image endup upside-down.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745109
+
+2015-03-03 20:03:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Latency is twice the output buffer duration, not only once
+	  Let's assume a source that outputs outputs 20ms buffers, and audiomixer having
+	  a 20ms output buffer duration. However timestamps don't align perfectly, the
+	  source buffers are offsetted by 5ms.
+	  For our ASCII art picture, each letter is 5ms, each pipe is the start of a
+	  20ms buffer. So what happens is the following:
+	  0   20  40  60
+	  OOOOOOOOOOOOOOOO
+	  |   |   |   |
+	  5   25  45  65
+	  IIIIIIIIIIIIIIII
+	  |   |   |   |
+	  This means that the second output buffer (20 to 40ms) only gets its last 5ms
+	  at time 45ms (the timestamp of the next buffer is the time when the buffer
+	  arrives). But if we only have a latency of 20ms, we would wait until 40ms
+	  to generate the output buffer and miss the last 5ms of the input buffer.
+
+2015-02-18 21:21:01 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+	  gltransformation: normalize translations
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744763
+	  * Lubosz: use maxfloat for transformation range
+
+2015-02-18 20:41:14 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* ext/gl/gstgltransformation.c:
+	  gltransformation: Fix doc typo
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744763
+
+2015-03-03 13:45:46 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: Get rid of uploader if caps have changed
+	  We need to update the uploader format if that caps have changed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745549
+
+2015-03-03 16:50:30 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/wayland/wlshmallocator.c:
+	  waylandsink: g_mkstemp is safer than mkstep
+
+2015-03-03 16:49:07 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/wayland/wlshmallocator.c:
+	  Revert "waylandsink: mkstemp requires setting permission mask"
+	  This reverts commit 1890e7355a5464fcfff58633851265b3fc7a3731.
+	  Better to use g_mkstemp that takes care of the mask without affecting the
+	  entire process.
+
+2015-03-03 16:55:26 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  gl: Fix context leaks
+	  Introduced by a12ca13750a15300ab3c718ebde2984dc3d587b3
+
+2015-03-03 16:23:40 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/asfmux/gstasfmux.c:
+	  asfmux: remove unnecessary conditional
+	  The two branches of the if conditional are identical, which means in all cases
+	  the same gst_asf_put_guid() will be executed. Do it directly.
+	  CID #1226448
+
+2015-03-03 15:51:50 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/wayland/wlshmallocator.c:
+	  waylandsink: mkstemp requires setting permission mask
+	  Using mkstemp without setting the permission mask is potentially harmful.
+	  POSIX specification of mkstemp() does not say anything about file modes, so we
+	  need to make sure its file mode creation mask is set appropriately before
+	  calling it.
+
+2015-03-02 16:45:45 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklink: Reset the clock calibration when unsetting the master clock
+	  Otherwise the old calibration will stick around for the next time we use it,
+	  potentially giving us completely wrong times.
+
+2015-03-02 13:57:24 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklink{audio,video}src: Add some more debug output
+
+2015-02-12 13:43:30 +0100  DanielD10 <d.dedisse@vogo.fr>
+
+	* sys/decklink/gstdecklink.cpp:
+	  decklink: Incorrect frame rate for interlaced modes
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744386
+
+2015-03-01 19:57:23 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  gl/cocoa: register only one custom nsapp loop
+	  Otherwise the pipeline stalls when running
+	  more than one glimagesink with gst-launch.
+	  Also only register the custom nsapp loop
+	  when setting up the nsapp from gstgl.
+
+2015-03-01 16:54:10 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  gl/cocoa: instead of class_init use g_once to setup nsapp
+
+2015-02-26 23:04:09 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  gl/cocoa: check for deprecated constants prior to OSX 10.10
+
+2015-03-01 09:43:32 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst-libs/gst/gl/gstglbufferpool.c:
+	  glbufferpool: Fix offset for odd height
+	  We also need to recalculate the offset, since otherwise the frame
+	  mapping will be forward two lines in the U and V planes (I420) due
+	  to gst_video_info_align() round up the Y plane to a even number of
+	  lines.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745054
+
+2015-03-01 00:08:42 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* tests/check/libs/gstglmemory.c:
+	  gl-test: Port unit tests to new API
+
+2015-02-28 15:00:13 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: Support offset when downloading
+	  Make sure we support offset and video alignment when downloading too.
+	  This is currently not used (plane_start is always 0), but it makes
+	  the code correct if we want to use that later.
+
+2015-02-28 13:01:16 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: Provide correct size on upload
+	  Provide the right size to GL when uploading. Using maxsize is wrong
+	  since we offset the data point with the memory offset and video
+	  alignement offset.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744246
+
+2015-02-28 12:48:03 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: Provide correct size on download
+	  Provide the right size to GL when downloading. This fixes downloading
+	  from GLMemory that where created for libav.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744246
+
+2015-02-28 11:55:26 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	  glmemory: Use fallback for partial copy
+	  When the memory is partial copy, the texture size and videoinfo no
+	  longer make sense. As we cannot guess what the application wants, we
+	  safely copy into a sysmem memory.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744246
+
+2015-02-25 18:07:03 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* ext/gl/gstgloverlay.c:
+	* gst-libs/gst/gl/gstglbufferpool.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	* gst-libs/gst/gl/gstglupload.c:
+	  glmemory: Add GstAllocationParams and alignment support
+	  This implements support for GstAllocationParams and memory alignments.
+	  The parameters where simply ignored which could lead to crash on
+	  certain platform when used with libav and no luck.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744246
+
+2015-02-28 18:21:33 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: perform egl upload on the gl thread
+	  Fixes EGLImage usage on raspberry pi
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743914
+
+2015-02-27 11:07:34 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideosrc: Fix scaling with rate of internal/external clock
+
+2015-02-27 00:26:00 +0530  Arun Raghavan <git@arunraghavan.net>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Use standard upstream latency querying logic
+	  The same functionality is duplicated in the default latency querying
+	  now.
+
+2015-02-27 00:01:41 +0530  Arun Raghavan <git@arunraghavan.net>
+
+	* gst/liveadder/liveadder.c:
+	  liveadder: Use default upstream latency querying logic
+	  We can rely on the standard upstream latency querying logic and then add
+	  our own latency.
+
+2015-02-26 13:20:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: Set freed method implementation to NULL
+	  When trying to render buffers with meta:GLTextureUpload the glimagesink crashes
+	  with a segmentation fault.
+	  This patch workarounds this crash setting to NULL the method implementation
+	  after free.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745206
+
+2015-02-25 14:48:59 +0100  Roman Nowicki <r.nowicki@sims.pl>
+
+	* sys/d3dvideosink/d3dhelpers.c:
+	  d3dvideosink: release existing D3D swap chain on init
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745159
+
+2015-02-24 19:01:45 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/gl/Makefile.am:
+	  opengl: Clean Makefile.am
+	  + Split headers from source
+	  + Remove uneeded AM_CFLAGS, AM_LDFLAGS
+	  + Always set OBJCFLAGS
+	  Due to the presence of a .m and regardless of the conditional values,
+	  automake will promote the link command to OBJC using OBJCFLAGS. Only
+	  the basic flags (like warnings and optimization) are going to make a
+	  difference though.
+	  This cleanup builds up the makefile with less specific files first
+	  toward more specific file. FLAGS are built with the basic that unused
+	  flags will have empty variable.
+
+2015-02-24 12:54:54 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: cosmetic cleanup
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745105
+
+2015-02-24 19:52:59 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/gl/Makefile.am:
+	  opengl: don't add --tag=CC twice to LIBTOOLFLAGS
+
+2015-02-24 14:35:37 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/gl/Makefile.am:
+	  opengl: Add --tag=CC to LIBTOOLCLFAGS
+	  This is required for static build.
+
+2015-02-24 18:50:03 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/jpegformat/gstjpegparse.c:
+	* tests/check/elements/jpegparse.c:
+	  jpegparse: interlaced doesn't mean progressive scan
+	  Removing interlaced variable since it is meant to mean progressive scan
+	  and that isn't used.
+
+2015-02-24 18:38:31 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* tests/check/elements/jpegparse.c:
+	  Revert "tests: check jpegparse for progressive marker"
+	  This reverts commit 1c77d12ce8770f0e065e9c00c35d711fdef1c9f8.
+	  "interlaced" in the caps don't mean the same thing as the SOF2 marker in the
+	  JPEG format. This test passes because of broken behaviour.
+
+2015-02-24 17:41:43 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* tests/check/elements/jpegparse.c:
+	  tests: check jpegparse for progressive marker
+
+2015-02-24 14:01:04 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  glwindow: Deactivate window before changing handle
+	  When setting a new window handle, we need to ensure all implementations
+	  will detect the change.
+	  For that we deactivate the context before setting the window handle, then
+	  reactivate the context
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745090
+
+2015-02-24 13:58:26 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
+	  gl/egl: Detect window handle changes
+	  When (re)activating the context, the backing window handle might have changed.
+	  If that happened, destroy the previous surface and create a new one
+	  https://bugzilla.gnome.org/show_bug.cgi?id=745090
+
+2015-02-24 14:20:42 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst-libs/gst/gl/gstglapi.c:
+	  gl: remove docbook related warnings
+
+2015-02-24 13:51:24 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/modplug/gstmodplug.cc:
+	  modplug: remove unused variable
+
+2015-02-24 13:36:00 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/modplug/gstmodplug.cc:
+	  modplug: not using deprecated API anymore
+
+2015-02-24 13:16:21 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/modplug/gstmodplug.cc:
+	  modplug: update example pipeline command
+
+2015-02-24 19:03:43 +0530  Arun Raghavan <arun@centricular.com>
+
+	* gst-libs/gst/mpegts/gst-dvb-section.c:
+	  mpegts: Fix a compiler warning
+	  Causes the following warning on clang:
+	  gst-dvb-section.c:567:36: error: format specifies type 'unsigned long' but the argument has type 'int' [-Werror,-Wformat]
+	  descriptors_loop_length, end - 4 - data);
+	  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
+
+2015-02-24 23:54:13 +1100  Matthew Waters <matthew@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: only attempt use of the texture cache with GLMemory caps features
+	  Otherwise we send rectangle textures to glimagesink
+
+2015-02-24 23:52:39 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/caopengllayersink.m:
+	  caopengllayersink: render black when we don't have a texture to display
+	  Like when the winsys asks us to redraw before the pipeline has started
+
+2015-02-25 00:00:48 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: allow sharing between buffers
+	  There was no real reason why the flag was set.  We should be able
+	  to handle it.  Fixes last-sample handling on gl sinks
+
+2015-02-24 20:34:35 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	  glsyncmeta: add compat definition for gles2
+
+2015-02-24 11:19:04 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/d3dvideosink/d3dhelpers.c:
+	  d3dvideosink: Don't initialize the render window swap chain while the device is lost and we're waiting for reset
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744615
+
+2015-02-24 11:18:38 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/d3dvideosink/d3dvideosink.c:
+	  d3dvideosink: Deactivate the fallback buffer pool when replacing it during caps changes
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744615
+
+2015-01-29 17:41:19 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	* ext/gl/caopengllayersink.h:
+	* ext/gl/caopengllayersink.m:
+	* ext/gl/gstopengl.c:
+	  new caopengllayersink element
+	  renders gstreamer gl scene/video frames to a caopengllayer retreivable
+	  from the "layer" property.
+
+2015-01-19 12:43:23 +1100  Matthew Waters <matthew@centricular.com>
+
+	* configure.ac:
+	* sys/applemedia/Makefile.am:
+	* sys/applemedia/avsamplevideosink.h:
+	* sys/applemedia/avsamplevideosink.m:
+	* sys/applemedia/plugin.m:
+	* tests/examples/Makefile.am:
+	* tests/examples/avsamplesink/.gitignore:
+	* tests/examples/avsamplesink/Makefile.am:
+	* tests/examples/avsamplesink/main.m:
+	  applemedia: new AVSampleBufferLayerSink
+	  Renders buffers using the CALayer subclass AVSampleBufferDisplayLayer
+	  which can be placed inside a Core Animation render tree.
+
+2015-02-24 19:06:18 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	  gl/calayer: don't use the async callback to render
+	  not until we can provide equivalent functionality for other window
+	  implementations.
+
+2015-02-24 01:20:23 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	  glsyncmeta: also supported with gles3
+
+2015-02-24 14:23:49 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst-libs/gst/gl/eagl/gstglcontext_eagl.h:
+	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
+	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+	  libgstgl: eagl: handle CALayer resize
+
+2015-02-23 16:13:31 +0100  Vasilis Liaskovitis <vliaskov@gmail.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: Fix transfer_pbo memory leak
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744977
+
+2015-02-22 10:03:54 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  gl/cocoa: reduce custom main loop latency
+	  This fix a very slow rendering rate regression that only
+	  happens when using gst-launch, i.e. in the case where
+	  the main thread does not run any NSApp loop.
+	  Git bisect reported it has been introduced by the commit
+	  e10d2417e2fe7aa4733c076984339b0d61caa169:
+	  "move to CGL and CAOpenGLLayer for rendering".
+	  Then the commit 7d463576271e5a4cc1070780ba1a69c971e8be1d:
+	  "gstglwindow_cocoa: fix slow render rate" attempted to fix
+	  the slow rendering rate problem when using gst-launch.
+	  At least for me it does not work. I tried several
+	  combinations, for example to flush CA transactions in the
+	  custom app loop, as mentioned in the doc, but the only solution
+	  that fixes the slow rendering is by reducing the loop latency.
+	  From what I tested, no need to put less than 60ms, even if the
+	  framerate has an interval much lower (16.6ms for 60 fps).
+
+2015-02-17 23:50:51 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* ext/gl/gstglmixerpad.h:
+	  glmixer: fix some compiler warnings
+	  i686-apple-darwin11-llvm-gcc-4.2
+	  gstglmixer.h:43: error: redefinition of typedef ‘GstGLMixer’
+	  gstglmixerpad.h:32: error: previous declaration of ‘GstGLMixer’ was here
+	  gstglmixer.h:46: error: redefinition of typedef ‘GstGLMixerFrameData’
+	  gstglmixerpad.h:33: error: previous declaration of ‘GstGLMixerFrameData’ was here
+
+2015-02-21 19:07:29 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/plugins/gst-plugins-bad-plugins.args:
+	* docs/plugins/gst-plugins-bad-plugins.hierarchy:
+	* docs/plugins/inspect/plugin-adpcmenc.xml:
+	* docs/plugins/inspect/plugin-curl.xml:
+	* docs/plugins/inspect/plugin-faac.xml:
+	* docs/plugins/inspect/plugin-inter.xml:
+	* docs/plugins/inspect/plugin-mpg123.xml:
+	* docs/plugins/inspect/plugin-opus.xml:
+	  docs: update
+
+2015-02-21 19:07:14 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+	* docs/plugins/gst-plugins-bad-plugins-sections.txt:
+	  docs: add opus elements to documentation
+
+2015-02-21 18:52:00 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* tests/examples/mxf/mxfdemux-structure.c:
+	  mxf-example: don't quit on Warning
+	  Don't quit on Warning.
+	  Print out a message when there is an Error or Warning.
+
+2015-02-21 18:47:29 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* tests/examples/mxf/mxfdemux-structure.c:
+	  mxf-example: always show gtk window
+	  Show gtk window even when there are no tags, to always have visual feedback
+	  about the pipeline running.
+
+2015-02-21 17:35:03 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* tests/examples/mxf/mxfdemux-structure.c:
+	  mxf-example: merge returns in g_value_to_string()
+
+2015-02-21 17:25:51 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* tests/examples/mxf/mxfdemux-structure.c:
+	  mxf-example: make bus_callback consistent
+	  Simplify the bus_callback to make it consisten with other examples.
+
+2015-02-21 17:18:02 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* tests/examples/mxf/mxfdemux-structure.c:
+	  mxf-example: fix usage of argc and argv
+
+2015-02-21 17:02:09 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* tests/examples/camerabin2/gst-camera2.c:
+	  camerabin examples: remove unneeded variable
+	  ret is only used once, we don't need to store it in a variable for that.
+
+2015-02-21 14:42:05 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  gstglmemory: Remove now unused transfer_upload function.
+
+2015-02-21 23:29:22 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: disable automatic pbo upload
+	  until we can track where the data is/or is going to be.
+
+2015-02-20 13:55:05 +0000  Alex Ashley <bugzilla@ashley-family.net>
+
+	* ext/hls/m3u8.c:
+	* ext/hls/m3u8.h:
+	* tests/check/elements/hlsdemux_m3u8.c:
+	  hlsdemux: select correct starting position for live streams
+	  When playing live HLS streams, the media playback starts from the
+	  beginning of the media playlist. When playing a live HLS stream,
+	  media playback should start from 3 fragments from the end of the
+	  playlist.
+	  See section 6.3.3. of the HLS draft [1]
+	  This commit changes the logic to select 3 fragments from the end when
+	  playing a live stream.
+	  [1] http://tools.ietf.org/html/draft-pantos-http-live-streaming-12#page-29
+	  https://bugzilla.gnome.org/show_bug.cgi?id=727742
+
+2015-02-20 18:42:23 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	  glememory: only store and act on the map flags on first/last map/unmap
+	  Anytime else, we have no idea how to match up map and unmaps.
+	  We also don't know exactly how the calling code is using us.
+	  Also fixes the case where we're trying to transfer while someone else
+	  is accessing our data pointer or texture resulting in mismatched video
+	  frames.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744839
+
+2015-02-19 21:21:56 -0500  Olivier Crete <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Use src_lock to protect latency related members
+	  One has to use the src_lock anyway to protect the min/max/live so they
+	  can be notified atomically to the src thread to wake it up on changes,
+	  such as property changes. So no point in having a second lock.
+	  Also, the object lock was being held across a call to
+	  GST_ELEMENT_WARNING, guaranteeing a deadlock.
+
+2015-02-19 18:53:32 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Remove untrue comment
+
+2015-02-19 18:30:35 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Don't try to push tags while flush seeking
+	  The downstream segment could have been flushed already, so
+	  need to re-send the segment event before re-sending the tags.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-02-19 14:34:23 +0100  Guillaume Seguin <guillaume@segu.in>
+
+	* ext/hls/gsthlssink.c:
+	  hlssink: reduce playlist's EXT-X-VERSION to 3
+	  We are not using any features greater than the 3rd version,
+	  so reduce to what we actually use to make it compatible with
+	  more players
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744689
+
+2015-02-19 14:30:10 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/opus/gstrtpopuspay.c:
+	  rtpopuspay: default encoding name to OPUS
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737810
+
+2015-02-19 14:05:06 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/opus/gstrtpopuspay.c:
+	  rtpopuspay: make caps writable before truncating them
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737810
+
+2015-02-05 10:27:51 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/opus/gstrtpopuspay.c:
+	  rtpopuspay: negotiate the encoding name
+	  Chrome uses a different encoding name that gstreamer.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737810
+
+2015-02-19 17:21:46 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/videosignal/gstsimplevideomarkdetect.c:
+	  simplevideomarkdetect: move offset calculations out of inner loops
+	  the calculations for detecting the videomark is being repeated
+	  in for loop unnecessarily. Moving this outside of for loop
+	  such that the code need not be executed evertime the loop is executed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744778
+
+2015-02-19 11:04:28 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Use the sinkpads iterator directly to query upstream latencies
+	  While gst_aggregator_iterate_sinkpads() makes sure that every pad is only
+	  visited once, even when the iterator has to resync, this is not all we have
+	  to do for querying the latency. When the iterator resyncs we actually have
+	  to query all pads for the latency again and forget our previous results. It
+	  might have happened that a pad was removed, which influenced the result of
+	  the latency query.
+
+2015-02-19 10:57:09 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Move gst_aggregator_get_latency_unlocked() a bit
+	  It was between another function and its helper function before, which was
+	  confusing when reading the code as it had nothing to do with the other
+	  functions.
+
+2015-02-19 01:28:30 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/resindvd/rsninputselector.c:
+	  rsninputselector: Fail the latency query if one of the upstream queries fails
+
+2015-02-19 01:28:20 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/liveadder/liveadder.c:
+	  liveadder: Fail the latency query if one of the upstream queries fails
+
+2015-02-19 01:28:06 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Fail the latency query if one of the upstream queries fails
+
+2015-02-18 19:06:09 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: Only set latency if we already know our caps
+	  Otherwise we might set bogus values or GST_CLOCK_TIME_NONE.
+	  Also make sure to reset the caps field to NULL after unreffing
+	  the caps to prevent accidential use afterwards, and unref any
+	  old caps before we remember new caps.
+
+2015-02-18 15:53:53 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Document locking order
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-02-18 15:11:14 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Rename confusinly named SRC_STREAM_LOCK macros to SRC_LOCK
+	  This will match the name of the lock itself. It is also not a stream
+	  lock as it not recursive and not held while pushing.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-02-18 15:06:01 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Rename confusingly named stream lock to flush lock
+	  This lock is not what is commonly known as a "stream lock" in GStremer,
+	  it's not recursive and it's taken from the non-serialized FLUSH_START event.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-02-18 15:04:04 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Fix macro indendation
+	  Changes no code
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-02-18 17:10:48 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/gl/gstgltransformation.c:
+	* ext/gl/gstgltransformation.h:
+	  gltransform: Fix includes of graphene headers
+	  The graphene-1.0 part should not be in the source code. This directory
+	  is part of the cflags include. This is similar to gstreamer-1.0/
+	  directory. This break compilation if the include directory where
+	  graphene is installed is not in your include path.
+
+2015-02-18 19:07:42 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mxf/mxfdemux.c:
+	  mxfdemux: remove unneeded values
+	  No need to store the GstFlowReturn when we can check if it is not OK directly
+
+2015-02-18 18:33:20 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mxf/mxfdemux.c:
+	  mxfdemux: renaming GstFlowReturn variable
+	  Having a variable named ret in a static void function is very confusing since
+	  this usually is to store what the function will return.
+
+2015-02-18 18:00:48 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mxf/mxfdemux.c:
+	  mxfdemux: remove ignored value
+	  Value stored in ret will be ovewritten in the next iteration of the loop. Which
+	  means it is never used.
+	  Plus a style issue to make gst-indent happy and allow the commit.
+
+2015-02-18 17:41:25 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusenc.c:
+	  opusenc: Remove g_warnings() for the deprecated audio property
+	  Otherwise there are g_warnings() already when just using gst-inspect or
+	  dumping a pipeline graph.
+
+2015-02-15 23:16:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: protect against malformed isombff format
+	  Be more careful around malformed mpds that announce using
+	  isombff profile but actually are regular mpds
+
+2015-02-18 12:45:22 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/d3dvideosink/d3dhelpers.c:
+	  d3dvideosink: Deactivate the fallback pool and unref the fallback buffer when resetting
+	  Otherwise we will still have a reference to the surface left, which would
+	  prevent activating the sink again later. E.g. after we lost the device.
+	  Hopefully fixes https://bugzilla.gnome.org/show_bug.cgi?id=744615
+
+2015-02-17 11:53:49 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: remove unused define
+
+2015-02-17 11:41:27 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/smoothstreaming/gstmssdemux.c:
+	  mssdemux: use correct function to clear fragment info
+	  Just freeing the url won't reset the byte ranges and can lead to wrong
+	  ranges being used.
+
+2015-02-17 10:50:59 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: depracate bandwidth-usage in favor of bitrate-limit
+	  Bitrate-limit is already available in the baseclass and, even though
+	  the bandwidth-usage name is better, hls and mss already used
+	  bitrate-limit. This patch deprecates the bandwidth-usage and maps
+	  it to the baseclass bitrate-limite.
+
+2015-02-17 10:40:06 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	* ext/smoothstreaming/gstmssdemux.c:
+	* ext/smoothstreaming/gstmssdemux.h:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: add bitrate-limit property
+	  Move the property from subclasses to adaptivedemux, it allows
+	  selecing the percentage of the measured bitrate to be used when
+	  selecting stream bitrates
+
+2015-02-17 10:04:30 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlssink.c:
+	* ext/hls/gstm3u8playlist.c:
+	  hlssink: allow creation of 'infinite' playlist
+	  Allow the playlist-length to accept '0' as a value, indicating
+	  that no segment should be removed from the playlist. This allows
+	  generating playlists to be used as VOD when complete.
+
+2015-02-17 10:04:27 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlssink.c:
+	* ext/hls/gstm3u8playlist.c:
+	* ext/hls/gstm3u8playlist.h:
+	  hlssink: remove unused attribute
+	  the GFile attribute is never used
+
+2015-02-17 10:03:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	* ext/smoothstreaming/gstmssdemux.c:
+	* ext/smoothstreaming/gstmssdemux.h:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: add connection-speed property
+	  Allows to set a bitrate directly instead of measuring it internally
+	  based on the received chunks. The connection-speed was removed from
+	  mssdemux and hlsdemux as it is now in the base class
+
+2015-02-17 00:34:55 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c:
+	  basecamerabinsrc: don't use private GMutex implementation details
+	  Don't use private GMutex implementation details to check
+	  whether it has been freed already or not. Just clear mutex
+	  and GCond unconditionally in free function, they are always
+	  inited anyway, and the free function can't be called multiple
+	  times either.
+
+2015-02-16 23:54:28 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	  audiovisualizer: don't use private GMutex implementation details
+	  Don't use private GMutex implementation details to check
+	  whether it has been freed already or not. Just turn dispose
+	  function into finalize function which will only be called
+	  once, that way we can just clear the mutex unconditionally.
+
+2015-02-17 18:17:59 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: don't deadlock if the dispatch_sync is called from the main thread
+	  Provide a helper function to check whether we are being called from
+	  the main thread and act appropriately.
+
+2015-02-17 16:41:17 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.h:
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	  gl/calayer: only start drawing if the parent gl context is ready
+	  otherwise we may try to use GstGLFuncs * that hasn't been set yet
+
+2015-02-17 16:39:56 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: small refactor of layer/view creation into the window
+
+2015-02-17 01:04:38 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  glwindow: Remove assertion in gst_gl_window_show() for subclasses not implementing it
+	  On Android and iOS we can't create a window ourselves, so also can't just show
+	  one. That's not a problem and an assertion is not really needed here.
+
+2015-02-16 12:35:09 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Check if VTSessionCopyProperty() succeeds before using the result
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744585
+
+2015-02-13 23:45:20 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: drop GAP events until we handle them properly
+
+2015-02-12 12:04:44 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/videosignal/gstsimplevideomark.c:
+	  simplevideomark: refactor code
+	  the calculations for drawing the videomark is being repeated
+	  in for loop unnecessarily. Moving this outside of for loop
+	  such that the code need not be executed evertime the loop is executed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744371
+
+2015-02-09 11:21:35 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	* gst/mpegtsdemux/tsdemux.h:
+	  tsdemux: Fix segment and segment event handling during seeking
+	  Always update the segment and not only for accurate seeking and always
+	  send a new segment event after seeks.
+	  For non-accurate force a reset of our segment info to start from
+	  where our seek led us as we don't need to be accurate
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743363
+
+2015-02-13 16:06:34 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: use new gst_aggregator_pad_drop_buffer()
+
+2015-02-13 16:03:53 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: use new gst_aggregator_pad_drop_buffer()
+
+2015-02-13 15:53:19 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* tests/check/libs/aggregator.c:
+	  aggregator: use new gst_aggregator_pad_drop_buffer()
+
+2015-02-13 15:49:50 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: add gst_aggregator_pad_drop_buffer()
+	  steal_buffer() + unref seems to be a wide-spread idiom
+	  (which perhaps indicates that something is not quite
+	  right with the way aggregator pad works currently).
+
+2015-02-12 13:32:39 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: only post latency message if anything changed
+	  Perhaps we should check for element state as well and
+	  only post it if in PLAYING state.
+
+2015-02-12 15:48:07 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/audiomixer.c:
+	* tests/check/elements/compositor.c:
+	  tests: remove GST_DISABLE_PARSE guards from two tests that don't require it
+
+2015-01-28 12:12:26 +0530  Arun Raghavan <arun@centricular.com>
+
+	* sys/opensles/openslessink.c:
+	* sys/opensles/openslessrc.c:
+	  opensles: Make debug category naming a bit more consistent
+
+2015-02-13 19:12:20 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  applemedia: avfvideosrc: fix crash when non-GL memory is used
+
+2015-02-05 18:10:15 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Fix logic in fragment_download_finish.
+	  This was preventing us from surfacing a meaningful error.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743703
+
+2015-02-12 22:06:17 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: Fix handling of live streams with timeshift buffers.
+	  By implementing get_live_seek_range.
+	  As shown by :
+	  gst-validate-1.0 playbin \
+	  uri=http://dev-iplatforms.kw.bbc.co.uk/dash/news24-avc3/news24.php
+	  This patch handles live seeking, by setting a live seek range
+	  comprised between now - timeShiftBufferDepth and now.
+	  The inteersting thing with this stream is that one can actually
+	  ask fragments up to availabilityStartTime, but it seems quite clear
+	  in the spec that content is only guaranteed to exist up to
+	  timeShiftBufferDepth.
+	  One can test live seeking this way :
+	  gst-validate-1.0 playbin \
+	  uri=http://dev-iplatforms.kw.bbc.co.uk/dash/news24-avc3/news24.php \
+	  --set-scenario seek_back.scenario
+	  with scenario being:
+	  description, seek=true
+	  seek, playback-time=position+5.0, start="position-600.0",
+	  flags=accurate+flush
+	  This example will play the stream, wait for five seconds, then seek back
+	  to a position 10 minutes earlier.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744362
+
+2015-02-12 22:04:10 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Set first segment time to segment start.
+	  Otherwise as long as a seek wasn't executed, the position was
+	  reported incorrectly:
+	  gst-validate-1.0 playbin \
+	  uri=http://dev-iplatforms.kw.bbc.co.uk/dash/news24-avc3/news24.php
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744362
+
+2015-02-12 17:33:50 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Fix debug statement
+
+2015-02-12 15:02:31 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/gl/gstglbufferpool.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstgldisplay.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglshader.c:
+	* gst-libs/gst/gl/gstglupload.c:
+	* gst-libs/gst/gl/gstgluploadmeta.c:
+	  gl: Add/Update more debug statements
+	  Where possible, use the _OBJECT variants in order to track better from
+	  which object the debug statement is coming from
+	  Define (and use) GST_CAT_DEFAULT where applicable
+	  Use GST_PTR_FORMAT where applicable
+
+2015-02-12 14:58:14 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	* gst-libs/gst/gl/gstglcontext.h:
+	  gl: Make glcontext debug category used in more places
+	  As a bonus it makes the egl context debug messages visible now :)
+
+2015-02-12 14:56:12 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Sprinkle more debug
+
+2015-02-12 11:15:31 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: set proper stream type to streams
+	  strncmp returns 0 when it compares equal and not a
+	  boolean
+
+2015-02-12 11:26:44 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: calculate stream_time used to sync pad values correctly
+	  Use pad (input) segment to calculate the stream time from the
+	  input timestamp, not the aggregator (output) segment.
+
+2015-02-12 11:11:19 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: Only use the duration of the sample if it is valid
+
+2015-01-27 13:48:42 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: track per-fragment bitrates.
+	  And use the average to go up in resolution, and the last fragment
+	  bitrate to go down.
+	  This allows the demuxer to react rapidly to bitrate loss, and
+	  be conservative for bitrate improvements.
+	  + Add a construct only property to define the number of fragments
+	  to consider when calculating the average moving bitrate.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742979
+
+2015-02-11 14:44:16 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/x265/gstx265enc.c:
+	  x265enc: Add support for 10bit 4:2:0 and 4:4:4 formats
+
+2015-02-11 14:16:21 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/opus/gstopusdec.c:
+	* ext/resindvd/rsninputselector.c:
+	* ext/x265/gstx265enc.c:
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst/audiomixer/gstaudiomixer.c:
+	* gst/frei0r/gstfrei0rmixer.c:
+	* gst/inter/gstinteraudiosrc.c:
+	* gst/liveadder/liveadder.c:
+	* gst/videomeasure/gstvideomeasure_ssim.c:
+	  Improve and fix LATENCY query handling
+	  This now follows the design docs everywhere, especially the maximum latency
+	  handling.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744106
+
+2015-02-10 15:55:50 +0800  Song Bing <b06498@freescale.com>
+
+	* tests/examples/camerabin2/gst-camera2.c:
+	  camerabin examples: memory leak in camerabin examples code
+	  should unref caps after set to profile. profile will ref it.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744219
+
+2015-02-10 15:53:21 +0800  Song Bing <b06498@freescale.com>
+
+	* tests/examples/camerabin2/gst-camerabin2-test.c:
+	  camerabin examples: memory leak in camerabin examples code
+	  should unref after set object. The object will be refed when set
+	  property.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744219
+
+2015-02-10 16:18:34 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/opensles/openslesringbuffer.c:
+	  openslesringbuffer: Only allocate at most half the number of internal buffers as external audioringbuffer ones
+	  Otherwise we might end up reading too much from the audioringbuffer, which
+	  would result in reading silence.
+
+2015-02-10 16:01:19 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideosrc: Apply the diff between element and pipeline "base" time in all cases
+	  Even if both clocks have the same rate, we need to apply this diff. Only when
+	  it's the same clock we don't, as it's our clock then.
+
+2015-02-10 15:30:44 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideosrc: Add the diff between the pipeline base time and when we start to play
+	  Add the diff between the external time when we went to playing and
+	  the external time when the pipeline went to playing. Otherwise we
+	  will always start outputting from 0 instead of the current running
+	  time.
+
+2015-02-10 14:53:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklinkvideosink: Actually include the change mentioned in the last commit
+
+2015-02-10 14:48:09 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideo{src,sink}: Sample the internal clock immediately after starting the device
+	  Otherwise we might stay at 0.0s for too long because we will take the first
+	  timestamp we ever see as 0.0... which will be after we started the device.
+
+2015-02-10 10:56:37 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: When receiving timeout before caps, make sure to also advance our frame counter
+	  Otherwise we will directly go EOS on the next non-timeout.
+
+2015-02-10 10:49:16 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Pause srcpad task on flow errors
+	  Otherwise we will call the task function over and over again until
+	  upstream finally handled the flow return and shuts us down.
+
+2015-02-09 00:59:30 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: fix buffer selection when duration=-1
+	  If the src framerate and videoaggreator's output framerate were
+	  different, then we were taking every single buffer that had duration=-1
+	  as it came in regardless of the buffer's start time.  This caused the src
+	  to possibly run at a different speed to the output frames.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=744096
+
+2015-02-09 21:04:17 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	  decklink: Fix compiler warning with gcc
+	  gstdecklink.cpp: In member function 'virtual HRESULT GStreamerDecklinkInputCallback::VideoInputFrameArrived(IDeckLinkVideoInputFrame*, IDeckLinkAudioInputPacket*)':
+	  gstdecklink.cpp:498:22: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
+	  if (capture_time > m_input->clock_start_time)
+	  ^
+	  gstdecklink.cpp:503:22: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
+	  if (capture_time > m_input->clock_offset)
+	  ^
+
+2015-02-09 17:17:37 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.h:
+	  decklink{audio,video}src: Implement clock slaving if the pipeline clock is not the decklink clock
+
+2015-02-09 17:15:21 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	  decklinkaudio{src,sink}: Only start streams / scheduled playback if there is a videosrc at this point
+
+2015-02-09 17:04:27 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	  decklinkaudiosrc: Don't provide a clock
+	  The audio source only works together with the video source, and the video
+	  source is already providing a clock.
+
+2015-02-09 16:18:03 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	  decklinkaudiosink: Throttle reading from the ringbuffer
+	  The driver has an internal buffer of unspecified and unconfigurable size, and
+	  it will pull data from our ring buffer as fast as it can until that is full.
+	  Unfortunately that means that we pull silence from the ringbuffer unless its
+	  size is by conincidence larger than the driver's internal ringbuffer.
+	  The good news is that it's not required to completely fill the buffer for
+	  proper playback. So we now throttle reading from the ringbuffer whenever
+	  the driver has buffered more than half of our ringbuffer size by waiting
+	  on the clock for the amount of time until it has buffered less than that
+	  again.
+
+2015-02-09 15:19:11 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	  decklinkaudiosink: Start scheduled playback when going to PLAYING
+	  The ringbuffer's acquire() is too early, and ringbuffer's start() will only be
+	  called after the clock has advanced a bit... which it won't unless we start
+	  scheduled playback.
+
+2015-02-09 21:18:24 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/corevideotexturecache.m:
+	* sys/applemedia/vtdec.c:
+	  vtdec: fix texture sharing on iOS
+	  Move GLES calls to the context thread. Fix
+	  CVOpenGLESTextureCacheCreateTextureFromImage usage on iOS.
+
+2015-02-09 20:44:50 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  libgstgl: set user data and GDestroyNotify for wrapped textures
+
+2015-02-08 21:53:58 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklink{audio,video}src: Take the capture times from the pipeline clock
+	  Not from the decklink clock. Both will return exactly the same time once the
+	  decklink clock got slaved to the pipeline clock and received the first
+	  observation, but until then it will return bogus values. But as both return
+	  exactly the same values, we can as well use the pipeline clock directly.
+
+2015-02-08 14:32:22 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: don't set element factory details
+	  This is an abstract base class, not an element.
+
+2015-02-08 01:19:42 +1100  Rob Clark <rob@ti.com>
+
+	* gst/dvdspu/gstspu-vobsub-render.c:
+	  dvdspu: some optimizations
+	  Detect invisible pixels, and skip gstspu_vobsub_blend_comp_buffers()
+	  when there are only invisible pixels.  This significantly reduces the
+	  CPU load in cases of DVDs which don't use the clip_rect to exclude
+	  processing for parts of the screen where the video is visible.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=667221
+
+2015-02-08 05:06:48 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/dvdspu/gstdvdspu.c:
+	  dvdspu: Avoid warning if the video for a still frame arrives after the SPU
+	  When we don't have a segment on the video pad yet during a still frame
+	  don't freak out.
+
+2015-02-08 04:51:13 +1100  Jan Schmidt <jan@centricular.com>
+
+	* ext/resindvd/gstmpegdemux.c:
+	  resindvd: Don't send meaningless segment position downstream
+	  Don't place a meaningless value in the position field in
+	  outgoing segments - values have to be in the range start->stop.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740558
+
+2015-02-06 16:22:26 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/aiff/aiffparse.c:
+	  Revert "aiffparse: make sure we have data before handling sink event"
+	  This reverts commit a4baabb48d252214d3833b502c7903d9f15f3502.
+
+2015-02-06 15:10:55 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/aiff/aiffparse.c:
+	  aiffparse: make sure we have data before handling sink event
+	  Check AIFF_PARSE_DATA is True before handling sink event, if not goto exit.
+
+2015-02-05 15:57:59 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.h:
+	  audiomixer: remove now-unused base_time field in object structure
+
+2015-02-06 10:59:27 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Streamline latency calculations
+	  Min latency can never be invalid, latency property can never be invalid
+	  either. So no need to check for all these things in various places.
+
+2015-02-06 10:36:28 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: If upstream has no max latency but the subclass has, take the subclass max latency
+
+2015-02-06 10:33:59 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Fix min>max latency error check
+	  We have to include the upstream latency, our own latency and the subclass
+	  latency in the calculations.
+	  FIXME: This is still not entirely correct
+
+2015-02-06 10:30:59 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Don't add the latency property to the max latency
+	  It has no meaning for the max latency and is only used to increase the min
+	  latency.
+
+2015-02-06 12:53:15 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/glprototypes/vao.h:
+	  glproto/vao: only supported in core for ES 3.0+
+	  Was causing horizontally flipped video for frame 2 onward on android
+
+2015-02-05 13:31:18 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/faac/gstfaac.c:
+	  faac: relace parsed with framed in aac caps
+	  For AAC it should always be 'framed' and not 'parsed'
+
+2015-02-05 11:39:55 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/faac/gstfaac.c:
+	  faac: fix output caps to negotiate with some muxers
+	  Add parsed/framed=true to allow negotiation with some
+	  muxers that required parsed input. Encoders already provide
+	  parsed/framed output so it should say so in caps.
+
+2015-02-05 15:48:41 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/compositor.c:
+	  tests: compositor: add unit test for proper segment.base handling
+	  As adjusted by gst_pad_set_offset(), or when doing segment seeks
+	  or looping for example.
+
+2015-02-05 15:23:04 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/audiomixer.c:
+	  tests: audiomixer: add unit test for proper segment.base handling
+	  As adjusted by gst_pad_set_offset(), or when doing segment seeks
+	  or looping for example. See previous audiomixer commit.
+
+2015-02-05 16:02:54 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Remove weird and wrong segment handling
+	  There's no reason why audiomixer should override the segment
+	  base of upstream with whatever value it got from a SEEK event,
+	  or even worse... with 0 if there was no SEEK event yet. This
+	  broke synchronization if upstream provided a segment base other
+	  than 0, e.g. when using pad offsets.
+	  Also that this code did things conditional on the element's state
+	  should've been a big warning already that something is just wrong.
+	  If this breaks anything else now, let's fix it properly :)
+	  Also don't do fancy segment position trickery when receiving a
+	  segment event. It's just not correct.
+
+2015-02-05 12:24:04 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/opensles/openslesringbuffer.c:
+	  openslesringbuffer: Only pre-roll a single buffer
+	  There is no reason to pre-roll more buffers here as we have our own ringbuffer
+	  with more segments around it, and we can immediately provide more buffers to
+	  OpenSL ES when it requests that from the callback.
+	  Pre-rolling a single buffer before starting is necessary though, as otherwise
+	  we will only output silence.
+	  Lowers latency a bit, depending on latency-time and buffer-time settings.
+
+2015-02-05 12:22:46 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/opensles/openslesringbuffer.c:
+	  openslesringbuffer: Allocate at most 4 internal buffers
+	  4 is the "typical" number of buffers defined by Android's OpenSL ES
+	  implementation, and its code is optimized for this. Also because we
+	  have our own ringbuffer around this, we will always have enough
+	  buffering on our side already.
+	  Allows for more efficient processing.
+
+2015-02-05 12:21:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/opensles/openslessink.c:
+	* sys/opensles/openslessrc.c:
+	  openslessink/src: Lower default buffer time to 200ms like alsasink
+
+2015-02-05 16:46:32 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: ensure that the input upload/colorconvert are always available
+
+2015-02-05 11:06:10 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: log the converted caps
+
+2015-02-05 11:05:02 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: restrict EGL and UploadMeta to RGBA
+	  other formats are highly untested.
+
+2015-02-05 11:04:05 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: don't intersect with the input caps
+	  that limits our formats to whatever is in the input caps
+
+2015-02-04 14:10:13 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  gl: fix memory leak
+	  In gst_gl_filter_fixate_caps () it can goto done without freeing the memory of
+	  the tmp GstStructure. This makes it go out of scope and leak.
+	  CID #1265765
+
+2015-02-04 11:52:26 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/opencv/MotionCells.cpp:
+	  motioncells: initialize class variables
+	  Some variables are not initialized in the constructor. It is highly unlikely
+	  they are used before being set, but it is safer to initialize them.
+	  CID #1197704
+
+2015-02-03 18:13:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* sys/winks/kshelpers.c:
+	  ksvideosrc: Fix missing brace warning
+	  There is more but it's from ks.h GUID initializer, which is shipped
+	  this way with mingw.
+
+2015-02-03 17:44:34 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* sys/winks/gstksvideodevice.c:
+	* sys/winks/gstksvideodevice.h:
+	* sys/winks/gstksvideosrc.c:
+	  ksvideosrc: Fix buffer handling
+	  The pseudo buffer pool code was using gst_buffer_is_writable()
+	  alone to try and figure-out if cached buffer could be reused.
+	  It needs to check for memory writability too. Also check map
+	  result and fix map flags.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734264
+
+2015-02-03 17:05:06 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/mpegtsmux/mpegtsmux.c:
+	  mpegtsmux: avoid leaking force keyunit event when going to NULL
+	  Do not set to NULL before unreffing the event or it will leak
+
+2013-03-18 08:15:00 +0000  Anton Gritsay <anton@angri.ru>
+
+	* gst/mpegtsmux/mpegtsmux.c:
+	  mpegtsmux: parse force key unit events with the correct function
+	  Otherwise it won't be parsed and bogus values would be used.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=696032
+
+2015-01-26 20:42:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	* gst/mpegtsdemux/tsdemux.h:
+	  tsdemux: remove update segment logic
+	  This is not needed in 1.x series anymore
+
+2015-02-03 10:59:16 -0300  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: don't mark streams as needing a new segment on flush
+	  The flush is called on discont and we shouldn't output a new segment
+	  each time a discont happens. So this commit remove the mark for a new
+	  segment when flushing streams by propagating the 'hard' flag passed
+	  on the flusing from the base class.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743363
+
+2015-02-03 17:32:03 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/corevideotexturecache.m:
+	  corevideotexturecache: Add some assertions instead of just dereferencing NULL
+
+2015-02-03 17:29:25 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/corevideotexturecache.m:
+	  corevideotexturecache: Don't unconditionally use the CoreMedia meta on iOS
+	  We might instead have a CoreVideo meta.
+
+2015-02-03 14:55:32 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* common:
+	  Undo accidental common module rewind
+	  in commit 7d463576
+
+2015-02-03 15:38:40 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: Don't dereference NULL frames when draining/flushing
+
+2015-02-03 15:30:08 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	  gl: remove the egl caps from the src pads
+	  we don't actually support producing EGLImage buffers anywhere.
+
+2015-02-03 13:32:47 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: put GstGLSyncMeta on output buffers
+	  allows thread safely using the provided output buffer in a separate
+	  thread
+
+2015-02-03 00:35:26 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: only try the glmemory upload for sysmem/glmemory caps features
+	  Allows selecting/testing the upload path with explicit caps features.
+
+2015-02-03 00:26:20 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: add missing initilisation of tex_target when copying
+	  fixes:
+	  glcolorscale ! video/x-raw\(meta:GstVideoGLTextureUploadMeta\) !
+	  glimagesink
+
+2015-02-03 00:15:30 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: allow NULL buffer for accept vfunc
+
+2015-02-03 00:13:07 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: remove unsed convert field in private struct
+
+2015-02-03 00:11:06 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglcolorconvert.h:
+	* gst-libs/gst/gl/gstgldownload.c:
+	* gst-libs/gst/gl/gstgldownload.h:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglupload.c:
+	* gst-libs/gst/gl/gstglupload.h:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	  glupload/download/convert: provide transform_caps functions
+	  Allows finer grain decisions about formats and features at each
+	  stage of the pipeline.
+	  Also provide propose_allocation for glupload besed on the supported
+	  methods.
+
+2015-02-03 11:07:58 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* common:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gstglwindow_cocoa: fix slow render rate
+	  In gst_gl_window_cocoa_draw we used to just call setNeedsDisplay:YES. That was
+	  creating an implicit CA transaction which was getting committed at the next
+	  runloop iteration. Since we don't know how often the main runloop is running,
+	  and when we run it implicitly (from gst_gl_window_cocoa_nsapp_iteration) we only
+	  do so every 200ms, use an explicit CA transaction instead and commit it
+	  immediately. CA transactions nest and debounce automatically so this will never
+	  result in extra work.
+
+2015-02-02 23:40:16 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.h:
+	  gstglcaopengllayer: use the correct rectangle type for iOS and OS X
+
+2015-02-02 21:07:48 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.h:
+	  glcolorconvert: use the correct caps feature for supported caps
+	  glcolorconvert currently only supports converting between GLMemory
+	  targets.
+
+2015-02-02 20:51:31 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	  glsyncmeta: don't use the gst debug object variants
+	  We are not a GObject or any inferable GstMiniObject supported by
+	  the gst debug system.  Also fixes a segfault.
+
+2015-01-30 18:51:17 +1100  Matthew Waters <matthew@centricular.com>
+
+	* tests/check/libs/gstglmemory.c:
+	  gl: update unit test for glmemory api change
+
+2015-01-30 15:13:27 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	  glimagesink: clobber the alpha channel by default
+	  this can be disabled with the ignore-alpha property
+
+2015-01-30 12:32:17 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	  Revert "libgstgl: gstglcaopengllayer: set the layer as opaque"
+	  This reverts commit 6f152d381ca21595cdc823f32341c8f2fe71b9c7.
+	  The layer shouldn't be always opaque, it should be made a property.
+
+2015-01-30 12:22:25 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	  libgstgl: gstglcaopengllayer: set the layer as opaque
+
+2015-01-29 16:30:34 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: Add FIXME comment about possibility of non-Apple YCbCr422 rectangular textures
+
+2015-01-29 16:26:26 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: Only use GL_TEXTURE_RECTANGLE with OpenGL
+	  It's not defined for GLES.
+
+2015-01-30 00:28:18 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	* sys/applemedia/corevideotexturecache.h:
+	* sys/applemedia/corevideotexturecache.m:
+	* sys/applemedia/vtdec.c:
+	  applemedia: rework GL texture sharing
+	  Use YUV instead of RGB textures, then convert using the new apple specific
+	  shader in GstGLColorConvert. Also use GLMemory directly instead of using the
+	  GL upload meta, avoiding an extra texture copy we used to have before.
+
+2015-01-28 00:53:59 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtdec.c:
+	  applemedia: vtdec: fix CMBlockBufferRef leak
+	  Fix huge leak that went unnoticed for too long. Oops.
+
+2015-01-28 00:48:27 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  libgstgl: run a custom shader to convert YUV to RGB on mac and ios
+	  When GL_APPLE_ycbcr_422 is available, run a custom shader to convert
+	  GL_TEXTURE_RECTANGLE textures from YUV to RGB.
+	  See https://www.opengl.org/registry/specs/APPLE/ycbcr_422.txt
+
+2015-01-28 00:43:09 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/avfassetsrc.m:
+	* sys/applemedia/avfvideosrc.m:
+	* sys/applemedia/coremediabuffer.c:
+	* sys/applemedia/coremediabuffer.h:
+	* sys/applemedia/vtenc.c:
+	  applemedia: don't call CVPixelBufferLockBaseAddress when doing texture sharing
+	  When doing texture sharing we don't need to call CVPixelBufferLockBaseAddress to
+	  map the buffer in CPU. This cuts about 10% relative cpu time from a vtdec !
+	  glimagesink pipeline.
+
+2015-01-28 00:13:46 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstgldownload.c:
+	* gst-libs/gst/gl/gstgldownload.h:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	* gst-libs/gst/gl/gstgluploadmeta.c:
+	  gl: initial support for texture targets other than GL_TEXTURE_2D
+	  Make GstGLMemory hold the texture target (tex_target) the texture it represents
+	  (tex_id) is bound to. Modify gst_gl_memory_wrapped_texture and
+	  gst_gl_download_perform_with_data to take the texture target as an argument.
+	  This change is needed to support wrapping textures created outside libgstgl,
+	  which might be bound to a target other than GL_TEXTURE_2D. For example on OSX
+	  textures coming from VideoToolbox have target GL_TEXTURE_RECTANGLE.
+	  With this change we still keep (and sometimes imply) GL_TEXTURE_2D as the
+	  target of textures created with libgstgl.
+	  API: modify GstGLMemory
+	  API: modify gst_gl_memory_wrapped_texture
+	  API: gst_gl_download_perform_with_data
+
+2015-01-22 13:18:23 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  gstglcolorconvert: micro optimization
+	  Don't call glClear && glClearColor at each draw since we're going to draw the
+	  whole viewport anyway. Gets rid of a glFlush triggered by glClear on OSX.
+
+2015-01-22 13:17:11 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/corevideobuffer.c:
+	* sys/applemedia/corevideobuffer.h:
+	* sys/applemedia/qtkitvideosrc.m:
+	* sys/applemedia/vtdec.c:
+	* sys/applemedia/vtenc.c:
+	  applemedia: corevideobuffer: make mapping the CVPixelBuffer in CPU optional
+	  Mapping is not necessary and impacts performance when doing texture sharing with
+	  downstream
+
+2015-01-22 13:11:46 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  gstglcolorconvert: relax caps features check
+	  Require caps to have the GST_CAPS_FEATURE_MEMORY_GL_MEMORY feature but allow
+	  them to have more features.
+
+2015-01-28 16:43:59 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/opus/gstopusenc.c:
+	* ext/opus/gstopusenc.h:
+	  opusenc: change audio property to audio-type
+	  This is now an enum with values generic (default) and voice.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740891
+
+2015-01-29 23:45:15 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	  gl/win32: fixup compilation
+
+2015-01-29 11:54:35 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiovisualizers/gstwavescope.c:
+	  audiovisualizer: remove double-setting of render function
+	  No need to set the audiovisualizer->render function twice. Once is enough.
+
+2015-01-29 22:25:00 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	* gst-libs/gst/gl/gstglwindow.c:
+	* gst-libs/gst/gl/gstglwindow.h:
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
+	  glwindow: make showing a window explicit
+	  Also fixes the cgl context always displaying a window to render to for
+	  every GstGLContextCocoa created
+
+2015-01-26 17:06:29 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Cleanup locking around AggregatorPad flush related fields
+	  And document the locking
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-26 13:11:05 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: keep chain functions as dumb as possible.
+	  + A pad chain function has no business checking other pads,
+	  that's what the aggregate thread is for.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-26 11:32:47 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  aggregator: More fixes around locking when accessing protected private fields
+	  In some more places we were accessing GstAggregator->segment
+	  and GstAggregator->seqnum without holding the GST_OBJECT_LOCK
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-26 11:29:08 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	* gst/audiomixer/gstaudiomixer.c:
+	  aggregator: Make the PAD_LOCK private
+	  Instead of using the GST_OBJECT_LOCK we should have
+	  a dedicated mutex for the pad as it is also associated
+	  with the mutex on the EVENT_MUTEX on which we wait
+	  in the _chain function of the pad.
+	  The GstAggregatorPad.segment is still protected with the
+	  GST_OBJECT_LOCK.
+	  Remove the gst_aggregator_pad_peak_unlocked method as it does not make
+	  sense anymore with a private lock.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-26 11:25:54 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst/audiomixer/gstaudiomixer.c:
+	* tests/check/libs/aggregator.c:
+	  aggregator: Hide GstAggregatorPad buffer and EOS fileds
+	  And add a getter for the EOS.
+	  The user should always use the various getters to access
+	  those fields
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 19:09:13 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* tests/check/elements/audiomixer.c:
+	  audiomixer: Make flush start/stop test non-racy
+	  The flush stop could have happened between the source trying
+	  to push the segment event and the buffer, this would cause a warning.
+	  Prevent that by taking the source's stream lock while flushing.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-22 17:41:24 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* tests/check/elements/audiomixer.c:
+	  audiomixer: Replace racy timeout based tested with drain query
+	  Using the drain query, we can be certain that the buffer has done going
+	  through the aggregator by taking the stream locks.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 18:41:43 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Document locking of GstAggregatorPrivate members
+	  Most of them are protected by the object lock, specify
+	  which ones use a different lock.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 18:47:09 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: Document how the segment is protected
+	  Document that it can only be accessed with the object lock.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 19:44:57 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Protect all latency related members with the object lock
+	  The locking was not consistent, now consistently use the object lock.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 19:43:12 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  aggregator: Document locking for gst_aggregator_get_latency_unlocked()
+	  Renamed it to _unlocked() to make it clear.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 19:35:25 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Protect the srcpad caps negotiation with the stream lock
+	  Instead of adding another lock, use the srcpad stream lock, which is already
+	  taken anyway to push out the new caps if needed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 19:33:18 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Protect the tags with the object lock
+	  The tags related variables were sometimes protected, sometimes not and
+	  sometimes atomic. Put them all under the object lock.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 19:32:34 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* tests/check/elements/audiomixer.c:
+	  audiomixer: Avoid race in caps negotiation
+	  With the current audiomixer, the input caps need to be the same,
+	  otherwise there is an unavoidable race in the caps negotiation. So
+	  enforce that using capsfilters
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 18:53:20 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Consistenly lock the flow_return state
+	  Use the object's lock to protect it.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 18:47:40 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Clear GstAudioInfo the the caps
+	  When clearing the caps, also clear the matching GstAudioInfo
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 18:45:36 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Consistently lock some members
+	  Some members sometimes used atomic access, sometimes where not locked at
+	  all. Instead consistently use a mutex to protect them, also document
+	  that.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-21 18:39:24 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Don't reset caps on flush
+	  A flush event doesn't invalidate the previous caps event.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-14 14:45:06 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Lock access to members of GstAggregatorPad
+	  Take the pad's object lock before accessing members of the
+	  GstAggregatorPad structure.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-14 14:38:09 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: Protect exported pad members with the pad's object lock
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-14 14:35:15 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	* gst/audiomixer/gstaudiomixer.c:
+	  aggregator: Replace event lock with pad's object lock
+	  Reduce the number of locks simplify code, what is protects
+	  is exposed, but the lock was not.
+	  Also means adding an _unlocked version of gst_aggregator_pad_steal_buffer().
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-09 22:01:00 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Protect data with the same mutex as GCond
+	  Whenever a GCond is used, the safest paradigm is to protect
+	  the variable which change is signalled by the GCond with the same
+	  mutex that the GCond depends on.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
+
+2015-01-29 02:28:38 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: If getting a timeout before having caps, just advance our position
+	  This can happen if this is a live pipeline and no source produced any buffer
+	  and sent no caps until an output buffer should've been produced according to the
+	  latency.
+	  This fix is similar in spirit to commit be7034d1 by Sebastian for audiomixer.
+
+2015-01-29 17:31:09 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.h:
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/calayer: add resize callback based on the bounds rectangle
+
+2015-01-29 15:26:21 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	  gl/caopengllayer: draw asynchronously
+	  This essentially makes the CAOpenGLLayer draw every refresh cycle.
+
+2015-01-28 17:59:42 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: don't segfault if we have a NULL draw/resize/close callback
+
+2015-01-28 17:16:14 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.h:
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  cgl/calayer: use a callback instead of hardcoding the draw functionality
+
+2015-01-28 17:13:05 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/Makefile.am:
+	  cgl: install the gl context and gl layer headers
+
+2015-01-28 17:05:14 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.h:
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	  cgl: add a header for the CAOpenGLLayer support
+
+2015-01-28 17:02:59 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklinkvideosink: Always lock the mutex before starting the streams
+
+2015-01-28 16:58:27 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklinkvideosink: Fix deadlock
+
+2015-01-28 15:48:26 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklink{audio,video}sink: Only start scheduled playback once both sources are ready and we are in PLAYING
+	  Otherwise we might start the scheduled playback before the audio or video streams are
+	  actually enabled, and then error out later because they are enabled to late.
+	  We enable the streams when getting the caps, which might be *after* we were
+	  set to PLAYING state.
+
+2015-01-28 15:26:17 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklink{audio,video}src: Only start the streams once both sources are ready and we are in PLAYING
+	  Otherwise we might start the streams before the audio or video streams are
+	  actually enabled, and then error out later because they are enabled to late.
+	  We enable the streams when getting the caps, which might be *after* we were
+	  set to PLAYING state.
+
+2015-01-28 14:21:40 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklink: Make sure our clock never returns NONE, always advances and does not jump when going from PAUSED to PLAYING
+	  It basically behaves the same as the audio clocks.
+
+2015-01-28 12:20:05 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklinkvideosink: Handle the clock returning GST_CLOCK_TIME_NONE properly
+
+2015-01-28 11:41:17 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideo{sink,src}: Make elements more similar to the audio elements by enabling the video input/output only when getting the actual caps
+	  This will also make it easier later to support caps changes and support
+	  selecting the mode based on the caps if that should ever be implemented.
+
+2015-01-26 19:02:04 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideosrc: Properly report caps if mode!=auto and handle caps changes properly for mode=auto
+
+2015-01-26 18:27:10 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	  decklinkaudiosrc: Don't release input device twice on errors in set_caps()
+
+2015-01-27 11:25:53 +0100  Philippe Normand <philn@igalia.com>
+
+	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
+	  gl/dispmanx: fix build
+	  Commit ab48bb6f0f55091662e595a001e178154ce60cdb changed the API of
+	  GstGLWindow.
+
+2015-01-27 14:52:47 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: more compatibility defines for gles2 systems
+
+2015-01-27 12:15:43 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	  glmemory: add some thread safety for gl operations
+
+2015-01-27 11:53:51 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstgldownload.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	  glmemory: use pbo's for download
+	  In order to use pbo's efficiently, the transfer operation has to
+	  be separated from the use of the downloaded data which requires some
+	  rearchitecturing around glcolorconvert/gldownload and elements
+
+2015-01-27 11:04:07 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/glprototypes/base.h:
+	  glprototypes: add some (un)map buffer variants for GL/GLES
+
+2015-01-26 17:51:22 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: use audio_%02u and video_%02u names for pads
+	  Instead of using the default ghostpad%u naming. The audio_/video_
+	  names are more common in demuxers
+
+2015-01-26 15:33:23 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	  decklinkaudiosrc: Release the audio input on errors, not the video input
+
+2015-01-26 13:46:44 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/aiff/aiffparse.c:
+	  aiffparse: remove unnecessary variable
+	  The bps variable is declared with value aiff->bps, read once and never written.
+	  aiff->bps can be used directly instead.
+
+2015-01-26 12:49:45 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/aiff/aiffparse.c:
+	  aiffparse: fix which stop variable is used in assignment
+	  Assignment is done to variable segment.stop when the intention was to assign to
+	  local variable stop. Instead of overwriting it, the value is now clamped and
+	  segment.stop is set to it soon after.
+	  CID #1265772
+
+2015-01-26 09:22:23 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: fix crash when receiving buffer without timestamps
+	  Unset out buffer in clip function when we unref the buffer to be
+	  clipped, otherwise aggregator will continue to use the already-
+	  freed buffer. Fixes crash when buffers without timestamps are
+	  being fed to aggregator. Partly because aggregator ignores the
+	  error flow return.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743334
+
+2015-01-18 18:05:31 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	* docs/plugins/Makefile.am:
+	* docs/plugins/gst-plugins-bad-plugins-sections.txt:
+	* sys/Makefile.am:
+	* sys/directdraw/Makefile.am:
+	* sys/directdraw/gstdirectdrawplugin.c:
+	* sys/directdraw/gstdirectdrawsink.c:
+	* sys/directdraw/gstdirectdrawsink.h:
+	* win32/MANIFEST:
+	* win32/vs6/libgstdirectdraw.dsp:
+	* win32/vs8/libgstdirectdraw.vcproj:
+	  Remove unported directdraw plugin
+	  This API has been deprecated for eternities and microsoft
+	  stopped shipping the headers in 2010 accoding to wikipedia,
+	  so let's just remove it and focus on bringing the plugins
+	  based on the newer APIs up to snuff.
+
+2014-03-26 17:43:33 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* gst/aiff/aiffmux.c:
+	  aiffmux: write padding byte at end of SSND chunk if needed
+	  AIFF chunks are supposed to be even aligned.
+	  Aligning the SSND chunk will allow the aiff muxer to properly write
+	  chunks (like the ID3 one) at the end of the file.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=727402
+
+2015-01-23 12:44:22 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* ext/wayland/gstwaylandsink.c:
+	  waylandsink: Free leaked GstStructure
+	  Coverity CID : 1256565
+
+2015-01-23 12:41:29 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* ext/gl/gstgltestsrc.c:
+	  gltestsrc: Ensure variable is initialized before usage
+	  Coverity CID: 1256569
+
+2015-01-23 12:26:16 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/codecparsers/dboolhuff.c:
+	  codecparsers: Indent file
+	  Someone's been commiting without using gst-indent :)
+
+2015-01-23 12:24:52 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	* gst-libs/gst/codecparsers/nalutils.h:
+	  codecparsers: Add READ_UE_MAX macro
+	  READ_UE_ALLOWED was almost exclusively used with min == 0, which doesn't
+	  make much point for unsigned integers.
+	  Add a READ_UE_MAX variant and use that instead. Also replaced two usages
+	  of CHECK_ALLOWED (a,0,something) by CHECK_ALLOWED_MAX (a, something)
+
+2015-01-23 12:28:42 +0530  Arun Raghavan <arun@centricular.com>
+
+	* gst/inter/gstintervideosrc.c:
+	  intervideosrc: Fix GAP flag setting on non-black frames
+	  The previous commit fixed setting the GAP flag on black frames, but
+	  incorrectly dropped the flag on repeated pushes of the same video
+	  buffer.
+
+2015-01-23 17:27:42 +1100  Matthew Waters <matthew@centricular.com>
+
+	* tests/check/libs/gstglcontext.c:
+	* tests/check/libs/gstglupload.c:
+	  gl/tests: update glwindow api change
+
+2015-01-23 16:52:25 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+	  gl/window/eagl: fix a couple of typos
+
+2015-01-23 16:39:44 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglwindow.h:
+	  glwindow: cleanup/reorganize functions/members into logical groups
+
+2015-01-23 15:02:55 +1100  Matthew Waters <matthew@centricular.com>
+
+	* sys/applemedia/corevideotexturecache.m:
+	  applemedia: update for gstgl cocoa -> cgl change
+
+2015-01-23 14:18:12 +1100  Matthew Waters <matthew@centricular.com>
+
+	* tests/examples/gl/qt/qglwtextureshare/cocoa_utils.mm:
+	  gl/qt/examples: update for NSOpenGL -> CGL change
+
+2015-01-23 14:11:48 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
+	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
+	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h:
+	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
+	* gst-libs/gst/gl/gstglwindow.c:
+	* gst-libs/gst/gl/gstglwindow.h:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
+	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
+	  glwindow: remove width/height from _draw()
+	  Depending on the platform, it was only ever implemented to 1) set a
+	  default surface size, 2) resize based on the video frame or 3) nothing.
+	  Instead, provide a set_preferred_size () that elements/applications
+	  can use to request a certain size which may be ignored for
+	  videooverlay/other cases.
+
+2015-01-22 21:43:51 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  glcontext/cocoa: avoid destroying a possibly 0 GSource id
+
+2015-01-20 22:01:39 +1100  Matthew Waters <matthew@centricular.com>
+
+	* configure.ac:
+	* gst-libs/gst/gl/cocoa/Makefile.am:
+	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.h:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: move to CGL and CAOpenGLLayer for rendering
+	  Removes the use of NSOpenGL* variety and functions.  Any Cocoa
+	  specific functions that took/returned a NSOpenGL* object now
+	  take/return the CGL equivalents.
+
+2015-01-22 16:08:11 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  glcontext/cocoa: add debug category
+
+2015-01-22 10:50:23 +0530  Arun Raghavan <arun@centricular.com>
+
+	* gst/inter/gstintervideosrc.c:
+	  intervideosrc: Fix GAP flag setting on black frames correctly
+	  This did not actually work since the video_buffer was set to NULL after
+	  the first black frame.
+	  Reported by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
+
+2015-01-21 23:37:10 +0530  Arun Raghavan <arun@centricular.com>
+
+	* gst/inter/gstintervideosrc.c:
+	  intervideosrc: Fix max value of the timeout property
+	  Reported by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
+
+2015-01-21 23:35:55 +0530  Arun Raghavan <arun@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264: Implement the preset interface
+	  Will be useful when we want to set presets on the encoder via encodebin
+	  or such.
+
+2015-01-21 15:31:21 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	  audiovisualizer: sync with base class in -base
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742875
+
+2015-01-21 15:06:21 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	  audiovisualizer: ensure default query/event handlers are used
+	  Sync audiovisualizer class implementation to the one in gst-plugins-base. This
+	  commit matches 9dd0e6cccc971d8a6bcca4e9e4d2ee1dbb20fffa in that module.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742875
+
+2015-01-21 10:18:11 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/siren/decoder.c:
+	* gst/siren/encoder.c:
+	  siren: Make some local variables non-static for thread-safety
+	  Otherwise we will override values from another thread if we encode
+	  or decode frames at the same time in different threads.
+
+2015-01-21 10:17:04 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/apexsink/gstapexsink.c:
+	* ext/audiofile/gstafsink.c:
+	* ext/audiofile/gstafsrc.c:
+	* ext/bs2b/gstbs2b.c:
+	* ext/dash/gstmpdparser.c:
+	* ext/faac/gstfaac.c:
+	* ext/gl/gstglfilterreflectedscreen.c:
+	* ext/openh264/gstopenh264enc.cpp:
+	* ext/voamrwbenc/gstvoamrwbenc.c:
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	* gst-libs/gst/codecparsers/gstvc1parser.c:
+	* gst-libs/gst/gl/gstglupload.c:
+	* gst/adpcmenc/adpcmenc.c:
+	* gst/freeverb/gstfreeverb.c:
+	* gst/librfb/d3des.c:
+	* gst/mpeg1sys/buffer.c:
+	* gst/mpegpsmux/crc.h:
+	* gst/patchdetect/gstpatchdetect.c:
+	* gst/tta/filters.h:
+	* gst/vbidec/gstvbidec.c:
+	* gst/vbidec/vbidata.c:
+	* sys/dvb/camapplication.c:
+	* sys/dvb/camtransport.c:
+	* sys/dvb/dvbbasebin.c:
+	* sys/dvb/gstdvbsrc.c:
+	* sys/dxr3/dxr3videosink.c:
+	* sys/linsys/gstlinsyssdisink.c:
+	* sys/qcam/gstqcamsrc.c:
+	  Constify some static arrays everywhere
+
+2015-01-21 08:49:23 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* po/POTFILES.in:
+	  po: Fix list of files tracked
+	  sfsink/sfsrc haven't been ported (and therefore dist'ed) in 1.x
+
+2014-12-09 09:58:03 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	  mpegdemux: minor debug update
+	  Only show PTS/DTS when they are valid, and include the stream id
+
+2015-01-20 14:55:05 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: do not skip the first fragment
+	  Avoid advancing fragment right after downloading the header. If it
+	  is the header, by default, don't advance to the next fragment.
+
+2015-01-20 16:57:15 +0100  Piotr Drąg <piotrdrag@gmail.com>
+
+	* po/POTFILES.in:
+	  po: update POTFILES
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743251
+
+2015-01-16 19:32:15 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: expose stereo-high profile
+	  Exposing stereo-high profile as a compatible profile of multiview-high
+	  if the maximum number of encoded views in the stream is two.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743174
+
+2015-01-19 17:31:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: parse SPS subset
+	  This patch calls gst_h264_parser_parse_subset_sps() when a
+	  SPS subset NAL type is found.
+	  All the bits required for parsing the SPS subset in NALs were
+	  already there, just we need to call them when the this NAL type
+	  is found.
+	  With this parsing, the number of views (minus 1) attribute is
+	  filled, which was a requirement for negotiating the stereo-high
+	  profile.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743174
+
+2013-03-19 14:23:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: add initial support for MVC NAL units.
+	  Initial support for MVC NAL units. It is only needed to propagate the
+	  complete set of NAL units downstream at this time.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=696135
+	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+2015-01-20 09:23:02 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: add explicit cast to make clang happy
+	  Fixes compilation
+
+2015-01-15 17:44:45 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: refactor chunk downloading flow
+	  Add more power to the chunk_received function (renamed to data_received)
+	  and also to the fragment_finish function.
+	  The data_received function must parse/decrypt the data if necessary and
+	  also push it using the new push_buffer function that is exposed now. The
+	  default implementation gets data from the stream adapter (all available)
+	  and pushes it.
+	  The fragment_finish function must also advance the fragment. The default
+	  implementation only advances the fragment.
+	  This allows the subsegment handling in dashdemux to continuously download
+	  the same file from the server instead of stopping at every subsegment
+	  boundary and starting a new request
+
+2015-01-19 12:37:23 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/compositor/blend.c:
+	  compositor: fix illegal memory access in blend function with negative ypos
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741115
+
+2015-01-19 08:37:59 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: add log message about segment time information
+	  For debugging purposes
+
+2015-01-19 08:36:42 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: fix multi-period playback
+	  If we say it is the first segment after a new period it will resync
+	  the segment.start value and all buffers will be late for the new period
+	  we are trying to play. Otherwise we want to keep the segment.start with
+	  the previous value to allow the running time to smoothly increase
+
+2015-01-19 11:23:52 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: Fix compiler warning with clang
+	  gstdashdemux.c:1330:13: error: implicit conversion from enumeration type 'enum _GstAdaptiveDemuxFlowReturn' to different enumeration type
+	  'GstFlowReturn' [-Werror,-Wenum-conversion]
+	  ret = GST_ADAPTIVE_DEMUX_FLOW_SUBSEGMENT_END;
+	  ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+2015-01-18 21:05:44 +0100  Nicola Murino <nicola.murino@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: fix memleak
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743142
+
+2015-01-18 17:25:35 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	* docs/plugins/gst-plugins-bad-plugins.args:
+	* gst/real/Makefile.am:
+	* gst/real/gstreal.c:
+	* gst/real/gstreal.h:
+	* gst/real/gstrealaudiodec.c:
+	* gst/real/gstrealaudiodec.h:
+	* gst/real/gstrealvideodec.c:
+	* gst/real/gstrealvideodec.h:
+	  Remove real plugin which is no longer needed and has never been ported
+	  Decoders for these formats exist in gst-libav, if anyone
+	  still has a need for them.
+
+2015-01-18 17:10:37 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	* docs/plugins/Makefile.am:
+	* docs/plugins/gst-plugins-bad-plugins-sections.txt:
+	* docs/plugins/gst-plugins-bad-plugins.args:
+	* ext/Makefile.am:
+	* ext/mythtv/Makefile.am:
+	* ext/mythtv/gstmythtvsrc.c:
+	* ext/mythtv/gstmythtvsrc.h:
+	* gst-plugins-bad.spec.in:
+	  Remove libgmyth-based MythTV source element which was never ported
+	  gmyth seems to be unmaintained upstream, and no one has asked
+	  for this to be ported for a very long time, so let's just
+	  remove it. Neither debian nor Fedora seem to ship libgmyth
+	  any longer, and in any case it's most likely deprecated by
+	  the UPnP support in MythTV.
+
+2015-01-17 10:06:40 +1100  Lasse Laursen <lasse@lasselaursen.com>
+
+	* gst-libs/gst/gl/gstglapi.h:
+	  glapi: fix compilation with latest MSVC
+	  https://bugzilla.gnome.org/show_bug.cgi?id=743041
+
+2015-01-15 12:57:59 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: use the correct size for the pbo
+	  It was missing the GstVideoAlignment padding which could cause GL
+	  errors related to overrunning the size of the pbo.
+
+2015-01-16 16:18:35 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: prevent early EOS when switching at last fragment
+	  Check if there is a next fragment before advancing to avoid causing
+	  a bitrate switch (and maybe exposing new pads) only to push EOS.
+	  This causes playback to stop with an error instead of properly
+	  finishing with EOS message.
+
+2015-01-13 14:22:02 +0000  David Waring <david.waring@rd.bbc.co.uk>
+
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: Fix detection for the end of segment.
+	  The segment start time is calculated as the offset into the current segment.
+	  The old condition to detect the end of period (i.e. segment start time >
+	  period start + period duration) failed when the period start was not 0 since
+	  the segment start time does not take the period start time into account.
+	  Fix this detection by only comparing the segment start to the period duration.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733369
+
+2015-01-14 23:11:15 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: remove unused segment attribute
+	  It was never used, only initialized
+
+2015-01-12 17:40:47 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: implement ISOBMFF profile handling
+	  The ISOBMFF profile allows definind subsegments in a segment. At those
+	  subsegment boundaries the client can switch from one representation to
+	  another as they have aligned indexes.
+	  To handle those the 'sidx' index is parsed from the stream and the
+	  entries point to pts/offset of the samples in the stream. Knowing that
+	  the entries are aligned in the different representation allows the client
+	  to switch mid fragment. In this profile a single fragment is used per
+	  representation and the subsegments are contained in this fragment.
+	  To notify the superclass about the subsegment boundary the chunk_received
+	  function returns a special flow return that indicates that. In this case,
+	  the super class will check if a more suitable bitrate is available and will
+	  change to the same subsegment in this new representation.
+	  It also requires special handling of the position in the stream as the
+	  fragment advancing is now done by incrementing the index of the subsegment.
+	  It will only advance to the next fragment once all subsegments have been
+	  downloaded.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741248
+
+2015-01-12 11:57:02 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/Makefile.am:
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	* ext/dash/gstisoff.c:
+	* ext/dash/gstisoff.h:
+	  dashdemux: parse the sidx index from isobmff streams
+	  Allows dashdemux to identify the subsegments in the stream and
+	  switch bitrates when needed
+
+2015-01-09 16:43:03 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: check for profiles
+	  Check for available profiles to enable certain features for
+	  dash playback. For now we check for the ISOFF On Demand 2011 profile.
+
+2015-01-13 10:16:22 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: add a special return to signal subsegment boundary
+	  The subsegment boundary return tells the adaptivedemux that it can
+	  try to switch to another representation as the stream is at a suitable
+	  position for starting from another bitrate.
+
+2015-01-13 10:15:21 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Actually use the byte range for the fragment url
+	  Otherwise we would always download the full fragment. This would
+	  make handling subsegments in DASH impossible.
+
+2015-01-13 10:13:47 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: allow downloads of headers only
+	  In order to get some subsegment information, subclasses might want
+	  to download only the headers to have enough data (the index)
+	  to decide where to start downloading from the subsegment.
+
+2015-01-12 18:22:14 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: refactor common code to function
+	  Reuse the same function when finishing downloading and signaling to
+	  the download loop thread to get the next fragment or abort
+
+2015-01-09 17:19:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: inform subclass when headers/index are being downloaded
+	  This allows the subclasses to know if the chunks that are downloaded are
+	  part of the header or of the index and will parse the parts that are
+	  of their interest.
+
+2015-01-15 16:11:24 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst-libs/gst/uridownloader/gsturidownloader.c:
+	  uridownloader: a few leak fixes
+
+2015-01-15 13:16:07 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst-libs/gst/uridownloader/gstfragment.c:
+	  fragment: fix caps and buffer leaks in get_property
+
+2015-01-14 17:43:51 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: remove unused fragments_cache field
+
+2015-01-14 16:42:25 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: a few leak fixes
+
+2015-01-12 21:22:06 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/bs2b/gstbs2b.c:
+	  bs2b: implement the preset interface
+	  Instead of a preset property implement the preset interface in a read-only
+	  fashion.
+
+2015-01-12 12:11:01 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+	* docs/plugins/gst-plugins-bad-plugins-sections.txt:
+	* docs/plugins/gst-plugins-bad-plugins.hierarchy:
+	* docs/plugins/gst-plugins-bad-plugins.interfaces:
+	* docs/plugins/inspect/plugin-bs2b.xml:
+	  docs: add new bs2b plugin and element
+
+2015-01-10 21:41:12 +0100  Christoph Reiter <reiter.christoph@gmail.com>
+
+	* configure.ac:
+	* ext/Makefile.am:
+	* ext/bs2b/Makefile.am:
+	* ext/bs2b/gstbs2b.c:
+	* ext/bs2b/gstbs2b.h:
+	  bs2b: add new plugin (Effect/Audio, crossfeed)
+	  https://bugzilla.gnome.org/show_bug.cgi?id=611689
+
+2015-01-15 13:13:51 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	  interaudiosink: Make sure that buffer time is always bigger than period time
+
+2015-01-15 12:49:20 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklinkvideosink: Also consider max-lateness property value before dropping late frames
+
+2015-01-15 14:09:43 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/corevideotexturecache.m:
+	* sys/applemedia/vtdec.c:
+	* sys/applemedia/vtdec.h:
+	  vtdec: implement the GL texture upload meta
+
+2015-01-09 00:16:17 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/Makefile.am:
+	* sys/applemedia/avfvideosrc.m:
+	* sys/applemedia/coremediabuffer.c:
+	* sys/applemedia/corevideotexturecache.h:
+	* sys/applemedia/corevideotexturecache.m:
+	  avfvideosrc: implement the GL texture upload meta
+
+2015-01-15 09:47:45 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixerpad.h:
+	* ext/gl/gstglvideomixer.c:
+	  glvideomixer: don't upload if alpha <= 0
+	  Implemented using a upload_buffer vfunc within GstGLMixer allowing
+	  NULL uploaded buffers.
+
+2015-01-15 09:45:21 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: remove spurious gst_video_info_align
+	  That will be taken care of by the calling code (typically a bufferpool).
+	  The GstVideoAlignment is purely informational to compute plane data sizes.
+
+2015-01-14 23:48:16 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: Document the zorder pad property from gstvideoaggregator
+
+2015-01-14 23:47:19 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Nitpick spacing/punctuation in debug logging
+
+2015-01-14 16:33:53 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklinkvideosink: Stop scheduled playback shortly in PAUSED->PLAYING if it was running already
+	  This fixes handling of flushing seeks, where we will get a PAUSED->PLAYING
+	  state transition after the previous one without actually going to PAUSED
+	  first.
+
+2015-01-14 16:01:07 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	* sys/decklink/gstdecklinkvideosink.h:
+	  decklinkvideosink: Don't schedule too late frames in prepare()
+	  Otherwise we will overflow the internal buffer of the hardware
+	  with useless frames and run into an error. This is necessary until
+	  this bug in basesink is fixed:
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742916
+
+2015-01-14 15:54:28 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	* sys/decklink/gstdecklinkvideosink.h:
+	  decklinkvideosink: Keep track of the time when we went to PLAYING for the external clock too
+	  Otherwise we're adding an offset of the time the pipeline was in PLAYING
+	  already to the running time when converting it to our internal clock.
+
+2015-01-14 13:32:51 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklinkvideosink: Enable QoS and set max-lateness to 20ms
+
+2015-01-12 17:24:52 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	  h264parser: fix stack smashing
+	  Ensure that we do not trust the bitstream when filling a table
+	  with a fixed max size.
+	  Additionally, the code was not quite matching what the spec says:
+	  - a value of 3 broke from the loop before adding an entry
+	  - an unhandled value did not add an entry
+	  The reference algorithm does these things differently (7.3.3.1
+	  in ITU-T Rec. H.264 (05/2003)).
+	  This plays (apparently correctly) the original repro file, with
+	  no stack smashing.
+	  Based on a patch and bug report by André Draszik <git@andred.net>
+
+2015-01-14 22:08:43 +1100  Matthew Waters <matthew@centricular.com>
+
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixerpad.h:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglcolorconvert.h:
+	* gst-libs/gst/gl/gstgldownload.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	* gst-libs/gst/gl/gstglupload.c:
+	* gst-libs/gst/gl/gstglupload.h:
+	* tests/check/libs/gstglcolorconvert.c:
+	  gl: split glcolorconvert usage from glupload
+	  the separation allows the transfer operation to occur in a separate
+	  thread/time which may increase performance in specific circumstances.
+
+2015-01-14 12:39:11 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: offset the data pointer for upload for GstVideoAlignment
+	  otherwise we attempt to read from the padding data
+
+2015-01-14 00:08:11 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	  glmemory: use pbo's for upload
+
+2015-01-13 23:47:06 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: relax the GLMemory uploader check for input caps features
+	  As there may be a sysmem caps features with GLMemory filled buffers.
+	  e.g.
+	  videotestsrc ! glimagesink
+
+2015-01-13 11:32:03 -0800  Zaheer Abbas Merali <zaheermerali@gmail.com>
+
+	* configure.ac:
+	* ext/openh264/gstopenh264dec.cpp:
+	* ext/openh264/gstopenh264enc.cpp:
+	  Revert "Revert "openh264: fix to work with released versions and master of upstream""
+	  This reverts commit 329f0ccba1aa604da1bd80293fd1fe717447df5d.
+
+2014-12-17 09:19:52 -0800  Zaheer Abbas Merali <zaheermerali@gmail.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264: remove all trace output to console from encoder
+
+2015-01-13 19:56:24 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	  decklink: Use BT2020 colorspace for UltraHD resolutions
+
+2015-01-13 19:55:37 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklink: Fix indention once again
+
+2015-01-13 16:49:07 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	  audiovisualizer: handle the return of the setup function
+	  Make the class future proof by handling the gboolean return of the setup
+	  function. So if/when a child class uses this the base class is ready.
+
+2015-01-13 16:46:10 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	  Revert "audiovisualizer: remove unused value"
+	  This reverts commit 25c97570834d6de1c14424e71221d19eb0d33ee3.
+	  It is preferable to handle the retun of the setup function.
+
+2015-01-13 17:44:17 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklinkvideosink: Get our own "start time" instead of the one of the pipeline
+	  decklinkvideosink might be added later to the pipeline, or its state might
+	  be handled separately from the pipeline. In which case the running time when
+	  we (last) went into PLAYING state will be different from the pipeline's.
+	  However we need our own start time to tell the Decklink API, which running
+	  time should be displayed at the moment we go to PLAYING and start scheduled
+	  rendering.
+
+2015-01-13 17:00:51 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	* gst/inter/gstinteraudiosrc.c:
+	* gst/inter/gstintersubsink.c:
+	* gst/inter/gstintersubsrc.c:
+	* gst/inter/gstintervideosink.c:
+	  inter: Use a #define for the default value of the channel property
+
+2015-01-13 16:58:50 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstintervideosrc.c:
+	* gst/inter/gstintervideosrc.h:
+	  intervideosrc: Make the timeout configurable after which we start showing a black frame
+
+2015-01-13 15:42:26 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	  audiovisualizer: remove unused value
+	  klass->setup (scope) will always return TRUE since all children of this class
+	  do so, no need to store the return. Besides, the value is overwritten a few
+	  lines down before it is used.
+	  Change helps keep files in sync after:
+	  -base commit a91d521a3602f33083405467db9454d422b9da1b
+
+2015-01-13 14:54:26 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: Don't do any conversions if the pad is completely transparent anyway
+
+2015-01-12 12:58:27 +0100  Branislav Katreniak <bkatreniak@nuvotechnologies.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	* gst/inter/gstinteraudiosrc.c:
+	* gst/inter/gstintervideosrc.c:
+	  inter: silence messages for flushed / created samples
+	  These messages are logged periodically and polute the log
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741592
+
+2014-12-25 23:10:19 +0100  Nicola Murino <nicola.murino@gmail.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: fix memleak
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741943
+
+2014-12-25 22:59:42 +0100  Nicola Murino <nicola.murino@gmail.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: fix some memory leaks
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741943
+
+2014-12-31 17:45:53 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstglcontext.h:
+	* tests/check/libs/gstglcontext.c:
+	  glcontext: allow wrapped contexts to be utilised like non-wrapped contexts
+	  Fill in the missing pieces like get_proc_address, the gl function vtable
+
+2015-01-12 21:25:14 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst-libs/gst/video/.gitignore:
+	* gst/compositor/.gitignore:
+	* tests/check/pipelines/.gitignore:
+	  gitignore: ignore more files
+
+2015-01-12 15:33:09 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	  visual: use unused value
+	  ret is assigned but not used and in the next cycle of the loop it is overwritten
+	  with default_prepare_output_buffer (). If there is a flow error the function
+	  should return instead.
+	  CID #1226475
+
+2015-01-12 16:10:31 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+	* common:
+	  Automatic update of common submodule
+	  From f2c6b95 to bc76a8b
+
+2015-01-12 15:57:53 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklink: Initialize refcount of our C++ classes in the constructor
+	  CID 1262288
+	  CID 1262287
+	  CID 1262289
+
+2015-01-12 14:22:47 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstdilate.c:
+	  gaudieffects: stored value is overwritten
+	  Value from left_luminance is assigned to out_luminance here, but that stored
+	  value is not used before it is overwritten in the next cycle of the loop.
+	  Removing assignation.
+	  CID #1226473
+
+2015-01-12 12:50:33 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	  mpegdemux: fix dead code
+	  found is initialized to FALSE to then only be used in two conditional statements
+	  that will always be false, making the blocks inside them dead code. Looking back
+	  in the file's history the setting of the variable's value before it is checked
+	  was dropped as part of the port to 0.11, bringing that value setting back.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742638
+
+2015-01-11 20:40:34 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	  mpegdemux: minor optimisation when scanning for SCRs
+	  Bail out early when we're scanning for SCR, no need to
+	  parse stuff we're not going to use nor interested in.
+
+2015-01-11 01:08:08 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/mpg123/gstmpg123audiodec.c:
+	  mpg123: fix compiler warning and simplify checks in set_caps
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740195
+
+2015-01-03 13:06:45 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+	* ext/mpg123/gstmpg123audiodec.c:
+	  mpg123: rework set_format code so mpg123audiodec works with decodebin/playbin
+	  The old code was using gst_caps_normalize() and was generally overly
+	  complex. Simplify by picking sample rate and number of channels from
+	  upstream and the sample format from the allowed caps. If the format caps
+	  is a list of strins, just pick the first one. And if the srcpad isn't
+	  linked yet, use the default format (S16).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740195
+
+2015-01-10 15:34:57 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  gl/cocoa: Disable hack for NSApp iteration with a special #define
+	  The hack causes deadlocks and other interesting problems and it really
+	  can only be fixed properly inside GLib. We will include a patch for
+	  GLib in our builds for now that handles this, and hopefully at some
+	  point GLib will also merge a proper solution.
+	  A proper solution would first require to refactor the polling in
+	  GMainContext to only provide a single fd, e.g. via epoll/kqueue
+	  or a thread like the one added by our patch. Then this single
+	  fd could be retrieved from the GMainContext and directly integrated
+	  into a NSRunLoop.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741450
+	  https://bugzilla.gnome.org/show_bug.cgi?id=704374
+
+2015-01-10 15:40:30 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/inter/gstinteraudiosrc.c:
+	  inter: interaudiosrc - fixate layout for default caps
+	  Makes interaudiosrc produce valid audio caps in the absence of any other
+	  guidance by adding to the pad template and fixate function
+
+2015-01-09 21:51:40 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Remove pointless atomic
+	  It is only modified from the streaming thread
+
+2015-01-09 21:30:36 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Fix query leak
+
+2015-01-09 17:56:09 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiovisualizers/gstwavescope.c:
+	  audiovisualizer: remove check for below zero for unsigned value
+	  CLAMP checks both if value is '< 0' and '> max'. Value will never be a negative
+	  number since it is an unsigned integer. Removing that check and only checking if
+	  it is bigger than max and setting it appropriately.
+	  Also converting the previous instance of this into MIN() for consistency.
+	  CID 1139793
+
+2014-12-02 10:10:39 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: expose compatible profiles to downstream
+	  Some video bitstreams report a too restrictive set of profiles. If a video
+	  decoder was to strictly follow the indicated profile, it wouldn't support that
+	  stream, whereas it could in theory and in practice. So we should relax the
+	  profile restriction for allowing the decoder to get connected with parser.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739992
+
+2015-01-09 16:43:39 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Print jitter from clock waiting in the debug logs
+
+2015-01-09 14:42:34 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/audiovisualizers/gstwavescope.c:
+	  audiovisualizer: remove check if below zero for unsigned value
+	  CLAMP checks both if y is '< 0' and '> h1'. y will never be a negative number
+	  since it is an unsigned integer. Removing that check and only checking if it
+	  bigger than h1 and setting it to that max approprietaly.
+	  CID 1139792
+
+2015-01-08 16:24:29 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/m3u8.c:
+	* ext/hls/m3u8.h:
+	  hlsdemux: cache current file position in the list
+	  Avoids iterating the list everytime to look for the next segment
+	  to be used (or to advance to the next one).
+
+2015-01-08 15:46:49 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/m3u8.c:
+	  hlsdemux: simplify next segment checking functions
+	  Optimize loop by moving condition outside of it and reuse the
+	  find_next_fragment function to check if there is next instead of
+	  replicating the same loop
+
+2015-01-08 13:03:11 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/m3u8.c:
+	* ext/hls/m3u8.h:
+	  hlsdemux: cache total duration to avoid iterating at every query
+	  Duration queries can be done a few times per second and would cause
+	  the segment list to be traversed for every one. Caching the duration
+	  prevents that.
+
+2015-01-08 18:15:27 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideosrc: Post LATENCY message when the mode changes
+	  Different modes have different framerates, and thus different latencies. We
+	  might need to reconfigure the latency of the pipeline.
+
+2015-01-08 18:14:38 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideosrc: Fix compiler warning
+
+2015-01-08 16:42:31 +0100  Florian Langlois <florian.langlois@fr.thalesgroup.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.h:
+	  decklinkvideosrc: Add automatic mode detection
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739284
+
+2015-01-08 15:54:18 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/hls/m3u8.c:
+	  hlsdemux: g_return_if_fail in function with return type
+	  Need to use g_return_val_if_fail() when the function returns a type, in this
+	  case a gboolean
+
+2015-01-08 15:36:04 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/rtp/gstrtph265pay.c:
+	  rtp: value truncated too short creates dead code
+	  type is truncated to 0-31 with "& 0x1f", but right after that it is checks if
+	  the value is equivalent to GST_H265_NAL_VPS, GST_H265_NAL_SPS, and
+	  GST_H265_NAL_PPS (which are 32, 33, and 34 respectively). Obviously, this will
+	  never be True if the value is maximum 31 after the truncation.
+	  The intention of the code was to truncate to 0-63.
+
+2015-01-08 15:27:44 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/rtp/gstrtph265depay.c:
+	  rtp: fix nal unit type check
+	  After further investigation the previous commit is wrong. The code intended to
+	  check if the type is 39 or the ranges 41-44 and 48-55. Just like gsth265parse.c
+	  does. Type 40 would not be complete.
+
+2015-01-08 13:47:09 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/rtp/gstrtph265depay.c:
+	  rtp: fix dead code and check for impossible values
+	  nal_type is the index for a GstH265NalUnitType enum. There are two types of dead
+	  code here:
+	  First, after checking if nal_type is >= 39 there are two OR conditionals that
+	  check if the value is in ranges higher than that number, so if nal_type >= 39
+	  falls in the True branch those other conditions aren't checked and if it falls
+	  in the False branch and they are checked, they will always also be False. They
+	  are redundant.
+	  Second, the enum has a range of 0 to 40. So the checks for ranges higher than 41
+	  should never be True.
+	  Removing this redundant checks.
+	  CID 1249684
+
+2015-01-08 14:47:16 +0100  Florian Zwoch <fzwoch@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Unlock the stream lock while waiting for pending frames to be completed in finish()
+	  We might otherwise deadlock because gst_vtenc_enqueue_buffer() can be
+	  called again and will take the stream lock again from another thread.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742174
+
+2015-01-08 08:46:48 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/m3u8.c:
+	* ext/hls/m3u8.h:
+	  hlsdemux: implement _has_next_fragment to avoid busy looping
+	  It will allow the demuxer to wait for a fragment to be available instead
+	  of busy looping polling the playlist for a new fragment
+
+2015-01-08 12:55:16 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	  decklink: Add a dummy value to the video connection mapping table for auto
+
+2015-01-08 12:48:22 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.h:
+	  decklinkaudiosrc: Add property to select the audio input connection
+
+2015-01-08 12:23:53 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	  decklink: Add XLR and RCA audio connection enums
+
+2015-01-08 12:17:45 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklinkvideosrc: Add auto value for the connection property
+	  This will use the default/auto connection for video capturing, and can
+	  be set via the Decklink configuration tools.
+
+2015-01-08 12:13:03 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklink: Fix indention once again
+
+2015-01-06 14:02:38 +0100  Florian Langlois <florian.langlois@fr.thalesgroup.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.h:
+	  decklink: Add property for configuring the input connection of the video sources
+
+2015-01-08 09:35:23 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  gl/cocoa: Don't init and clear static GMutex / GCond
+	  We would potentially use it from the main loop later in
+	  gst_gl_window_cocoa_init_nsapp() if it timed out before.
+
+2015-01-07 16:53:41 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: remove logically dead code
+	  Soon after setting two variables to 1, the code checks if their values are
+	  different from each other. This would never be true. Removing this.
+	  CID 1226443
+
+2015-01-07 16:40:25 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/videoparsers/gstpngparse.c:
+	* gst/videoparsers/gstpngparse.h:
+	  Revert "pngparse: improve parsing of the image"
+	  This reverts commit 59e7f0597d1cc524174e847de7b91407922304c8.
+	  This patch should not have been pushed, see
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740058#c3
+
+2015-01-07 16:26:57 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/opencv/gsthanddetect.c:
+	  handdetect: remove unneeded check
+	  Variable hands is already checked to contain a value previously at the beginning
+	  of the current block (in line 504). There is no need to check again. This is
+	  logically dead code.
+	  CID 1197693
+
+2014-11-13 15:56:07 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/videoparsers/gstpngparse.c:
+	* gst/videoparsers/gstpngparse.h:
+	  pngparse: improve parsing of the image
+	  Everytime a buffer is being provided from baseparse, we are parsing all the data from the beginning.
+	  But since we would have already parsed some of the data in the previous iterations,
+	  it doesnt make much sense to keep parsing the same everytime.
+	  Hence skipping the data which is already read in previous iterations to improve the parsing performance.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740058
+
+2015-01-07 15:32:05 +0100  Florian Langlois <florian.langlois@fr.thalesgroup.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklink: Fix latency values for sources
+
+2015-01-07 10:23:31 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/m3u8.c:
+	  hlsdemux: remove duplicate call to uri_join
+
+2015-01-07 09:30:00 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/m3u8.c:
+	  hlsdemux: skip checking '#EXT-X-' token for all entries
+	  Put this common check before to avoid repeating it for all possible
+	  entries to save some cycles
+
+2015-01-07 09:21:33 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/m3u8.c:
+	  hlsdemux: avoid using g_list_append for creating segments list
+	  Use g_list_prepend and reverse it at the end to skip traversing the
+	  same list for every new segment
+
+2014-06-20 12:38:59 -0600  Thomas Bluemel <tbluemel@control4.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: Don't use approximate duration for fragment buffer pts
+	  The duration values in playlists are approximate only, and for
+	  playlist versions 2 and older they are only rounded integer values.
+	  They cannot be used to timestamp buffers.  This resulted in playback
+	  gaps and skips because the actual duration of fragments is slightly
+	  different.  The solution is to only set the pts of the very first
+	  buffer processed, not for each fragment.
+
+2015-01-06 18:44:15 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: only update segment if we have a valid PTS
+	  Otherwise we set the position to GST_CLOCK_TIME_NONE and it disrupts
+	  bitrate switching
+
+2015-01-07 11:31:30 +0530  Rajat Verma <rajat.verma@st.com>
+
+	* ext/smoothstreaming/gstmssmanifest.c:
+	  mssdemux: fix crash while setting bitrate in caps structure
+	  q->bitrate is a guint64, but G_TYPE_INT may read fewer bits
+	  off the stack, and if we pass more then the NULL sentinel
+	  may not be found at the right place, which in turn might
+	  lead to crashes.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741751
+
+2015-01-02 00:59:00 +0000  Duncan Palmer <dpalmer@digisoft.tv>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: Fix periodic SPS/PPS sending work after a seek
+	  Reset the interval variable to have SPS/PPS sending work after
+	  a (backwards) seek.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=742212
+
+2015-01-05 21:26:22 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: fix deadlock with pad object lock
+	  The image capture mutex and the pad object lock would cause a race
+	  if the pad query was made right when the image probe was running.
+	  The image probe needs the capture mutex and the querying would need
+	  the pad object lock.
+
+2015-01-05 15:16:15 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: simplify weird if/else clause
+	  It is not an if/else situation but an if error abort otherwise
+	  just continue. Remove else to make it more readable
+
+2014-04-04 16:45:51 +0100  Alex Ashley <bugzilla@ashley-family.net>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/m3u8.c:
+	* ext/hls/m3u8.h:
+	  hlsdemux: Implement live seeking
+	  hlsdemux assumes that seeking is not allowed for live streams,
+	  however seek is possible if there are sufficient fragments in the
+	  manifest. For example the BBC have live streams that contain 2 hours
+	  of fragments.
+	  The seek code for both live and on-demand is common code. The
+	  difference between them is that an offset has to be calculated
+	  for the timecode of the first fragment in the live playlist.
+	  When hlsdemux starts to play a live stream, the possible seek range
+	  is between 0 and A seconds. After some time has passed, the beginning of
+	  the stream will no longer be available in the playlist and the seek
+	  range is between B and C seconds.
+	  Seek range:
+	  start          0 ........... A
+	  later               B ........... C
+	  This commit adds code to keep a note of the B and C values
+	  and the highest sequence number it has seen. Every time it updates the
+	  media playlist, it walks the list of fragments, seeing if there is a
+	  fragment with sequence number > highest_seen_sequence. If so, the values
+	  of B and C are updated. The value of B is used when timestamping
+	  buffers.
+	  It also makes sure the seek range is never closer than three fragments
+	  from the end of the playlist - see 6.3.3. "Playing the Playlist file"
+	  of the HLS draft.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=725435
+
+2015-01-05 17:58:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: prepare for supporting seeks in live streams
+	  Add function to allow subclasses to specify seeking range for
+	  live streams
+	  https://bugzilla.gnome.org/show_bug.cgi?id=725435
+
+2015-01-04 17:15:37 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: don't use iterator when setting flush pending on pads
+
+2015-01-04 16:57:05 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: check if pads are ready more efficiently
+	  No need to use an iterator for this which creates a temporary
+	  structure every time and also involves taking and releasing the
+	  object lock many times in the course of iterating. Not to mention
+	  all that GList handling in gst_aggregator_iterate_sinkpads().
+
+2015-01-04 12:59:19 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: name vfunc arguments consistently
+
+2014-12-31 20:47:24 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+	* tests/check/Makefile.am:
+	  tests: nodist for orc generated code
+
+2015-01-01 15:46:00 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: add g-i transfer and scope annotations
+
+2015-01-01 14:10:05 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: register names of iterate_sinkpads functions with debug system
+
+2015-01-01 14:03:02 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: reduce debug messages for taking/releasing logs to TRACE level
+	  Don't spam debug log with this stuff.
+
+2014-12-31 18:16:21 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: move property member into private structure
+	  Our locking (or lack thereof) while accessing this also
+	  looks generally quite dodgy.
+
+2014-12-31 14:50:58 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: remove empty dispose function
+
+2014-12-30 23:58:34 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: give private functions namespace prefix
+	  Especially the GST_DEBUG_FUNCPTR ones.
+
+2014-12-31 12:35:06 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: fix up some docs comments in header
+
+2014-12-30 23:44:46 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: remove now-unused system clock member
+
+2014-12-30 19:43:43 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglvideomixer.c:
+	  glmixer, glvideomixer: update for GstAggregatorPadForeachFunc change
+
+2014-12-30 19:26:47 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: update for aggregator start/stop vfunc change
+
+2014-12-30 19:22:01 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: make GstAggregatorPadForeachFunc take an GstAggregatorPad
+
+2014-12-30 18:01:34 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: update for aggregator start/stop vfunc change
+
+2014-12-30 17:56:35 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: update for aggregator start/stop vfunc change
+
+2014-12-30 17:50:17 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: bring start/stop vfunc semantics in line with other baseclasses
+	  Sub-class should not have to chain up to GstAggregator's start/stop
+	  vfuncs, same as in GstBaseSrc, GstBaseSink, GstBaseTransform etc.
+
+2014-12-30 15:29:36 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: fix output-block-size property description
+
+2014-12-30 08:07:18 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: only typefind when we have a minimum amount of data
+	  For small amounts some data might be mistyped and it would cause
+	  the pipeline to fail. For example if you have AAC inside mpegts,
+	  for small amounts, the AAC samples would cause the typefinder to
+	  think it is AAC and not mpegts.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736061
+
+2014-12-29 11:49:51 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	  decklink: Add support for 4K / UHD modes
+
+2014-12-29 11:49:42 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	  decklink: Fix indention
+
+2014-12-29 10:44:53 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: do not try to ref null pointer
+	  Playlists might be missing the availability start time, so check for
+	  it before trying to ref the object
+
+2014-12-29 10:44:19 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: run gst-indent on mpdparser
+	  Run gst-indent on mpdparser to have it stop complaining on every
+	  commit
+
+2014-12-28 18:26:49 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: remove pointless GST_DEBUG_FUNCPTR
+	  Not useful for GObject vfuncs.
+
+2014-12-28 18:24:21 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: remove duplicate pad parent_class variable
+	  G_DEFINE_TYPE already provides one, just need to use it.
+
+2014-12-28 18:22:57 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: add _CAST() variants for cast macros
+
+2014-12-28 01:13:33 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.h:
+	* gst-libs/gst/video/gstvideoaggregator.h:
+	* gst-libs/gst/video/gstvideoaggregatorpad.h:
+	  aggregator: make padding larger
+	  Esp. the class structures, can't have enough
+	  spare space for virtual functions.
+
+2014-12-28 00:58:04 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/siren/gstsiren.h:
+	* gst/siren/gstsirendec.h:
+	* gst/siren/gstsirenenc.h:
+	  siren: remove unneeded structure padding
+	  Public headers are private and not installed.
+
+2014-12-27 16:15:41 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Log to the pad instead of the element
+	  More correct way of doing the same thing as before
+
+2014-12-27 15:50:17 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	  glvideomixer: Point to compositor for the pad properties documentation
+
+2014-12-27 15:49:47 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: Document the pad properties
+
+2014-12-27 15:49:39 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Document the pad properties
+
+2014-12-27 09:49:43 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Make sure that the minimum latencies are never GST_CLOCK_TIME_NONE
+
+2014-12-27 09:42:57 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Wait for the minimum latency, not the maximum
+	  The minimum latency is the latency we have to wait at least
+	  to guarantee that all upstreams have produced data. The maximum
+	  latency has no meaning like that and shouldn't be used for waiting.
+
+2014-12-27 04:21:36 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Clamp the min latency at the max if it's greater
+
+2014-12-27 04:21:26 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Print the sinkpad name while logging latency queries
+	  Very useful while debugging.
+
+2014-12-27 04:19:52 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Take the stream lock when iterating sink pads
+	  When iterating sink pads to collect some data, we should take the stream lock so
+	  we don't get stale data and possibly deadlock because of that. This fixes
+	  a definitive deadlock in _wait_and_check() that manifests with high max
+	  latencies in a live pipeline, and fixes other possible race conditions.
+
+2014-12-26 23:05:43 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: do not set source state with lock
+	  It might be racy with the image probe thread as it uses the capture
+	  mutex just like the start-capture handler from camerabin. The
+	  start-capture would be waiting for the source's streaming thread
+	  to stop to be able to set the source state to ready while the
+	  probe would be blocked waiting to acquire the capture mutex.
+	  It causes a deadlock.
+
+2014-12-26 10:17:19 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: use the drain query instead of flush
+	  The flush might clear any pending captures that are still in
+	  queues being processed while the drain query will wait for those
+	  to be properly done
+
+2014-12-26 22:45:41 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: improve timestamp code
+	  Use a combination of the running time and CMClockGetTime from AVF to compute
+	  timestamps.
+
+2014-12-26 11:48:56 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gdp/gstgdppay.c:
+	  gdppay: use public API for accessing stream header arrays in caps
+	  Don't rely on core implementation details, which are private and
+	  may change. It's also not needed here, the performance impact is
+	  close to none. Also copy buffer before changing its metadata.
+
+2014-12-26 11:29:12 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/gdpdepay.c:
+	  tests: gdpdepay: update for internal gdp refactoring
+	  This test uses some internal/private API, so needs to
+	  be updated for recent changes.
+
+2014-12-26 11:27:38 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gdp/dataprotocol.c:
+	* gst/gdp/dataprotocol.h:
+	* gst/gdp/gstgdppay.c:
+	  gdppay: refactor payloading code a little
+	  Get rid of some indirections and inefficiencies,
+	  just payload things directly which gives us more
+	  control over what memory is allocated where and
+	  how and makes things much simpler. In particular,
+	  we can now allocate the payload header plus the
+	  GstMemory to represent it in one go.
+
+2014-12-15 00:41:22 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gdp/dataprotocol.c:
+	* gst/gdp/dataprotocol.h:
+	* gst/gdp/gstgdppay.c:
+	* gst/gdp/gstgdppay.h:
+	* tests/check/elements/gdpdepay.c:
+	  gdppay: refactor a little
+	  Get rid of now-useless packetizer struct and just
+	  call internal functions directly. Also remove
+	  version property which is now defunct, not least
+	  because we create the packetizer with the
+	  version in the init function before a version
+	  can be set.
+
+2014-12-13 16:46:07 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/elements/gdppay.c:
+	  tests: gdppay: initialise memory of buffers used in unit test
+
+2014-12-13 15:23:48 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gdp/dataprotocol.c:
+	* gst/gdp/dataprotocol.h:
+	  gdppay: optimise payloading of buffers with multiple memories
+	  Add function to calculate a payload CRC across multiple memories
+	  so we don't have to merge buffers with multiple memories just to
+	  calculate the CRC. Also make CRC calculation function static,
+	  since it's not used outside dataprotocol.h and move special-casing
+	  of length = 0 -> CRC = 0 into CRC function (from caller).
+	  Perhaps more importantly, since payload CRC is off by default:
+	  don't map buffer (and possibly merge memories in the process)
+	  if we are not going to use it to calculate a CRC anyway.
+
+2014-12-13 15:19:16 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gdp/dataprotocol.c:
+	* gst/gdp/dataprotocol.h:
+	  gdppay: dataprotocol: drop bogus const
+	  Doesn't really make sense given that we map
+	  it and possibly merge memories and such.
+
+2014-11-24 12:18:36 -0700  Vijay Jayaraman <Vijay.Jayaraman@echostar.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: typefind might fail if first buffer is too short
+	  If typefind fails, check to see if the buffer is too short for typefind. If this is the case,
+	  prepend the decrypted buffer to the pending buffer and try again the next time around.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740458
+
+2014-08-27 16:26:19 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/Makefile.am:
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: port to adaptive base class
+	  Conflicts:
+	  ext/hls/gsthlsdemux.c
+	  ext/hls/gsthlsdemux.h
+
+2014-12-23 01:51:50 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: check if element exists before setting it to null
+	  Under certain error conditions it might happen that the element
+	  has been freed already and trying to set it to NULL causes an
+	  assertion
+
+2014-12-23 01:51:10 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: make sure task has stopped before freeing it
+	  Otherwise the thread will be running and its memory will get freed.
+	  This leads to memory corruption
+
+2014-12-23 01:48:41 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: fix segment start when exposing new streams
+	  Segment start needs only to be updated when starting the streams
+	  or after a seek, doing it during bitrate changes will cause the
+	  running time to go discontinuous (jump back to a previous ts)
+	  and QOS will drop buffers
+
+2014-12-19 02:22:47 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: allow subclass to use new pads group when switching bitrate
+	  Fix pad groups switching when bitrate changes to allow HLS to use this feature
+
+2014-12-23 12:24:48 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: If getting a timeout before having caps, just advance our position
+	  This can happen if this is a live pipeline and no source produced any buffer
+	  and sent no caps until the an output buffer should've been produced according
+	  to the latency.
+
+2014-12-23 12:15:50 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Make sure to release the current buffer in reset()
+	  If we didn't output the last one in aggregate because we were shutting down
+	  earlier we might otherwise leak it.
+
+2014-12-23 11:45:50 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	* gst/audiomixer/gstaudiomixer.h:
+	* tests/check/elements/audiomixer.c:
+	  audiomixer: Change blocksize property to output-buffer-duration in time format
+	  This makes the interface of audiomixer independent of the actual caps.
+
+2014-12-23 11:45:05 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Don't leak flush-start events
+
+2014-12-23 10:24:27 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Also change the default latency to 0, not just the minimum
+
+2014-12-23 09:52:20 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Fix docs and default value of the latency property
+
+2014-12-22 22:19:52 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Also include the subclass latency in the result of the latency query
+
+2014-12-22 22:11:30 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Use the src query implementation of aggregator as the default case
+
+2014-12-22 22:11:13 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Use the src query implementation of aggregator as the default case
+
+2014-12-22 16:45:05 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/bayer/gstbayer2rgb.c:
+	  bayer2rgb: take into account filter in transform_caps function
+	  Fixes criticals when filter caps are passed.
+	  Also fix wrong GST_DEBUG_OBJECT use.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741863
+
+2014-12-22 15:26:37 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Post a latency message if the value of the latency property changes
+
+2014-12-22 15:03:59 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Wake up the src thread after handling a latency query
+	  Due to changed latencies or changed live-ness we might have to
+	  adjust if we wait on a deadline at all and how long.
+
+2014-12-22 15:00:36 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Don't count the number of times we need to wake up but instead check all conditions for waiting again
+	  This simplifies the code and also makes sure that we don't forget to check all
+	  conditions for waiting.
+	  Also fix a potential deadlock caused by not checking if we're actually still
+	  running before starting to wait.
+
+2014-12-22 11:49:08 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Instead of crashing if no corresponding frame is found, ignore this
+	  ... and hope that everything will be fine. This shouldn't really happen but
+	  previously happened during shutdown. It should be fixed in videoencoder now,
+	  but better be on the safe side here.
+
+2014-12-22 11:46:05 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* MAINTAINERS:
+	  MAINTAINERS: Update my mail address
+
+2014-12-21 07:47:25 -0500  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/audiomixer/Makefile.am:
+	  audiomixer: fix build flag order
+	  Have the libraries/inlcudes from plugins-bad first to avoid picking up the installed version.
+	  Fixes the build when the local api changed.
+
+2014-12-20 12:24:53 -0500  Stefan Sauer <ensonic@users.sf.net>
+
+	* gst/freeverb/GstFreeverb.prs:
+	* gst/freeverb/Makefile.am:
+	  freeverb: add a few presets
+
+2014-12-19 13:18:50 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* tests/check/libs/gstglcolorconvert.c:
+	* tests/check/libs/gstglmemory.c:
+	* tests/check/libs/gstglupload.c:
+	  gltest: Port to new API
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740900
+
+2014-12-19 12:22:12 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst-libs/gst/gl/gstglbufferpool.c:
+	  glbufferpool: Always recalculate buffer size
+	  Actually we should always recalculate buffer size since our buffer size
+	  even when not-padded is smaller for many sub-sampled formats. This is
+	  because we don't add padding between the planes.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740900
+
+2014-12-19 12:12:08 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* gst-libs/gst/gl/gstglmemory.h:
+	  glmemory: No need for padding
+	  A memory object cannot be put on stack, so no need for padding.
+
+2014-12-19 12:11:08 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/gl/gstgloverlay.c:
+	* gst-libs/gst/gl/gstglbufferpool.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstgldownload.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	* gst-libs/gst/gl/gstglupload.c:
+	* gst-libs/gst/gl/gstgluploadmeta.c:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	  gl: Add support for GstVideoAlignment
+	  This allow saving a copy with libav video decoders or decoders with
+	  similar padding requirement.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740900
+
+2014-11-22 11:25:23 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	  glmemory: Handle upload/download flags from map
+	  Problem was that if buffer was mapped READWRITE (state of buffers from
+	  libav right now), mapping it READ/GL will not upload. This is because the
+	  flag is only set when the buffer is unmapped. We can fix this by setting
+	  the flags in map. This result in already mapped buffer that get mapped
+	  to be read in GL will be uploaded. The problem is that if the write
+	  mapper makes modification afterward, the modification will never get
+	  uploaded.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740900
+
+2014-12-13 21:47:38 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: Handle custom stride with OPENGL3
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740900
+
+2014-12-19 15:05:58 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.h:
+	  decklink: Fix various compiler warnings with gcc
+
+2014-12-19 14:50:09 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	  decklink: Re-add the COM initialization code for Windows
+	  Untested, and we will never deinitialize COM again.
+
+2014-12-19 14:38:03 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	  decklink: Remove in-same-pipeline detection code for audio/video elements of the same device
+	  This causes deadlocks sometimes for some reason.
+
+2014-12-19 14:35:03 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	* sys/decklink/gstdecklinkvideosink.h:
+	  decklinkvideosink: Implement clock slaving
+
+2014-12-19 13:52:08 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklinkvideosink: Add some more debug output for when frames are scheduled
+
+2014-12-19 13:28:29 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.h:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.h:
+	  decklink: Add property for configuring the buffer size of the sources
+
+2014-12-19 13:24:10 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.h:
+	  decklinkaudiosrc: Implement timestamp jitter and discont handling
+
+2014-12-19 12:37:30 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklink: Our capture time is the end timestamp of the buffer, subtract the duration
+
+2014-12-19 12:30:04 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.h:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.h:
+	  decklink: Allow for a maximum of 5 packets to be queued up
+	  In case downstream is a bit slow with consuming packets at times.
+
+2014-12-19 12:03:09 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	  decklink: Implement latency query in sources and remember selected mode
+
+2014-12-18 18:30:16 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/capture.cpp:
+	* sys/decklink/capture.h:
+	* sys/decklink/gstdecklinksink.cpp:
+	* sys/decklink/gstdecklinksink.h:
+	* sys/decklink/gstdecklinksrc.cpp:
+	* sys/decklink/gstdecklinksrc.h:
+	  decklink: Remove obsolete files
+
+2014-12-18 17:31:20 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/Makefile.am:
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.cpp:
+	* sys/decklink/gstdecklinkaudiosrc.h:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.h:
+	  decklink: Add initial version of audio and video sources
+
+2014-12-13 17:23:31 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/Makefile.am:
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	* sys/decklink/gstdecklinkaudiosink.h:
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	* sys/decklink/gstdecklinkvideosink.h:
+	  decklink: Initial version of the audio/video sink rewrite
+
+2014-12-19 13:04:58 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	* gst/audiomixer/gstaudiomixer.h:
+	  audiomixer: Track discont-time per pad instead of globally
+	  We do discont handling per pad, not per element!
+
+2014-12-15 16:27:16 +0100  Branko Subasic <branko@axis.com>
+
+	* ext/curl/gstcurlsmtpsink.c:
+	* ext/curl/gstcurlsmtpsink.h:
+	  curlsmtpsink: add final boundary to all multipart emails
+	  Corrected the final boundary mechanism so that a final boundary is
+	  added to each mail with multipart content that is sent,
+	  not just to the last one.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741553
+
+2014-12-18 23:33:58 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: We're only EOS if all our pads are actually EOS
+	  Having a buffer or not on the pad is irrelevant.
+
+2014-12-18 22:42:14 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: The pad's size is always supposed to be the whole buffer size
+	  And the offset the offset into that buffer. Changing the size will
+	  cause all kinds of assumptions to fail and cause crashes.
+
+2014-12-18 22:04:38 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Don't try to map NULL buffers
+
+2014-12-18 22:03:04 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Make sure to always update the pad's videoinfo together with buffers
+	  Otherwise the videoinfo and the buffer content can go out of sync.
+
+2014-12-18 11:48:37 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: Fix memory leak when no buffer is available for a pad currently
+	  CID 1258718
+
+2014-12-18 10:54:05 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* common:
+	  Automatic update of common submodule
+	  From ef1ffdc to f2c6b95
+
+2014-12-17 22:01:23 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/x265/gstx265enc.c:
+	  x265enc: reuse the gstvideo proxy getcaps
+	  The caps query is implementing the same logic as the default
+	  handler from the base class. Reuse it to simplify code.
+
+2014-12-17 21:52:13 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/opus/gstopusenc.c:
+	  opusenc: plug ref leak of template caps
+	  the pad template caps is already a new ref. No need to copy.
+
+2014-12-17 19:51:32 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst/audiomixer/gstaudiomixer.c:
+	  aggregator: Add function to allow subclasses to set their own latency
+	  For audiomixer this is one blocksize, for videoaggregator this should
+	  be the duration of one output frame.
+
+2014-12-17 19:37:22 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Make sure to not have pads being behind the current offset
+	  We would break sync between the different streams then.
+
+2014-12-17 17:54:09 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst/audiomixer/gstaudiomixer.c:
+	* gst/compositor/compositor.c:
+	* tests/check/libs/aggregator.c:
+	  aggregator: Add a timeout parameter to ::aggregate()
+	  When this is TRUE, we really have to produce output. This happens
+	  in live mixing mode when we have to output something for the current
+	  time, no matter if we have enough input or not.
+
+2014-12-17 18:20:15 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/elements/audiomixer.c:
+	  audiomixer: Add queues after the (live) sources in the unit test
+
+2014-12-17 12:20:54 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: improve timestamping and latency reporting
+	  Use AVF provided timings to timestamp output buffers. Use the running time at
+	  the time the first buffer is produced to base timestamps on. Report 1-frame
+	  latency based on the negotiated framerate instead of hardcoding 4ms latency.
+
+2014-12-15 22:24:26 -0500  Raimo Järvi <raimo.jarvi@gmail.com>
+
+	* sys/dshowdecwrapper/gstdshowaudiodec.cpp:
+	* sys/dshowdecwrapper/gstdshowaudiodec.h:
+	* sys/dshowdecwrapper/gstdshowutil.cpp:
+	* sys/dshowdecwrapper/gstdshowutil.h:
+	* sys/dshowdecwrapper/gstdshowvideodec.cpp:
+	  dshowdecwrapper: Remove dependency on ATL
+	  This fixes compiling with Visual C++ Express
+	  that doesn't include ATL.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=677223
+
+2014-12-04 23:30:23 -0500  Matthew Bader <matt@hyperlobic.net>
+
+	* sys/dshowsrcwrapper/gstdshow.cpp:
+	* sys/dshowsrcwrapper/gstdshowvideosrc.cpp:
+	  dshowsrcwrapper: Added support for image/jpeg and h264
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741188
+
+2014-12-16 19:49:35 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/libs/aggregator.c:
+	  tests: fix aggregator unit test after property renaming
+
+2014-12-16 17:37:12 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Implement get_next_time()
+
+2014-12-16 17:33:01 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Some minor cleanup
+
+2014-12-05 18:19:54 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  aggregator: make the src pad task drive the pipeline for live pipelines
+	  This removes the uses of GAsyncQueue and replaces it with explicit
+	  GMutex, GCond and wakeup count which is used for the non-live case.
+	  For live pipelines, the aggregator waits on the clock until either
+	  data arrives on all sink pads or the expected output buffer time
+	  arrives plus the timeout/latency at which time, the subclass
+	  produces a buffer.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741146
+
+2014-12-08 15:18:25 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: always try to use newer buffers
+	  instead of dropping them for being too old.  This ensures that
+	  the newest buffer is always used for rendering
+
+2014-12-16 13:35:14 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* ext/directfb/dfbvideosink.c:
+	* ext/sdl/sdlvideosink.c:
+	* ext/wayland/wlwindow.c:
+	* sys/directdraw/gstdirectdrawsink.c:
+	* sys/pvr2d/gstpvrvideosink.c:
+	* sys/vdpau/gstvdpvideopostprocess.c:
+	  rectangle: clear rectangle struct before use
+
+2014-12-15 15:21:50 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/opus/gstopusparse.c:
+	  opusparse: fix frame size determination
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741321
+
+2014-06-19 21:32:09 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst/mxf/mxfdemux.c:
+	* gst/mxf/mxfdemux.h:
+	* gst/mxf/mxftypes.h:
+	  mxfdemux: Use IndexTableSegments.
+	  This speeds up seeking drastically.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732294
+
+2014-12-14 01:29:26 +0100  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* tests/check/libs/aggregator.c:
+	  tests/aggregator: Use correct type when setting property
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741495
+
+2014-05-08 10:41:03 +0530  Sudip Jain <sudip.jain@linaro.org>
+
+	* gst/mpegtsdemux/mpegtsbase.c:
+	  mpegtsbase: scan more bytes to find initial PCRs
+	  Fixes playback of Samsung-Colorful-Variety-1080i.ts.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=729768
+
+2014-12-12 20:57:28 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	* ext/openh264/gstopenh264dec.cpp:
+	* ext/openh264/gstopenh264enc.cpp:
+	  Revert "openh264: fix to work with released versions and master of upstream"
+	  This reverts commit 15394aa70543f55c54fa8a474805224f4138f76c.
+	  The latest release (v1.1) does not have pkg-config support
+	  yet, so this plugin won't be built with the latest release.
+	  Cerbero uses the latest release, so this makes cerbero
+	  builds fail, which expect the plugin to be built.
+	  We can re-commit this once there's a release that includes
+	  pkg-config support.
+
+2014-12-12 10:05:23 -0800  Zaheer Abbas Merali <zaheermerali@gmail.com>
+
+	* configure.ac:
+	* ext/openh264/gstopenh264dec.cpp:
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264: fix to work with released versions and master of upstream
+
+2014-12-12 11:21:27 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/debugutils/gstwatchdog.c:
+	  watchdog: GstElement->state is protected with the OBJECT_LOCK
+	  Not the STATE_LOCK.
+	  gst_watchdog_feed was already always called with the OBJECT_LOCK taken.
+
+2014-11-27 20:48:24 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst-libs/gst/video/gstvideoaggregatorpad.h:
+	  videoaggregator: Hide some more fields from the API
+	  + Add some documentation
+
+2014-12-12 00:30:21 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/onvif/Makefile.am:
+	  onvif: fix 'make dist'
+
+2014-12-11 21:01:48 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: fix seek event handling
+	  Properly do seeking and avoid only seeking when the segment was updated.
+	  It would cause seeks after the stream was EOS to fail, for example.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738920
+
+2014-11-17 19:26:53 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst/onvif/gstrtponviftimestamp.c:
+	* gst/onvif/gstrtponviftimestamp.h:
+	* tests/check/elements/rtponvif.c:
+	  rtponviftimestamp: Automatically discover the ntp-offset by default.
+	  This only works if no packets are pushed in before the pipeline goes
+	  to playing. So it helps to have a live source.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731769
+
+2014-06-05 15:06:33 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* gst/onvif/Makefile.am:
+	* gst/onvif/gstrtponvif.c:
+	* gst/onvif/gstrtponvifparse.c:
+	* gst/onvif/gstrtponvifparse.h:
+	* tests/check/elements/rtponvif.c:
+	  add rtponvifextract element
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731769
+
+2014-04-28 11:07:17 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* configure.ac:
+	* gst/onvif/Makefile.am:
+	* gst/onvif/gstrtponvif.c:
+	* gst/onvif/gstrtponviftimestamp.c:
+	* gst/onvif/gstrtponviftimestamp.h:
+	* tests/check/Makefile.am:
+	* tests/check/elements/.gitignore:
+	* tests/check/elements/rtponvif.c:
+	  add rtponviftimestamp element
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731769
+
+2014-12-08 11:02:51 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: fix position/texcoord attrib index usage
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741231
+
+2014-12-11 18:17:02 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglfiltercube.c:
+	  glfiltercube: use a shader everywhere
+
+2014-12-11 18:15:02 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglfiltercube.c:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstgloverlay.c:
+	* ext/gl/gstgltransformation.c:
+	* ext/gl/gstglvideomixer.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	  gl: fixup vao and vbo usage for legacy GL
+
+2014-12-11 14:57:18 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgleffects.c:
+	  gleffects: don't abort when setting the effect to 0,1,2
+
+2014-12-10 12:48:33 +1100  Matthew Waters <matthew@centricular.com>
+
+	* tests/examples/gl/sdl/sdlshare.c:
+	  gl/examples: fixup sdl example for gluPerspective removal
+
+2014-12-09 08:38:55 -0800  Nick Stoughton <nstoughton@aether.com>
+
+	* configure.ac:
+	* sys/bluez/gstavdtputil.c:
+	  bluez: support compile-time distinction between bluez4 and bluez5
+	  Signed-off-by: Nick Stoughton <nstoughton@aether.com>
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738626
+
+2014-12-10 18:23:02 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: check the return from update_manifest correctly
+	  It is a GstFlowReturn and not a boolean
+
+2014-12-10 09:24:17 +0000  David Waring <david.waring@rd.bbc.co.uk>
+
+	* ext/dash/gstmpdparser.c:
+	  dashdemux: Change period when setting by period id.
+	  Make gst_mpd_client_set_period_id set the current period index when it finds a
+	  period with a matching period id.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741322
+
+2014-12-10 15:27:49 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/smoothstreaming/gstmssmanifest.c:
+	  mssdemux: fix reverse playback fragment tracking
+	  Rework reverse fragment traversing with repetition fields to prevent
+	  NULL pointer deref and avoid never advancing a fragment as the variable
+	  is unsigned and would always be non-negative.
+	  CID #1257627
+	  CID #1257628
+
+2014-12-11 00:02:26 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: bump rank to PRIMARY
+
+2014-12-10 22:36:53 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	* sys/applemedia/vtenc.h:
+	  vtenc: negotiate profile and level with downstream
+
+2014-12-10 19:44:01 +1100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	* sys/applemedia/vtenc.h:
+	  vtenc: report latency
+
+2014-12-05 16:20:08 +0000  David Waring <david.waring@rd.bbc.co.uk>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: Find current segment in the streams that have just been setup
+	  Using demux->streams will just skip the whole loop as demux->streams will
+	  always be NULL at that point
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741285
+
+2014-12-09 05:03:11 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst/geometrictransform/gstmirror.c:
+	  mirror: Needs remap when the mode changes.
+	  This caused the user to think the mode wasn't taken into account.
+
+2014-12-09 04:28:17 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  Revert "h264parse: expose compatible profiles to downstream"
+	  This reverts commit 3910cbe7ce1a67ed5506f87e4c5a005c168d0e6c.
+
+2014-12-08 08:53:00 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: do not try to unlock not locked mutex
+	  A misplaced unlock was causing an assertion for playback with a
+	  set stop time
+
+2014-12-08 08:24:17 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/Makefile.am:
+	  gst-libs: build order: uridownloader before adaptivedemux
+	  Otherwise make install fails
+
+2014-12-05 16:33:20 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	* sys/applemedia/vtenc.h:
+	  vtenc: Add properties to specify the maximum keyframe interval in frames and seconds
+
+2014-12-05 16:15:23 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Fix conversion of the bitrate property and our internal bitrate storage
+	  The property is in kbit/s and we store it in bit/s, so just multiply and
+	  divide by 1000. No need to put a factor of 8 in there.
+	  kVTCompressionPropertyKey_AverageBitRate is also in bit/s according to
+	  its documentation.
+
+2014-12-05 13:12:59 +0530  Arun Raghavan <git@arunraghavan.net>
+
+	* gst/inter/gstintervideosrc.c:
+	  intervideosrc: Fix a memory leak
+	  Frees the source ARGB black frame that we use to create the black frame
+	  in our target format.
+
+2014-12-02 10:10:39 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: expose compatible profiles to downstream
+	  Some video bitstreams report a too restrictive set of profiles. If a video
+	  decoder was to strictly follow the indicated profile, it wouldn't support that
+	  stream, whereas it could in theory and in practice. So we should relax the
+	  profile restriction for allowing the decoder to get connected with parser.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739992
+
+2013-05-01 11:17:02 +0800  Chun-wei Fan <fanchunwei@src.gnome.org>
+
+	* sys/dshowvideosink/dshowvideofakesrc.cpp:
+	* sys/dshowvideosink/dshowvideosink.cpp:
+	* sys/dshowvideosink/dshowvideosink.h:
+	  dshowvideosink: Port to 1.0 and new GLib threading API
+	  This updates the dshowvideosink to work with the GStreamer 1.0.x APIs, and
+	  avoids the use of deprecated GLib threading API that are now used since
+	  GLib 2.32+
+	  https://bugzilla.gnome.org/show_bug.cgi?id=699364
+
+2014-12-04 01:46:43 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/smoothstreaming/gstmssdemux.c:
+	* ext/smoothstreaming/gstmssmanifest.c:
+	* ext/smoothstreaming/gstmssmanifest.h:
+	  mssdemux: add live support
+	  Implement the functions of adaptivedemux to have live support
+	  enabled. This allows mssdemux to refresh the Manifest periodically
+
+2014-12-04 15:52:44 -0500  Matthew Bader <matt@hyperlobic.net>
+
+	* sys/dshowdecwrapper/CMakeLists.txt:
+	* sys/dshowdecwrapper/gstdshowaudiodec.cpp:
+	* sys/dshowdecwrapper/gstdshowaudiodec.h:
+	* sys/dshowdecwrapper/gstdshowdecwrapper.h:
+	* sys/dshowdecwrapper/gstdshowvideodec.cpp:
+	* sys/dshowdecwrapper/gstdshowvideodec.h:
+	  dshowdecwrapper: Port to 1.x
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740945
+
+2014-12-01 16:40:24 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* configure.ac:
+	* sys/vcd/vcdsrc.c:
+	  vcdsrc: port to 1.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=547661
+
+2014-12-04 12:21:04 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/smoothstreaming/gstmssmanifest.c:
+	  mssdemux: fix getting current position in segments when after last one
+	  For live streams this makes a difference when resyncing after a
+	  Manifest refresh, otherwise it doesn't know where to restart
+
+2014-12-02 23:27:29 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/smoothstreaming/gstmssmanifest.c:
+	  mssdemux: support manifests with repetition fragments
+	  Read the "r" attribute from fragments to support fragments nodes
+	  that use repetition to have a shorter Manifest xml.
+	  Instead of doing:
+	  <c d="100" />
+	  <c d="100" />
+	  You can use:
+	  <c d="100" r="2" />
+
+2014-11-22 01:01:50 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/smoothstreaming/Makefile.am:
+	* ext/smoothstreaming/gstmssdemux.c:
+	* ext/smoothstreaming/gstmssdemux.h:
+	* ext/smoothstreaming/gstmssmanifest.c:
+	* ext/smoothstreaming/gstmssmanifest.h:
+	  mssdemux: port to adaptivedemux base class
+
+2014-12-03 16:13:17 -0500  Matthew Bader <matt@hyperlobic.net>
+
+	* sys/dshowsrcwrapper/gstdshowaudiosrc.cpp:
+	* sys/dshowsrcwrapper/gstdshowvideosrc.cpp:
+	  dshowsrcwrapper: Fixed null caps comparison
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741086
+
+2014-12-04 02:12:08 -0200  Flávio Ribeiro <email@flavioribeiro.com>
+
+	* ext/hls/gsthlssink.c:
+	* ext/hls/gstm3u8playlist.c:
+	  hlssink: remove unnecessary title on EXTINF tag
+	  According to the HLS spec the remainder of the line following
+	  the comma on EXTINF tag is not required. This patch removes
+	  the fake title and saves some bytes on the playlist.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741096
+
+2014-12-04 20:37:51 +0530  Ramprakash Jelari <ramprakash.jelari@e-consystems.com>
+
+	* ext/gl/gstopengl.c:
+	  gl: Rename gst-launch-0.10 to gst-launch-1.0 in docs
+
+2014-12-04 15:42:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/Makefile.am:
+	  decklink: Fix make distcheck
+	  And properly dist all headers and source files.
+
+2014-12-03 18:31:06 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: release threads waiting for manifest update on shutdown
+	  For live streams, also unblock threads that might be waiting for a manifest
+	  update when stopping the pipeline.
+	  Also add some more debug messages
+
+2014-12-03 13:52:07 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: use gst_task_stop instead of gst_task_pause
+	  To avoid race conditions with gst_task_stop(); gst_task_join() with
+	  another thread doing gst_task_pause(), the joining thread would be
+	  waiting for the task to stop but it would never happen. So just
+	  use gst_task_stop() everywhere to prevent more mutexes
+
+2014-12-03 12:48:42 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: fix deadlock when stopping streams
+	  Remember to unlock the manifest's lock when leaving the download task.
+
+2014-12-03 16:01:11 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/linux/DeckLinkAPIDispatch.cpp:
+	  decklink: Fix compiler warnings with gcc in the dispatcher
+
+2014-12-03 15:30:43 +0100  Philippe Normand <philn@igalia.com>
+
+	* gst-libs/gst/gl/gstglsyncmeta.h:
+	  glsyncmeta: add G_END_DECLS
+
+2014-12-03 15:07:16 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/win/DeckLinkAPI.h:
+	* sys/decklink/win/DeckLinkAPI_i.c:
+	  decklink: Update Windows SDK headers to 10.3.1
+	  No idea where the DecklinkAPIDispatch.cpp comes from on Windows,
+	  but this should still work. Will just become a problem once we
+	  use other parts of the API.
+
+2014-12-03 14:42:43 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/Makefile.am:
+	* sys/decklink/osx/DeckLinkAPI.h:
+	* sys/decklink/osx/DeckLinkAPIConfiguration.h:
+	* sys/decklink/osx/DeckLinkAPIDeckControl.h:
+	* sys/decklink/osx/DeckLinkAPIDiscovery.h:
+	* sys/decklink/osx/DeckLinkAPIDispatch-osx.cpp:
+	* sys/decklink/osx/DeckLinkAPIDispatch.cpp:
+	* sys/decklink/osx/DeckLinkAPIModes.h:
+	* sys/decklink/osx/DeckLinkAPIStreaming.h:
+	* sys/decklink/osx/DeckLinkAPITypes.h:
+	* sys/decklink/osx/DeckLinkAPIVersion.h:
+	  decklink: Update OS X SDK headers to 10.3.1
+
+2014-12-03 14:39:13 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/linux/DeckLinkAPI.h:
+	* sys/decklink/linux/DeckLinkAPIConfiguration.h:
+	* sys/decklink/linux/DeckLinkAPIDeckControl.h:
+	* sys/decklink/linux/DeckLinkAPIDiscovery.h:
+	* sys/decklink/linux/DeckLinkAPIDispatch.cpp:
+	* sys/decklink/linux/DeckLinkAPIModes.h:
+	* sys/decklink/linux/DeckLinkAPITypes.h:
+	  decklink: Update Linux SDK headers to 10.3.1
+
+2014-12-03 10:06:09 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: remove unused error variable
+	  CID #1256556
+
+2014-12-03 09:45:58 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: remove more get_duration checks
+	  Subclasses must implement get_duration function. If they do not know
+	  the duration they can return GST_CLOCK_TIME_NONE
+
+2014-12-03 09:40:34 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: all subclasses must implement get_duration
+	  CID #1256557
+
+2014-12-02 23:29:20 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: make sure to always stop the stream on EOS
+	  For On-Demand streams, always stop the tasks for streams that reached
+	  EOS
+
+2014-12-03 08:02:58 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: try cgl before glx
+	  It was already done by commit
+	  f506e80686eedc66912583db11914ec3f713b478
+	  but it has been broken by commit
+	  45ec777cea0e69b2597d1ec02b18ec31d618c920
+
+2014-12-03 07:46:50 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* tests/check/elements/.gitignore:
+	  tests: add glimagesink unit test to .gitignore
+
+2014-12-02 15:52:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: fix double unref of object
+	  the datetime is already released by the end of the function
+
+2014-10-10 11:24:08 +0100  David Waring <david.waring@rd.bbc.co.uk>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: Find the current period in a live stream
+	  Start from the correct period on a live stream
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737421
+
+2014-12-02 10:06:00 +0000  David Waring <david.waring@rd.bbc.co.uk>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: Fix period selection for live streams
+	  Fix period selection and properly error out when update cannot be done
+	  https://bugzilla.gnome.org/show_bug.cgi?id=725298
+
+2014-07-09 10:11:40 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* gst/mpegtsdemux/mpegtsbase.c:
+	  mpegtbase: Improve last PCR detection
+	  When dealing with random-access content (such as files), we initially
+	  search for the last PCR in order to figure out duration and to handle
+	  other position estimation such as those used in seeking.
+	  Previously, the code looking for that last PCR would search in the last
+	  640kB of the file going forward, and stop at the first PCR encountered.
+	  The problem with that was two-fold:
+	  * It wouldn't really be the last PCR (it would be the first one within
+	  those last 640kB. In case of VBR files, this would put off duration
+	  and seek code slightly.
+	  * It would fail on files with bitrates higher than 52Mbit/s (not common)
+	  Instead this patch modifies that code by:
+	  * Scanning over the last 2048kB (allows to cope with streams up to 160Mbit/s)
+	  * Starts by the end of the file, going over chunks of 300 MPEG-TS packets
+	  * Doesn't stop at the first PCR detected in a chunk, but instead records all
+	  of them, and only stop searching if there was "at least" one PCR within
+	  that chunk
+	  This should improve duration reporting and seeking operations on VBR files
+	  https://bugzilla.gnome.org/show_bug.cgi?id=708532
+
+2014-12-01 11:47:29 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: Only activate warning for real streams
+	  streams with stream_type 0xff are PCR-only streams, it's normal not
+	  to have a pad for them.
+
+2014-12-01 12:14:20 +0100  Jürgen Slowack <jurgen.slowack@barco.com>
+
+	* ext/x265/gstx265enc.c:
+	* ext/x265/gstx265enc.h:
+	  x265enc: add qp property
+	  QP property enables CQP mode and sets the QP for P slices.
+
+2014-12-01 10:59:32 +0100  Thijs Vermeir <thijs.vermeir@barco.com>
+
+	* tests/examples/gl/cocoa/cocoa-videooverlay.m:
+	  gl/cocoa: Fix example on Mac OS X 10.10
+	  Using NSApp directly seems to confuse something, as the compiler
+	  was expecting an id<NSFileManagerDelegate>. Switched to using
+	  [NSApplication sharedApplication], and specified the delegate
+	  protocol on the window class as well.
+	  Similar to https://bugzilla.gnome.org/show_bug.cgi?id=738740
+
+2014-12-01 10:27:43 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/Makefile.am:
+	* gst-libs/gst/adaptivedemux/Makefile.am:
+	  gst-libs: Fix dependency build
+	  adaptivedemux depends on uridownloader and video depends on base
+
+2014-12-01 09:48:41 +0100  Thomas Klausner <wiz@danbala.tuwien.ac.at>
+
+	* configure.ac:
+	  configure: Do comparisons in a portable way with = instead of ==
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740953
+
+2014-11-30 21:54:38 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: reworking live manifest update wait
+	  Check if the stream is live before checking if it is EOS as a live
+	  stream might be considered EOS when it just needs to wait for a manifest
+	  update to proceed with the next fragments
+
+2014-11-29 10:28:09 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: fix manifest update locking
+	  To avoid unlocking a not locked mutex
+
+2014-11-29 10:27:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Fix segment for manifests that won't start at 0
+	  For live streams, the manifest might start at an advanced position. Avoid
+	  using segment start=0 to have playback start immediately
+
+2014-11-29 10:26:31 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: replace the streams with the new mpd client's streams
+	  Otherwise it won't update with the new segment info from the playlist
+	  update
+
+2014-11-29 10:25:45 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: when updating the manifest, set the uri
+	  This will allow dashdemux to create the correct full path URIs to
+	  continue downloading fragments
+
+2014-08-26 16:45:46 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/Makefile.am:
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: port to adaptive demux
+
+2014-11-22 17:27:03 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: also clear flushing state on pads before restarting
+	  During flushing seeks the flushing flow return will propagate up to the
+	  source element and all pads are going to have the flushing flag set.
+	  So before restarting also remove that flag together with the EOS one.
+	  We don't do that when pushing the flush stop event because our event
+	  handler for the proxypad will drop all events.
+
+2014-11-21 20:42:09 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* configure.ac:
+	* gst-libs/gst/Makefile.am:
+	* gst-libs/gst/adaptivedemux/Makefile.am:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: add adaptivedemux base class
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735848
+
+2014-11-29 13:16:56 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gdp/gstgdppay.c:
+	  gdppay: minor caps event payloading optimisation
+	  Avoid creation of buffer we're just going to throw
+	  away two lines later anyway.
+
+2014-11-29 13:15:36 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/gdp/gstgdppay.c:
+	  gdppay: fix some memory leaks
+
+2014-11-30 00:42:17 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: require GL_ARB_ES2_compatibility for opengl3
+	  until we generate gl3 compliant shaders
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740012
+
+2014-11-30 00:18:55 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	  glimagesink: properly handle the !opengl3 case
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740012
+
+2014-11-28 17:31:07 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinksink.cpp:
+	  decklinksink: Drop too late frames and start scheduled playback at the correct time
+
+2014-11-28 16:04:54 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/gl/gstglfilterapp.c:
+	  glfilterapp: fix unused variable compiler warning
+	  When GST_GL_HAVE_OPENGL is 0 or unset.
+
+2014-11-28 15:06:42 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinksrc.cpp:
+	  decklinksrc: For the source, unsetting the callback already deletes it
+
+2014-11-14 11:19:45 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinksink.cpp:
+	  decklinksink: Wait for the pipeline clock instead of the decklink clock
+	  Otherwise we're going to starve other elements if the decklink clock
+	  is slower than the pipeline clock, or starts much later.
+	  Of course this will still cause problems if the decklink clock and ours are
+	  completely out of sync, or running at a very different rate. But this at least
+	  works better now.
+
+2014-11-14 10:58:53 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinksink.cpp:
+	* sys/decklink/gstdecklinksink.h:
+	  decklinksink: Schedule video frames according to their timestamps, not according to a frame counter
+
+2014-11-14 11:02:01 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinksink.cpp:
+	  decklinksink: Add some FIXME comments about synchronization
+
+2014-11-14 10:38:33 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/capture.cpp:
+	* sys/decklink/gstdecklinksrc.cpp:
+	* sys/decklink/gstdecklinksrc.h:
+	  decklinksrc: Sample the pipeline clock for the timestamps instead of coming up with our own
+	  If we just count the frames and calculate timestamps from that, all frames
+	  will arrive late in the sink as we have a live source here. Instead take
+	  the pipeline clock at capture time as reference.
+
+2014-11-28 14:50:18 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/capture.h:
+	* sys/decklink/gstdecklinksrc.cpp:
+	* sys/decklink/gstdecklinksrc.h:
+	  decklinksrc: Handle callback/delegate object the same way as in the sink
+	  Potentially fixes crashes.
+
+2014-11-28 14:46:06 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinksink.cpp:
+	* sys/decklink/gstdecklinksink.h:
+	  decklinksink: Don't crash when going to READY another time
+	  We have to handle the callback object a bit different:
+	  a) it needs a virtual destructor
+	  b) we need to set the callback to NULL when we're done with the output
+	  c) create a new one every time
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740616
+
+2014-11-28 10:23:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: Failure to map a video frame is not just a warning
+	  Also add some warning debug output if mapping a output buffer fails
+
+2014-11-28 10:22:44 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Failure to map a video frame is not just a warning
+
+2014-11-28 14:08:40 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/Makefile.am:
+	  glfilterapp is now available on gles2 as well so build it
+
+2014-11-28 13:04:21 +1100  Matthew Waters <matthew@centricular.com>
+
+	* configure.ac:
+	* gst-libs/gst/gl/glprototypes/gstgl_compat.h:
+	  gl: fixup compat definition for GLuint64 for OS X
+
+2014-11-28 11:56:10 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/glprototypes/gstgl_compat.h:
+	  gl: add compat definition for GLuint64 for android
+	  ../../../../gst-libs/gst/gl/glprototypes/sync.h:41:23: error: unknown type name 'GLuint64'
+	  GLuint64 timeout))
+
+2014-11-28 02:21:49 +0900  Danny Song <danny.song.ga@gmail.com>
+
+	* gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c:
+	  basecamerasrc: fix typo in docs
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740815
+
+2014-11-28 11:11:43 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	  glsync: fix build with desktop gl
+
+2014-11-28 11:04:22 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglcolorscale.c:
+	  gl: fix typo in #if
+	  GST_GL_API_HAVE_OPENGL doesn't exist
+
+2014-11-28 10:59:46 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/effects/gstgleffectssources.h:
+	* ext/gl/gstglcolorscale.c:
+	* ext/gl/gstgleffects.c:
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	  gl: fix various build errors without desktop gl
+
+2014-11-28 10:03:18 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstgldisplay.c:
+	  gldisplay: fix build error
+	  gstgldisplay.c:234:541: error: 'return' with no value, in function returning non-void [-Werror]
+	  g_return_if_fail (GST_IS_GL_DISPLAY (display));
+
+2014-11-27 21:05:45 +1100  Matthew Waters <matthew@centricular.com>
+
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* ext/gl/gstglbumper.c:
+	* ext/gl/gstglcolorscale.c:
+	* ext/gl/gstgldeinterlace.c:
+	* ext/gl/gstgldifferencematte.c:
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstglfilterapp.c:
+	* ext/gl/gstglfilterblur.c:
+	* ext/gl/gstglfiltercube.c:
+	* ext/gl/gstglfilterglass.c:
+	* ext/gl/gstglfilterlaplacian.c:
+	* ext/gl/gstglfilterreflectedscreen.c:
+	* ext/gl/gstglfiltershader.c:
+	* ext/gl/gstglfiltersobel.c:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixer.h:
+	* ext/gl/gstglmosaic.c:
+	* ext/gl/gstgloverlay.c:
+	* ext/gl/gstgltestsrc.c:
+	* ext/gl/gstgltransformation.c:
+	* ext/gl/gstglvideomixer.c:
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstgldisplay.c:
+	* gst-libs/gst/gl/gstgldisplay.h:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  gldisplay: implement runtime GL api filtering
+	  Needed so that the pipeline/application can limit the choice of GL api
+	  to what it supports
+
+2014-11-27 16:17:50 +1100  Matthew Waters <matthew@centricular.com>
+
+	* configure.ac:
+	* ext/gl/Makefile.am:
+	* ext/gl/gstglfiltercube.c:
+	* ext/gl/gstglfiltercube.h:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstopengl.c:
+	* gst-libs/gst/gl/gstglapi.h:
+	* gst-libs/gst/gl/gstglframebuffer.c:
+	* gst-libs/gst/gl/gstglframebuffer.h:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	* tests/examples/gl/generic/cube/main.cpp:
+	* tests/examples/gl/generic/cubeyuv/main.cpp:
+	* tests/examples/gl/generic/doublecube/main.cpp:
+	* tests/examples/gl/generic/recordgraphic/main.cpp:
+	* tests/examples/gl/qt/mousevideooverlay/pipeline.cpp:
+	* tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.cpp:
+	* tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp:
+	* tests/examples/gl/sdl/sdlshare.c:
+	  gl: remove the use of glu
+
+2014-10-17 15:22:24 +0200  Matthew Waters <matthew@centricular.com>
+
+	* configure.ac:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/Makefile.am:
+	* gst-libs/gst/gl/gl.h:
+	* gst-libs/gst/gl/glprototypes/gstgl_compat.h:
+	* gst-libs/gst/gl/glprototypes/sync.h:
+	* gst-libs/gst/gl/gstglbufferpool.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglsyncmeta.c:
+	* gst-libs/gst/gl/gstglsyncmeta.h:
+	  gl: add a sync meta for synchronizing across GL contexts
+	  A context can create a GLsync object that can be waited on in order
+	  to ensure that GL resources created in one context are able to be
+	  used in another shared context without any chance of reading invalid
+	  data.
+	  This meta would be placed on buffers that are known to cross from
+	  one context to another.  The receiving element would then wait
+	  on the sync object to ensure that the data to be used is complete.
+
+2014-10-17 15:08:29 +0200  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/glprototypes/Makefile.am:
+	* gst-libs/gst/gl/glprototypes/all_functions.h:
+	* gst-libs/gst/gl/glprototypes/sync.h:
+	  glprototypes: add sync function definitions
+
+2014-11-17 18:06:20 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglfilterapp.c:
+	* ext/gl/gstopengl.c:
+	  glfilterapp: port to gles2 and gl3
+
+2014-11-14 23:24:48 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgloverlay.c:
+	* ext/gl/gstgloverlay.h:
+	  gloverlay: support gl3
+
+2014-11-14 00:20:10 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	* ext/gl/gstglvideomixer.h:
+	  glvideomixer: add support for gl3
+
+2014-11-13 21:30:38 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglfiltercube.c:
+	* ext/gl/gstglfiltercube.h:
+	  glfiltercube: add a gl3 code path
+
+2014-11-13 15:09:04 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglfiltershader.c:
+	  glfiltershader: support gl3
+
+2014-11-13 12:12:46 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgltransformation.c:
+	* ext/gl/gstgltransformation.h:
+	  gltransformation: support gl3
+
+2014-11-12 23:48:32 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/effects/gstgleffectidentity.c:
+	* ext/gl/effects/gstgleffectmirror.c:
+	* ext/gl/effects/gstgleffectsqueeze.c:
+	* ext/gl/effects/gstgleffectssources.c:
+	  gleffects: support gl3 whereever gles2 is supported
+
+2014-11-12 23:47:13 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglcolorscale.c:
+	* ext/gl/gstglcolorscale.h:
+	  glcolorscale: support gl3
+
+2014-11-12 22:49:11 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  glfilter: add a gl3 code path using vao's and vbo's
+
+2014-11-12 22:48:04 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglframebuffer.c:
+	  glframebuffer: add support for gl3
+
+2014-10-23 22:35:20 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglcolorconvert.h:
+	  glcolorconvert: add support for gl3
+
+2014-10-21 22:18:51 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	  glimagesink: use vbo's and vao's for gl3
+
+2014-10-21 19:30:38 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglshader.c:
+	* gst-libs/gst/gl/gstglshader.h:
+	  glshader add support for gl3
+
+2014-10-19 08:09:37 +0400  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
+	  glx: ask for a GL3 core context
+
+2014-11-27 21:22:44 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Minor cleanup
+
+2014-11-26 15:02:14 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/compositor/compositor.c:
+	* gst/compositor/compositorpad.h:
+	  compositor: Implement rescaling of the input via pad properties
+	  compositor has now the same interface as glvideomixer.
+
+2014-11-27 20:34:25 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Copy over more fields from the relevant video-info
+	  gst_video_info_set_format() will reset the complete video-info, but
+	  we want to keep values like the PAR, colorimetry and chroma site.
+	  Otherwise we risk setting different values on the srcpad caps than
+	  what is actually inside the buffers.
+
+2014-11-27 20:25:29 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Directly use the converters video-info instead of recalculating it
+
+2014-11-27 19:52:20 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Do source pad negotiation only from the aggregated function
+	  Otherwise we might negotiate from the sinkpad streaming threads at
+	  the same time as on the srcpad streaming thread, and then all kinds
+	  of crazy bugs happen that don't make any sense at all.
+
+2014-11-27 18:46:03 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst-libs/gst/video/gstvideoaggregatorpad.h:
+	  videoconvert: Hide all conversion related fields
+	  And do not delay the setting of the conversion_info
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740768
+
+2014-11-27 16:43:39 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Do not try to resize a buffer to a negative size on EOS
+
+2014-11-26 18:24:05 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* ext/gl/gstglmixer.c:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst-libs/gst/video/gstvideoaggregator.h:
+	* gst-libs/gst/video/gstvideoaggregatorpad.h:
+	  videoaggregator: Expose vmethods to set converters and prepare/clean frames
+	  This gives more flexibility to the subclasses and permits to remove the
+	  GstVideoAggregatorClass->disable_frame_conversion ugly API.
+	  WARNING: This breaks the API as it removes the disable_frame_conversion
+	  field
+	  API:
+	  + GstVideoAggregatorClass->find_best_format
+	  + GstVideoAggregatorPadClass->set_format
+	  + GstVideoAggregatorPadClass->prepare_frame
+	  + GstVideoAggregatorPadClass->clean_frame
+	  - GstVideoAggregatorClass->disable_frame_conversion
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740768
+
+2014-11-26 15:41:37 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/debugutils/gstwatchdog.c:
+	* gst/debugutils/gstwatchdog.h:
+	  watchdog: Handle FLUSHING seek events even in PAUSED state
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740757
+
+2014-11-26 15:43:12 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/debugutils/gstwatchdog.c:
+	* gst/debugutils/gstwatchdog.h:
+	  watchdog: Properly handle PAUSED state
+	  In PAUSED state we should just preroll, so get one buffer
+	  and stop monitoring.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740757
+
+2014-10-31 11:01:47 +0100  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Let a full renegotiation happen after removing the last pad
+	  With the current code, we will end up setting the preferred downstream
+	  format as the srcpad format, and it might not be accepted by the next
+	  sinkpad to be added. We should instead let the next sinkpad reconfigure
+	  everything.
+
+2014-11-27 13:40:56 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	* sys/applemedia/vtenc.h:
+	  vtenc: add quality property
+
+2014-11-27 13:33:07 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/Makefile.am:
+	* sys/applemedia/vtenc.c:
+	  vtenc: set profile and level in caps
+
+2014-11-27 18:09:58 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: Unref buffer with the correct function
+
+2014-11-27 18:09:14 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: Handle failure of memory allocation gracefully
+
+2014-11-27 18:04:58 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: Use g_try_malloc() in the appropriate places
+	  g_malloc() aborts if allocation fails, it's pointless to check against NULL
+	  afterwards. That's why g_try_malloc() exists.
+
+2014-11-27 17:11:13 +0100  Edward Hervey <bilboed@bilboed.com>
+
+	* common:
+	  Automatic update of common submodule
+	  From f32cfcd to ef1ffdc
+
+2014-11-27 10:48:43 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: support RGB16/BGR16 video format download
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740801
+
+2014-11-27 13:01:19 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: only attempt a resize when the window has already resized
+	  fixes a black startup screen on wayland
+
+2014-11-27 11:47:38 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
+	  gl/wayland: implement resizing the window using the right mouse button
+
+2014-11-26 22:05:10 +0530  Arun Raghavan <git@arunraghavan.net>
+
+	* common:
+	* configure.ac:
+	  build: Use newer AX_PTHREAD instead of ACX_PTHREAD
+
+2014-11-26 14:36:42 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	* sys/Makefile.am:
+	* sys/qtwrapper/Makefile.am:
+	* sys/qtwrapper/audiodecoders.c:
+	* sys/qtwrapper/codecmapping.c:
+	* sys/qtwrapper/codecmapping.h:
+	* sys/qtwrapper/imagedescription.c:
+	* sys/qtwrapper/imagedescription.h:
+	* sys/qtwrapper/qtutils.c:
+	* sys/qtwrapper/qtutils.h:
+	* sys/qtwrapper/qtwrapper.c:
+	* sys/qtwrapper/qtwrapper.h:
+	* sys/qtwrapper/videodecoders.c:
+	  Remove unported and obsolete qtwrapper plugin code
+	  QuickTime is deprecated, we want new plugins based
+	  on avfoundation (osx) or dxva/mediafoundation (windows).
+
+2014-11-27 01:27:19 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: support fixed dimensions on both sides of the element
+	  Fixes:
+	  width=320,height=240 ! glfilter ! width=800,height=600
+	  width=230,height=240 ! glfilter ! width=600
+	  ... ! glfilter ! width=800
+
+2014-11-25 13:33:07 +1100  Matthew Waters <matthew@centricular.com>
+
+	* configure.ac:
+	  gl: fix automagic disabling of desktop GL
+	  If configure finds GL + GLES2 but the user passes --enable-gles2 and
+	  the two GL API's cannot be built against together, configure was still
+	  allowing the desktop GL stack to be built.
+
+2014-11-26 13:06:21 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Also sync pad properties to the controller if conversion is disabled
+
+2014-11-26 12:35:52 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/compositor/compositor.c:
+	* gst/compositor/compositorpad.h:
+	  compositor: Remove unused zorder pad property
+	  It's handled in videoaggregator already.
+
+2014-11-23 23:49:50 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/codecparsers/gsth265parser.c:
+	* gst-libs/gst/codecparsers/nalutils.h:
+	  codecparsers: fix some compiler warnings
+	  i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1
+	  "warning: comparison is always true due to limited
+	  range of data type"
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=740673
+
+2014-11-25 18:53:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/compositor/compositor.c:
+	  compositor: GstVideoMeta is supported just fine, tell upstream about that
+	  Also provide a GstVideoBufferPool to upstream just in case.
+
+2014-11-24 13:25:55 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* sys/winks/gstksvideodevice.c:
+	* sys/winks/ksvideohelpers.c:
+	  winks: fix debug message format issues
+	  And print last bits of GUID properly instead
+	  of printing nonsense.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733055
+
+2014-11-25 08:24:16 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/mpegts/gst-dvb-descriptor.c:
+	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
+	  mpegts: fix some compiler warnings
+	  i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1
+	  "warning: comparison is always true due to limited
+	  range of data type"
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740674
+
+2014-11-24 19:53:56 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	  configure: use pkg-config to detect X11
+	  Like we do in -base and -good now.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731047
+
+2014-11-24 19:21:29 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Use a fixed number of slices by default
+
+2014-11-24 19:16:20 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Add some more encoding properties
+	  Merged from https://github.com/EricssonResearch/openwebrtc-gst-plugins
+	  based on a patchset by Robert Swain <robert.swain@ericsson.com>
+
+2014-11-24 18:40:53 +0530  Ramprakash Jelari <ramprakash.jelari@e-consystems.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: Fix unused variable warning by moving declaration where it is actually used
+
+2014-11-24 14:07:19 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	  decklink: Add support for 2k modes
+
+2014-11-24 13:56:56 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	  decklink: HD1080i50 is 50 frames per second
+
+2014-11-24 17:58:42 +0530  Ramprakash Jelari <ramprakash.jelari@e-consystems.com>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	  mpegtspacketizer: Fix format string compiler warning
+
+2014-11-24 17:18:44 +0530  Ramprakash Jelari <ramprakash.jelari@e-consystems.com>
+
+	* gst-libs/gst/mpegts/gst-dvb-section.c:
+	  dvbsection: Fix format string compiler warning
+
+2014-11-24 16:54:42 +0530  Ramprakash Jelari <ramprakash.jelari@e-consystems.com>
+
+	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
+	  mpegtsdescriptor: Fix format string compiler warning
+	  gstmpegtsdescriptor.c:778:16: warning: format specifies type 'unsigned long' but the argument has type 'int' [-Wformat]
+
+2014-11-24 11:32:33 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: Fix valid compiler warning
+	  gstglupload.c:442:32: error: if statement has empty body [-Werror,-Wempty-body]
+	  if (upload->texture_ids[i]);
+	  ^
+
+2014-11-24 10:43:23 +0100  Philippe Normand <philn@igalia.com>
+
+	* gst-libs/gst/gl/egl/Makefile.am:
+	  gl: ship the gstglcontext_egl.h header
+	  It is required by gsteglimagememory.h.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740611
+
+2014-11-23 21:43:20 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/gl/gstglshadervariables.c:
+	  gl: shadervariables: make parsing of floats locale-independent
+	  Floating point numbers are written differently in different
+	  locales, e.g. in many countries 1/2 = 0,5 instead of 0.5, and
+	  strtod will not be able to parse "0.5" correctly in such a
+	  locale.
+
+2014-11-24 02:52:24 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglshadervariables.c:
+	  glshadervariables: also trim \r as well as \n
+
+2014-11-05 20:18:06 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* ext/gl/gstglmixer.c:
+	* gst-libs/gst/gl/egl/gsteglimagememory.c:
+	* gst-libs/gst/gl/egl/gsteglimagememory.h:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	* gst-libs/gst/gl/gstglupload.c:
+	* gst-libs/gst/gl/gstglupload.h:
+	* tests/check/libs/gstglupload.c:
+	  glupload: rearchitecture for non GLMemory inputs/outputs
+	  Allows other memory types to be implemented/returned/used by the caller.
+
+2014-11-14 10:55:14 +0900  Wonchul Lee <wonchul86.lee@lge.com>
+
+	* gst/rawparse/gstrawparse.c:
+	  rawparse: send SEEKING query upstream first
+	  Sometimes rawparse does not handle the seeking query
+	  properly, the rawparse should send the query upstream
+	  first. For example, upstream could support seeking in
+	  TIME format (but not in BYTE format), so the BYTE format
+	  seeking query that rawparse sends in push mode would
+	  fail.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=722764
+
+2014-11-21 15:46:49 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: let VT pick the bitrate by default
+
+2014-11-20 10:23:30 -0800  Aleix Conchillo Flaqué <aleix@oblong.com>
+
+	* ext/srtp/gstsrtpdec.c:
+	  srtpdec: fix rtp/rtcp sink event memory leak
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740451
+
+2014-11-20 16:04:34 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: set H264_Baseline_AutoLevel on OSX as well
+
+2014-11-20 15:50:18 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: disable the reorder queue for baseline streams
+
+2014-11-20 09:41:43 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: Fix divide by zero in the picture buffer length calculation
+
+2014-11-20 09:13:58 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: critical error while seek playback-test(stop state)
+	  If we seek when media is in stop state, playback-test gives
+	  critical error, since context of glimagesink is destroyed during stop.
+	  But since context is not present, we need not handle send_event in glimagesink
+	  Hence adding a condition to check if context is valid.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740305
+
+2014-11-19 17:17:06 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Unblock events/queries immediately if the pad is flushing
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740376
+
+2014-11-19 17:15:02 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Drop serialized events/queries if the pad is flushing
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740376
+
+2014-11-19 17:03:41 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Block serialized events/queries until the pad has consumed all buffers
+	  Otherwise the caps of the pad might change while the subclass still works with
+	  a buffer of the old caps, assuming the the current pad caps apply to that
+	  buffer. Which then leads to crashes and other nice effects.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740376
+
+2014-11-19 17:02:40 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Don't output 0-duration buffers at the segment end
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740376
+
+2014-11-19 17:03:33 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Fix typo in debug output
+
+2014-11-17 14:05:01 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: 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-17 14:00:10 +1100  Matthew Waters <matthew@centricular.com>
+
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: add _get_latency() for subclass usage
+	  API: gst_aggregator_get_latency
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739996
+
+2014-11-17 09:36:52 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: build errors when GST_GL_HAVE_OPENGL is 0
+	  Moving variables within #if GST_GL_HAVE_OPENGL, which are not going to be used otherwise.
+	  and which are needed only when OpenGl is present
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740235
+
+2014-11-17 11:10:35 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* tests/examples/opencv/gsthanddetect_test.c:
+	  examples: relicense opencv gsthanddetect_test to LGPLv2+
+	  The GPL3 license header was copy'n'pasted from a
+	  neighbouring source file by mistake, the original
+	  code was not GPL3 licensed, but fell under the
+	  default GStreamer license, which is LGPLv2+.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=685655
+
+2014-11-17 18:50:28 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: add read-only context property
+
+2014-11-17 18:50:04 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: add read-only context property
+
+2014-11-11 17:08:25 +0900  Hyunjun Ko <zzoonis@gmail.com>
+
+	* tests/examples/opencv/gst_element_print_properties.c:
+	  opencv-example: Use g_snprintf instead of sprintf
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739846
+
+2014-11-16 20:32:56 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@sisa.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: drop explicit comparisons against 0 for true/false
+
+2014-11-16 11:00:14 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Only use convertRectToBacking on OSX >= 10.7
+	  It does not exist before and older versions also don't have
+	  support for HiDPI displays anyway.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740201
+
+2014-11-16 10:57:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	* gst-libs/gst/gl/gstglapi.h:
+	  gl: Use numeric OSX version instead of the macro
+	  The macro is not defined on older OSX versions and evaluates to 0.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740201
+
+2014-11-15 21:59:48 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* sys/dvb/dvbbasebin.c:
+	  dvbbasebin: fix possible crash by passing 64 bits for 64-bit queue property
+	  https://bugzilla.gnome.org/show_bug.cgi?id=740191
+
+2014-11-14 10:40:31 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/capture.cpp:
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklinksrc.cpp:
+	  decklink: Fix indention
+
+2014-11-10 10:01:24 +0100  Gwenole Beauchesne <gb.devel@gmail.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	  codecparsers: h264: fix derivation of MaxPicNum variable.
+	  The logic to compute the MaxPicNum variable was reversed. In paricular,
+	  MaxPicNum is double MaxFrameNum only if field_pic_flag is set to 1.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739291
+
+2014-11-13 12:01:25 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Don't override the application delegate
+	  Otherwise interesting things will happen in Cocoa applications, like
+	  infinite event loops that block the NSApplication loop forever.
+	  This was only needed for GNUStep and thus can safely be removed now.
+
+2014-11-13 11:58:07 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	* tests/examples/gl/cocoa/cocoa-videooverlay.m:
+	  gl/cocoa: Remove GNUStep support
+	  Until gcc and GNUStep properly support Objective-C blocks and other
+	  "new" features of Objective-C we can't properly support them without
+	  making the code much more ugly.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739152
+
+2014-11-12 18:06:45 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	* gst/inter/gstinteraudiosink.h:
+	  interaudiosink: Make sure to store at least period-time samples at once in the adapter
+	  It's better to create some more silence than having the source pull multiple
+	  short buffers out of the adapter and insert silence between them.
+
+2014-11-12 16:45:12 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: fix build on iOS
+
+2014-11-12 15:35:36 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/coremediabuffer.c:
+	  coremediabuffer: set ->pixel_buf for CVPixelBuffer buffers
+	  Fix a bug for which we never actually set ->pixel_buf to non-NULL for
+	  CVPixelBuffer buffers.
+
+2014-06-06 13:57:30 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/faad/gstfaad.c:
+	  faad: set channel positions using the appropriate API
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731038
+
+2014-11-12 13:58:56 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstintervideosrc.c:
+	  intervideosrc: Stop showing the current frame after 1 second, not after 30 frames
+
+2014-11-12 09:41:53 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* tests/check/Makefile.am:
+	  tests: add CFLAGS and LADD for glimagesink unit test
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732694
+
+2014-11-12 11:52:58 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Add new enable-frame-skip property and disable it by default
+	  Otherwise e.g. videotestsrc ! openh264enc ! ... will drop every second frame
+	  because otherwise the target bitrate can't be reached without loosing too
+	  much quality.
+
+2014-11-12 09:59:53 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: fix compilation on < 10.9
+
+2014-11-12 11:44:07 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: don't set the upload to NULL on the drain query
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732694
+
+2014-11-11 17:04:48 +0900  Hyunjun Ko <zzoonis@gmail.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  gl: Correct invalid comment text
+
+2014-11-11 23:54:44 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/elements/glimagesink.c:
+	  gl: add unit test that checks for glimagesink drain query handling
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732694
+
+2014-11-11 23:49:59 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: release stored buffers on drain query
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732694
+
+2014-11-11 23:43:42 +0000  Julien Isorce <j.isorce@samsung.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  gl: do not raise a critical msg if the backend does not handle window events
+	  Fix "assertion 'window_class->handle_events != NULL' failed"
+	  if not using a X11 window.
+
+2014-11-11 18:01:54 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: enable the hw encoder on OSX
+
+2014-11-11 12:00:30 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinksink.cpp:
+	  decklinksink: Check the correct variable for failure
+	  If we can't get an output, we would otherwise just use it later and crash.
+
+2014-11-11 11:18:19 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosrc.c:
+	  interaudiosrc: Make sure we have a writable buffer before we start changing metadata
+
+2014-11-11 11:15:35 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstintervideosrc.c:
+	  intervideosrc: Set the GAP flag on repeated buffers
+	  videorate does the same and it allows optimizations downstream.
+
+2014-11-11 11:12:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosrc.c:
+	  interaudiosrc: Set the GAP flag on buffers that only contain silence
+
+2014-11-11 14:23:55 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	  gl: remove the width/height fields from the caps to support frame resizing
+	  It was previously only occuring with sysmem caps features
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739334
+
+2014-11-10 17:42:20 +0100  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
+
+	* gst-libs/gst/codecparsers/gsth264parser.h:
+	  h264parser: fix GstH264ParserResult documentation typo
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739906
+
+2014-11-10 16:01:25 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/elements/.gitignore:
+	  tests: Add x265enc unit test to .gitignore
+
+2014-11-09 20:53:34 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/videoparsers/gstpngparse.c:
+	  pngparse: optimise reading of png files
+	  Read PNG data chunk in one go by letting the parser
+	  base class know the size we need, so that it doesn't
+	  drip-feed us small chunks of data (causing a lot of
+	  reallocs and memcpy in the process) until we have
+	  everything.
+	  Improves parsing performance of very large PNG files
+	  (65MB) from ~13 seconds to a couple of millisecs.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736176
+
+2014-11-09 19:23:47 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/examples/mpegtsmux/mpts_test2.c:
+	  examples: remove pointless mpegtsmux example
+	  Serves no purpose, is not even hooked up to the
+	  build system, has hard coded file names and paths,
+	  and can easily be replaced with a gst-launch line.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739844
+
+2014-11-09 10:25:25 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: Don't pretend to support reconfiguration
+	  We will run into an assertion in set_caps() if we try to change
+	  caps while the source is already running. Don't try to find new
+	  caps in GstBaseSrc::negotiate() to prevent caps changes.
+
+2014-10-09 13:11:48 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: set seq_layer_sent to FALSE on reset()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738526
+
+2014-10-09 13:03:56 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	* gst/videoparsers/gstvc1parse.h:
+	  vc1parse: implement asf to *-frame-layer stream-format
+	  This commit add an helper to convert a frame to frame-layer format and
+	  use it to implement these two stream-format conversion:
+	  - asf --> sequence-layer-frame-layer
+	  - asf --> frame-layer
+	  In simple/main profile, we basically have a raw frame, so building a
+	  frame layer isn't too complicated. But in advanced profile, the first
+	  frame-layer should contain sequence-header, entrypoint, and frame and
+	  each keyframe should contain entrypoint, so we have to handle these
+	  carefully.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738526
+
+2014-10-09 10:38:40 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: check output format at negotiation time
+	  Add an helper to check that output stream-format is coherent with
+	  profile and header-format. It also check if we know how to do the
+	  conversion if the input stream-format differs from selected
+	  output-format.
+	  So, in case output stream-format is not allowed, it will now fail at
+	  negotiation rather than in pre_push_frame.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738526
+
+2014-09-30 15:35:38 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: add some asf related stream-format conversions
+	  This commit introduces an helper to convert an ASF frame to BDUs format with
+	  startcodes and use this helper to implements following stream-format
+	  conversions:
+	  - asf --> bdu
+	  - asf --> sequence-layer-bdu
+	  - asf --> sequence-layer-raw-frame
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738526
+
+2014-09-30 15:28:55 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	* gst/videoparsers/gstvc1parse.h:
+	  vc1parse: add some simple stream-format conversion
+	  It add the support of following stream-format conversion:
+	  - bdu --> sequence-layer-bdu
+	  - bdu-frame --> sequence-layer-bdu-frame
+	  - frame-layer --> sequence-layer-frame-layer
+	  For these conversion, the only requirements is to push a sequence-layer
+	  buffer prior to data.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738526
+
+2014-09-30 14:53:25 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: prepare the stream-format conversion code and add the simplest ones
+	  It prepares the template for stream-format conversion and it implements
+	  the following conversion:
+	  - sequence-layer-bdu --> bdu
+	  - sequence-layer-bdu-frame --> bdu-frame
+	  - sequence-layer-frame-layer --> frame-layer
+	  Work is done in the pre_push_frame() method.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738526
+
+2014-09-05 17:57:47 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: do not override last known stream error
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736141
+
+2014-11-07 19:30:18 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/smoothstreaming/gstmssdemux.c:
+	* ext/smoothstreaming/gstmssmanifest.c:
+	* ext/smoothstreaming/gstmssmanifest.h:
+	  mssdemux: seeks in the manifest never fail
+	  Set void as the return and remove error handling as it could
+	  never fail
+
+2014-11-07 19:16:47 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: make sure flushes have the same seqnum as the seek event
+	  They are part of the same operation and should preserve the seqnum
+
+2014-11-07 19:09:15 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: simplify seek to eos handling
+	  Remove redundant flush stop pushing and remove a goto to make
+	  the code flow simpler
+
+2014-09-17 15:22:59 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: send missing FLUSH_STOP/EOS when no seeking period is found
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736800
+
+2014-11-07 15:50:51 +0100  Josep Torra <n770galaxy@gmail.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	* gst/videoparsers/gsth264parse.h:
+	  h264parse: set the HEADER flag on buffers containing SPS or PPS
+
+2014-11-07 15:41:15 +0100  Josep Torra <n770galaxy@gmail.com>
+
+	* gst/videoparsers/gsth265parse.c:
+	* gst/videoparsers/gsth265parse.h:
+	  h265parse: set the HEADER flag on buffers containing VPS, SPS or PPS
+
+2014-11-07 11:41:01 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/Makefile.am:
+	* pkgconfig/gstreamer-gl.pc.in:
+	  gstglconfig: Put gstglconfig.h into $(libdir)/gstreamer-1.0/include
+	  It's architecture dependent and should not be placed into the include
+	  directory as the assumption is that all those headers are architecture
+	  independent.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739767
+
+2014-11-07 00:16:12 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/smoothstreaming/gstmssmanifest.c:
+	  smoothstreaming: initialise new GstH264NalUnit fields
+	  CID #1251107.
+
+2014-11-06 23:58:06 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: don't make gst_glimage_sink_handle_events call _ensure_gl_setup
+	  gst_glimage_sink_handle_events can be called from the overlay interface and from
+	  the main thread before GL is setup. Before this change, that would call
+	  _ensure_gl_setup() and deadlock on OSX.
+	  Change things so that it's always safe to call gst_glimage_sink_handle_events()
+	  without stuff deadlocking.
+
+2014-11-06 23:55:20 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: fix possible deadlock on osx
+	  Remove gst_glimage_sink_handle_events call in gst_glimage_sink_init. It was
+	  unnecessary and when the element was instantiated from the main thread, caused a
+	  deadlock in OSX creating the context (thread).
+
+2014-11-06 13:22:17 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/vtenc.c:
+	* sys/applemedia/vtenc.h:
+	  vtenc: add realtime and allow-frame-reordering properties
+
+2014-11-07 10:01:59 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: clamp the resize width/height to >= 1 to avoid a GL error
+
+2014-11-06 17:36:15 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstintervideosrc.c:
+	  intervideosrc: Print a warning into the debug log on generating black frames
+
+2014-11-06 17:21:39 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstintervideosink.c:
+	  intervideosink: Add some debug output in the render function
+
+2014-11-06 11:53:04 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/videoparsers/gsth265parse.c:
+	  h265parse: don't unnecesarily set src_caps
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739374
+
+2014-10-29 22:55:47 +0100  Matej Knopp <matej.knopp@gmail.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: don't unnecesarily set src_caps
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739374
+
+2014-11-06 18:43:01 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglutils.c:
+	  glutils: only attempt getting the app context when we don't already have a display
+	  avoids querying/messaging the world on each frame
+
+2014-11-06 18:37:23 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: fail context creation if glGetString returns NULL
+
+2014-10-29 12:24:16 +0100  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* gst-libs/gst/gl/gstglwindow.c:
+	* gst-libs/gst/gl/gstglwindow.h:
+	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
+	  glimagesink: implement gst_video_overlay_handle_events
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736035
+
+2014-11-04 15:16:33 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosrc.c:
+	  interaudiosrc: Fix compiler warning about unused variables
+	  gstinteraudiosrc.c: In function 'gst_inter_audio_src_create':
+	  gstinteraudiosrc.c:339:27: error: variable 'buffer_samples' set but not used [-Werror=unused-but-set-variable]
+	  guint64 period_samples, buffer_samples;
+	  ^
+
+2014-11-04 14:56:55 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	* gst/inter/gstinteraudiosrc.c:
+	* gst/inter/gstinteraudiosrc.h:
+	* gst/inter/gstintersurface.c:
+	* gst/inter/gstintersurface.h:
+	  interaudio: Make buffer size and latency handling more explicit and add properties for them
+	  This now makes audio work more reliable without disconts.
+
+2014-11-04 13:59:20 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	  interaudiosink: Use the bpf from the audio info instead of hardcoding 4
+
+2014-11-04 13:58:44 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosrc.c:
+	  interaudio: Only flush the ringbuffer on the sink side
+
+2014-11-04 13:46:46 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	  interaudiosink: Flush the adapter when we get new caps
+	  Ideally we would drain the source but that would require more coordination
+	  between sink and source than what we currently have.
+
+2014-11-04 09:52:11 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  gl/cocoa: include gl3.h in configure too for consistency with gstglapi.h
+
+2014-11-03 20:45:03 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+	* gst-libs/gst/insertbin/gstinsertbin.c:
+	  insertbin: Add doc for the ignored user-data in action signals
+
+2014-11-03 23:24:33 +0000  Julien Isorce <julien.isorce@gmail.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: use NSAutoreleasePool to free resize data
+	  Otherwise when resizing the window you will also get messages like:
+	  class NSConcreteMapTable autoreleased with no pool in place - just leaking
+	  class NSConcreteValue autoreleased with no pool in place - just leaking
+	  class NSConcreteValue autoreleased with no pool in place - just leaking
+	  class __NSCFDictionary autoreleased with no pool in place - just leaking
+
+2014-11-03 23:08:09 +0000  Julien Isorce <julien.isorce@gmail.com>
+
+	* gst-libs/gst/gl/gstglapi.h:
+	  gl/cocoa: include gl3.h to have GL_CONTEXT_PROFILE_MASK
+
+2014-11-03 23:07:34 +0000  Julien Isorce <julien.isorce@gmail.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: make sure to turn on frame rectangle changes notifications
+	  Default value of property postsFrameChangedNotifications is YES
+	  but it is worth to explicitly enable it.
+
+2014-11-03 23:02:17 +0000  Julien Isorce <julien.isorce@gmail.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: fix uncaught exception 'unrecognized selector sent to instance'
+	  Need to set the ':' as the reshape method now takes one parameter.
+	  For the story, the GstGLNSView was previously inheriting from
+	  NSOpenGLView which has a reshape function without any parameter.
+	  Now the GstGLNSView inherits from NSView and we re-use the reshape
+	  function manually.
+
+2014-11-03 22:59:41 +0000  Julien Isorce <julien.isorce@gmail.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: fix compiler warning
+	  Use the reshape function after being defined. The other way
+	  would have been to declare the reshape function in the header.
+	  gstglwindow_cocoa.m: In function '-[GstGLNSView drawRect:]':
+	  gstglwindow_cocoa.m:555: warning: 'GstGLNSView' may not respond to '-reshape'
+	  gstglwindow_cocoa.m:555: warning: (Messages without a matching method signature
+	  gstglwindow_cocoa.m:555: warning: will be assumed to return 'id' and accept
+	  gstglwindow_cocoa.m:555: warning: '...' as arguments.)
+
+2014-11-03 16:54:58 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstintervideosrc.c:
+	  intervideosrc: Negotiate framerate with downstream
+	  Prefer the closest framerate to the input framerate though.
+
+2014-11-03 16:24:33 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosrc.c:
+	* gst/inter/gstintervideosrc.c:
+	  inter*src: No need to set caps manually on the pad
+	  basesrc does that for us already.
+
+2014-11-03 16:13:23 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Swap source/destination parameters of gst_video_converter_frame()
+
+2014-11-03 15:19:48 +0100  Wim Taymans <wtaymans@redhat.com>
+
+	* gst/inter/gstintervideosrc.c:
+	  inter: fix order of arguments
+
+2014-11-03 10:05:59 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	* gst/inter/gstinteraudiosrc.c:
+	  interaudio: Set all required fields on the template caps
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739542
+
+2014-11-03 00:17:41 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  gl: fix Since marker for gst_gl_window_run_navigation()
+
+2014-11-02 23:24:39 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/inter/gstintersurface.c:
+	  inter: don't leak surface name
+
+2013-09-03 11:11:54 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	  mpegdemux: start pushing data again when a pad gets linked later
+	  The whole not_linked optimisation is really a bit dodgy here, but
+	  let's leave it in place for now and at least start pushing data
+	  again when a pad got linked later, in which case we should get a
+	  RECONFIGURE event.
+
+2013-09-02 23:36:43 +0100  Tim-Philipp Müller <tim@centricular.net>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	* gst/mpegdemux/gstmpegdemux.h:
+	* gst/mpegdemux/plugin.c:
+	  mpegdemux: namespace fixes
+
+2014-11-02 19:26:20 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.c:
+	  audiovisualizer: post QoS messages when dropping frames due to QoS
+
+2014-11-02 19:12:56 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/audiovisualizers/gstaudiovisualizer.h:
+	  audiovisualizer: fix boilerplate macros
+
+2014-11-02 17:18:12 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/hls/gsthlsdemux.c:
+	* ext/smoothstreaming/gstmssdemux.c:
+	* sys/dvb/dvbbasebin.c:
+	* sys/dvb/gstdvbsrc.c:
+	  Sprinkle some G_PARAM_DEPRECATED and #ifndef GST_REMOVE_DEPRECATED
+
+2014-11-02 17:17:46 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hls: fix indentation
+
+2014-10-29 18:18:07 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst-libs/gst/gl/gstglshadervariables.c:
+	  glshader: Fix memory leak
+	  Memory is only freed in the TRUE clause of the if conditional. Free in the else
+	  clause as well.
+	  Also, consolidate g_malloc + sprintf into a g_strdup_printf().
+	  CID #1212171
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739368
+
+2014-11-01 10:10:27 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
+
+	* ext/opus/gstrtpopusdepay.c:
+	* ext/opus/gstrtpopuspay.c:
+	  rtpopus: Use OPUS encoding name
+	  Both Firefox and Chrome uses OPUS as the encoding in their SDP.
+	  Adding this now defacto standard name remove the need for special
+	  case in SDP parsing code.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737810
+
+2014-10-31 17:32:56 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+	* ext/smoothstreaming/gstmssmanifest.c:
+	  mssdemux: add type of stream to debug log
+	  Makes it faster to debug why certain streams are not showing
+
+2014-10-31 17:32:39 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+	* ext/smoothstreaming/gstmssdemux.c:
+	  mssdemux: do not unlock not locked mutex
+
+2014-10-31 10:45:19 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: fix comments that confuse gtk-doc
+	  GTK-Doc uses a special syntax for code documentation. A multiline comment that
+	  starts with an additional '*' marks a documentation block that will be processed
+	  by the GTK-Doc tools. So GTK-Doc is confused if a comment block starts with that
+	  additional '*' but isn't meant to be processed. Removing this additional '*'.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739444
+
+2014-10-31 12:52:50 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	  glimagesink: resize the viewport correctly on a caps change
+	  with force-aspect-ratio=true, if the width or height changed, the
+	  viewport wasn't being updated to respect the new video width and height
+	  until a resize occured.
+
+2014-10-31 12:52:07 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: advertise support for changing input caps mid-stream
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739334
+
+2014-10-31 12:30:53 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstgldisplay.c:
+	* gst-libs/gst/gl/gstglwindow.c:
+	  gl: sprinkle some Since markers
+
+2014-10-30 14:27:38 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst-libs/gst/mpegts/gst-atsc-section.c:
+	  mpegts: remove storage of never used values
+	  Both _parse_atsc_mgt() and  _parse_atsc_vct () change the value of the variable
+	  data just before returning. The new value is never used since data is a pointer
+	  declared at the beginning of the function and going out of scope just after the
+	  new value is stored.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739404
+
+2014-10-30 17:06:01 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstsolarize.c:
+	  gaudieffects: remove < 0 comparison on guint32
+	  Current CLAMP checks both if the value is below 0 or above 255. Considering it
+	  is an unsigned value it can never be less than zero, so that comparison is
+	  unnecessary. Switching to using if just for the upper bound.
+	  CID #1139796
+
+2014-10-30 16:05:14 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstsolarize.c:
+	  gaudieffects: declare floor and ceiling as constants
+
+2014-10-30 15:49:01 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/gaudieffects/gstdilate.c:
+	  gaudieffects: stored value is overwritten
+	  Value from left_luminance is assigned to out_luminance here, but that stored
+	  value is not used before it is overwritten in the next cycle of the loop.
+	  Removing assignation.
+	  CID #1226473
+
+2014-10-24 16:52:42 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* gst/mpegtsdemux/mpegtsbase.c:
+	  mpegtsbase: do not remove programs on EOS
+	  As a consequence, tsdemux won't remove its pads anymore on EOS.
+	  Fixes the case when mpegtsbase is not able to process new packets
+	  after EOS as the corresponding pids aren't known anymore because
+	  the programs were removed and the pes/psi were kept, preventing the
+	  PAT to be parsed again.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738695
+
+2014-04-21 11:48:22 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst/siren/common.c:
+	  siren: fix sample rate list
+	  It was using a 24000/24000/48000, but I think it meant to use
+	  24000/32000/48000. Not 100% sure...
+	  https://en.wikipedia.org/wiki/G.722.1 has the list of supported
+	  bitrates. It's not clear whether the "flag" code maps to this,
+	  however.
+	  Coverity 206072
+
+2014-10-30 14:49:05 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: remove storage of never used values
+	  These two values are stored just before the function returns and they go out of
+	  scope.
+
+2014-06-10 09:33:40 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* ext/opus/gstopusenc.c:
+	* ext/opus/gstopusenc.h:
+	  opusenc: update output segment stop time to match clipped samples
+	  This will let oggmux generate a granpos on the last page that properly
+	  represents the clipped samples at the end of the stream.
+
+2014-10-30 18:45:04 +0530  Arun Raghavan <arun@accosted.net>
+
+	* ext/srtp/gstsrtpdec.c:
+	  srtpdec: Trivial documentation fix
+
+2014-10-30 23:08:00 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: don't get the current caps from GstVideoInfo for the srcpad
+	  It's missing the caps features needed.
+
+2014-10-30 18:57:59 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglutils.c:
+	* tests/examples/gl/qt/qglwtextureshare/pipeline.cpp:
+	* tests/examples/gl/sdl/sdlshare.c:
+	  gl/examples: update for other-context property removal
+
+2014-10-30 16:48:00 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
+	* gst-libs/gst/gl/win32/gstglcontext_wgl.h:
+	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
+	* gst-libs/gst/gl/x11/gstglcontext_glx.h:
+	  glcontext: add more functionality to wrapped contexts
+	  Implements get_current_context() and get_proc_address() for wrapped
+	  contexts.
+
+2014-10-30 12:43:09 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglshader.c:
+	* gst-libs/gst/gl/gstglshader.h:
+	  glshader: advertise the default vertex and fragment shaders on desktop GL
+
+2014-05-22 13:13:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	* gst-libs/gst/codecparsers/gsth264parser.h:
+	  codecparsers: h264: recognize SVC NAL units.
+	  Identify SVC NAL units and tag them as such. This is necessary for
+	  gst_h264_parser_parse_slice_hdr() to fail gracefully, if the user
+	  did not perform the check himself.
+	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+2014-10-29 14:53:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	  codecparsers: h264: fix number of list0 {,non-}anchor refs.
+	  Fix copy-paste error in gst_h264_sps_mvc_copy() where num_anchor_refs_l0
+	  and num_non_anchor_refs_l0 were incorrectly initialized from list1.
+	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+2014-10-29 13:51:40 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* win32/common/libgstcodecparsers.def:
+	  Update .def for new API
+
+2014-10-29 13:15:51 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	* gst-libs/gst/codecparsers/gsth264parser.h:
+	  codecparsers: sprinkle some gtk-doc Since: markers for new API
+
+2014-10-29 12:22:14 +0100  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	  satisfy gst-indent
+
+2014-10-29 22:23:13 +1000  Jan Schmidt <jan@centricular.com>
+
+	* ext/gl/gstglfiltercube.c:
+	  glfiltercube: Fix typo in property description
+
+2014-10-29 22:23:02 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	  codecparsers: Initialise nalu extension type to NONE
+	  Always set a default NALU extension type, and override it
+	  when we find a supported extension, to avoid having it unset/random
+	  for unsupported NALU extensions
+
+2014-10-07 16:28:03 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	  h264parser: Fix frame packing SEI parsing
+
+2014-03-25 14:08:44 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	* gst-libs/gst/codecparsers/gsth264parser.h:
+	* gst/videoparsers/gsth264parse.c:
+	  codecparsers: h264: add support for Frame Packing Arrangement SEI message.
+	  This parses the frame_packing_arragement() payload in SEI message.
+	  This information can be used by decoders to appropriately rearrange the
+	  samples which belong to Stereoscopic and Multiview High profiles.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=685215
+	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+2013-03-08 18:17:16 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	* gst-libs/gst/codecparsers/gsth264parser.h:
+	* gst/videoparsers/gsth264parse.c:
+	  codecparsers: h264: add support for Stereo Video Information SEI message.
+	  Add the necessary payload parsing support for stereo_video_info.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=685215
+	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+2012-10-01 13:36:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	* gst-libs/gst/codecparsers/gsth264parser.h:
+	  codecparsers: h264: parse seq_parameter_set_mvc_extension().
+	  https://bugzilla.gnome.org/show_bug.cgi?id=685215
+	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+2012-09-26 18:46:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	* gst-libs/gst/codecparsers/gsth264parser.h:
+	  codecparsers: h264: parse MVC syntax elements.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=685215
+	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+2014-10-29 22:58:37 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	* gst/mpegtsdemux/mpegtspacketizer.h:
+	* gst/mpegtsdemux/mpegtsparse.c:
+	  tsparse: Handle backward and discont timestamps better.
+	  Assume that small backward PCR jumps are just from upstream packet
+	  mis-ordering and don't reset timestamp tracking state - assuming that
+	  things will be OK again shortly.
+	  Make the threshold for detecting discont between sequential buffers
+	  configurable and match the smoothing-latency setting on tsparse
+	  to better cope with data bursts.
+
+2014-10-29 22:58:37 +1100  Jan Schmidt <jan@centricular.com>
+
+	* gst/mpegtsdemux/mpegtsbase.c:
+	* gst/mpegtsdemux/mpegtsbase.h:
+	* gst/mpegtsdemux/mpegtsparse.c:
+	* gst/mpegtsdemux/mpegtsparse.h:
+	  tsparse: Implement timestamp/retimestamping of output buffers
+	  When the set-timestamps property is set, use PCRs on the provided
+	  (or autodetected) pcr-pid to apply (or replace) timestamps on the
+	  output buffers, using piece-wise linear interpolation.
+	  This allows tsparse to be used to stream an arbitrary mpeg-ts file,
+	  or to smooth jittery reception timestamps from a network stream.
+	  The reported latency is increased to match the smoothing latency if
+	  necessary.
+
+2014-10-29 10:09:35 +0100  Vincent Abriou <vincent.abriou@st.com>
+
+	* configure.ac:
+	  configure.ac: auto decision to include GL library fails
+	  The part of the configure.ac that consist to check if we
+	  can include both GL and GLES2 at the same time is failing.
+	  Indeed, in the case NEED_GLES2=yes and NEED_OPENGL=auto,
+	  HAVE_OPENGL variable is updated whereas it should be HAVE_GL
+	  variable that has to be updated (HAVE_OPENGL variable is not
+	  used in the rest of the configure.ac).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739348
+	  Signed-off-by: Vincent Abriou <vincent.abriou@st.com>
+	  Reviewed-by: Benjamin GAIGNARD <benjamin.gaignard@linaro.org>
+
+2014-10-29 10:37:38 +0000  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst-libs/gst/codecparsers/gstmpeg4parser.c:
+	  codecparsers: remove ignored increment of return
+	  'return val++;' returns the value before it is incremented because the post
+	  increment happens after the statement. Removing the unused increment.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739345
+
+2014-10-29 08:27:57 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer:fix incorrect parameter passed to handle_set_context
+
+2014-10-28 21:42:31 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/webp/gstwebpdec.h:
+	* gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h:
+	* gst/camerabin2/gstwrappercamerabinsrc.h:
+	* sys/uvch264/gstuvch264_src.h:
+	  Add some missing G_END_DECLS
+
+2014-10-28 17:44:47 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/faad/gstfaad.c:
+	  faad: fix wrong unrefs in set_format error code path
+
+2014-10-28 18:27:11 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: get the config from the correct pool
+
+2014-10-28 18:01:27 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: avoid uninitialized variable size when chaining multiple glfilters
+	  https://bugzilla.gnome.org/show_bug.cgi?id=739277
+
+2014-10-28 18:01:01 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: gst-indent file
+
+2014-10-28 17:31:37 +1100  Matthew Waters <matthew@centricular.com>
+
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.h:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	* gst-libs/gst/gl/eagl/gstglcontext_eagl.h:
+	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstglcontext.h:
+	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
+	* gst-libs/gst/gl/win32/gstglcontext_wgl.h:
+	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
+	* gst-libs/gst/gl/x11/gstglcontext_glx.h:
+	* tests/check/libs/gstglcontext.c:
+	  glcontext: add api for retreiving the current context and api
+	  that is current in the calling thread.
+
+2014-10-21 19:03:08 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/glprototypes/Makefile.am:
+	* gst-libs/gst/gl/glprototypes/all_functions.h:
+	* gst-libs/gst/gl/glprototypes/vao.h:
+	  glprototypes: add vertex attribute array definitions
+
+2014-10-27 17:57:46 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* common:
+	  Automatic update of common submodule
+	  From 84d06cd to 7bb2bce
+
+2014-10-27 15:34:58 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosrc.c:
+	* gst/inter/gstintervideosrc.c:
+	  inter: Use 64-bit safe scaling functions
+
+2014-10-27 12:43:53 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: reflow switch case statement a bit
+	  Make it clear there's no 'break' missing at the end
+	  of the case SYS_DVBT, and pacify coverity (CID 1249689).
+
+2014-06-12 16:59:46 +0200  L. Sorin <sorin@axis.com>
+
+	* ext/curl/gstcurlsshsink.c:
+	* ext/curl/gstcurlsshsink.h:
+	  curlsshsink: use the locally defined types
+	  Just a matter of coding style, makes the code a bit tidier...
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731581
+
+2014-10-26 15:45:20 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* Makefile.am:
+	  Parallelise 'make check-valgrind'
+
+2014-10-26 15:44:05 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	  configure: check for more openh264 API that we need
+
+2014-10-25 18:50:42 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/elements/audiomixer.c:
+	  tests: fix audiomixer test on big endian systems
+
+2014-10-24 21:42:58 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: correctly capitalize DiSEqC
+
+2014-10-24 20:12:23 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: rework _output_frontend_stats()
+	  Retry stat reporting ioctls on EINTR
+
+2014-10-24 19:30:25 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add checks on allowed DVB-T bandwidths
+
+2014-10-24 19:12:33 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add fixme note on DTV_LNA setting
+	  Rephrase another comment while at it
+
+2014-10-24 18:57:40 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add missing logic for additional bandwidths
+	  New 1.712, 5 and 10 MHz bandwidths were been ignored
+	  at set/get prop.
+
+2014-10-24 15:53:59 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* configure.ac:
+	  configure.ac: Use libsrtp.pc if present
+
+2014-10-23 17:42:27 +0300  Vootele Vesterblom <vov@bang-olufsen.dk>
+
+	* gst/rawparse/gstrawparse.c:
+	  rawparse: fix handling of segment event in sink event handler
+
+2014-10-24 00:35:22 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: override the caps query in order to 'convert' capsfeatures
+	  Otherwise, it is only possible for the sink pads and the src pads to
+	  have the exact same caps features.  We can convert from any feature
+	  to another feature so support that.
+
+2014-10-23 23:55:48 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: override the accept caps query in order to 'convert' capsfeatures
+	  Otherwise, it is only possible for the sink pads and the src pads to
+	  have the exact same caps features.  We can convert from any feature
+	  to another feature so support that.
+
+2014-08-14 23:29:00 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	  gl: propogate other-context using GstContext
+
+2014-10-20 03:07:08 -0600  Brendan Long <self@brendanlong.com>
+
+	* ext/dash/README:
+	  dash: Remove obsolete README.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738848
+
+2014-10-22 19:34:17 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	* gst/inter/gstinteraudiosrc.c:
+	  interaudio: Add support for arbitrary raw audio formats
+
+2014-10-22 19:31:31 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstintervideosink.c:
+	* gst/inter/gstintervideosrc.c:
+	* gst/inter/gstintervideosrc.h:
+	  intervideo: Add support for arbitrary video formats
+
+2014-10-22 19:28:48 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosrc.c:
+	* gst/inter/gstintervideosrc.c:
+	  inter: Truncate the caps as part of the fixating
+
+2014-10-22 19:08:39 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	* gst/inter/gstinteraudiosrc.c:
+	  interaudio: Fix timestamp, latency and period handling
+
+2014-10-22 18:41:55 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	* gst/inter/gstinteraudiosrc.c:
+	  interaudio: Use GST_DEBUG_OBJECT() instead of GST_DEBUG()
+
+2014-10-22 18:40:01 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	* gst/inter/gstinteraudiosink.h:
+	* gst/inter/gstinteraudiosrc.c:
+	* gst/inter/gstinteraudiosrc.h:
+	* gst/inter/gstintersurface.h:
+	  interaudio: Properly pass through caps from the sink to the source
+	  Otherwise a magic capsfilter after the source is required with
+	  exactly the same caps as the input.
+
+2014-10-22 18:13:36 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstintersurface.c:
+	* gst/inter/gstintersurface.h:
+	  inter: Clean up surfaces after the last user is gone
+
+2014-10-22 18:07:00 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstinteraudiosink.c:
+	* gst/inter/gstinteraudiosrc.c:
+	* gst/inter/gstintersubsink.c:
+	* gst/inter/gstintersubsrc.c:
+	* gst/inter/gstintersurface.c:
+	* gst/inter/gstintervideosink.c:
+	* gst/inter/gstintervideosrc.c:
+	  inter: Whitespace cleanup
+
+2014-10-22 18:03:13 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/inter/gstintersurface.h:
+	* gst/inter/gstintervideosink.c:
+	* gst/inter/gstintervideosink.h:
+	* gst/inter/gstintervideosrc.c:
+	* gst/inter/gstintervideosrc.h:
+	  intervideo: Properly pass through caps from the sink to the source
+	  Otherwise a magic capsfilter after the source is required with
+	  exactly the same caps as the input.
+	  This would've failed before with invalid buffer sizes:
+	  gst-launch-1.0 videotestsrc ! intervideosink  intervideosrc ! "video/x-raw,width=640,height=480" ! xvimagesink
+
+2014-10-22 15:07:04 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/rawparse/gstrawparse.c:
+	  rawparse: Check for 0-size after adjusting the size for the frame size
+	  If we don't have a complete raw audio frame we would otherwise still
+	  ask for a 0 sized buffer from the adapter.
+
+2014-10-22 14:43:50 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/rawparse/gstrawparse.c:
+	  rawparse: Don't try to retrieve 0 byte buffers from the adapter in multi-frame mode
+
+2014-10-22 13:03:30 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	  configure: improve openh264 check
+	  The openh264 API is still unstable, so check for
+	  structure member that we need to prevent building
+	  against an older incompatible version.
+
+2014-10-22 12:36:36 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	  configure: simplify openh264 check
+	  Of course PTHREADS_CFLAGS is not used anywhere now
+	  for the check, but that was the case before as well.
+
+2014-10-21 16:21:08 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Fix compiler warning
+	  gstglwindow_cocoa.m: In function '-[GstGLNSView drawRect:]':
+	  gstglwindow_cocoa.m:555: warning: 'GstGLNSView' may not respond to '-reshape'
+	  gstglwindow_cocoa.m:555: warning: (Messages without a matching method signature
+	  gstglwindow_cocoa.m:555: warning: will be assumed to return 'id' and accept
+	  gstglwindow_cocoa.m:555: warning: '...' as arguments.)
+
+2014-10-21 15:42:32 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Fix locking
+	  The object lock only protects the session, as we modify
+	  the session from other threads when the bitrate property
+	  is changed. Don't hold it much longer than for session
+	  related things.
+	  And we need to release the video decoder stream lock before
+	  enqueueing a frames. It might wait for our callback to dequeue
+	  a frame from another thread, which will then take the stream
+	  lock too and deadlock.
+
+2014-10-21 13:01:45 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* common:
+	  Automatic update of common submodule
+	  From a8c8939 to 84d06cd
+
+2014-10-21 13:28:50 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* configure.ac:
+	  configure: use a macro to check for pthread
+	  Replace the hardcoded -lpthread in most of the places with $PTHREAD_LIBS. For
+	  openh264 also add $PTHREAD_LIBS to OPENH264_LIBS until upstream ships a .pc
+	  file.
+
+2014-10-21 12:58:39 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* README:
+	* common:
+	  Automatic update of common submodule
+	  From 36388a1 to a8c8939
+
+2014-10-21 12:39:14 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: reset end_of_playlist attribute when we receive a seek
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738696
+
+2014-10-20 18:25:08 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: critical error for blocksize, timeout min/max values
+	  Audiomixer blocksize, cant be 0, hence adjusting the minimum value to 1
+	  timeout value of aggregator is defined with MAX of MAXINT64,
+	  but it cannot cross G_MAXLONG * GST_SECOND - 1
+	  Hence changed the max value of the same
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738845
+
+2014-10-21 06:04:10 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: fixup eglimage include path
+
+2014-10-21 02:52:05 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: fixate the parts of the caps we don't know how to deal with
+	  fixes glvideomixer with video/x-raw,width=foo i.e. no format field.
+
+2014-10-18 10:03:43 +0200  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstgltestsrc.c:
+	* gst-libs/gst/gl/gstglbufferpool.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glbufferpool: add the GstVideoGLTextureUploadMeta buffer pool option
+
+2014-10-20 10:34:27 +1100  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixer.h:
+	* ext/gl/gstglvideomixer.c:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst-libs/gst/video/gstvideoaggregator.h:
+	* gst/compositor/compositor.c:
+	  videoaggregator: operate on caps rather than video info
+	  Otherwise the CapsFeatures will be lost along with the possibility
+	  of multiple output types and formats.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738129
+
+2014-09-19 11:37:56 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: introduce a helper to make sequence-layer
+	  It will be useful to implement stream-format conversion.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738526
+
+2014-10-20 02:27:15 -0600  Brendan Long <self@brendanlong.com>
+
+	* configure.ac:
+	  gl: Check for GLU before trying to use it in configure.ac
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738816
+
+2014-10-20 15:02:28 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglcolorconvert.h:
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glcolorconvert: support RGB16/BGR16 video format upload
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738842
+
+2014-10-09 15:12:01 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* tests/check/libs/vc1parser.c:
+	  vc1parser: fix expected level in sequence-layer parsing unit test
+	  Sequence-layer used for unit test have a level set to 2 which should
+	  match the medium level, not the high.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738230
+
+2014-10-09 15:05:55 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst-libs/gst/codecparsers/gstvc1parser.h:
+	  vc1parser: fix level values for simple/main profile
+	  In simple profile, level set to 0 or 2 indicate low and medium level
+	  respectively. In main profile, level set to 0, 2 or 4 indicate low,
+	  medium and high level respectively.
+	  Level values are defined in Annex J.1.2 of the SMPTE 421M.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738230
+
+2014-08-02 11:29:37 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: send initial GAP event on sparse streams for faster startup with playbin
+	  Signal sparse streams properly in stream-start event and force sending
+	  of pending sticky events which have been stored on the pad already and
+	  which otherwise would only be sent on the first buffer or serialized
+	  event (which means very late in case of subtitle streams). Playsink in
+	  playbin waits for stream-start or another serialized event, and if we
+	  don't do this it will wait for the multiqueue to run full before
+	  starting playback, which might take a couple of seconds.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734040
+
+2014-10-20 12:30:50 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	* gst/mpegtsdemux/mpegtspacketizer.h:
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: GAP detection
+	  All pads of a stream are now added at the beginning. In order to cope with
+	  streams that don't get any data (forever or for a long time) we detect gaps
+	  and push out GAP events when needed.
+	  Cleanups and commenting by Jan Schmidt <jan@centricular.com>
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734040
+
+2014-10-01 16:17:46 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	* gst/videoparsers/gstvc1parse.h:
+	  vc1parse: select caps according to wmv format at negotiation
+	  Some VC1 decoder can have different caps according to wmv format, ie
+	  WMV3 or WVC1.
+	  So instead of keeping the first available caps, we interserct with
+	  current WMV format.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738532
+
+2014-10-20 11:22:54 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* configure.ac:
+	  configure: add pthread to the configure check for openh264
+
+2014-10-20 09:47:27 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/rtmp/gstrtmpsink.c:
+	  rtmpsink: Declare sink variable that was forgotten in last commit
+
+2014-10-19 20:35:41 +0200  Havard Graff <havard.graff@gmail.com>
+
+	* ext/rtmp/gstrtmpsink.c:
+	  rtmpsink: Free URI string in finalize()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738674
+
+2014-10-17 21:26:52 -0700  Brion Vibber <brion@pobox.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Fix for building on Mac OS X 10.10
+	  Using NSApp directly seems to confuse something, as the compiler
+	  was expecting an id<NSFileManagerDelegate>. Switched to using
+	  [NSApplication sharedApplication], and specified the delegate
+	  protocol on the window class as well.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738740
+
+2014-10-19 14:57:43 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Use kVTProfileLevel_H264_Baseline_AutoLevel only on iOS
+	  It is not required on OSX apparently and was only added in 10.9.6 there.
+	  Calculating the correct level from the configuration is not trivial, so let's
+	  just not set a level at all here.
+
+2014-10-19 14:51:40 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	* sys/applemedia/vtenc.c:
+	  vtenc: VTCompressionSessionPrepareToEncodeFrames only exists since 10.9.6
+	  Check with configure for it instead of using one of the availability macros
+	  as those wouldn't work as expected with minor versions.
+
+2014-10-19 14:32:31 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Remove unused #define
+
+2014-10-19 13:44:38 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/rtp/Makefile.am:
+	  rtpbad: Fix make dist by removing non-existing file from EXTRA_DIST
+	  It's used by the rtp plugin in gst-plugins-good for VP8 but not needed
+	  or used here.
+
+2014-10-17 16:51:27 +0200  Thijs Vermeir <thijsvermeir@gmail.com>
+
+	* gst/rtp/Makefile.am:
+	  rtpbad: include plugins base cflags (fix build on jenkins)
+
+2014-10-16 10:34:01 +0200  Thijs Vermeir <thijsvermeir@gmail.com>
+
+	* configure.ac:
+	* gst/rtp/Makefile.am:
+	* gst/rtp/gstrtp.c:
+	* gst/rtp/gstrtph265depay.c:
+	* gst/rtp/gstrtph265depay.h:
+	* gst/rtp/gstrtph265pay.c:
+	* gst/rtp/gstrtph265pay.h:
+	  rtp: add h265 RTP payloader + depayloader
+
+2014-10-15 15:25:55 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/curl/gstcurlbasesink.c:
+	  curlbasesink: strip newlines from curl debug messages
+	  The messages we receive in the custom log handler might end with a newline and
+	  are not \0 terminated. Copy the messages, trim and terminate them.
+
+2014-10-15 15:24:12 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/curl/gstcurlbasesink.c:
+	  curlbasesink: small code cleanup
+	  Use a local var and save a local var.
+
+2014-10-15 16:52:09 +0200  Thijs Vermeir <thijsvermeir@gmail.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/elements/x265enc.c:
+	  tests/x265enc: add simple unit test
+
+2014-03-05 16:39:30 +0100  Thijs Vermeir <thijsvermeir@gmail.com>
+
+	* configure.ac:
+	* ext/Makefile.am:
+	* ext/x265/Makefile.am:
+	* ext/x265/gstx265enc.c:
+	* ext/x265/gstx265enc.h:
+	  x265enc: add x265 encoder element
+
+2014-10-14 14:00:11 +0200  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgldeinterlace.c:
+	  gldeinterlace: ref the uploaded buffer
+	  Instead of the possibly non-GL input buffer.
+
+2014-10-14 16:41:51 +0200  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  glfilter: add uploaded_buffer field
+
+2014-09-22 09:44:14 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: parse frame header when stream format is ASF/raw for simple/main profile
+	  When stream-format is ASF or sequence-layer-raw-frame, we basically have
+	  a raw frame so we can parse it to extract some information such the
+	  keyframe flag. The only requirement is to have a valid sequence-header.
+	  This commit parse the frame header and set the DELTA_UNIT buffer flag in
+	  case the frame is not a keyframe.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738519
+
+2014-10-14 10:51:22 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/libde265/libde265-dec.c:
+	  libde265: Change rank to SECONDARY, gst-libav has PRIMARY rank
+
+2014-09-17 10:38:44 +0200  Joachim Bauch <bauch@struktur.de>
+
+	* configure.ac:
+	* ext/Makefile.am:
+	* ext/libde265/Makefile.am:
+	* ext/libde265/gstlibde265.c:
+	* ext/libde265/libde265-dec.c:
+	* ext/libde265/libde265-dec.h:
+	* gst-plugins-bad.spec.in:
+	  Integrate libde265 into gst-plugins-bad.
+
+2014-10-13 14:05:24 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: just assume none header-format when no codec_data is present
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738449
+
+2014-10-14 09:19:59 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: Set reorder length to 0 if we can't calculate it
+	  Instead of leaving it at whatever value it had before.
+
+2014-10-13 13:28:57 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Only finalize the other context in finalize()
+	  Otherwise we change a value of a property when going to READY state,
+	  which is unexpected behaviour.
+
+2014-10-13 13:27:55 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: Call the pad's parent class finalize method
+
+2014-10-13 13:27:11 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: Only finalize the other context in finalize()
+	  Otherwise we change a value of a property when going to READY state,
+	  which is unexpected behaviour.
+
+2014-10-13 13:25:42 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstgltestsrc.c:
+	* ext/gl/gstgltestsrc.h:
+	  gltestsrc: Add other-context property
+
+2014-10-13 11:56:03 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Don't leak other-context
+
+2014-10-13 11:53:47 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixer.h:
+	  glmixer: Add other-context property
+
+2014-10-12 21:25:16 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/dvbbasebin.c:
+	* sys/dvb/gstdvbsrc.c:
+	* sys/dvb/gstdvbsrc.h:
+	  dvb: make interleaving a prop and proxy on dvbbasebin
+	  DTV_INTERLEAVING is currently used only for DTBM. This is
+	  congruent with the v4l dvb API where the different interleaving
+	  modes where added for v5.7
+
+2014-10-12 18:30:38 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add transmission mode checks for DVB-T/T2
+	  These and every sanity check leading to a warning
+	  (we have a few in place) should come handy when
+	  debuging failed tunning scenarios.
+
+2014-10-12 13:34:09 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: docs, drop v5 API change history comments < .5
+	  We only support from minor 5 and up now. Also add a
+	  note about the recently added preliminar DTMB support.
+
+2014-10-12 13:08:13 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add missing DVB-T2 bandwidth types
+	  DVB-T2 supports 5, 10 and 1.712 MHz
+	  Order of the enum values (new values after _AUTO)
+	  has been kept congruent with the one in the v4l
+	  API for consistency
+
+2014-10-07 10:37:33 +0200  Benjamin Gaignard <benjamin.gaignard@linaro.org>
+
+	* ext/wayland/gstwaylandsink.c:
+	  waylandsink: do not render twice the same buffer
+	  Do not try to render a buffer that is already being rendered.
+	  This happens typically during the initial rendering stage as the first
+	  buffer is rendered twice: first by preroll(), then by render().
+	  This commit avoids this assertion failure:
+	  CRITICAL: gst_wayland_compositor_acquire_buffer: assertion
+	  'meta->used_by_compositor == FALSE' failed
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738069
+	  Signed-off-by: Fabien Dessenne <fabien.dessenne@st.com>
+	  Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
+
+2014-07-24 16:53:53 +0200  Tifaine Inguere <tifaine.inguere@st.com>
+
+	* ext/wayland/wlwindow.c:
+	  waylandsink : Allow surface to catch input events
+	  If waylandsink is the owner of the display then it is in charge
+	  of catching input events on the surface.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733682
+	  Signed-off-by: Tifaine Inguere <tifaine.inguere@st.com>
+	  Reviewed-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
+
+2014-07-02 13:29:55 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* ext/wayland/wlbuffer.c:
+	* ext/wayland/wldisplay.c:
+	* ext/wayland/wldisplay.h:
+	  waylandsink: take into account the case where a pool may be destroyed together with GstWlDisplay
+	  There are two cases covered here:
+	  1) The GstWlDisplay forces the release of the last buffer and the pool
+	  gets destroyed in this context, which means it unregisters all the
+	  other buffers from the GstWlDisplay as well and the display->buffers
+	  hash table gets corrupted because it is iterating.
+	  2) The pool and its buffers get destroyed concurrently from another
+	  thread while GstWlDisplay is finalizing and many things get corrupted.
+
+2014-07-01 11:43:20 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* ext/wayland/gstwaylandsink.c:
+	* ext/wayland/wlbuffer.c:
+	* ext/wayland/wlbuffer.h:
+	* ext/wayland/wlvideoformat.h:
+	* ext/wayland/wlwindow.c:
+	* ext/wayland/wlwindow.h:
+	  waylandsink: stack the video subsurface into another subsurface that covers the whole render rectangle
+	  The main reason behind this is that when the video caps change and the video
+	  subsurface needs to resize and change position, the wl_subsurface.set_position
+	  call needs a commit in its parent in order to take effect. Previously,
+	  the parent was the application's surface, over which there is no control.
+	  Now, the parent is inside the sink, so we can commit it and change size smoothly.
+	  As a side effect, this also allows the sink to draw its black borders on
+	  its own, without the need for the application to do that. And another side
+	  effect is that this can now allow resizing the sink when it is in top-level
+	  mode and have it respect the aspect ratio.
+
+2014-06-20 16:24:36 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* ext/wayland/gstwaylandsink.c:
+	* ext/wayland/wlshmallocator.c:
+	* ext/wayland/wlvideoformat.c:
+	* ext/wayland/wlvideoformat.h:
+	  waylandsink: rename video format conversion functions to indicate they are about wl_shm
+	  Needed to add linux_dmabuf format conversion functions later
+
+2014-06-23 17:27:01 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* ext/wayland/gstwaylandsink.c:
+	* ext/wayland/wlbuffer.c:
+	* ext/wayland/wldisplay.c:
+	* ext/wayland/wldisplay.h:
+	  waylandsink: remove the ugly gst_wl_display_stop() now that this mechanism is not needed anymore
+	  Because we no longer have a custom buffer pool that holds a reference
+	  to the display, there is no way for a cyclic reference to happen like
+	  before, so we no longer need to explicitly call a function from the
+	  display to release the wl_buffers.
+	  However, the general mechanism of registering buffers to the display
+	  and forcibly releasing them when the display is destroyed is still
+	  needed to avoid potential memory leaks. The comment in wlbuffer.c
+	  is updated to reflect the current situation.
+
+2014-06-23 16:40:02 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* ext/wayland/Makefile.am:
+	* ext/wayland/gstwaylandsink.c:
+	* ext/wayland/waylandpool.c:
+	* ext/wayland/waylandpool.h:
+	* ext/wayland/wlshmallocator.c:
+	* ext/wayland/wlshmallocator.h:
+	  waylandsink: replace the custom buffer pool with an allocator
+	  This reduces the complexity of having a custom buffer pool, as
+	  we don't really need it. We only need the custom allocation part.
+	  And since the wl_buffer is no longer saved in a GstMeta, we can
+	  create it and add it on the buffers in the sink's render()
+	  function, which removes the reference cycle caused by the pool
+	  holding a reference to the display and also allows more generic
+	  scenarios (the allocator being used in another pool, or buffers
+	  being allocated without a pool [if anything stupid does that]).
+	  This commit also simplifies the propose_allocation() function,
+	  which doesn't really need to do all these complicated checks,
+	  since there is always a correct buffer pool available, created
+	  in set_caps().
+	  The other side effect of this commit is that a new wl_shm_pool
+	  is now created for every GstMemory, which means that we use
+	  as much shm memory as we actually need and no more. Previously,
+	  the created wl_shm_pool would allocate space for 15 buffers, no
+	  matter if they were being used or not.
+
+2014-06-20 14:47:57 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* ext/wayland/Makefile.am:
+	* ext/wayland/gstwaylandsink.c:
+	* ext/wayland/waylandpool.c:
+	* ext/wayland/waylandpool.h:
+	* ext/wayland/wlbuffer.c:
+	* ext/wayland/wlbuffer.h:
+	* ext/wayland/wldisplay.c:
+	* ext/wayland/wldisplay.h:
+	  waylandsink: rework the mechanism for keeping buffers out of the pool until wl_buffer::release
+	  This also removes the GstWlMeta and adds a wrapper class for wl_buffer
+	  which is saved in the GstBuffer qdata instead of being a GstMeta.
+	  The motivation behind this is mainly to allow attaching wl_buffers on
+	  GstBuffers that have not been allocated inside the GstWaylandBufferPool,
+	  so that if for example an upstream element is sending us a buffer
+	  from a different pool, which however does not need to be copied
+	  to a buffer from our pool because it may be a hardware buffer
+	  (hello dmabuf!), we can create a wl_buffer directly from it and first,
+	  attach it on it so that we don't have to re-create a wl_buffer every
+	  time the same GstBuffer arrives and second, force the whole mechanism
+	  for keeping the buffer out of the pool until there is a wl_buffer::release
+	  on that foreign GstBuffer.
+
+2014-10-09 08:20:15 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* ext/schroedinger/gstschrodec.c:
+	  schrodec: optimize parse logic
+	  Header will be read each and everytime parse function will be called
+	  which is not necessary since until we have complete data,
+	  we need not parse the header again.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737984
+
+2014-10-10 13:05:49 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/fluidsynth/gstfluiddec.c:
+	  fluiddec: don't leak incoming caps event
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738291
+
+2014-10-09 18:18:02 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: fix framesize when input is frame-layer
+	  frame-layer header is represented as a sequence of 32 bit unsigned
+	  integer serialized in little-endian byte order, so framesize is on the
+	  first 3 bytes.
+	  SMPTE 421M Annex L.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738243
+
+2014-10-07 17:05:04 +0200  Antonio Ospite <ao2@ao2.it>
+
+	* gst/midi/midiparse.c:
+	  midiparse: mention fluiddec instead of fluidsynth
+	  The element name is actually fluiddec even if it uses fluidsynth.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738223
+
+2014-10-09 11:51:16 +0200  Antonio Ospite <ao2@ao2.it>
+
+	* ext/fluidsynth/gstfluiddec.c:
+	  fluiddec: fix some memory leaks
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738223
+
+2014-10-09 04:11:00 -0400  David Woodhouse <dwmw2@infradead.org>
+
+	* gst/pcapparse/gstpcapparse.c:
+	* gst/pcapparse/gstpcapparse.h:
+	  pcapparse: Add support for LINKTYPE_RAW
+	  Also, strictly speaking, these numbers aren't DLT_*; they are LINKTYPE_* because
+	  libpcap translates from internal OS-specific DLT_ numbering to the portable
+	  LINKTYPE_ number space when writing files.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738206
+
+2014-10-09 14:51:56 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* tests/check/elements/audiomixer.c:
+	  test: use G_GSIZE_FORMAT in audiomixer test
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738227
+
+2014-10-07 16:57:27 +1100  Matthew Waters <matthew@centricular.com>
+
+	* tests/check/libs/aggregator.c:
+	  tests/aggregator: add timeout handling test for the timeout parameter
+
+2014-10-06 21:46:24 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst/audiomixer/gstaudiomixer.c:
+	  aggregator: add latency query handling
+
+2014-10-06 18:33:52 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: support unresponsive pads
+	  Render unresponsive pads with the last video frame received.
+
+2014-10-06 18:23:03 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/base/gstaggregator.h:
+	  aggregator: add a timeout property determining buffer wait time
+	  Determines the amount of time that a pad will wait for a buffer before
+	  being marked unresponsive.
+	  Network sources may fail to produce buffers for an extended period of time,
+	  currently causing the pipeline to stall possibly indefinitely, waiting for
+	  these buffers to appear.
+	  Subclasses should render unresponsive pads with either silence (audio), the
+	  last (video) frame or what makes the most sense in the given context.
+
+2014-10-06 18:10:38 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst-libs/gst/video/gstvideoaggregatorpad.h:
+	  videoaggregator: remove the use of the queued buffer on sink pads
+	  That data is now held by the aggregator class
+
+2014-10-09 11:46:23 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/videoparsers/gsth265parse.c:
+	  h265parse: expose parsed profile, tier and level to downstream
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732239
+
+2014-10-09 01:18:16 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: expose parsed profile and level to downstream
+	  Set parsed profile and level in src caps.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732239
+
+2014-10-09 10:54:35 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Add support for HiDPI displays
+	  Without this our GL surface would be upscaled after rendering
+	  by Cocoa, which would reduce image quality.
+
+2014-10-09 12:28:11 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: output why we cannot convert a buffer
+
+2014-10-09 12:25:55 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: fix planar YUV download
+	  - sample the u and v planes properly
+	  - output the correctly scaled u and v planes for different chroma block sizes
+
+2014-10-08 21:51:12 +0300  Vivia Nikolaidou <n.vivia@gmail.com>
+
+	* ext/gl/gstgloverlay.c:
+	  gloverlay: And fix another unused variable compiler warning
+
+2014-10-08 21:49:25 +0300  Vivia Nikolaidou <n.vivia@gmail.com>
+
+	* ext/gl/gstgloverlay.c:
+	  gloverlay: Fix unused variable compiler warning when compiling without desktop GL
+
+2014-09-26 13:55:20 +0530  Anuj Jaiswal <anuj.jaiswal@samsung.com>
+
+	* ext/zbar/gstzbar.c:
+	  zbar: Add YVU9 and YUV9 to ZBAR_YUV_CAPS
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737407
+
+2014-09-28 10:51:09 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* ext/gl/gltestsrc.c:
+	* ext/gl/gstgltestsrc.c:
+	  gltestsrc: implement checkers pattern with GLSL
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737505
+
+2014-10-07 15:24:10 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/elements/hlsdemux_m3u8.c:
+	  hlsdemux: Fix M3U8 parsing unit test after API changes
+
+2014-10-02 10:37:57 -0600  Thomas Bluemel <tbluemel@control4.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	* ext/hls/m3u8.c:
+	* ext/hls/m3u8.h:
+	  hlsdemux: Fix accessing invalidated memory
+	  In gst_hls_demux_get_next_fragment() the next fragment URI gets
+	  stored in next_fragment_uri, but the gst_hls_demux_updates_loop()
+	  can at any time update the playlist, rendering this string invalid.
+	  Therefore, any data (like key, iv, URIs) that is taken from a
+	  GstM3U8Client needs to be copied. In addition, accessing the
+	  internals of a GstM3U8Client requires locking.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737793
+
+2014-10-07 12:12:04 +0200  Felix Schwarz <felix.schwarz@oss.schwarz.eu>
+
+	* gst-libs/gst/mpegts/gst-dvb-section.c:
+	* gst-libs/gst/mpegts/gstmpegts-private.h:
+	* gst-libs/gst/mpegts/gstmpegtssection.c:
+	* gst-libs/gst/mpegts/mpegts.h:
+	  mpegts: fix typos in comments
+	  https://bugzilla.gnome.org/show_bug.cgi?id=738072
+
+2014-10-07 23:04:30 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: fix UYVY download green screen
+
+2014-10-07 22:50:22 +1100  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolrconvert: fix YUY2 download
+	  - The shader was outputing the wrong values compared with raw
+	  videotestsrc.
+	  - deal with the texture edge properly.
+	  - properly sample the 2x1 rectangle for the u and v values
+	  - don't double sample the y value
+
+2014-10-06 21:25:30 +0300  Vivia Nikolaidou <n.vivia@gmail.com>
+
+	* ext/curl/gstcurlsmtpsink.c:
+	  curlsmtpsink: Set CURLOPT_UPLOAD to 1 to not use VRFY and other unneeded commands
+	  Fixes the sink with SMTP servers that disable VRFY for spam protection.
+	  http://sourceforge.net/p/curl/bugs/1389/
+
+2014-09-17 16:48:02 +0200  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Replace GMainContext with GAsyncQueue (v2)
+	  The previous implementation kept accumulating GSources,
+	  slowing down the iteration and leaking memory.
+	  Instead of trying to fix the main context flushing, replace
+	  it with a GAsyncQueue which is simple to flush and has
+	  less overhead.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736782
+
+2014-10-06 13:09:00 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	  audiomixer: Handle seek event in READY state
+
+2014-07-21 11:07:19 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/audiomixer/gstaudiomixer.c:
+	* gst/audiomixer/gstaudiomixer.h:
+	  audiomixer: Set the sinkpad segments basetime after seeking
+	  Otherwise stream offset and running time comparison will not be
+	  correct, leading to segfaults after seeks
+
+2014-05-28 16:29:37 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/audiomixer/Makefile.am:
+	* gst/audiomixer/gstaudiomixer.c:
+	* gst/audiomixer/gstaudiomixer.h:
+	* tests/check/elements/audiomixer.c:
+	  audiomixer: Port to GstAggregator
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737183
+	  Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+2014-09-23 15:59:10 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Do not wrongly set the aggregator.segment
+	  The aggregator.segment is not to be initialized by the subclasses but
+	  by the aggregator itself. Moreover, initializing it on start would make
+	  us loose the information coming from the initial seek.
+
+2014-07-30 11:57:46 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Make sure not to unref a NULL pointer
+
+2014-08-05 15:36:30 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Set seqnum only when segments are received.
+
+2014-08-02 18:25:01 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Add a streaming lock so to secure flush start action
+	  Without a lock that is taken in FLUSH_START we had a rare race where we
+	  end up aggregating a buffer that was before the whole FLUSH_START/STOP
+	  dance. That could lead to very wrong behaviour in subclasses.
+
+2014-07-18 13:58:55 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Query seeking when a seek failed to see if it was expected
+	  And do not worry if seeking failed on a stream that is not seekable
+
+2014-07-18 01:41:26 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: set future seqnum before propagating the seek event.
+	  So the seqnum is properly set for the following events.
+
+2014-07-08 16:16:55 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Store segment when seeked in READY for later use
+
+2014-10-06 16:44:51 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264plugin.c:
+	  openh264: Use a MARGINAL rank for the encoder and decoder
+	  They work but for now we prefer others until these are extensively tested.
+
+2014-10-01 10:57:26 +0200  Lihua Liu <lihual@axis.com>
+
+	* ext/curl/gstcurlsmtpsink.c:
+	  curlsmtpsink: Email with multipart content-type should end with a final boundary
+	  Add final boundary for each of the sending out emails from smtpsink.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736134
+
+2014-10-06 11:44:12 +0100  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/videoparsers/gstmpegvideoparse.c:
+	* gst/videoparsers/gstvc1parse.h:
+	  videoparser: comment unused GST_BASE_PARSE_FRAME_FLAG_PARSING
+	  GST_BASE_PARSE_FRAME_FLAG_PARSING value is wrong, and the same flag is
+	  not being used presently. Hence changing the value and commenting it out.
+	  This needs to be included in baseparse.h later on
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737411
+
+2014-10-04 20:55:08 +0200  Nicola Murino <nicola.murino@gmail.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: make denoise work
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737894
+
+2014-10-06 10:11:47 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Unmap and free GstVideoFrames as needed after conversion and errors
+
+2014-10-06 10:11:23 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Unref the taglist in GstAggregator::stop()
+
+2014-10-03 20:42:58 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add preliminary support for DTMB
+	  Previously known as DMB-T/H, this is the
+	  terrestial DTV broadcast standard currently
+	  used by the People's Republic of China,
+	  Hong Kong, Laos and Macau (officially),
+	  and by Malaysia, Iraq, Jordan, Syria and
+	  Lebanon (experimentally).
+
+2014-10-03 20:20:30 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add missing standard transmission modes
+	  These apply to ISDB-T, DVB-T2 and DTMB
+	  Order of the enum values (new rates after _AUTO)
+	  has been kept congruent with the one in the v4l
+	  API for consistency.
+
+2014-10-03 20:03:27 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add missing DTMB guard intervals
+
+2014-10-03 19:55:02 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add missing DVB-T2 guard intervals
+	  According to the v4l-dvb API docs, these are only
+	  used for DVB-T2 at the moment.
+	  Order of the enum values (new rates after _AUTO)
+	  has been kept congruent with the one in the v4l
+	  API for consistency.
+
+2014-10-03 19:20:03 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* gst-libs/gst/mpegts/gst-dvb-descriptor.h:
+	  mpegts: fix typo in GstMpegtsExtendedEventDescriptor doc
+
+2014-10-03 19:06:21 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add _MUTABLE_PLAYING to tuning props
+	  The element can (re)tune while playing so basically
+	  every property used at set_fe_params() can be set
+	  in state <= PLAYING.
+
+2014-10-03 17:22:23 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: The codec can only do baseline so simplify the code a bit
+	  and declare this also on the srcpad caps.
+	  With baseline profile there are no B-frames or frame reordering.
+
+2014-10-03 17:20:28 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: On ::finish() stop trying if the decoder returned that no output is available
+
+2014-10-03 13:54:22 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	* ext/openh264/gstopenh264enc.cpp:
+	* ext/openh264/gstopenh264plugin.c:
+	  openh264: Run gst-indent over everything
+
+2014-10-03 13:52:32 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/Makefile.am:
+	  openh264: Remove unused codecparsers lib
+
+2014-10-02 16:46:25 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264: Add FIXME comment about missing API in openh264
+
+2014-10-02 16:33:30 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: Try to handle frame reordering
+	  As openh264 has no way to attach any IDs to input frames that we then get on
+	  the output frames, we have to assume that the input has valid PTS. We just
+	  take the frame with the oldest PTS, and if there is no PTS information we take
+	  the one with the oldest DTS.
+
+2014-10-02 16:23:37 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: Don't drop videocodec frames if we can't decode them *yet*
+	  Fixes jittery playback of streams with B frames.
+
+2014-10-02 16:21:37 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: GstVideoDecoder works on frames, not sub-frames (e.g. NALs)
+	  And we can just pass complete AUs to the decoder without problems.
+
+2014-10-02 16:19:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: As we require NAL alignment from upstream we don't need to parse anything
+
+2014-10-02 15:48:51 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: Properly drain codec on ::finish()
+
+2014-10-02 15:22:14 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Properly drain the encoder on ::finish()
+
+2014-10-02 14:36:45 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: We always get a single frame as output, not a NAL
+	  No need to accumulate NALs.
+
+2014-10-02 14:20:21 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Fix up caps and stride handling
+
+2014-10-02 14:15:49 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Add support for GstVideoMeta
+	  This will allow upstream elements to work more efficiently.
+
+2014-10-02 14:12:11 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: Add support for GstVideoMeta
+	  This will make operation with various sinks faster for free.
+
+2014-10-02 14:08:49 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: Optimize frame copying a bit
+
+2014-10-02 14:06:58 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: Don't forget to unref the input state
+
+2014-10-02 14:03:43 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: Fix various crashes on ::stop()
+
+2014-10-02 14:00:06 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: Remove invalid sprops-parameter-set handling
+	  This only exists on RTP caps, not H264 caps.
+
+2014-10-02 13:53:01 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264enc.cpp:
+	  openh264enc: Don't set caps manually
+	  This will break the order of events in GStreamer.
+
+2014-10-02 13:49:14 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	  openh264dec: Fix input state handling and propagation of upstream caps fields
+
+2014-10-03 13:45:26 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	* ext/Makefile.am:
+	* ext/openh264/Makefile.am:
+	* ext/openh264/gstopenh264dec.cpp:
+	* ext/openh264/gstopenh264dec.h:
+	* ext/openh264/gstopenh264enc.cpp:
+	* ext/openh264/gstopenh264enc.h:
+	* ext/openh264/gstopenh264plugin.c:
+	  openh264: Add OpenH264 based encoder/decoder elements
+	  These are the openh264 elements released under the BSD-2 license
+	  by Ericsson as part of the OpenWebRTC project.
+	  https://github.com/EricssonResearch/openwebrtc-gst-plugins
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737788
+
+2014-09-18 17:14:22 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Do not to release VIDEO_AGGREGATOR_LOCK while setting format info
+	  We should be able to always keep the VIDEO_AGGREGATOR_LOCK while
+	  negotiating caps, this patch introduce that change.
+	  That also implies that we do not need the SETCAPS_LOCK anymore because
+	  now VIDEO_AGGREGATOR_LOCK guarantees that setcaps is not called from
+	  several threads and the gst_aggregator_set_caps method is now
+	  protected.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735042
+
+2014-10-03 12:34:15 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: Take lock to ensure set_caps is not called concurently
+	  Avoiding to be in an inconsistent state where we do not have
+	  actual negotiate caps set as srccaps and leading to point where we
+	  try to unref ->srccaps when they have already been set to NULL.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735042
+
+2014-09-29 10:15:39 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/aiff/aiffparse.c:
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	* gst/coloreffects/gstchromahold.c:
+	* gst/dvdspu/gstdvdspu.c:
+	* gst/mpegtsmux/mpegtsmux.c:
+	* gst/mxf/mxfdemux.c:
+	* gst/rawparse/gstrawparse.c:
+	* gst/sdp/gstsdpdemux.c:
+	  gst: remove unnecessary GLIB_DISABLE_DEPRECATION_WARNINGS
+	  There are unnecessary definitions for disabling deprecation warnings.
+	  Since GLIB_DISABLE_DEPRECATION_WARNINGS is not needed anymore in these files,
+	  removing the same.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737559
+
+2014-10-01 16:19:02 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: unref caps when it is empty in renegotiate()
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737724
+
+2014-10-02 10:26:43 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamc.c:
+	  androidmedia: Fix calculation of the frame size for COLOR_FormatYUV420Planar
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734156
+
+2014-10-01 17:22:59 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Also copy over the chroma siting and colorimetry when deciding on a conversion
+
+2014-10-01 17:18:05 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Revert the last commit and handle resolutions differences properly
+	  This is about converting the format, not about converting any widths and
+	  heights. Subclasses are expected to handler different resolutions themselves,
+	  like the videomixers already do properly.
+
+2014-10-01 17:11:16 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: GstVideoConverter currently can't rescale and will assert
+	  Leads to ugly assertions instead of properly erroring out:
+	  CRITICAL **: gst_video_converter_new: assertion 'in_info->width == out_info->width' failed
+
+2014-10-01 16:04:36 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Always update our viewport if Cocoa tells us something has changed
+	  The visible rect and bounds might be the same as before, but Cocoa
+	  might've changed our viewport without us nothing. This happens if
+	  you hide the view and show it again.
+
+2014-10-01 11:55:13 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Handle NSView::renewGState() properly
+	  Don't update the screen until we redraw, this prevents flickering during
+	  scrolling, clipping, resizing, etc
+
+2014-10-01 00:53:59 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/fluidsynth/gstfluiddec.c:
+	  fluiddec: don't crash on 0-sized input buffers
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737658
+
+2014-09-30 14:58:06 +0200  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* configure.ac:
+	  gltransformation: requires graphene 1.0.0
+
+2014-09-25 17:01:31 +0200  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* ext/gl/gstgltransformation.c:
+	  gltransformation: graphene multiplication order has changed
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733510
+
+2014-09-30 20:39:36 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	  glvideomixer: update element documentation
+
+2014-09-30 18:26:34 +1000  Matthew Waters <matthew@centricular.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/libs/.gitignore:
+	* tests/check/libs/gstglcolorconvert.c:
+	  tests/glcolorconvert: do reorder checking for rgba formats
+
+2014-09-30 14:46:14 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: convert xRGB into ARGB properly
+	  The alpha channel might not be the last component so check which one
+	  it is in and clobber that one instead.
+
+2014-09-30 01:45:20 +1000  Matthew Waters <matthew@centricular.com>
+
+	* tests/check/libs/gstglmemory.c:
+	  tests/glmemory: add simple transfer test
+	  tests transferring to/from the GL with a 1x1 RGBA pixel.
+
+2014-09-30 01:38:05 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: unset the opposite corresponding transfer flags when mapped with write
+	  fixes consistency with consecutive gst_memory_map()'s with
+	  flags & GST_MAP_WRITE
+
+2014-09-29 09:33:42 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Update viewport according to the current clipping
+	  We have to update the GL viewport if the NSView is only partially
+	  visible. Otherwise the content of the frame will be visibly offset.
+
+2014-09-29 10:01:27 +0200  Jesper Larsen <knorr.jesper@gmail.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: do not discard on discont if PES start
+	  If a discontinuity in the stream is detected, data is discarded until
+	  a new PES starts. If the first packet after the discontinuity is also
+	  the start of a PES, there is no reason to discard the packets.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737569
+
+2014-07-31 22:57:40 +0100  David Waring <davidjw@rd.bbc.co.uk>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstmpdparser.c:
+	  dash: Use GstUri to join URIs
+
+2014-09-29 10:49:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  gl/cocoa: Improve the NSApplication initialization
+	  This is only for non-Cocoa apps but previously caused a 2 second
+	  waiting during startup for Cocoa apps. This is unacceptable.
+	  Instead we now check a bit more extensive if something actually
+	  runs on the GLib default main context, and if not don't even
+	  bother waiting for something to happen from there.
+
+2014-09-29 09:24:49 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: NSView::drawRect() should call into reshape too
+	  We a) need to render again because part of the window was
+	  obscured and b) might need to reshape because of clipping
+	  changes.
+
+2014-09-26 14:21:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Call UI related API from the application main thread
+
+2014-09-26 13:05:27 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Switch to a plain NSView subclass instead of NSOpenGLView
+	  We don't and can't use NSOpenGLView as it's supposed to be used and
+	  it gets into our way by being to clever in various situations.
+
+2014-09-29 08:54:29 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: Initialize variable
+	  Avoids the following warning:
+	  gstglcontext.c:647:58: error: 'prev' may be used uninitialized in
+	  this function [-Werror=maybe-uninitialized]
+
+2014-09-28 18:03:09 +0200  Josep Torra <n770galaxy@gmail.com>
+
+	* gst-libs/gst/video/Makefile.am:
+	  video: fix build in gst-uninstalled setup
+	  Include the base video lib appropriately and resort all of them as
+	  thaytan suggested.
+
+2014-09-29 00:23:57 +1000  Jan Schmidt <jan@centricular.com>
+
+	* tests/examples/gl/qt/qglwtextureshare/README:
+	* tests/examples/gl/qt/qglwtextureshare/gstthread.cpp:
+	* tests/examples/gl/qt/qglwtextureshare/gstthread.h:
+	* tests/examples/gl/qt/qglwtextureshare/pipeline.cpp:
+	* tests/examples/gl/qt/qglwtextureshare/pipeline.h:
+	* tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp:
+	* tests/examples/gl/qt/qglwtextureshare/qglwtextureshare.pro:
+	  examples: Fix Qt/GL qglwtextureshare example for X11
+	  We need to pass the X11 display to GstGL or else it will
+	  use its own X11 Display pointer, and the GL Context won't get shared
+	  correctly on newer X servers
+
+2014-09-28 20:21:50 +1000  Jan Schmidt <jan@centricular.com>
+
+	* tests/examples/gl/qt/.gitignore:
+	* tests/examples/gl/qt/README:
+	* tests/examples/gl/qt/mousevideooverlay/main.cpp:
+	* tests/examples/gl/qt/mousevideooverlay/mousevideooverlay.pro:
+	* tests/examples/gl/qt/mousevideooverlay/pipeline.cpp:
+	* tests/examples/gl/qt/mousevideooverlay/pipeline.h:
+	* tests/examples/gl/qt/mousevideooverlay/qrenderer.cpp:
+	* tests/examples/gl/qt/mousevideooverlay/qrenderer.h:
+	* tests/examples/gl/qt/qglwidgetvideooverlay/main.cpp:
+	* tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.cpp:
+	* tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.h:
+	* tests/examples/gl/qt/qglwidgetvideooverlay/qglwidgetvideooverlay.pro:
+	* tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp:
+	* tests/examples/gl/qt/qglwtextureshare/qglwtextureshare.pro:
+	* tests/examples/gl/qt/videooverlay/Debug/videooverlay:
+	* tests/examples/gl/qt/videooverlay/videooverlay.pro:
+	* tests/examples/gl/qt/videooverlay/videovideooverlay.pro:
+	  examples: port GL/Qt examples to Qt5
+	  Update the GL Qt integration examples for Qt5 changes and for GstGL
+	  signal signature changes.
+
+2014-09-29 00:32:05 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: fixup error in sharegroup comment
+
+2014-09-29 00:27:30 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gltestsrc.c:
+	* ext/gl/gstgltestsrc.c:
+	  Revert accidental push: "gltestsrc: implement checkers pattern with GLSL"
+	  This reverts commit eae09179f0b4eb584c8fc7b6560d8fc8e86eed4c.
+
+2014-09-29 00:24:28 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: detect the sharegroup case where the context are in different chains
+	  In the end they will lead to the same root context in the tree so check that
+	  for equality.
+
+2014-09-28 10:51:09 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* ext/gl/gltestsrc.c:
+	* ext/gl/gstgltestsrc.c:
+	  gltestsrc: implement checkers pattern with GLSL
+
+2014-09-28 21:18:32 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: silence a warning with empty input caps
+	  discovered with the doublecube example
+	  gst_caps_get_features: assertion 'index < GST_CAPS_LEN (caps)' failed
+
+2014-09-28 20:37:04 +1000  Matthew Waters <matthew@centricular.com>
+
+	* tests/examples/gl/generic/cube/main.cpp:
+	* tests/examples/gl/generic/cubeyuv/main.cpp:
+	* tests/examples/gl/generic/doublecube/main.cpp:
+	* tests/examples/gl/generic/recordgraphic/main.cpp:
+	  examples/gl: update for signal signature change
+
+2014-09-28 16:58:42 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: don't create converters when the subclass doesn't want them
+	  fixes a critical with glvideomixer after
+	  35bd1969f912cecda0fb5df9595a005e6ddf4e7a
+	  CRITICAL **: gst_video_converter_new: assertion 'in_info->width == out_info->width' failed
+
+2014-09-26 22:29:56 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgloverlay.c:
+	  gloverlay: fix zero output frames with YUY2/UYVY
+	  also, be nice and disable blending for other elements
+
+2014-09-26 22:22:06 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgloverlay.c:
+	  gloverlay: protect desktop gl specific tokens with #if
+
+2014-09-26 12:28:10 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgloverlay.c:
+	  gloverlay: free the image memory every time the location changes
+	  fixes a memory leak
+
+2014-09-25 20:48:59 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/Makefile.am:
+	  gloverlay: Include into the build with GLES2 only too
+
+2014-09-26 01:45:22 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgltestsrc.c:
+	  gltestsrc: free the shader on stop
+
+2014-09-26 01:34:54 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	  glvideomixer: fix blending with low-alpha sources
+	  We also need to apply the blend paramaters to the alpha channel otherwise
+	  the output of the blend will appear black at low alpha values (< 0.2).
+
+2014-09-26 01:14:35 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgloverlay.c:
+	* ext/gl/gstgloverlay.h:
+	* ext/gl/gstopengl.c:
+	  gloverlay: reimplement everything
+	  - update for shaders
+	  - add alpha property
+	  - image placement properties shamelessly borrowed from gdkpixbufoverlay
+	  - image placement properties are GstController able
+	  - use GstGLMemory for the overlay image data
+	  - add support for gles2
+
+2014-09-25 16:04:33 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/dvdspu/gstdvdspu.c:
+	* gst/jp2kdecimator/jp2kcodestream.c:
+	* gst/jpegformat/gstjifmux.c:
+	* gst/nuvdemux/gstnuvdemux.c:
+	* gst/videoparsers/gsth265parse.c:
+	* gst/videoparsers/gstmpeg4videoparse.c:
+	  style: remove unnecessary break statements
+	  Code flow never arrives to these break statements due to the gotos preceding
+	  them. So the breaks are unnecessary, as discussed in bug 736942.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737370
+
+2014-09-25 15:45:57 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* ext/mpeg2enc/gstmpeg2enc.cc:
+	  mpeg2enc: break statement unnecessary
+	  Code flow never arrives to the break statements due to the goto's. So the
+	  breaks are unnecessary.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736942
+
+2014-09-25 16:13:19 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+	  gl/cocoa: Switch from our custom main loop to a GMainLoop
+	  Simplifies code a lot and makes it more similar to the other backends.
+
+2014-09-25 16:12:24 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+	  gl/cocoa: Clear the current GL context when it should happen
+
+2014-09-24 12:42:23 +0200  Lihua Liu <lihual@axis.com>
+
+	* ext/curl/gstcurlsmtpsink.c:
+	  curlsmtpsink: Email with multipart content-type should end with a final boundary
+	  Add final boundary for each of the sending out emails from smtpsink.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736134
+
+2014-09-25 10:14:41 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/curl/gstcurlbasesink.c:
+	* ext/curl/gstcurlhttpsink.c:
+	  curl*sink: add more logging
+
+2014-09-25 08:05:50 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/curl/gstcurlbasesink.c:
+	  curlbasesink: add a debug function
+	  If gstreamer is build with logging enabled, add a debug function and output
+	  verbose messages to the log instead of stderr.
+
+2014-09-24 22:24:49 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/curl/gstcurlhttpsink.c:
+	  curlhttpsink: only add content-disposition header if a filename is set
+	  The header is optional and therefore we better omit it if we don't have a filename.
+
+2014-09-24 22:06:21 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/curl/gstcurlbasesink.c:
+	  curlbasesink: don't replace specific error messages with a generic one
+	  Only set an error if we haven't set one already.
+
+2014-09-24 21:07:20 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/curl/gstcurltlssink.c:
+	  curltlssink: swap check
+	  Lets check for NULL first, as that is the default anyway.
+
+2014-07-29 16:12:26 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: Return flushing if we get chained while being set to READY
+	  Or not negotiated in the case we would be actually not negotiated
+	  Currently we are getting assertions from
+	  gst_pb_utils_add_codec_description_to_tag_list because of NULL
+	  caps.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737186
+
+2014-09-09 13:12:31 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: mark first buffer as discont after restarting a download task
+	  Mark first buffer as discont after restarting a download task, so
+	  downstream can reset its state to properly handle the new fragment.
+	  Related issue: https://bugzilla.gnome.org/show_bug.cgi?id=736318
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736319
+
+2014-09-19 22:32:39 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: push a time segment when restarting streaming
+	  This should inform demuxers/decoders downstream that the stream is
+	  about to start from a new position and they should flush accordingly
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736319
+
+2014-09-24 16:55:49 +0200  Wim Taymans <wtaymans@redhat.com>
+
+	* gst-libs/gst/video/Makefile.am:
+	* gst-libs/gst/video/bad-video-orc-dist.c:
+	* gst-libs/gst/video/bad-video-orc-dist.h:
+	* gst-libs/gst/video/bad-video-orc.orc:
+	* gst-libs/gst/video/gstcms.c:
+	* gst-libs/gst/video/gstcms.h:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst-libs/gst/video/videoconvert.c:
+	* gst-libs/gst/video/videoconvert.h:
+	  video: use video lib conversion code instead of copy
+
+2014-09-18 17:26:37 +0530  Anuj Jaiswal <anuj.jaiswal@samsung.com>
+
+	* ext/mplex/gstmplex.cc:
+	  mplex: break statement unnecessary
+	  One more code flow issue where it never arrives to the break statement due to
+	  the goto. So the break is unnecessary.
+	  Plus two coding style fixes.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736895
+
+2014-09-24 22:42:58 +1000  Jan Schmidt <thaytan@noraisin.net>
+
+	* gst/debugutils/gstchopmydata.c:
+	  chopmydata: Transfer timestamps to output buffers
+	  Allows using chopmydata as a simple repacketizer
+
+2014-09-19 09:51:48 +0530  Anuj Jaiswal <anuj.jaiswal@samsung.com>
+
+	* sys/androidmedia/gstamcaudiodec.c:
+	  androidmedia: break statements unnecessary
+	  Code flow never arrives to the break statements due to the goto's. So the
+	  breaks are unecessary. Second part to commit a3958ae65b
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736940
+
+2014-09-19 09:59:41 +0530  Anuj Jaiswal <anuj.jaiswal@samsung.com>
+
+	* sys/androidmedia/gstamcvideodec.c:
+	  androidmedia: break statement unnecessary
+	  Code flow never arrives to the break statements due to the goto's. So the
+	  breaks are unecessary.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736942
+
+2014-09-18 16:13:58 -0400  Joshua M. Doe <oss@nvl.army.mil>
+
+	* sys/dshowsrcwrapper/gstdshow.cpp:
+	* sys/dshowsrcwrapper/gstdshow.h:
+	* sys/dshowsrcwrapper/gstdshowaudiosrc.cpp:
+	* sys/dshowsrcwrapper/gstdshowvideosrc.cpp:
+	  dshowsrcwrapper: avoid error when set_caps called twice
+	  If set_caps is called in a running state, return immediately if the caps
+	  haven't changed. If the pins are already connected, disconnect them.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736926
+
+2014-09-24 14:29:37 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	  glvideomixer: skip input frames with an alpha of 0
+
+2014-09-24 13:13:19 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixer.h:
+	* ext/gl/gstgltestsrc.c:
+	* ext/gl/gstgltestsrc.h:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  gl: download whenever we have sysmem capsfeatures
+	  Otherwise we could pass on a RGBA formatted buffer and downstream would
+	  misinterpret that as some other video format.
+	  Fixes pipelines of the form
+	  gleffects ! tee ! xvimagesink
+
+2014-09-19 01:22:14 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:
+	  gsettings: Fix typo in description
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=736933
+
+2014-09-23 17:32:59 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+	* gst/mpegpsmux/psmuxstream.c:
+	  mpegpsmux: refactor duplicate else branches
+	  Unknown case should assert if reached instead of just assuming the max buffer
+	  size.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736460
+
+2014-09-19 09:54:11 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: initialize sent_codec_tag before using it
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736951
+
+2014-09-22 17:14:29 +0530  Sanjay NM <sanjay.nm@samsung.com>
+
+	* gst/videofilters/gstzebrastripe.c:
+	  videofilters: Add support for more YUV formats
+	  https://bugzilla.gnome.org/show_bug.cgi?id=737111
+
+2014-08-21 02:14:40 +0200  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* ext/gl/gstgltestsrc.c:
+	* ext/gl/gstgltestsrc.h:
+	  gltestsrc: add Mandelbrot fractal pattern.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735131
+
+2014-08-21 02:13:58 +0200  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* ext/gl/gltestsrc.c:
+	* ext/gl/gltestsrc.h:
+	* ext/gl/gstgltestsrc.c:
+	* ext/gl/gstgltestsrc.h:
+	  gltestsrc: implement snow pattern with GLSL.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735131
+
+2014-09-23 12:02:18 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: fallback to upload if contexts cannot share GL resources
+	  Fixes pipelines of the form
+	  gleffects ! tee ! glimagesink
+	  as tee does not pass on the allocation query.
+
+2014-09-23 12:01:04 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstglcontext.h:
+	  glcontext: add gst_gl_context_can_share
+	  Which determines whether two GstGLContext's can share sharable
+	  OpenGL resources.
+
+2014-09-22 20:01:27 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* tests/check/libs/gstglupload.c:
+	  gl/tests: update for upload API changes
+
+2014-09-22 10:08:17 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  gl: Let gst_gl_context_get_thread() return a new reference to the GThread
+	  Otherwise it might go away in the meantime and the caller has some random pointer.
+
+2014-09-22 11:10:42 +0530  Anuj Jaiswal <anuj.jaiswal@samsung.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  gl: consecutive return, break statement
+	  Signed-off-by: Anuj Jaiswal <anuj.jaiswal@samsung.com>
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736939
+
+2014-09-22 12:21:22 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/glprototypes/debug.h:
+	  gl/debug: desktop GL does not have the KHR suffixes
+
+2014-09-22 11:59:30 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* tests/examples/gl/gtk/fxtest/fxtest.c:
+	* tests/examples/gl/gtk/gtkvideooverlay/main.cpp:
+	  examples/gl/gtk: use the sync bus callback to set the window handle
+	  And output error messages.
+
+2014-09-19 18:59:01 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add missing FEC rates
+	  Order of the enum values (new rates after _AUTO)
+	  has been kept congruent with the one in the v4l
+	  API for consistency.
+
+2014-09-21 13:32:29 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  gl: add since markers for new API
+
+2014-09-21 21:42:41 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: add debug line for freeing textures
+
+2014-09-21 21:36:49 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	* ext/gl/gstglmixer.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglupload.c:
+	* gst-libs/gst/gl/gstglupload.h:
+	  glupload: provide the output buffer that is rendered into
+	  Allows callers to properly reference count the buffers used for
+	  rendering.
+	  Fixes a redraw race in glimagesink where the previous buffer
+	  (the one used for redraw operations) is freed as soon as the next
+	  buffer is uploaded.
+	  1. glimagesink uploads in _prepare() to texture n
+	  1.1 glupload holds buffer n
+	  2. glimagesink _render()s texture n
+	  3. glimagesink uploads texture n+1
+	  3.1 glupload free previous buffer which deletes texture n
+	  3.2 glupload holds buffer n+1
+	  4. glwindow resize/expose
+	  5. glimagesink redraws with texture n
+	  The race is that the buffer n (the one used for redrawing) is freed as soon as
+	  the buffer n+1 arrives.  There could be any amount of time and number of
+	  redraws between this event and when buffer n+1 is actually rendered and thus
+	  replaces buffer n as the redraw source.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736740
+
+2014-09-21 21:30:58 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstglcontext.h:
+	  glcontext: add API to retreive the thread that context is active in
+
+2014-09-19 15:32:33 +0530  Sanjay NM <sanjay.nm@samsung.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglmixer.c:
+	  gl: Removed unreachable break, unused variable
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736957
+
+2014-09-19 14:36:39 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Fix encoder to work on iOS
+	  iOS has special stride requirements that we don't know yet, so copy
+	  input buffers into buffers allocated by iOS for now.
+	  Later we should check the stride and probably provide a buffer pool for these
+	  buffers so upstream can directly write in there.
+
+2014-09-19 14:32:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/coremediabuffer.c:
+	* sys/applemedia/corevideobuffer.c:
+	  applemedia: We need to map the coremedia buffers in non-readonly mode
+	  Our buffers claim to be writable so other elements expect to be able
+	  to write there without losing their changes.
+
+2014-09-18 18:16:59 +0200  Philippe Normand <philn@igalia.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: lock client mutex before entering the retry_failover block
+	  This is consistent with the case where the block execution is
+	  triggered by the goto invoked after the current_variant update.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736919
+
+2014-09-12 02:36:47 -0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* ext/smoothstreaming/gstmssdemux.c:
+	* ext/smoothstreaming/gstmssdemux.h:
+	  mssdemux: synchronize with the download loop thread to signal it to continue
+	  If EOS or ERROR happens before the download loop thread has reached its
+	  g_cond_wait() call, then the g_cond_signal doesn't have any effect and
+	  the download loop thread stucks later.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735663
+
+2014-09-12 02:35:44 -0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: synchronize with the download loop thread to signal it to continue
+	  If EOS or ERROR happens before the download loop thread has reached its
+	  g_cond_wait() call, then the g_cond_signal doesn't have any effect and
+	  the download loop thread stucks later.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735663
+
+2014-08-29 12:38:12 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: synchronize with the download loop thread to signal it to continue
+	  If EOS or ERROR happens before the download loop thread has reached its
+	  g_cond_wait() call, then the g_cond_signal doesn't have any effect and
+	  the download loop thread stucks later.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735663
+
+2014-09-17 17:27:53 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/smoothstreaming/gstmssdemux.c:
+	  mssdemux: fix clearing of eos state in pads
+	  The internal pad still keeps its EOS flag and event as it can be assigned
+	  after the flush-start/stop pair is sent. The EOS is assigned from the streaming
+	  thread so this is racy.
+	  To be sure to clear it, it has to be done after setting the source to READY to
+	  be sure that its streaming thread isn't running.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736012
+
+2014-09-17 17:27:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: fix clearing of eos state in pads
+	  The internal pad still keeps its EOS flag and event as it can be assigned
+	  after the flush-start/stop pair is sent. The EOS is assigned from the streaming
+	  thread so this is racy.
+	  To be sure to clear it, it has to be done after setting the source to READY to
+	  be sure that its streaming thread isn't running.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736012
+
+2014-09-17 14:51:53 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: fix clearing of eos state in pads
+	  The internal pad still keeps its EOS flag and event as it can be assigned
+	  after the flush-start/stop pair is sent. The EOS is assigned from the streaming
+	  thread so this is racy.
+	  To be sure to clear it, it has to be done after setting the source to READY to
+	  be sure that its streaming thread isn't running.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736012
+
+2014-09-18 17:49:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Let the encoder automatically choose a h264 level
+	  We should negotiate these things via caps...
+
+2014-09-18 13:45:33 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Use 0 instead of G_MAXDOUBLE as the max keyframe interval
+	  0 means no limit, which was meant here with G_MAXDOUBLE probably.
+
+2014-09-18 13:42:24 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Expected duration is supposed to be the duration of the stream, not a frame
+	  Just don't set it for now, it isn't really needed.
+
+2014-09-18 11:39:53 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* tests/check/libs/vc1parser.c:
+	  vc1parser: add unit test for sequence-layer parsing
+	  Check that a sequence-layer header is successfully parsed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736871
+
+2014-09-18 11:49:13 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst-libs/gst/codecparsers/gstvc1parser.c:
+	  vc1parser: take care of endianness when parsing sequence-layer
+	  sequence-layer is serialized in little-endian byte order except for
+	  STRUCT_C which is serialized in big-endian byte order.
+	  But since STRUCT_A and STRUCT_B fields are defined as unsigned int msb
+	  first, we have to pass them as big-endian to their parsing function. So
+	  we basically use temporary buffers to convert them in big-endian.
+	  See SMPTE 421M Annex J and L.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736871
+
+2014-09-18 13:11:05 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	* sys/applemedia/vtenc.h:
+	  vtenc: Properly handle keyframes
+	  Especially set the SYNC_POINT flag on keyframes.
+
+2014-09-18 14:24:13 +0530  Sanjay NM <sanjay.nm@samsung.com>
+
+	* gst/mpegdemux/gstmpegdemux.c:
+	  mpegdemux: removed an unwanted initialization and a variable
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736863
+
+2014-09-17 12:24:39 +0200  Jerome Laheurte <jlaheurte@quividi.com>
+
+	* sys/dshowsrcwrapper/BUILD.txt:
+	* sys/dshowsrcwrapper/CMakeLists.txt:
+	* sys/dshowsrcwrapper/gstdshow.cpp:
+	* sys/dshowsrcwrapper/gstdshowaudiosrc.cpp:
+	* sys/dshowsrcwrapper/gstdshowaudiosrc.h:
+	* sys/dshowsrcwrapper/gstdshowfakesink.cpp:
+	* sys/dshowsrcwrapper/gstdshowvideosrc.cpp:
+	* sys/dshowsrcwrapper/gstdshowvideosrc.h:
+	  dshowsrcwrapper: Port to 1.0
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732283
+
+2014-09-18 12:53:11 +0530  Sanjay NM <sanjay.nm@samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  camerabin2: removed redundant initialization
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736853
+
+2014-09-17 15:50:23 +0530  Anuj Jaiswal <anuj.jaiswal@samsung.com>
+
+	* ext/faad/gstfaad.c:
+	  faad: logical disjunction consecutive return, break unnecessary
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736790
+
+2014-09-17 11:49:22 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: enable header-format conversion
+	  In fact we support header-format conversion which is done in
+	  update_caps() method.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736786
+
+2014-09-18 10:30:04 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: Fix compilation
+
+2014-09-18 09:47:06 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: Handle 0/1 framerates correctly by not calculating their frame duration
+
+2014-09-17 17:37:12 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/atdec.c:
+	  atdec: Fix some compiler warnings with newer clang
+
+2014-09-17 17:10:58 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Prepare encoder after setup
+	  This will allow encoding to happen faster on the first frame.
+
+2014-09-17 17:08:57 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	* sys/applemedia/vtenc.h:
+	  vtenc: Only drain the encoder in ::finish(), not on every frame
+	  Otherwise quality and bitrate will be bad.
+
+2014-09-17 15:39:26 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Error out if encoding returned an error
+	  Otherwise we will just continue consuming frames until all memory is filled
+	  up and the app crashes.
+
+2014-09-17 14:56:05 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Check for errors from VTCompressionSessionCompleteFrames()
+
+2014-09-17 14:55:24 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Properly scale timestamps for the API and set invalid values
+
+2014-09-17 14:54:39 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: Properly scale timestamps for the API and set invalid values
+
+2014-09-17 13:19:04 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/Makefile.am:
+	* sys/applemedia/plugin.m:
+	* sys/applemedia/vth264decbin.c:
+	* sys/applemedia/vth264decbin.h:
+	* sys/applemedia/vth264encbin.c:
+	* sys/applemedia/vth264encbin.h:
+	  applemedia: Remove old code that is of no use anymore
+
+2014-09-16 17:38:53 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: forge sequence-layer from seq_hdr instead of seq_layer
+	  If we don't have a seq_layer_buffer, we also don't have a valid
+	  seq_layer because there are set together in
+	  gst_vc1_parse_handle_seq_layer().
+	  So when output header format is sequence-layer and when we don't have a
+	  seq_layer_buffer, we forge one from seq_hdr.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736781
+
+2014-09-17 10:39:26 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  applemedia: Unconditionally use VideoToolbox on iOS if available
+	  Because we do weak linking now we can always compile it in and check at
+	  runtime if it is actually available or not.
+
+2014-09-17 10:38:20 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/Makefile.am:
+	* sys/applemedia/plugin.m:
+	  applemedia: Do weak linking with the VideoToolbox framework
+	  It does not exist on older OSX and iOS but we still want to
+	  be able to use it when it's available.
+
+2014-09-16 12:06:35 +0200  Ognyan Tonchev <ognyan@axis.com>
+
+	* ext/wayland/gstwaylandsink.c:
+	  waylandsink: do not leak buffer pool in error case
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736735
+
+2014-09-16 15:59:58 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: fix sequence-layer/frame-layer endianness
+	  Sequence-layer and frame-layer are serialized in little-endian byte
+	  order except for STRUCT_C and framedata fields as described in SMPTE 421M Annex
+	  L.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736750
+
+2014-09-16 16:51:28 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	* sys/applemedia/vtenc.h:
+	  vtenc: Port to GstVideoEncoder base class
+
+2014-09-16 16:13:16 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Use correct instance struct size
+
+2014-09-16 15:48:11 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: Fix compiler warnings
+	  values of type 'OSStatus' should not be used as format arguments; add an explicit cast to 'int' instead [-Wformat]
+
+2014-09-16 15:02:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/Makefile.am:
+	* sys/applemedia/coremediactx.c:
+	* sys/applemedia/coremediactx.h:
+	* sys/applemedia/dynapi-internal.h:
+	* sys/applemedia/dynapi.c:
+	* sys/applemedia/dynapi.h:
+	* sys/applemedia/mtapi.c:
+	* sys/applemedia/mtapi.h:
+	* sys/applemedia/vtapi.c:
+	* sys/applemedia/vtapi.h:
+	* sys/applemedia/vtenc.c:
+	* sys/applemedia/vtenc.h:
+	  vtenc: Port to the real VideoToolbox API instead of using our dlopen() wrapper
+	  It's a public framework since a long time.
+
+2014-09-16 11:42:34 +0200  Ognyan Tonchev <ognyan@axis.com>
+
+	* gst-libs/gst/gl/gstglfilter.c:
+	  glfilter: do not leak pool in error cases
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736732
+
+2014-09-16 11:43:02 +0200  Ognyan Tonchev <ognyan@axis.com>
+
+	* sys/vdpau/gstvdpdecoder.c:
+	  vdpdecoder: do not leak pool
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736733
+
+2014-09-16 11:41:43 +0200  Ognyan Tonchev <ognyan@axis.com>
+
+	* ext/gl/gstgltestsrc.c:
+	  gltestsrc: do not leak pool in error cases
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736730
+
+2014-09-16 11:42:13 +0200  Ognyan Tonchev <ognyan@axis.com>
+
+	* ext/openni2/gstopenni2src.cpp:
+	  openni2src: do not leak pool
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736731
+
+2014-09-16 11:41:16 +0200  Ognyan Tonchev <ognyan@axis.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: do not leak pool in error cases
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736729
+
+2014-09-16 13:21:22 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/vmnc/vmncdec.c:
+	  vmncdec: modify wrong packetized mode logic
+	  packetized mode is being set when framerate is being set
+	  which is not correct. Changing the same by checking the
+	  input segement format. If input segment is in TIME it is
+	  Packetized, and if it is in BYTES it is not.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736252
+
+2014-09-16 11:24:37 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/webp/gstwebpdec.c:
+	  webpdec: Remove unused variable
+
+2014-09-16 13:19:25 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* ext/webp/gstwebpdec.c:
+	  webpdec: modify wrong packetized mode logic
+	  packetized mode is being set when framerate is being set
+	  which is not correct. Changing the same by checking the
+	  input segement format. If input segment is in TIME it is
+	  Packetized, and if it is in BYTES it is not.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736252
+
+2014-09-16 01:15:31 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/elements/templatematch.c:
+	  templatematch: Compare the correct loop variables
+
+2014-09-15 15:42:41 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: No need to set kVTVideoDecoderSpecification_EnableHardwareAcceleratedVideoDecoder on iOS
+
+2014-09-15 15:36:44 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  configure: And make the preprocessor check work properly
+
+2014-09-15 15:25:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  configure: Do the AM_CONDITIONAL() after finally setting the variable
+
+2014-09-15 15:12:31 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	* sys/applemedia/vtdec.c:
+	  applemedia: Don't include VideoToolbox on iOS < 8.0
+	  It's private API and does not work without a jailbroken device.
+
+2014-09-15 13:33:45 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Also refetch the playlist after the first fragment failure
+	  Previously we only refetched the playlist if downloading a fragment
+	  has failed once. We should also do that if it failed a second or third time,
+	  chances are that the playlist was updated now and contains new URIs.
+
+2014-09-15 11:59:32 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dash: Actually retry 3 times as advertised instead of 2
+
+2014-09-15 11:59:19 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hls: Actually retry 3 times as advertised instead of 2
+
+2014-09-13 20:49:16 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: Fix compilation on iOS 8.0
+
+2014-09-11 14:36:31 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/videoparsers/gstvc1parse.c:
+	  vc1parse: fix malformed sequence layer header and STRUCT_C
+	  This commit fix several issues with sequence layer header forging on
+	  update_caps():
+	  - 0x00000004 unsigned integer is before STRUCT_C.
+	  - Set reserved bits of STRUCT_C to their values for simple/main
+	  profiles in sequence layer header format and ASF header format.
+	  - Sequence layer shall be represented as a sequence of 32 bits unsigned
+	  integers and shall be serialized in little-endian byte order except
+	  for STRUCT_C which shall be serialized in big-endian byte-order.
+	  See SMPTE 421M Annex L for more details about sequence layer format.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736474
+
+2014-09-12 14:49:44 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: Use proper variable for delivery system
+	  We want to check the delivery system is ISDBT (and not the modulation
+	  which we check later in that case).
+	  CID #1238439
+
+2014-09-12 09:30:04 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: fix trivial coding style issue
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736531
+
+2014-09-11 18:33:20 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst/mpegtsdemux/pesparse.h:
+	  tsdemux: fix overflow of packet_length field of PESHeader
+	  packet_length is defined as a guint16 in the PESHeader structure. This
+	  definition match the specification. But since we add 6 bytes to the
+	  packet_length value (length of start_code + stream_id + packet_length),
+	  we can overflow the guint16 when the value in the PES header is greater
+	  than 65529.
+	  So use a guint32 instead of a guint16 to avoid overflow.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736490
+
+2014-09-10 15:39:44 -0300  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/smoothstreaming/gstmssdemux.c:
+	  mssdemux: improve position detection when a download restart
+	  Query other src pads before falling back to the position of the last
+	  known pushed segment (which can be far ahead in time).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736421
+
+2014-09-10 15:43:05 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: improve position detection when a download restart
+	  Query other src pads before falling back to the position of the last
+	  known pushed segment (which can be far ahead in time).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736421
+
+2014-09-11 16:21:30 +0400  Belozorov Semen <skiminokD@gmail.com>
+
+	* gst/mpegpsmux/mpegpsmux_h264.c:
+	  mpegpsmux: fix memory leak when converting H.264 avc to byte-stream format
+	  Fix memory leak for input stream with caps "video/x-h264,stream-format=avc".
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736426
+
+2014-09-10 19:27:27 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/aiff/aiffmux.c:
+	  aiffmux: allocate byte writer on stack
+
+2014-09-10 19:19:32 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/asfmux/gstasfobjects.c:
+	* gst/asfmux/gstasfparse.c:
+	  asfmux: allocate byte readers on the stack
+
+2014-09-10 10:58:03 +0200  Jesper Larsen <knorr.jesper@gmail.com>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	  tsdemux: clear mutex resources in dispose
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736390
+
+2014-09-10 17:24:39 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/mpg123/gstmpg123audiodec.c:
+	* ext/opus/gstopusdec.c:
+	* gst/adpcmenc/adpcmenc.c:
+	* sys/opensles/openslessrc.c:
+	* sys/uvch264/gstuvch264_src.c:
+	  Fix up one-element lists in template caps
+
+2014-09-10 16:38:52 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: fix bogus BGRA caps
+	  Remove 0.10-style endianness/*_mask/bpp/depth fields.
+
+2014-09-10 19:16:53 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* configure.ac:
+	  build: don't AC_SUBST intermediate values
+
+2014-09-09 12:01:47 +0200  Vasilis Liaskovitis <vliaskov@gmail.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	* gst-libs/gst/gl/gstglwindow.h:
+	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
+	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
+	  GstGLWindow: Introduce navigation thread
+	  This thread dispatches navigation events. It is needed to avoid deadlocks
+	  between window backend threads that emit navigation events (e.g. X11/GMainLoop
+	  thread) and consumers of navigation events such as glimagesink, see
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733661
+	  GstGlWindow_x11 thread is changed to invoke the navigation thread for navigation
+	  dispatching, instead of emiting the event itself. Othe backends beside X11 do
+	  not dispatch navigation events yet, but should use this thread when dispatching
+	  these events in the future.
+	  The navigation thread is currently part of GstGLWindow and not implemented in
+	  separate subclasses / backends. This will be needed in the future.
+	  gst_gl_window_x11_get_surface_dimensions is also changed to use a cached value
+	  of the window's width, height. These values are now retrieved in the X11
+	  thread, function gst_gl_window_x11_handle_event. This change is needed because
+	  otherwise the XGetWindowAttributes gets called from the navigation thread,
+	  leading to xlib aborting due to multithreaded access (if XInitThreads is not
+	  called before, as is the case for gst-launch)
+
+2014-09-05 13:58:19 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: retry opening the frontend on EINTR
+
+2014-09-05 13:32:09 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: assorted doc & spelling fixes
+
+2014-09-07 01:30:16 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/dataurisrc/gstdataurisrc.c:
+	  Revert "dataurisrc: Remove unnecessary else if condition"
+	  This reverts commit 3024ae9c38490817a76c83feab3c8472989cafad.
+	  The *buf can be NULL or not depending if the caller of gst_pad_get_range
+	  function provided or not a buffer.
+
+2014-09-05 16:11:08 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/check/elements/hlsdemux_m3u8.c:
+	  tests: hlsdemux: fix compilation
+	  In file included from /home/thiagoss/gst/head/gstreamer/gst/gst.h:54:0,
+	  from /home/thiagoss/gst/head/gstreamer/libs/gst/check/gstcheck.h:34,
+	  from elements/hlsdemux_m3u8.c:27:
+	  ../../ext/hls/gstfragmented.h:8:28: error: redundant redeclaration of ‘fragmented_debug’ [-Werror=redundant-decls]
+	  GST_DEBUG_CATEGORY_EXTERN (fragmented_debug);
+	  Move the definition of the category to after the declaration.
+
+2014-09-05 12:56:13 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/Makefile.am:
+	  hlsdemux: And fix Makefile yet again
+
+2014-09-05 12:25:01 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/elements/hlsdemux_m3u8.c:
+	  hlsdemux: Include the m3u8.c file directly in the test because of an automake bug
+	  $(top_srcdir) doesn't seem to work with _SOURCES because that would be too
+	  obvious.
+	  http://lists.gnu.org/archive/html/automake/2013-09/msg00005.html
+
+2014-09-05 09:53:15 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/aiff/aiffparse.c:
+	  aiffparse: Fix handling of 64 bit floating point data
+	  In gst_aiff_parse_create_caps if and else-if conditions
+	  are duplicated.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736090
+
+2014-09-05 08:51:30 +0200  Nicola Murino <nicola.murino@gmail.com>
+
+	* ext/opencv/gstfacedetect.c:
+	* ext/opencv/gstfacedetect.h:
+	  facedetect: Add new property min-stddev
+	  face detection will be performed only if image standard deviation is
+	  greater that min-stddev. Default min-stddev is 0 for backward
+	  compatibility. This property will avoid to perform face detection on
+	  images with little changes improving cpu usage and reducing false
+	  positives
+	  https://bugzilla.gnome.org/show_bug.cgi?id=730510
+
+2014-07-07 10:52:57 +0200  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* ext/gl/gstgltransformation.c:
+	* ext/gl/gstgltransformation.h:
+	  gltransformation: fix issues and expose mvp matrix
+	  * aspect should not be 0 on init
+	  * rename fovy to fov
+	  * add mvp to properties as boxed graphene type
+	  * fix transformation order. scale first
+	  * clear color with 1.0 alpha
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734223
+
+2014-09-04 21:41:54 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/Makefile.am:
+	  hlsdemux: Also get the m3u8.c source file from the $(top_srcdir) for the test
+	  Should fix make distcheck for real now.
+
+2014-09-04 19:01:45 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/Makefile.am:
+	  hlsdemux: Use $(top_srcdir) instead of $(top_builddir) for the include path
+
+2014-09-04 18:21:38 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/smoothstreaming/gstmssdemux.c:
+	  mssdemux: Don't send flush events to deactivated pads
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736012
+
+2014-09-04 18:21:25 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: Don't send flush events to deactivated pads
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736012
+
+2014-09-04 18:20:58 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Don't send flush events to deactivated pads
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736012
+
+2014-09-04 17:52:35 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/Makefile.am:
+	  hlsdemux: Compile the m3u8.c directly instead of re-using the .o file
+
+2014-09-04 17:50:16 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/elements/.gitignore:
+	* tests/check/elements/hlsdemux_m3u8.c:
+	  hlsdemux: Add unit test for parsing of M3U8 playlists
+	  Ported from https://github.com/ylatuya/gst-plugins-bad
+	  This still has some unit tests for alternative renditions and
+	  seeking, which are commented out for the time being until we
+	  support them properly.
+
+2014-09-04 17:49:23 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/m3u8.c:
+	  hlsdemux: Properly assign offsets to the files if we accumulate them instead of reading from the playlist
+
+2014-09-04 13:38:21 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/dataurisrc/gstdataurisrc.c:
+	  dataurisrc: Remove unnecessary else if condition
+	  In gst_data_uri_src_create(), buf cannot be NULL, hence
+	  else if (*buf != NULL) will be invalid so removing the
+	  else if condition and adding a check to unreference buf
+	  in else condition, just in case
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735861
+
+2014-09-02 18:06:53 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: simplify ISDB-T launch line example
+
+2014-09-02 12:13:01 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: delay locking till actually needed
+	  Get rid of unneeded locking at prop setting by doing
+	  it only when tuning the frontend at _tune_fe()
+
+2014-09-02 12:11:44 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/dataurisrc/gstdataurisrc.c:
+	  dataurisrc: Make get_uri() threadsafe
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735861
+
+2014-09-01 17:41:50 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamcaudiodec.c:
+	* sys/androidmedia/gstamcaudiodec.h:
+	  amcaudiodec: Remove hack for Google MP3 decoder
+	  The first buffer does not contain more garbage than any other MP3 decoder
+	  outputs and we don't really know how much we have to drop or not.
+	  After this change the output has the same duration as with mad.
+
+2014-09-01 08:24:57 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/videofilters/gstzebrastripe.c:
+	  zebrastripe: Refactor to remove duplicate code
+	  gst_zebra_stripe_transform_frame_ip_planarY
+	  gst_zebra_stripe_transform_frame_ip_YUY2
+	  gst_zebra_stripe_transform_frame_ip_AYUV
+	  all above 3 functions do the same functionality except for offset and pixel stride.
+	  Hence moving the functionality to a single funtion.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735032
+
+2014-08-29 18:55:32 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: fix description for modulation prop
+
+2014-08-29 17:16:09 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add basic checks on ISDB-T parameters
+	  Also add a routine for checking wrong delsys/modulation
+	  combinations right before tuning (only implemented for
+	  ISDB-T for now).
+
+2014-08-29 18:09:07 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: add support for additional modulation types
+
+2014-08-29 13:26:12 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: drop FIXME on _ISDBT_LAYER_ENABLED prop
+	  Valid values range from 1 to 7 as stated.
+	  DTV_ISDBT_LAYER_ENABLED bitmask is built from
+	  OR-ing 0x1 0x2 0x4. If all bits are set
+	  (0x00000111 = 7) it means all layers should be
+	  demodulated.
+
+2014-08-29 19:26:40 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/assrender/gstassrender.c:
+	  assrender: remove code that can't be reached
+	  If this code could ever be reached, it would leak
+	  memory (CID 1231979), but gst_caps_get_features()
+	  never returns NULL, so that can't happen.
+
+2014-08-29 19:24:52 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/dvbsuboverlay/gstdvbsuboverlay.c:
+	  dvbsuboverlay: remove code that can't be reached
+	  If this code could ever be reached, it would leak
+	  memory (CID 1231977), but gst_caps_get_features()
+	  never returns NULL, so that can't happen.
+
+2014-08-28 20:12:07 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: fix up handling of input caps corner cases
+	  Do more elaborate validation of the input caps: what fields
+	  are required and/or not allowed. Don't assume AVC3 format
+	  input without codec_data field is byte-stream format. Fix
+	  up some now-unreachable code (CID 1232800).
+
+2014-08-28 16:42:30 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Add missing break to switch
+	  CID 1232801
+
+2014-08-28 11:37:56 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/rawparse/gstrawparse.c:
+	  rawparse: Reset negotiation state when going back to READY
+	  After going back to READY we can accept new format settings again.
+
+2014-08-22 15:18:59 -0600  Thomas Bluemel <tbluemel@control4.com>
+
+	* configure.ac:
+	* ext/hls/Makefile.am:
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: Support OpenSSL for AES decryption of HLS fragments
+	  https://bugzilla.gnome.org//show_bug.cgi?id=735248
+
+2014-08-26 16:21:42 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* tests/examples/gl/qt/qglwtextureshare/glcontextid.h:
+	* tests/examples/gl/qt/qglwtextureshare/gstthread.h:
+	* tests/examples/gl/qt/qglwtextureshare/main.cpp:
+	* tests/examples/gl/qt/qglwtextureshare/pipeline.cpp:
+	* tests/examples/gl/qt/qglwtextureshare/pipeline.h:
+	* tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp:
+	* tests/examples/gl/qt/qglwtextureshare/qglwtextureshare.pro:
+	  gl: qglwtextureshare demo fixes and cleanup
+	  1. glcontextid function is replaced by gstreamer gst_gl_context_new_wrapped .
+	  2. call gst_init before gst_gl_display_new , seems gst_gl_display_new depends
+	  on gst_allocator_register , which only worked after gst_init called
+	  3. flush gstreamer OpenGL context before using shared texture, fix
+	  flicker problem.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735566
+
+2014-08-27 13:40:42 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  gl: Add GSTGLAPI macro to the debug callback function
+	  Fixes the Windows build.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735565
+
+2014-08-28 09:53:17 +0300  Blake Tregre <blake.tregre@gmail.com>
+
+	* gst/librfb/rfbdecoder.c:
+	  rfbsrc: Clamp out of bounds resolutions to prevent segfaults
+	  https://bugzilla.gnome.org/show_bug.cgi?id=726801
+
+2014-08-27 14:47:25 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+	* configure.ac:
+	  gl: do not check for GL/GLU/EGL/GLES2 libs if disabled in configuration
+	  https://bugzilla.gnome.org/show_bug.cgi?id=735522
+
+2014-08-26 12:38:52 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	  egl: Wrap KHR_create_context flags in an ifdef
+	  EGL_CONTEXT_FLAGS_KHR and EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR
+	  don't exist in the Android NDK. Wrap their usage in an #ifdef
+	  EGL_KHR_create_context to fix the build there.
+
+2014-08-21 12:32:10 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  h264parse: don't consider unknown stream-format as avc
+	  It should try to use bytestream in these cases that the format
+	  is set to _FORMAT_NONE as it seems that is what the 'else' clause
+	  for bytestream can handle (by defaulting to _FORMAT_BYTESTREAM).
+
+2014-08-25 13:33:15 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* tests/check/elements/h264parse.c:
+	  h264parse: tests: fix caps for avc format
+	  If it has a codec_data field, it should also use the stream-format=avc as
+	  codec_data doesn't make sense otherwise and the default should
+	  be bytestream
+
+2014-08-25 15:21:39 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+	* docs/plugins/gst-plugins-bad-plugins-sections.txt:
+	* docs/plugins/inspect/plugin-mpegpsmux.xml:
+	  docs: add mpegpsmux and mpegtsmux
+
+2014-08-25 15:20:59 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+	* docs/plugins/gst-plugins-bad-plugins-sections.txt:
+	* docs/plugins/inspect/plugin-audiomixer.xml:
+	  docs: add audiomixer to docs
+
+2014-08-25 15:20:16 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+	* docs/plugins/inspect/plugin-aiff.xml:
+	  docs: add aiff elements to docs
+
+2014-08-25 14:56:15 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/plugins/gst-plugins-bad-plugins.args:
+	* docs/plugins/gst-plugins-bad-plugins.hierarchy:
+	* docs/plugins/gst-plugins-bad-plugins.interfaces:
+	* docs/plugins/gst-plugins-bad-plugins.prerequisites:
+	* docs/plugins/gst-plugins-bad-plugins.signals:
+	  docs: plugins: misc updates
+
+2014-08-25 14:43:49 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/libs/gst-plugins-bad-libs-docs.sgml:
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* docs/plugins/Makefile.am:
+	* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+	* docs/plugins/gst-plugins-bad-plugins-sections.txt:
+	* docs/plugins/gst-plugins-bad-plugins.args:
+	* docs/plugins/gst-plugins-bad-plugins.hierarchy:
+	* docs/plugins/gst-plugins-bad-plugins.types:
+	  docs: move GstPhotography interface docs into the library docs
+	  Now that we have docs for the libs.
+
+2014-08-25 12:21:36 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/sndfile/gstsf.c:
+	  sndfile: don't decode formats that are better handled by other elements
+	  In particular: flac, ogg, pcm, au, aiff, wav.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=722316
+
+2014-08-22 16:49:10 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	  egl: fallback to a non-debug context if a debug one fails
+	  The text for EGL_KHR_create_context added the possiblity for ES
+	  contexts to ask for a debug context however that has not been
+	  fully realized by all implementations.  Fallback to a non-debug
+	  context when the implementation errors.
+
+2014-08-05 14:06:07 -0400  Youness Alaoui <kakaroto@kakaroto.homelinux.net>
+
+	* ext/srtp/gstsrtpdec.c:
+	  srtpdec: Add support for RTP/RTCP mixing if data arrives on RTCP pad
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734321
+
+2014-08-21 16:24:06 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: fix abort in error code path with newer glib
+	  Don't forget to unlock mpd client again when erroring out.
+	  Fixes abort when g_mutex_clear() is called on a locked mutex.
+
+2014-07-02 12:49:44 +0200  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* gst-libs/gst/gl/Makefile.am:
+	  gstopengl: add introspection support
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734482
+
+2014-08-05 12:07:08 +0200  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* tests/examples/gl/gtk/switchvideooverlay/main.cpp:
+	  examples: fix gtk+ 3.14 deprecation error
+	  https://developer.gnome.org/gtk3/3.13/GtkWidget.html#gtk-widget-set-double-buffered
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734482
+
+2014-07-07 10:52:06 +0200  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: expose context
+	  * expose context in draw / reshape callbacks
+	  * add context property
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734482
+
+2014-07-07 10:51:28 +0200  Lubosz Sarnecki <lubosz@gmail.com>
+
+	* gst-libs/gst/gl/gstglshader.c:
+	* gst-libs/gst/gl/gstglshader.h:
+	  glshader: expose opengl handle in getter
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734482
+
+2014-08-20 09:37:01 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* gst-libs/gst/gl/gstglutils.c:
+	  gl: check null before unref GstGLDisplay
+
+2014-08-21 10:03:07 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/glprototypes/debug.h:
+	  gl: add prototype definition for KHR_debug
+
+2014-08-20 23:24:12 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
+	  glcontext: implement the debug callback
+	  For both GL_KHR_debug and ARB_debug_output.  This allows us to
+	  receive errors and other hints from the GL instead of querying after
+	  every GL operation.
+
+2014-08-20 23:23:06 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/glprototypes/Makefile.am:
+	* gst-libs/gst/gl/glprototypes/all_functions.h:
+	* gst-libs/gst/gl/glprototypes/gstgl_compat.h:
+	* gst-libs/gst/gl/gstglapi.h:
+	  gl: add prototypes for KHR_debug/ARB_debug_output
+
+2014-08-19 17:17:33 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: unref pad reference when removing internal source in error
+	  Avoids leaking the pad in error situations
+
+2014-08-19 16:01:58 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: read language from ContentComponent node as a fallback
+	  If the language is not specified in the AdaptationSet, use the ContentComponent
+	  node to get it. We only get it if there is only a single ContentComponent as
+	  it doesn't seem clear on what to do if there are multiple entries
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732237
+
+2014-06-25 15:55:32 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>
+
+	* ext/dash/Makefile.am:
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: push language code tag
+	  Language code tag is retrieved from the AdaptationSet language
+	  property.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732237
+
+2014-08-19 20:14:22 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/gstglutils.c:
+	  gl: don't take an extra ref on the display on set_context
+	  gst_context_get_gl_display() returns a ref.  Don't take another in
+	  gst_object_replace().
+
+2014-08-19 17:01:36 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglmixer.c:
+	  glmixer: unref the GstGLUpload in the pad if freed while running
+	  Dynamic pipelines that get and release the sink pads will finalize
+	  the pad without going through gst_gl_mixer_stop() which is where the
+	  upload object is usually freed.  Don't leak objects in such case.
+
+2014-08-14 23:51:21 -0400  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* ext/gl/gstglmixer.c:
+	  glvideomixer: avoid gl resource race condition between different thread
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734830
+
+2014-08-19 14:44:29 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglvideomixer.c:
+	  glvideomixer: don't clobber unnecessary GstVideoInfo fields
+	  otherwise we might clobber other important fields such as the frame rate.
+
+2014-08-19 14:43:42 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglvideomixer.c:
+	  glvideomixer: get the attribute from the correct shader
+
+2014-08-19 14:23:21 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: unref the window on navigation event
+	  plugs a memory leak
+
+2014-08-19 00:01:28 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: remove pads when resetting the element
+	  Otherwise the pads will be there if it is restarted and the stream
+	  can be a completely different one.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734394
+
+2014-08-17 01:42:05 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	* gst-libs/gst/codecparsers/gsth264parser.h:
+	  codecparser: h264: Use proper bit_reader api while parsing buffering_period SEI
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734970
+
+2014-08-14 10:19:13 +0530  Vineeth T M <vineeth.tm@samsung.com>
+
+	* gst/videofilters/gstscenechange.c:
+	  scenechange: fix crash on startup
+	  gst_video_frame_map() was using the oldinfo GstVideoInfo
+	  before it's been populated, resulting in a crash right
+	  at the start.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734763
+
+2014-08-14 15:26:53 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamcaudiodec.c:
+	* sys/androidmedia/gstamcvideodec.c:
+	* sys/androidmedia/gstamcvideoenc.c:
+	  androidmedia: Make sure to unblock any thread waiting on the drain condition variable when errors happen
+
+2014-08-14 15:24:21 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamcaudiodec.c:
+	* sys/androidmedia/gstamcaudiodec.h:
+	* sys/androidmedia/gstamcvideodec.c:
+	* sys/androidmedia/gstamcvideodec.h:
+	* sys/androidmedia/gstamcvideoenc.c:
+	* sys/androidmedia/gstamcvideoenc.h:
+	  androidmedia: Fix draining logic to let the base class handle EOS events
+	  https://bugzilla.gnome.org//show_bug.cgi?id=734775
+
+2014-08-11 21:25:41 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/parsechannels.c:
+	  dvbbasebin: fix parsing of freqs in some ZAP files
+	  Change avoids attempting to convert to kHz if unneeded.
+	  There are quite some ZAP format variants out there. Among
+	  their subtle little differences, some store transponder
+	  frequencies in Mhz and others in kHz. The latter been the
+	  most common variant.
+
+2014-08-07 19:37:01 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: get rid of remaining trailing whitespace
+
+2014-08-07 19:19:36 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: wrap around known-interruptible ioctls
+	  Also get rid of the asumption that some requests like
+	  FE_SET_TONE or FE_SET_VOLTAGE only error out with -1
+
+2014-08-07 14:00:40 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: drop gst_dvbsrc_retry_ioctl for retry macro
+	  LOOP_WHILE_EINTR macro makes it easier to handle
+	  assorted ioctl argp types. Functionality is otherwise
+	  equivalent.
+
+2014-08-12 12:35:00 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/dvbbasebin.c:
+	* sys/dvb/dvbbasebin.h:
+	* sys/dvb/gstdvbsrc.c:
+	* sys/dvb/gstdvbsrc.h:
+	  dvbsrc: dvbbasebin: add 'tune' signal
+	  It works the same as the 'tune' property that is used only to signal
+	  the element that it should tune, but it is more natural to be used
+	  as a signal rather than a property.
+	  It is also proxied at the dvbbasebin element
+
+2014-08-07 15:25:32 +0200  Thibault Saunier <thibault.saunier@collabora.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Do not switch playlist on trick modes
+	  Instead always use the low bandwith playlist making things go smoother
+	  as the current heuristic is rather set for normal playback, and
+	  currently it does not behave properly.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734445
+
+2014-07-21 14:42:47 +0200  Thibault Saunier <thibault.saunier@collabora.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: No need to have a I-Frame list to do trick modes
+	  It just works cleanly without any index and there is no real reason for
+	  that limitation. Also, there are very few stream with that feature.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734445
+
+2014-08-05 17:13:13 +0200  Thibault Saunier <thibault.saunier@collabora.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: Do not tweak segments on reverse playback
+	  We can't compare the first buffer start and the segment start in that
+	  case... playback is going backward!
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734445
+
+2014-08-13 16:57:15 +0200  Valentin PONS <valx76@gmail.com>
+
+	* ext/opencv/gstfacedetect.c:
+	  facedetect: Use NULL to disable eyes/nose/mouth
+	  Without printing a warning about it
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734623
+
+2014-08-10 22:58:22 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/gl/gstglbufferpool.c:
+	  glbufferpool: fix allocator leak in some cases
+	  Spotted by Sebastian Rasmussen.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734523
+
+2014-08-11 12:32:04 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/assrender/gstassrender.c:
+	  assrender: save a few ref/unref pairs
+	  The event/query functions already have a reference to the element, avoid
+	  ref/unref in the functions handling caps queries and events.
+
+2014-08-11 12:31:17 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/assrender/gstassrender.c:
+	  assrender: remove obsolete fixme
+
+2014-08-11 12:22:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/assrender/gstassrender.c:
+	  assrender: improve negotiation
+	  Check if downstream supports overlay meta, if possible use it and
+	  if not fallback to no-overlay caps
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733916
+
+2014-08-11 12:21:28 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/assrender/gstassrender.c:
+	  assrender: always intersect with the filter caps
+	  Avoids returning values that peers can't use
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733916
+
+2014-08-11 11:35:01 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/dvbsuboverlay/gstdvbsuboverlay.c:
+	  dvbsuboverlay: improve negotiation
+	  Check if downstream supports overlay meta, if possible use it and
+	  if not fallback to no-overlay caps
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733916
+
+2014-08-11 11:33:28 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* gst/dvbsuboverlay/gstdvbsuboverlay.c:
+	  dvbsuboverlay: always intersect with the filter in getcaps
+	  Avoids returning unsupported caps to peers
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733916
+
+2014-08-11 23:38:40 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	  aggregator: fix up doc comment for set_src_caps
+	  It does not occur 'later' anymore
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732662
+
+2014-08-07 19:54:36 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/base/gstaggregator.c:
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: push the caps event as soon as we receive it
+	  Along with the required mandatory dependent events.
+	  Some elements need to perform an allocation query inside
+	  ::negotiated_caps().  Without the caps event being sent prior,
+	  downstream elements will be unable to answer and will return
+	  an error.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732662
+
+2014-08-11 16:01:32 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* ext/webp/Makefile.am:
+	* ext/webp/gstwebp.c:
+	* ext/webp/gstwebpenc.c:
+	* ext/webp/gstwebpenc.h:
+	  webenc: Add WebP image encoder
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733087
+
+2014-08-09 01:29:30 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* ext/sbc/gstsbcenc.c:
+	  sbcenc: Unref output caps in error cases
+	  gst_caps_intersect() returns a reference to a caps object which in
+	  the normal case is consumed, but in error cases must be unreferenced.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734521
+
+2014-08-08 14:08:19 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* ext/opus/gstopusenc.c:
+	  opusenc: Unref pad template caps after usage
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734517
+
+2014-08-09 11:41:17 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* gst/inter/gstintertest.c:
+	  inter: Unref bus after usage
+	  gst_pipeline_get_bus() returns a reference to a bus that needs to
+	  be unreferenced after usage.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734525
+
+2014-08-09 11:45:41 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* tests/examples/gl/clutter/clutteractor.c:
+	* tests/examples/gl/clutter/clutteractortee.c:
+	* tests/examples/gl/gtk/fxtest/fxtest.c:
+	  examples/gl: unref bus and element after usage
+	  gst_pipeline_get_bus() and gst_bin_get_by_interface() both
+	  return references that need to be unreferenced after usage.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734527
+
+2014-08-10 19:12:01 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/plugins/gst-plugins-bad-plugins.args:
+	* docs/plugins/gst-plugins-bad-plugins.hierarchy:
+	* docs/plugins/gst-plugins-bad-plugins.interfaces:
+	* docs/plugins/inspect/plugin-accurip.xml:
+	* docs/plugins/inspect/plugin-adpcmdec.xml:
+	* docs/plugins/inspect/plugin-adpcmenc.xml:
+	* docs/plugins/inspect/plugin-asfmux.xml:
+	* docs/plugins/inspect/plugin-assrender.xml:
+	* docs/plugins/inspect/plugin-audiovisualizers.xml:
+	* docs/plugins/inspect/plugin-autoconvert.xml:
+	* docs/plugins/inspect/plugin-bayer.xml:
+	* docs/plugins/inspect/plugin-bz2.xml:
+	* docs/plugins/inspect/plugin-camerabin.xml:
+	* docs/plugins/inspect/plugin-chromaprint.xml:
+	* docs/plugins/inspect/plugin-coloreffects.xml:
+	* docs/plugins/inspect/plugin-curl.xml:
+	* docs/plugins/inspect/plugin-dataurisrc.xml:
+	* docs/plugins/inspect/plugin-debugutilsbad.xml:
+	* docs/plugins/inspect/plugin-dtsdec.xml:
+	* docs/plugins/inspect/plugin-dvb.xml:
+	* docs/plugins/inspect/plugin-dvbsuboverlay.xml:
+	* docs/plugins/inspect/plugin-dvdspu.xml:
+	* docs/plugins/inspect/plugin-faac.xml:
+	* docs/plugins/inspect/plugin-faad.xml:
+	* docs/plugins/inspect/plugin-festival.xml:
+	* docs/plugins/inspect/plugin-fieldanalysis.xml:
+	* docs/plugins/inspect/plugin-flite.xml:
+	* docs/plugins/inspect/plugin-fragmented.xml:
+	* docs/plugins/inspect/plugin-frei0r.xml:
+	* docs/plugins/inspect/plugin-gaudieffects.xml:
+	* docs/plugins/inspect/plugin-gdp.xml:
+	* docs/plugins/inspect/plugin-geometrictransform.xml:
+	* docs/plugins/inspect/plugin-gmedec.xml:
+	* docs/plugins/inspect/plugin-gsm.xml:
+	* docs/plugins/inspect/plugin-gstsiren.xml:
+	* docs/plugins/inspect/plugin-id3tag.xml:
+	* docs/plugins/inspect/plugin-inter.xml:
+	* docs/plugins/inspect/plugin-interlace.xml:
+	* docs/plugins/inspect/plugin-jpegformat.xml:
+	* docs/plugins/inspect/plugin-liveadder.xml:
+	* docs/plugins/inspect/plugin-mimic.xml:
+	* docs/plugins/inspect/plugin-mms.xml:
+	* docs/plugins/inspect/plugin-modplug.xml:
+	* docs/plugins/inspect/plugin-mpeg2enc.xml:
+	* docs/plugins/inspect/plugin-mpegpsdemux.xml:
+	* docs/plugins/inspect/plugin-mpegtsdemux.xml:
+	* docs/plugins/inspect/plugin-mpegtsmux.xml:
+	* docs/plugins/inspect/plugin-mpg123.xml:
+	* docs/plugins/inspect/plugin-mplex.xml:
+	* docs/plugins/inspect/plugin-neon.xml:
+	* docs/plugins/inspect/plugin-ofa.xml:
+	* docs/plugins/inspect/plugin-openal.xml:
+	* docs/plugins/inspect/plugin-opencv.xml:
+	* docs/plugins/inspect/plugin-opus.xml:
+	* docs/plugins/inspect/plugin-pcapparse.xml:
+	* docs/plugins/inspect/plugin-pnm.xml:
+	* docs/plugins/inspect/plugin-rawparse.xml:
+	* docs/plugins/inspect/plugin-removesilence.xml:
+	* docs/plugins/inspect/plugin-resindvd.xml:
+	* docs/plugins/inspect/plugin-rfbsrc.xml:
+	* docs/plugins/inspect/plugin-rtmp.xml:
+	* docs/plugins/inspect/plugin-schro.xml:
+	* docs/plugins/inspect/plugin-sdp.xml:
+	* docs/plugins/inspect/plugin-segmentclip.xml:
+	* docs/plugins/inspect/plugin-shm.xml:
+	* docs/plugins/inspect/plugin-smooth.xml:
+	* docs/plugins/inspect/plugin-soundtouch.xml:
+	* docs/plugins/inspect/plugin-spandsp.xml:
+	* docs/plugins/inspect/plugin-speed.xml:
+	* docs/plugins/inspect/plugin-subenc.xml:
+	* docs/plugins/inspect/plugin-videoparsersbad.xml:
+	* docs/plugins/inspect/plugin-voaacenc.xml:
+	* docs/plugins/inspect/plugin-voamrwbenc.xml:
+	* docs/plugins/inspect/plugin-waylandsink.xml:
+	* docs/plugins/inspect/plugin-y4mdec.xml:
+	* docs/plugins/inspect/plugin-zbar.xml:
+	  docs: update for git master
+
+2014-08-10 19:05:43 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/plugins/inspect/plugin-rtpvp8.xml:
+	  docs: remove rtpvp8 plugin docs, the elements are now in -good
+
+2014-08-10 18:07:28 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/gl/gstglcolorscale.c:
+	* ext/gl/gstglfiltercube.c:
+	* ext/gl/gstglfilterglass.c:
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglmosaic.c:
+	* ext/gl/gstgloverlay.c:
+	* ext/gl/gstglvideomixer.c:
+	  opengl: update element docs for 1.x
+
+2014-08-10 17:48:50 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+	* docs/plugins/gst-plugins-bad-plugins-sections.txt:
+	* docs/plugins/inspect/plugin-eglglessink.xml:
+	  docs: remove eglglessink from docs as it no longer exists
+
+2014-08-09 11:36:38 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: Unref elements after usage
+	  gst_bin_get_by_name() and gst_bin_get_by_interface() both return
+	  references to elements that need to be unreferenced after usage.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734524
+
+2014-08-09 01:27:53 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* ext/openal/gstopenalsink.c:
+	* ext/openal/gstopenalsrc.c:
+	  openal: Unref pad template caps after usage
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734520
+
+2014-08-10 12:29:04 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/ladspa/gstladspafilter.c:
+	  ladspa: fix up broken patch merge
+	  Sorry, should've been commit --amend
+
+2014-08-09 13:24:00 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* sys/pvr2d/gstpvrvideosink.c:
+	  pvrvideosink: Avoid leaking bufferpool configuration
+	  gst_buffer_pool_get_config() returns a copy to the bufferpool's
+	  configuration, which must be passed to gst_structure_free() after
+	  use if not given away to gst_buffer_pool_set_config().
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734537
+
+2014-08-09 13:22:42 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* sys/directsound/gstdirectsoundsrc.c:
+	  directsoundsrc: Avoid leaking copy of caps object
+	  gst_pad_get_pad_template_caps() returns a reference which is unreferenced,
+	  so creating a copy using gst_caps_copy() results in a reference leak.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734536
+
+2014-08-09 13:20:41 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* sys/applemedia/vtenc.c:
+	  vtenc: Avoid leaking caps object and its copy
+	  gst_pad_get_pad_template_caps() returns a reference which is unreferenced,
+	  so creating a copy using gst_caps_copy() results in a reference leak. Also
+	  the caps are pushed as an event downstream, but this doesn't consume the
+	  caps so it must still be unreferenced.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734534
+
+2014-08-09 13:17:17 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* sys/androidmedia/gstamcvideoenc.c:
+	  amcvideoenc: Avoid leaking copy of caps object
+	  gst_pad_get_pad_template_caps() returns a reference which is unreferenced,
+	  so creating a copy using gst_caps_copy() results in a reference leak.
+	  Also remove the incorrect comment to avoid confusion in the future.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734533
+
+2014-08-09 13:12:14 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* gst/interlace/gstinterlace.c:
+	  interlace: fix caps refcounting
+	  tcaps was unrefed when it shouldn't have been unrefed
+	  in some cases.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734531
+
+2014-08-09 13:09:52 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* gst/dvbsuboverlay/gstdvbsuboverlay.c:
+	  dvbsuboverlay: Avoid leaking copy of caps object
+	  gst_pad_get_pad_template_caps() returns a reference which is unreferenced,
+	  so creating a copy using gst_caps_copy() results in a reference leak.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734528
+
+2014-08-09 11:17:44 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Unref allowed caps after usage
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734522
+
+2014-08-09 01:25:21 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* ext/ladspa/gstladspafilter.c:
+	  ladspa: Unref pad template caps after usage
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734519
+
+2014-08-09 01:25:21 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* ext/ladspa/gstladspafilter.c:
+	  ladspa: Unref pad template caps after usage
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734519
+
+2014-08-09 01:23:50 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* ext/directfb/dfbvideosink.c:
+	  dfbvideosink: Unref pad template caps after usage
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734518
+
+2014-08-10 11:35:41 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/pipelines/.gitignore:
+	* tests/check/pipelines/colorspace.c:
+	  tests: remove defunct test code for old colorspace element
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734538
+
+2014-08-09 13:27:00 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* tools/element-templates/srcpad:
+	  element-maker: Avoid leaking copy of caps object
+	  gst_pad_get_pad_template_caps() returns a reference which is unreferenced,
+	  so creating a copy using gst_caps_copy() results in a reference leak.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734539
+
+2014-08-09 14:27:34 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* ext/gsm/gstgsmenc.c:
+	  gstgsmenc: Unref caps object after usage
+	  gst_audio_encoder_set_output_format() does not consume caps, so
+	  unreference that object instead.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734544
+
+2014-08-09 14:24:59 +0200  Sebastian Rasmussen <sebras@hotmail.com>
+
+	* ext/opus/gstopusheader.c:
+	  opus: Improve annotation of internal function
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734543
+
+2014-08-06 18:11:20 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: support downloading segments in reverse order
+	  When a seek with a negative rate is requested, find the target
+	  segment where gstsegment.stop belongs in and then download from
+	  this segment backwards until the first segment.
+	  This allows proper reverse playback.
+
+2014-08-07 19:18:49 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglvideomixer.c:
+	* ext/gl/gstglvideomixer.h:
+	  glvideomixer: add a background property
+	  That's compatible with the compositor/videomixer property
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731954
+
+2014-08-06 13:27:04 +0200  Thibault Saunier <tsaunier@gnome.org>
+
+	* ext/faad/gstfaad.c:
+	  ext:faad: Set rank to SECONDARY as the libav decoder is concidered better
+	  https://bugzilla.gnome.org/show_bug.cgi?id=676131
+
+2014-08-06 16:48:03 +0300  Vasilis Liaskovitis <vliaskov@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	* gst-libs/gst/gl/gstglwindow.c:
+	* gst-libs/gst/gl/gstglwindow.h:
+	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
+	  GstGLWindow, GstGLImagesink, x11: Scale navigation events on resized windows
+	  If window is resized, GstStructure pointer values have to be rescaled to
+	  original geometry. A get_surface_dimensions GLWindow class method is added for
+	  this purpose and used in the navigation send_event function.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=703486
+
+2014-08-06 08:15:38 -0400  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: don't determine if frame needs upload by pointer compare
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734269
+
+2014-08-05 11:45:55 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	* gst/mpegtsdemux/mpegtspacketizer.h:
+	  mpegtspacketizer: Store PCR time/byte offsets in 64 bit integers
+	  32 bit integers are going to overflow, especially the PCR offset to
+	  the first PCR will overflow after about 159 seconds. This makes playback
+	  of streams stop at 159 seconds as suddenly the timestamps are starting
+	  again from 0. Now we have a few more years time until it happens again
+	  and 64 bits are too small.
+
+2014-08-05 10:42:28 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	  Revert "mpegtspacketizer: Convert PCR times to GStreamer times before comparing them against 500 * GST_MSECOND"
+	  This reverts commit 9f186c6ab32c1e949916d385186b2d400190add6.
+	  That commit was actually completely wrong, nevermind.
+
+2014-08-05 10:36:17 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	  mpegtspacketizer: Convert PCR times to GStreamer times before comparing them against 500 * GST_MSECOND
+	  Otherwise it will believe to detect PCR gaps already when there's a very small
+	  gap of a few milliseconds, breaking playback of some files.
+
+2014-07-31 17:40:30 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/gstdvbsrc.h:
+	  dvbsrc: remove srcpad leftover
+	  The element is inheriting its srcpad from basesrc
+
+2014-08-01 18:02:10 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinksink.cpp:
+	  decklinksink: Initialize pixel format to bmdFormat8BitYUV
+	  https://bugzilla.gnome.org/show_bug.cgi?id=725871
+
+2014-08-01 16:40:49 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+	* gst-libs/gst/codecparsers/gsth264parser.c:
+	  codecparsers_h264: initialize some fields of pic_timing structure
+	  Otherwise pic timing structure can have invalid cpb_removal_delay,
+	  dpb_output_delay or pic_struct_present_flag which are blindly retrieved
+	  in h264parse.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734124
+
+2014-08-01 16:58:23 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinksink.cpp:
+	  decklinksink: Catch errors during data flow and error out properly
+	  Otherwise we will just deadlock the thread if e.g. scheduling a video
+	  frame fails for whatever reason.
+
+2014-07-31 20:52:39 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: return the error to the source immediately to stop faster
+	  When flushing, this will prevent dashdemux from trying to download more
+	  fragments or more chunks of the same fragment before stopping.
+	  Also improves the error handling to not transform everything non-ok into
+	  an error.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=734014
+
+2014-07-29 02:11:54 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	  mpegtspacketizer: avoid timestamp overflows
+	  Cause timing to break in the pipeline that can lead to a stall
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733837
+
+2014-08-01 13:14:03 +0200  Edward Hervey <edward@collabora.com>
+
+	* po/POTFILES.in:
+	  po: Remove files no longer present
+	  They were removed when sndfile was ported to 1.x
+
+2014-08-01 12:38:44 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	  decklink: 59.94fps is 60000/1001, not 30000/1001
+	  And also change 30/1 to 60/1 for one 60fps mode.
+
+2014-08-01 17:51:08 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/gstgldisplay.c:
+	  gl/docs: remove superflous 'the'
+
+2014-08-01 16:41:13 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	* gst-libs/gst/gl/gstgldisplay.c:
+	  gl: document GST_GL_* environment variables
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733245
+
+2014-08-01 10:01:18 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* tests/check/libs/gstglmemory.c:
+	* tests/check/libs/gstglupload.c:
+	  gl/tests: update for API changes
+
+2014-07-31 18:55:33 +0200  Edward Hervey <edward@collabora.com>
+
+	* Makefile.am:
+	* common:
+	  Makefile: Add usage of build-checks step
+	  Allows building checks without running them
+
+2014-07-31 18:46:33 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	* gst-libs/gst/gl/gstglcontext.h:
+	  glcontext: add a destroy function
+	  that just calls the subclass
+
+2014-07-31 18:36:58 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
+	  gl/x11: silence runtime warning
+	  g_main_loop_quit: assertion 'loop != NULL' failed
+
+2014-07-31 15:18:04 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: use the plane offsets to compute the size of the data pointer
+	  Certain elements expect that there be a certain number of lines
+	  that they can write into.  e.g. for odd heights, I420, YV12, NV12,
+	  NV21 (and others) Y lines are expected to have exactly twice the
+	  number of U/UV lines.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733717
+
+2014-07-31 14:07:29 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstgldownload.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	* gst-libs/gst/gl/gstglmemory.h:
+	* gst-libs/gst/gl/gstglupload.c:
+	* gst-libs/gst/gl/gstgluploadmeta.c:
+	  glmemory: use GstVideoInfo everywhere
+	  Simplifies a lot of the calling code
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733717
+
+2014-07-30 16:32:01 -0300  Robert Jobbagy <jobbagy.robert@gmail.com>
+
+	* ext/opencv/gstfaceblur.c:
+	* ext/opencv/gstfaceblur.h:
+	* ext/opencv/gstfacedetect.c:
+	* ext/opencv/gstfacedetect.h:
+	  faceblur: facedetect: add properties to faceblur
+	  Makes faceblur have the same properties as facedetect. Also improves
+	  the standard defaults and makes them the same in the 2 elements
+
+2014-07-30 16:30:39 -0300  Robert Jobbagy <jobbagy.robert@gmail.com>
+
+	* ext/opencv/gstfaceblur.c:
+	* ext/opencv/gstfaceblur.h:
+	  faceblur: post message when profile loading fails
+
+2014-07-30 16:07:17 -0300  Robert Jobbagy <jobbagy.robert@gmail.com>
+
+	* ext/opencv/gstfaceblur.c:
+	* ext/opencv/gstfacedetect.c:
+	  facedetect: faceblur: update launch line examples
+	  Reflect 1.0 and more useful examples
+
+2014-07-29 13:25:22 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: keep the uploaded buffer around on successful redisplay
+	  We might need it later to perform a redisplay.  GstGLUpload will take
+	  of releasing the previous buffer when it receives a new buffer.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733726
+
+2014-07-29 11:47:55 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglmemory.c:
+	  glmemory: reenable the texture_rg support for !eagl
+	  The GST_GL_HAVE_PLATFORM_EAGL is always defined we need to compare
+	  against the value instead.
+
+2014-07-28 19:11:41 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>
+
+	* tests/check/elements/.gitignore:
+	* tests/check/libs/.gitignore:
+	  tests: gitignore: update with new tests
+
+2014-07-28 16:55:15 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>
+
+	* tests/files/blue-square.png:
+	  tests: files: adds missing file from previous commit
+	  This is required for the templatematch test to work
+
+2014-07-28 15:45:09 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/elements/templatematch.c:
+	* tests/files/Makefile.am:
+	  tests: templatematch: add test to check that we use the correct rgb format
+	  templatematch should use the same RGB format that opencv uses (BGR), make sure
+	  we keep it that way with this test.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=678485
+
+2012-06-15 13:19:06 +0100  David Rothlisberger <david.rothlisberger@youview.com>
+
+	* ext/opencv/gsttemplatematch.c:
+	  opencv templatematch: Set caps to BGR order
+	  templatematch operates on BGR data. In fact, OpenCV's IplImage always
+	  stores color image data in BGR order -- this isn't documented at all in
+	  the OpenCV source code, but there are hints around the web (see for
+	  example
+	  http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/opencv-intro.html#SECTION00041000000000000000
+	  and http://www.comp.leeds.ac.uk/vision/opencv/iplimage.html ).
+	  gst_templatematch_load_template loads the template (the image to find)
+	  from disk using OpenCV's cvLoadImage, so it is stored in an IplImage in
+	  BGR order. But in gst_templatematch_chain, no OpenCV conversion
+	  functions are used: the imageData pointer of the IplImage for the video
+	  frame (the image to search in) is just set to point to the raw buffer
+	  data. Without this fix, that raw data is in RGB order, so the call to
+	  cvMatchTemplate ends up comparing the template's Blue channel against
+	  the frame's Red channel, producing very poor results.
+
+2014-07-28 13:10:35 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>
+
+	* ext/opencv/gsttemplatematch.c:
+	  templatematch: mark pads as proxy caps
+	  Allows negotiation to happen properly
+
+2012-06-25 20:37:01 +0100  William Manley <william.manley@youview.com>
+
+	* ext/opencv/gsttemplatematch.c:
+	  templatematch: Produce a warning message if we can't load a template image
+
+2012-06-20 15:22:52 +0100  William Manley <william.manley@youview.com>
+
+	* ext/opencv/gsttemplatematch.c:
+	  templatematch: Match rectangle grows redder with increased match certainty
+	  This is useful for debugging your matches as it indicates how certain the
+	  match was in addition to its position.
+
+2012-06-20 15:05:40 +0100  William Manley <william.manley@youview.com>
+
+	  templatematch: Allow changing template property on the fly
+	  Previously changing the template property resulted in an exception
+	  thrown from cvMatchTemplate, because "dist_image" (the intermediate
+	  match-certainty-distribution) was the wrong size (because the
+	  template image size had changed).
+	  Locking has also been added to allow changing the properties (e.g. the
+	  pattern to match) while the pipeline is playing.
+	  * gst_element_post_message is moved outside of the lock, because it will
+	  call into arbitrary user code (otherwise, if that user code calls into
+	  gst_templatematch_set_property on this same thread it would deadlock).
+	  * gst_template_match_load_template: If we fail to load the new template
+	  we still unload the previous template, so this element becomes a no-op
+	  in the pipeline. The alternative would be to keep the previous template;
+	  I believe unloading the previous template is a better choice, because it
+	  is consistent with the state this element would be in if it fails to
+	  load the very first template at start-up.
+	  Thanks to Will Manley for the bulk of this work; any errors are probably
+	  mine.
+
+2012-06-01 16:07:34 +0100  David Rothlisberger <david.rothlisberger@youview.com>
+
+	* ext/opencv/gsttemplatematch.c:
+	  templatematch: Pass video through when nothing to match against
+	  The early return was bypassing the call to gst_pad_push. With no
+	  filter->template (and thus no filter->cvTemplateImage) the rest of this
+	  function is essentially a no-op (except for the call to gst_pad_push).
+	  This (plus the previous commit) allows templatematch to be
+	  enabled/disabled without removing it entirely from the pipeline, by
+	  setting/unsetting the template property.
+
+2012-06-20 15:05:06 +0100  William Manley <william.manley@youview.com>
+
+	* ext/opencv/gsttemplatematch.c:
+	  templatematch: Remove no-op call to gst_templatematch_load_template
+	  We have just set filter->template to NULL, so
+	  gst_templatematch_load_template did nothing.
+
+2014-07-08 19:18:48 -0400  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
+
+	* sys/dvb/gstdvbsrc.c:
+	  dvbsrc: clarify units for freq and symbol-rate
+
+2014-07-07 18:52:20 -0400  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
+
+	* sys/dvb/dvbbasebin.c:
+	* sys/dvb/gstdvbsrc.c:
+	* sys/dvb/gstdvbsrc.h:
+	  dvbsrc: add preliminary  support for ISDB-T/Tb
+	  ISDB-T and ISDB-Tb (the Brazilian variant) are the
+	  terrestial DTV standards used by Japan, Philippines,
+	  Maldives, Thailand, most South American countries
+	  and Botswana. Changeset adds the set of previously
+	  missing (and required) ISDB-T parameters, adapter
+	  and frontend setup logic and proxies the new
+	  properties on dvbbasebin.
+	  Tested to work with the live aerial broadcast by
+	  Tv Paraíba HD in Campina Grande (Brazil).
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732875
+
+2014-07-05 03:08:00 -0400  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
+
+	* sys/dvb/dvbbasebin.c:
+	* sys/dvb/gstdvbsrc.c:
+	* sys/dvb/gstdvbsrc.h:
+	  dvbsrc: make slof/lof1/lof2 settable properties
+	  Allows proper tuning around high/low band boundaries when using
+	  non "standard" LNBs.
+	  Not all LNBs (Low noise block down converters) are made equal.
+	  This is particularly true for universal LNBFs, where, even though
+	  there are seemingly standard values for the local oscillator
+	  frequencies, these can vary from manufacturer to manufacturer
+	  and LNB model. Change also proxies the new LNB properties in
+	  dvbbasebin.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732818
+
+2014-07-27 13:26:00 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: silence gsignal warning
+	  instance '0xblah' has no handler with id '13'
+
+2014-07-26 13:27:51 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: do not give references to probes
+	  They are kept until the probes are removed but they will never be
+	  removed as the refcount of the element won't get to 0 because the
+	  probes own references (cyclic refs). As the probes should only be
+	  running as long as the element is running there is no need to
+	  secure a ref for them.
+	  Removes 3 leaked refs of wrappercamerabinsrc
+
+2014-07-26 12:46:01 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>
+
+	* gst/camerabin2/gstcamerabin2.c:
+	  camerabin: use gst_object_ref to make it easier to track refs
+	  Helps debugging
+
+2014-07-26 12:38:42 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: unref request pads
+	  Do not forget to unref output-selector requested pads
+
+2014-04-21 23:05:48 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
+
+	* gst/jpegformat/gstjpegparse.c:
+	* gst/jpegformat/gstjpegparse.h:
+	  jpegparse: port to baseparse
+	  https://bugzilla.gnome.org/show_bug.cgi?id=728356
+
+2014-07-24 12:25:36 +0300  Vasilis Liaskovitis <vliaskov@gmail.com>
+
+	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
+	  glwindow/11: Emit signals for mouse and key navigation events
+	  https://bugzilla.gnome.org/show_bug.cgi?id=703486
+
+2014-07-24 12:23:03 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	* gst-libs/gst/gl/gstglwindow.h:
+	  glwindow: Constify string parameters to the send_*_event() functions
+
+2014-07-24 13:05:00 +1000  Matthew Waters <ystreet00@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: remove extra argument from debug call
+
+2014-07-07 00:20:01 +0300  Vasilis Liaskovitis <vliaskov@gmail.com>
+
+	* ext/gl/gstglimagesink.c:
+	* ext/gl/gstglimagesink.h:
+	  glimagesink: Add navigation interface and callbacks for GstGLWindow mouse/key signals
+	  https://bugzilla.gnome.org/show_bug.cgi?id=703486
+
+2014-07-06 23:39:47 +0300  Vasilis Liaskovitis <vliaskov@gmail.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	* gst-libs/gst/gl/gstglwindow.h:
+	  GstGLWindow : Add mouse-event and key-event signals for navigation
+	  https://bugzilla.gnome.org/show_bug.cgi?id=703486
+
+2014-07-23 10:25:31 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstglmixer.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglframebuffer.c:
+	  gl: fix multi gl object leaks
+	  1. fix FBO leaks in decide_allocation
+	  2. fix texture leaks in decide_allocation and reset
+	  3. fix texture leaks in FBO incomplete error path
+
+2014-07-23 13:55:06 -0300  Thiago Santos <ts.santos@osg.samsung.com>
+
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  wrappercamerabinsrc: only flush buffers if renegotiation is needed
+	  This avoid extra overhead when taking sequential pictures that woudln't
+	  need renegotiation
+
+2014-07-23 13:37:05 -0300  Thiago Santos <ts.santos@osg.samsung.com>
+
+	* gst/camerabin2/gstcamerabin2.c:
+	* gst/camerabin2/gstwrappercamerabinsrc.c:
+	  camerabin: handle EOS on the pipeline
+	  Make camerabin handle EOS to the pipeline to allow standard pipeline
+	  close where an EOS is sent to the whole pipeline before setting it to NULL.
+
+2014-07-21 18:22:18 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: Do not scan for keyframe when in push mode.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733490
+
+2014-07-21 18:21:41 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: Do not scan for a keyframe in non-accurate mode.
+	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733490
+
+2014-07-01 10:24:44 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
+
+	* gst/gdp/gstgdppay.c:
+	  gdppay: remove obsolete code
+	  Buffers have no caps in 1.0
+
+2014-07-01 10:07:40 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
+
+	* gst/gdp/gstgdppay.c:
+	* gst/gdp/gstgdppay.h:
+	* tests/check/elements/gdppay.c:
+	  gdppay: put all sticky events in streamheader
+	  Use the sticky events to compose the streamheader as they are the
+	  ones that are persisted to config new pads linked. Instead of storing
+	  them ourselves rely on the pad storage that already orders it for us
+	  https://bugzilla.gnome.org/show_bug.cgi?id=732596
+
+2014-07-21 21:03:26 +0200  Nicola Murino <nicola.murino@gmail.com>
+
+	* ext/opencv/gstfacedetect.c:
+	  facedetect: improve enum GstFaceDetectUpdates descriptions
+	  https://bugzilla.gnome.org/show_bug.cgi?id=730509
+
+2014-05-21 12:59:57 +0200  Nicola Murino <nicola.murino@gmail.com>
+
+	* ext/opencv/gstfacedetect.c:
+	  facedetect: make updates on_change works as expected
+	  https://bugzilla.gnome.org/show_bug.cgi?id=730509
+
+2014-07-22 12:42:36 +0530  Sanjay NM <sanjay.nm@samsung.com>
+
+	* gst/pnm/gstpnmenc.c:
+	* gst/pnm/gstpnmenc.h:
+	  pnmenc: Port PNM Encoder to use GstVideoEncoder Class
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731943
+
+2014-06-18 11:44:54 +0530  Sanjay NM <sanjay.nm@samsung.com>
+
+	* gst/pnm/gstpnmdec.c:
+	* gst/pnm/gstpnmutils.c:
+	  pnmdec: Patch to handle max value
+	  Convert the image values from 0-maxvalue to 0-255 when
+	  'decoding' the pnm image
+	  https://bugzilla.gnome.org/show_bug.cgi?id=731773
+
+2014-07-15 16:42:57 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
+
+	* ext/kate/gstkatedec.c:
+	* ext/kate/gstkateutil.c:
+	  katedec: handle segment event earlier
+	  Delaying the segment event to when caps are decided can cause issues as
+	  the first thing katedec does on its chain function it doing a segment clip.
+	  It will lead to an assertion if the segment format is undefined
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733226
+
+2014-07-15 16:41:51 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
+
+	* ext/kate/gstkatedec.c:
+	  katedec: handle streamheaders in caps
+	  Properly handle the caps event by configuring the kate decoding lib using the
+	  available streamheaders. This makes it possible to decode kate subtitles when
+	  the stream is seeked before katedec gets the initial buffers that are usually
+	  the streamheaders.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733226
+
+2014-07-21 17:34:52 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  openjpeg: Don't remember -lopenjp2 as libs when falling back to openjpeg1
+
+2014-07-21 11:07:28 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
+
+	* tests/examples/gl/sdl/Makefile.am:
+	  gl: Reorder CFLAGS to include in-source dirs first in examples
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733426
+
+2014-05-06 09:28:14 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
+
+	* configure.ac:
+	  openjpeg: Win32-compatible OpenJPEG-2.0 detection
+	  OpenJPEG 2.0 API uses stdcall on W32 by default. This prevents normal
+	  autoconf library macros from finding its functions.
+	  A more compatible check is to acutally link a program that includes a
+	  real header.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733487
+
+2014-07-21 10:14:17 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/openni2/gstopenni2src.cpp:
+	  openni2src: Fix unitialized variable compiler warning
+	  gstopenni2src.cpp:721:14: error: variable 'oni_ts' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
+	  } else if (src->color->isValid () && src->sourcetype == SOURCETYPE_COLOR) {
+	  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+	  gstopenni2src.cpp:752:26: note: uninitialized use occurs here
+	  GST_BUFFER_PTS (buf) = oni_ts - src->oni_start_ts;
+	  ^~~~~~
+	  gstopenni2src.cpp:721:10: note: remove the 'if' if its condition is always true
+	  } else if (src->color->isValid () && src->sourcetype == SOURCETYPE_COLOR) {
+	  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+	  gstopenni2src.cpp:721:14: error: variable 'oni_ts' is used uninitialized whenever '&&' condition is false [-Werror,-Wsometimes-uninitialized]
+	  } else if (src->color->isValid () && src->sourcetype == SOURCETYPE_COLOR) {
+	  ^~~~~~~~~~~~~~~~~~~~~~
+	  gstopenni2src.cpp:752:26: note: uninitialized use occurs here
+	  GST_BUFFER_PTS (buf) = oni_ts - src->oni_start_ts;
+	  ^~~~~~
+	  gstopenni2src.cpp:721:14: note: remove the '&&' if its condition is always true
+	  } else if (src->color->isValid () && src->sourcetype == SOURCETYPE_COLOR) {
+	  ^~~~~~~~~~~~~~~~~~~~~~~~~
+	  gstopenni2src.cpp:642:18: note: initialize the variable 'oni_ts' to silence this warning
+	  uint64_t oni_ts;
+	  ^
+	  = 0
+
+2014-07-17 16:25:54 +0200  Fabrice Bellet <fabrice@bellet.info>
+
+	* gst-libs/gst/codecparsers/gstmpeg4parser.c:
+	  parser: mpeg4: fix vlc table used for sprite trajectory
+	  The vlc table members cbits, cword and values were assigned in the wrong
+	  order, causing the mpeg4 parser to fail when handling sprite
+	  trajectories.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=733322
+
+2014-07-18 15:09:54 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Make statistics message more generic for other adaptive streaming demuxers to reuse
+	  https://bugzilla.gnome.org/show_bug.cgi?id=725828
+
+2014-02-25 11:58:57 +0100  Alexander Zallesov <zallesov@gmail.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Provide statistics about time to download playlists and fragments
+	  https://bugzilla.gnome.org/show_bug.cgi?id=725828
+
+2014-07-19 18:04:42 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  Back to development
+
+=== release 1.4.0 ===
+
+2014-07-19 17:27:11 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ChangeLog:
+	* NEWS:
+	* RELEASE:
+	* configure.ac:
+	* docs/plugins/inspect/plugin-accurip.xml:
+	* docs/plugins/inspect/plugin-adpcmdec.xml:
+	* docs/plugins/inspect/plugin-adpcmenc.xml:
+	* docs/plugins/inspect/plugin-asfmux.xml:
+	* docs/plugins/inspect/plugin-assrender.xml:
+	* docs/plugins/inspect/plugin-audiovisualizers.xml:
+	* docs/plugins/inspect/plugin-autoconvert.xml:
+	* docs/plugins/inspect/plugin-bayer.xml:
+	* docs/plugins/inspect/plugin-bz2.xml:
+	* docs/plugins/inspect/plugin-camerabin.xml:
+	* docs/plugins/inspect/plugin-chromaprint.xml:
+	* docs/plugins/inspect/plugin-coloreffects.xml:
+	* docs/plugins/inspect/plugin-curl.xml:
+	* docs/plugins/inspect/plugin-dataurisrc.xml:
+	* docs/plugins/inspect/plugin-debugutilsbad.xml:
+	* docs/plugins/inspect/plugin-dtsdec.xml:
+	* docs/plugins/inspect/plugin-dvb.xml:
+	* docs/plugins/inspect/plugin-dvbsuboverlay.xml:
+	* docs/plugins/inspect/plugin-dvdspu.xml:
+	* docs/plugins/inspect/plugin-faac.xml:
+	* docs/plugins/inspect/plugin-faad.xml:
+	* docs/plugins/inspect/plugin-festival.xml:
+	* docs/plugins/inspect/plugin-fieldanalysis.xml:
+	* docs/plugins/inspect/plugin-flite.xml:
+	* docs/plugins/inspect/plugin-fragmented.xml:
+	* docs/plugins/inspect/plugin-frei0r.xml:
+	* docs/plugins/inspect/plugin-gaudieffects.xml:
+	* docs/plugins/inspect/plugin-gdp.xml:
+	* docs/plugins/inspect/plugin-geometrictransform.xml:
+	* docs/plugins/inspect/plugin-gmedec.xml:
+	* docs/plugins/inspect/plugin-gsm.xml:
+	* docs/plugins/inspect/plugin-gstsiren.xml:
+	* docs/plugins/inspect/plugin-id3tag.xml:
+	* docs/plugins/inspect/plugin-inter.xml:
+	* docs/plugins/inspect/plugin-interlace.xml:
+	* docs/plugins/inspect/plugin-jpegformat.xml:
+	* docs/plugins/inspect/plugin-liveadder.xml:
+	* docs/plugins/inspect/plugin-mimic.xml:
+	* docs/plugins/inspect/plugin-mms.xml:
+	* docs/plugins/inspect/plugin-modplug.xml:
+	* docs/plugins/inspect/plugin-mpeg2enc.xml:
+	* docs/plugins/inspect/plugin-mpegpsdemux.xml:
+	* docs/plugins/inspect/plugin-mpegtsdemux.xml:
+	* docs/plugins/inspect/plugin-mpegtsmux.xml:
+	* docs/plugins/inspect/plugin-mpg123.xml:
+	* docs/plugins/inspect/plugin-mplex.xml:
+	* docs/plugins/inspect/plugin-ofa.xml:
+	* docs/plugins/inspect/plugin-openal.xml:
+	* docs/plugins/inspect/plugin-opencv.xml:
+	* docs/plugins/inspect/plugin-opus.xml:
+	* docs/plugins/inspect/plugin-pcapparse.xml:
+	* docs/plugins/inspect/plugin-pnm.xml:
+	* docs/plugins/inspect/plugin-rawparse.xml:
+	* docs/plugins/inspect/plugin-removesilence.xml:
+	* docs/plugins/inspect/plugin-resindvd.xml:
+	* docs/plugins/inspect/plugin-rfbsrc.xml:
+	* docs/plugins/inspect/plugin-schro.xml:
+	* docs/plugins/inspect/plugin-sdp.xml:
+	* docs/plugins/inspect/plugin-segmentclip.xml:
+	* docs/plugins/inspect/plugin-shm.xml:
+	* docs/plugins/inspect/plugin-smooth.xml:
+	* docs/plugins/inspect/plugin-soundtouch.xml:
+	* docs/plugins/inspect/plugin-spandsp.xml:
+	* docs/plugins/inspect/plugin-speed.xml:
+	* docs/plugins/inspect/plugin-subenc.xml:
+	* docs/plugins/inspect/plugin-videoparsersbad.xml:
+	* docs/plugins/inspect/plugin-voaacenc.xml:
+	* docs/plugins/inspect/plugin-voamrwbenc.xml:
+	* docs/plugins/inspect/plugin-waylandsink.xml:
+	* docs/plugins/inspect/plugin-y4mdec.xml:
+	* docs/plugins/inspect/plugin-zbar.xml:
+	* gst-plugins-bad.doap:
+	* win32/common/config.h:
+	  Release 1.4.0
+
+2014-07-19 16:45:25 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* po/af.po:
+	* po/az.po:
+	* po/bg.po:
+	* po/ca.po:
+	* po/cs.po:
+	* po/da.po:
+	* po/de.po:
+	* po/el.po:
+	* po/en_GB.po:
+	* po/eo.po:
+	* po/es.po:
+	* po/eu.po:
+	* po/fi.po:
+	* po/fr.po:
+	* po/gl.po:
+	* po/hr.po:
+	* po/hu.po:
+	* po/id.po:
+	* po/it.po:
+	* po/ja.po:
+	* po/ky.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:
+	  Update .po files
 
 2014-07-19 12:47:43 +0200  Sebastian Dröge <sebastian@centricular.com>
 
@@ -100740,6 +116776,8 @@
 	  every file but apart from that no changes compared to the latest
 	  SVN versions happened.
 
+=== release 0.10.21 ===
+
 2008-09-01 16:05:45 +0000  Edward Hervey <bilboed@bilboed.com>
 
 	  tests/check/elements/audioresample.c: Now that GstBaseTransform is 'fixed' ... remove cruft from tests.
@@ -104244,6 +120282,8 @@
 	  (deinterleave_suite):
 	  Add some more deinterleave unit test bits I had locally.
 
+=== release 0.10.20 ===
+
 2008-05-14 13:57:41 +0000  Tim-Philipp Müller <tim@centricular.net>
 
 	  gst/audioresample/gstaudioresample.c: Revert previous change which made basetransform handle buffer_alloc and which b...
@@ -105800,6 +121840,8 @@
 	  Use AG_GST_CHECK_PLUGIN and AG_GST_DISABLE_PLUGIN to simplify which
 	  plug-ins are included/excluded. (#498222)
 
+=== release 0.10.19 ===
+
 2008-03-03 06:04:02 +0000  Sebastian Dröge <slomo@circular-chaos.org>
 
 	  Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static...
@@ -109989,6 +126031,8 @@
 	  (gst_speex_resample_update_state):
 	  Only post the latency message if we have a resampler state already.
 
+=== release 0.10.17 ===
+
 2007-11-23 10:21:11 +0000  Sebastian Dröge <slomo@circular-chaos.org>
 
 	  gst/audioresample/gstaudioresample.c: Implement latency query.
@@ -114956,6 +131000,8 @@
 	  work with earlier versions due to GstChildProxy brokeness).
 	  Also up requirements to last released core/base.
 
+=== release 0.10.15 ===
+
 2007-04-27 15:33:46 +0000  Julien Moutte <julien@moutte.net>
 
 	  ext/theora/theoradec.c: Calculate buffer duration correctly to generate a perfect stream (#433888).
@@ -117285,6 +133331,8 @@
 	  Original commit message from CVS:
 	  move amrwb code
 
+=== release 0.10.12 ===
+
 2007-01-04 12:49:47 +0000  Thomas Vander Stichele <thomas@apestaart.org>
 
 	  configure.ac: split out GST_CFLAGS into GST_PLUGINS_BASE_CFLAGS and GST_CFLAGS so that GST_BASE_CFLAGS can go inbetwe...
diff --git a/NEWS b/NEWS
index 0edcf34..242a1f6 100644
--- a/NEWS
+++ b/NEWS
@@ -1,145 +1,2 @@
-This is GStreamer Bad Plugins 1.4.0
+This is GStreamer Bad Plugins 1.5.1
 
-Changes since 1.2:
-
-New API:
- • GstMessageType has GST_MESSAGE_EXTENDED added. All types before
-   that can be used together as a flags type as before, but from
-   that message onwards the types are just counted incrementally.
-   This was necessary to be able to add more message types.
-   In 2.0 GstMessageType will just become an enum and not a flags
-   type anymore.
- • GstDeviceMonitor for device probing, e.g. to list all available
-   audio or video capture devices. This is the replacement for
-   GstPropertyProbe from 0.10.
- • Events accumulate the running-time offset now when travelling
-   through pads, as set by the gst_pad_set_offset() function. This
-   allows to compensate for this in the QOS event for example.
- • GstBuffer has a new flag "tag-memory" that is set automatically
-   when memory is added or removed to a buffer. This allows buffer
-   pools to detect if they can recycle a buffer or need to reset
-   it first.
- • GstToc has new API to mark GstTocEntries as loops.
- • A not-authorized resource error has been defined to notify
-   applications that accessing the resource has failed because
-   of missing authorization and to distinguish this case from others.
-   This change is actually already in 1.2.4.
- • GstPad has a new flag "accept-intersect", that will let the default
-   ACCEPT_CAPS query handler do an intersection instead of subset check.
-   This is interesting for parser elements that can handle incomplete
-   caps.
- • GstCollectPads has support for flushing and a default handler for
-   SEEK events now.
- • New GstFlowAggregator helper object that simplifies handling of
-   flow returns in elements with multiple source pads. Additionally
-   GstPad now always stores the last flow return and provides an
-   API to retrieve it.
- • GstSegment has new API to offset the running time by a specific
-   value and this is used in GstPad to allow positive and negative
-   offsets in gst_pad_set_offset() in all situations.
- • Support for h265/HEVC and VP8 has been added to the codec utils and codec
-   parsers library, and was integrated into various elements.
- • API for adjusting the TLS validation of RTSP connection has been added.
- • The RTSP and SDP library has MIKEY (RFC 3830) support now, and
-   there is API to distinguish between the different RTSP profiles.
- • API to access RTP time information and statistics.
- • Support for auxiliary streams was added to rtpbin.
- • Support for tiled, raw video formats has been added.
- • GstVideoDecoder and GstAudioDecoder have API to help aggregating tag
-   events and merge custom tags into them consistently.
- • GstBufferPool has support for flushing now.
- • playbin/playsink has support for application provided audio and video
-   filters.
- • GstDiscoverer has new and simplified API to get details about missing
-   plugins and information to pass to the plugin installer.
- • The GL library was merged from gst-plugins-gl to gst-plugins-bad,
-   providing a generic infrastructure for handling GL inside GStreamer
-   pipelines and a plugin with some elements using these, especially
-   a video sink. Supported platforms currently are Android, Cocoa (OS X),
-   DispManX (Raspberry Pi), EAGL (iOS), WGL (Windows) and generic X11,
-   Wayland and EGL platforms.
-   This replaces eglglessink and also is supposed to replace osxvideosink.
- • New GstAggregator base class in gst-plugins-bad. This is supposed to
-   replace GstCollectPads in the future and fix long-known shortcomings
-   in its API. Together with the base class some elements are provided
-   already, like a videomixer (compositor).
-
-
-Major changes:
- • New plugins and elements:
-   ∘ v4l2videodec element for accessing hardware codecs on
-     platforms that make them accessible via V4L2, e.g.
-     Samsung Exynos. This comes together with major refactoring
-     of the existing V4L2 elements and the corresponding
-     infrastructure.
-     The v4l2videodec element replaces the mfcdec element.
-   ∘ New downloadbuffer element that replaces the download
-     buffering feature of queue2. Compared to queue2's code
-     it is much simpler and only for this single use case.
-     A noteworthy new feature is that it's downloading gaps
-     in the already downloaded stream parts when nothing else
-     is to be downloaded.
-     This is now used by playbin when download buffering is
-     enabled.
-   ∘ rtpstreampay and rtpstreamdepay elements for transmitting
-     RTP packets over a stream API (e.g. TCP) according to
-     RFC 4571.
-   ∘ rtprtx elements for standard compliant implementation of
-     retransmissions, integrated into the rtpmanager plugin.
-   ∘ audiomixer element that mixes multiple audio streams together
-     into a single one while keeping synchronization. This is
-     planned to become the replacement of the adder element.
-   ∘ OpenNI2 plugin for 3D cameras like the Kinect camera.
-   ∘ OpenEXR plugin for decoding high-dynamic-range EXR images.
-   ∘ curlsshsink and curlsftpsink to write files via SSH/SFTP.
-   ∘ videosignal, ivfparse and sndfile plugins ported from 0.10.
-   ∘ avfvideosrc, vtdec and other elements were ported from 0.10 and
-     are available on OS X and iOS now.
-
- • Other changes:
-   ∘ gst-libav now uses libav 10.2, and gained support for H265/HEVC.
-   ∘ Support for hardware codecs and special memory types has been
-     improved with bugfixes and feature additions in various plugins
-     and base classes.
-   ∘ Various bugfixes and improvements to buffering in queue2 and
-     multiqueue elements.
-   ∘ dvbsrc supports more delivery mechanisms and other features
-     now, including DVB S2 and T2 support.
-   ∘ The MPEGTS library has support for many more descriptors.
-   ∘ Major improvements to tsdemux and tsparse, especially time and
-     seeking related.
-   ∘ souphttpsrc now has support for keep-alive connections,
-     compression, configurable number of retries and configuration
-     for SSL certificate validation.
-   ∘ hlsdemux has undergone major refactoring and works more
-     reliable now and supports more HLS features like trick modes.
-     Also fragments are pushed downstream while they're downloaded
-     now instead of waiting for each fragment to finish.
-   ∘ dashdemux and mssdemux are now also pushing fragments downstream
-     while they're downloaded instead of waiting for each fragment to
-     finish.
-   ∘ videoflip can automatically flip based on the orientation tag.
-   ∘ openjpeg supports the OpenJPEG2 API.
-   ∘ waylandsink was refactored and should be more useful now. It also
-     includes a small library which most likely is going to be removed
-     in the future and will result in extensions to the GstVideoOverlay
-     interface.
-   ∘ gst-rtsp-server supports SRTP and MIKEY now.
-   ∘ gst-libav encoders are now negotiating any profile/level settings
-     with downstream via caps.
-   ∘ Lots of fixes for coverity warnings all over the place.
-   ∘ Negotiation related performance improvements.
-   ∘ 800+ fixed bug reports, and many other bug fixes and other
-     improvements everywhere that had no bug report.
-
-Things to look out for:
- • The eglglessink element was removed and replaced by the glimagesink
-   element.
- • The mfcdec element was removed and replaced by v4l2videodec.
- • osxvideosink is only available in OS X 10.6 or newer.
- • On Android the namespace of the automatically generated Java class
-   for initialization of GStreamer has changed from com.gstreamer to
-   org.freedesktop.gstreamer to prevent namespace pollution.
- • On iOS you have to update your gst_ios_init.h and gst_ios_init.m in
-   your projects from the one included in the binaries if you used the
-   GnuTLS GIO module before. The loading mechanism has slightly changed.
diff --git a/RELEASE b/RELEASE
index 4893735..53e5755 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,23 +1,17 @@
 
-Release notes for GStreamer Bad Plugins 1.4.0
+Release notes for GStreamer Bad Plugins 1.5.1
 
 
-The GStreamer team is pleased to announce the first release of
-the stable 1.4 release series. The 1.4 release series is adding new
-features on top of the 1.0 and 1.2 series and is part of the API and
-ABI-stable 1.x release series of the GStreamer multimedia framework.
+The GStreamer team is pleased to announce the first release of the unstable
+1.5 release series. The 1.5 release series is adding new features on top of
+the 1.0, 1.2 and 1.4 series and is part of the API and ABI-stable 1.x release
+series of the GStreamer multimedia framework. The unstable 1.5 release series
+will lead to the stable 1.6 release series in the next weeks, and newly added
+API can still change until that point.
 
 
-
-Binaries for Android, iOS, Mac OS X and Windows are provided together
-with this release.
-
-
-
-The stable 1.4 release series is API and ABI compatible with 1.0.x,
-1.2.x and any other 1.x release series in the future. Compared to 1.2.x
-it contains some new features and more intrusive changes that were
-considered too risky as a bugfix.
+Binaries for Android, iOS, Mac OS X and Windows will be provided separately
+during the unstable 1.5 release series.
 
 
 
@@ -69,12 +63,336 @@
 
 Bugs fixed in this release
      
-      * 726555 : POTFILES.in is out of date
-      * 733052 : Include windsock header for Windows targets
-      * 733063 : examples: gl fxtest example fails to build on win32 with gtk+ 3.0
-      * 733072 : camerabin: Taking a picture in cheese leads to all sort of race
-      * 733123 : mxfmux: Avoid taking unnecessary ref
-      * 733248 : gl: GLintptr/GLsizeiptr/etc typechecks ignore GL_CFLAGS, potentially causing typedef redefinition errors from gst-libs/gst/gl/glprototypes/gstgl_compat.h at buildtime
+      * 739345 : codecparsers: remove ignored increment of return
+      * 750185 : gl: Not showing any video on Android (skip glDrawElements)
+      * 743974 : gl: rethink glfilter, glmixer, glupload, glcolorconvert, gldownload
+      * 746617 : opusenc: headers are never sent
+      * 749601 : win32: glimagesink always popup a new window
+      * 745881 : Apply gst-indent for code convention
+      * 748497 : spandsp: Fails to build, uses a private field missing_samples
+      * 739992 : h264parse: expose compatible profiles to downstream
+      * 740236 : New audiointerleave based on GstAggregator and create GstAudioAggregator from audiomixer
+      * 611689 : [NEW PLUGIN] crossfeed plugin
+      * 643252 : Improve opencv facedetect performance
+      * 672610 : camerabin2: check negotiated caps avoid reseting of the pipe
+      * 675134 : shmsrc: add an shm-area-name property
+      * 677223 : dshowdecwrapper: Remove dependency to ATL
+      * 678990 : camerabin2: Not showing anything
+      * 685215 : codecparsers: h264: Add initial MVC parser
+      * 696032 : mpegtsmux: Downstream force-key-unit events are being assigned the wrong " count " 
+      * 699364 : dshowvideosink: port to 1.0
+      * 706872 : mpegtsmux does not flag key frames properly for tcpserversink
+      * 708532 : tsdemux: skips too much when scanning for last PCR
+      * 709532 : testsuite has failures
+      * 722129 : mpegtsmux: alignment property does not work as expected for UDP streaming
+      * 724868 : Setting Image Size in camerabin causes pipeline to fail with Not Negotiated
+      * 725047 : tsdemux offsetting timestamp
+      * 725145 : libde265 based HEVC/H.265 decoder plugin
+      * 725163 : opencv extension is using the deprecated cv.h header
+      * 725298 : dashdemux: fails after MPD refresh
+      * 725435 : hlsdemux: enable seek for live streams
+      * 725828 : hlsdemux: reporting playlist and fragment download time stat
+      * 726376 : x265enc: Add x265 encoder element
+      * 726801 : rfbsrc: specifying out-of-bounds resolution leads to segfault
+      * 727402 : aiffmux: write padding byte at end of SSND chunk if needed
+      * 727731 : tsdemux: add support for chinese AVS video codec
+      * 727742 : hlsdemux: selects incorrect starting position for live streams
+      * 727946 : decklinksrc: failure to switch states: PLAYING < - > NULL
+      * 728646 : siren: fix sample list rate
+      * 730225 : hlsdemux switch to higher quality don't connect all pads right
+      * 730510 : facedetect: improve performance
+      * 731263 : rtph265pay, rtph265depay: add rtp elements for H.265
+      * 731404 : hlsdemux memmory leak
+      * 731581 : curlsshsink: use the locally defined types instead of libcurl's
+      * 731769 : onvif: add element implementing the ONVIF RTP extension
+      * 731773 : pnmdec: unsupported bit depth is not checked
+      * 731782 : waylandsink: video position is wrong when caps change and the sink is embedded in another window
+      * 731943 : pnmenc: PNM Encoder needs to use gstVideoEncoder as base class
+      * 731954 : glvideomixer: Add a background property
+      * 731982 : hlsdemux: Don't use approximate duration for fragment buffer pts
+      * 732237 : dashdemux: expose language tags
+      * 732283 : dshowvideosrc: Port to 1.0
+      * 732294 : mxfdemux: Use IndexTableSegments
+      * 732507 : gl: R/RG textures don't work on iOS
+      * 732596 : gdppay: put all sticky events in streamheader
+      * 732662 : glmixer didn't receive the GstGLContext from downstream basetransform
+      * 732664 : add other-context support to GstGLMixer
+      * 732694 : glimagesink: handle drain query
+      * 732875 : dvbsrc: add preliminary  support for ISDB-T/Tb
+      * 733055 : winks: debug message printf format warnings
+      * 733087 : Add WebP Image encoder
+      * 733226 : katedec: properly handle segment and caps events
+      * 733322 : parser: mpeg4:  problem with mpeg4_dmv_size_vlc_table values
+      * 733347 : mpegtsmux: Fix naming prefix of internal functions
+      * 733369 : dashdemux fails to detect end of period
+      * 733661 : glimagesink navigation interface causes hangs with X11/GMainLoop event thread
+      * 733682 : waylandsink: allow catching input events
+      * 733717 : glmemory allocate size didn't match video_orc_pack_I420 needs if height is odd
+      * 734040 : tsdemux: Handle sparse streams
+      * 734264 : ksvideosrc gives GStreamer-CRITICAL **: write map requested on non-writable buffer continuously
+      * 734321 : srtpdec doesn't support RTP on the RTCP sink pad
+      * 734445 : hlsdemux:tsdemux: Improve trick modes support
+      * 734482 : Make OpenGL plugins more accessible for application programmers
+      * 734518 : dfbvideosink: Unref pad template caps after usage
+      * 734523 : glbufferpool: Unref allocator after usage
+      * 734525 : inter: Unref bus after usage
+      * 734527 : gl/examples: Unref bus and element after usage
+      * 734543 : opus: Improve annotation of internal function
+      * 734623 : facedetect: fix NULL error when disable eyes/nose/mouth
+      * 734775 : androidmedia: Should not send EOS when drained
+      * 734970 : codecparser: h264: Use proper bit_reader api while parsing  buffering_period SEI
+      * 735032 : zebrastripe: Refactoring of common code
+      * 735042 : videoaggregator: race of vagg- > info on pad removal
+      * 735131 : gltestsrc: Add new patterns
+      * 735248 : hlsdemux: Support OpenSSL for AES decryption of HLS fragments
+      * 735522 : gl: fix for configure.ac to prevent unnecessary checks and linkage
+      * 735565 : gl: Add GSTGLAPI to _gst_gl_debug_callback
+      * 735566 : gl: some cleanup and fixes to qglwtextureshare
+      * 735663 : dashdemux: synchronize with the download loop thread before signalling it
+      * 735790 : GstGLMixer  random create none-RGBA output buffer pool for GstGLFilter
+      * 735848 : adaptivedemux: new base class
+      * 736008 : applemedia: Enable vtdec/vtenc on iOS 8
+      * 736035 : glimagesink: Regression: Gtk+ cannot get glimagesink input
+      * 736061 : typefind: detects AAC instead of mpegts when input buffer is small
+      * 736132 : glimagesink: iOS: Does not rescale the video if the window size changes
+      * 736134 : curlsmtpsink: Adding final boundary for every sending out email
+      * 736141 : dashdemux: do not override last known stream error
+      * 736176 : pngparse: re-assembling image from small blocks may be optimized
+      * 736421 : dashdemux: improve detection of the position on download restart
+      * 736460 : mpegpsmux: refactor duplicate else branches
+      * 736531 : tsdemux: fix trivial coding style issue
+      * 736740 : glimagesink: racy redraw with raw data upload accesses deleted texture
+      * 736781 : vc1parse: forge sequence-layer from seq_hdr instead of seq_layer
+      * 736786 : vc1parse: enable header-format conversion
+      * 736790 : faad: logical disjunction consecutive return, break statement unnecessary.
+      * 736800 : dashdemux: send missing FLUSH_STOP/EOS when no seeking period is found
+      * 736853 : camerabin2: Removed redundant initialization
+      * 736863 : mpegdemux: removed an unwanted initialization and an unwanted variable and assignment
+      * 736895 : mplex: logical disjunction consecutive goto, break statements
+      * 736926 : dshowvideosrc: error if set_caps is called while running
+      * 736933 : gsettings: Fix typo in description
+      * 736939 : gl: logical disjunction consecutive return, break statements
+      * 736940 : androidmedia: logical disjunction consecutive goto, break statements
+      * 736942 : androidmedia: logical disjunction consecutive goto, break statements
+      * 736957 : gl: Removed unreachable break, unused variable
+      * 737111 : videofilters: Added 3 more YUV formats
+      * 737183 : audiomixer: Port to GstAggregator
+      * 737370 : Unnecessary break statements following a goto
+      * 737407 : zbar: fixed FIXME and added 2 formats for YUV.
+      * 737411 : videoparser: comment out unused custom baseparse flag (with duplicate value)
+      * 737412 : h264: playing a certain broken stream causes a crash (stack corruption caused by codec parser)
+      * 737421 : dashdemux: Playback may attempt to start in wrong period for a live stream
+      * 737505 : gltestsrc: implement checkers pattern in GLSL
+      * 737559 : plugins-bad: remove unnecessary GLIB_DISABLE_DEPRECATION_WARNINGS
+      * 737568 : video lib conversion in gstvideoaggregator.c leads  glvideomixer problem
+      * 737788 : open264: Decoder and encoder element
+      * 737793 : hlsdemux: Fix accessing invalidated memory.
+      * 737892 : openh264: update to latest openh264 release and use pkg-config
+      * 737894 : openh264enc: make denoise work
+      * 737984 : schrodec: optimize parse logic
+      * 738069 : waylandsink: avoid render twice the same buffer
+      * 738072 : mpegts: typos in mpegts comments
+      * 738129 : GstGLMixer download texture even if sink element is gl based
+      * 738166 : docs: Update GstQOSType documentation a bit
+      * 738206 : pcapparse can't handle LINKTYPE_RAW
+      * 738227 : test: use G_GSIZE_FORMAT in audiomixer test
+      * 738526 : vc1parse: implement some stream-format conversion
+      * 738626 : bluez: Does not support bluez5 yet
+      * 738740 : gl/cocoa: Fails to build on Mac OS X 10.10
+      * 738816 : gl: gst-plugins-bad won't build without --with-opengl=yes
+      * 738842 : add RGB16/BGR16 video format upload support to glcolorconvert
+      * 738845 : audiomixer: critical error for blocksize, timeout min/max values
+      * 738848 : dash: README is out-of-date
+      * 738920 : dashdemux: allow seek to be performed if all streams are EOS
+      * 739284 : decklinksrc: add automatic mode detection and timeout property
+      * 739328 : GstGLMixer pass incorrect parameter to gst_gl_handle_set_context
+      * 739334 : GstGLVideoMixer input caps can not be dynamically changed
+      * 739385 : GstGLMixer link with  capsfilter  not-negotiated
+      * 739404 : mpegts: value stored is never used
+      * 739444 : glcolorconvert: fix comments that confuse gtk-doc
+      * 739542 : interaudiosrc: racy caps negotiation/fixation
+      * 739844 : examples: use snprintf instead of sprintf which is vulnerable
+      * 739846 : opencv-example: Use snprintf instead of sprintf
+      * 739906 : h264parser: fix documentation typo
+      * 739941 : gl: Correct invalid comment text
+      * 740009 : dashdemux: gst_dash_demux_download_wait causes abort for dynamic MPD
+      * 740012 : gl: support opengl3+ core contexts
+      * 740195 : mpg123: Handle setting caps if the srcpad is not linked yet, making it work with decodebin/playbin
+      * 740235 : glcontext: build errors when GST_GL_HAVE_OPENGL is 0
+      * 740305 : glimagesink: critical error while seeking using playback-test
+      * 740376 : aggregator: Serialized events are deserialized
+      * 740458 : hlsdemux: typefind might fail if first buffer is too short, causing the whole pipeline to abort
+      * 740530 : gstglapi.h:42:21: fatal error: EGL/egl.h: No such file or directory
+      * 740611 : gl: the gstglcontext_egl.h header is not installed
+      * 740616 : decklinksink: crash on recreation
+      * 740673 : codecparsers: some compiler warnings with apple-gcc42
+      * 740674 : mpegts: some compiler warnings with apple-gcc42
+      * 740744 : Caps negotiation between matroskademux and rtpopuspay fails
+      * 740757 : watchdog: Handle playback and seeking cases
+      * 740768 : videoaggregator: Expose vmethods to set converters and prepare frames
+      * 740801 : glcolorconvert: add RGB16/BGR16 video format download support
+      * 740815 : gstbasecamerasrc : fix typo
+      * 740867 : dashdemux not flushing stream on pipeline stop for live content
+      * 740891 : opusenc: replace " audio " property with new " audio-type " property
+      * 740945 : directshowdec: Port decoder plugin to 1.x
+      * 741086 : dshowsrcwrapper: Patch to fix comparison of null caps
+      * 741096 : hlssink: remove unnecessary title on EXTINF tag
+      * 741146 : aggregator: deadline based aggregation
+      * 741231 : glfilter: position/texcoord attrib index usage
+      * 741248 : dashdemux cannot switch representations in ISOBMFF OnDemand profile
+      * 741285 : dashdemux: gst_dash_demux_setup_streams fails to initialise the segment numbers for live streams
+      * 741322 : dashdemux: Change period when setting by period id.
+      * 741495 : tests/aggregator: Use correct type when setting property
+      * 741553 : curlsmtpsink: final boundary only added to last mail
+      * 741592 : inter: silence messages for flushed / created samples
+      * 741751 : mssdemux: pass correct type through vararg function to avoid potential crash
+      * 741943 : glimagesink (or intel_dri) memleak
+      * 742174 : vtenc_h264: potential deadlock upon EOS
+      * 742212 : h264parse: periodic SPS/PPS insertion stops after a seek backwards
+      * 742638 : mpegpsdemux: dead code
+      * 742684 : aggregator: Locking logic should be reviewed, cleaned up, and documented
+      * 742979 : adaptivedemux: Adaptive bitrate algorithm does not react fast enough to declining bitrate
+      * 743142 : glimagesink memleak
+      * 743155 : applemedia: new AVSampleBufferLayerSink
+      * 743174 : h264parse: expose stereo-high profile
+      * 743251 : POTFILES.in is out of date
+      * 743334 : videoaggregator crash when work with filesrc
+      * 743352 : po: update POTFILES.skip
+      * 743677 : gl: new element caopengllayersink
+      * 743907 : exclusion: crash with factor=0
+      * 743908 : simplevideomark: crash when launch with max property values
+      * 743914 : glimagesink: doesn't work on Raspberry Pi with EGLImages
+      * 744020 : Auto-disabling of Desktop OpenGL when it can't be used doesn't work
+      * 744096 : compositor, videoaggregator: ignores input timestamps if input buffers have no duration
+      * 744219 : camerabin examples: Memory leak in camerabin examples code
+      * 744246 : gl: Broken VideoAlignment handling?
+      * 744338 : opusdec: LATENCY query handling looks wrong
+      * 744362 : dashdemux: Add support for live stream seeking
+      * 744371 : simplevideomark: move offset calculations out of inner loops
+      * 744383 : directsoundsrc: volume and mute control
+      * 744386 : decklink: incorrect frame rate values for interlaced modes
+      * 744582 : dtls: Move Ericsson DTLS plugin to gst-plugins-bad
+      * 744585 : vtenc: Crash when going to background
+      * 744689 : hlssink: EXT-X-VERSION set to 6 while not using any features > 3
+      * 744778 : simplevideomarkdetect: move offset calculations out of inner loops
+      * 744839 : gl: Flickering when libav direct rendering doing playbin playback
+      * 744909 : opusenc: cbr and constrained-vbr are confusing
+      * 744977 : glvideomixer: severe memory leak
+      * 745054 : glimagesink: Segfault with webm/vp8 files that has odd height
+      * 745090 : android: Fix changing GL window handle
+      * 745105 : glimagesink: cosmetic cleanup
+      * 745109 : gloverlay: image is upside down
+      * 745161 : avfvideosrc: allow " capture-screen " mode to select which  screen to capture via the " device-index " option
+      * 745251 : glvideomixer: corrupt video frames
+      * 745409 : h264parse: broken output when caps change and stream-format=byte-stream
+      * 745455 : dashdemux: doesn't take the presentationTimeOffset into account.
+      * 745495 : dvbsuboverlay: Set query ALLOCATION need_pool to FALSE
+      * 745506 : mpegtsmux: duplicate code
+      * 745549 : glfilter: does not set new caps on its uploader
+      * 745633 : glimagesink: X11: Race where it creates an external window even if the XID was set
+      * 745705 : glfilter: GLBuffer pool may have two owners
+      * 745740 : camerabin: update zoom param spec if video source changes its max-zoom
+      * 745755 : pngparse prints too much info messages
+      * 745780 : gl: Accepts downloading in RGB with BT709 colorspace (wrong colors)
+      * 745875 : glcontext: remove unnecessary semicolon
+      * 745877 : y4mdec: remove unnecessary semicolon
+      * 745905 : hlsdemux: General Stream error due to bitrate change before last segment
+      * 745955 : gleffects: port all effects to GLES2
+      * 746032 : audiomixer: doesn't handle buffers with repeating pts properly (broken discont detection)
+      * 746147 : compositor: Don't convert or aggregate pads that are completely obscured by a higher zorder pad
+      * 746168 : [glshader] OSX crashes when trying to get vertex attribute without vertex shader
+      * 746173 : new glimagesink (as glimagesinkbin) cannot copy metadata
+      * 746209 : Merge glfiltersobel, glfilterblur and glfilterlaplacian into gleffects
+      * 746251 : android/egl: changing window handle breaks video playback
+      * 746347 : dashdemux: set defaultstartNumber and also avoid wrong overwrite
+      * 746356 : srtpenc: Improvement to avoid memory copy
+      * 746399 : glupload: get_caps vfunc incomplete
+      * 746541 : glimagesink memleak
+      * 746632 : dispmanx: surfaceless EGL context support broken
+      * 746803 : mxfdemux: fix segment- > delta_entries memory leak
+      * 746906 : hlssink: creates a single segment
+      * 747000 : multifilesink: doesn't post file message for last file
+      * 747038 : tsparse/tsdemux: incorrect timestamps on PMT change in mpeg TS stream
+      * 747124 : glbasefilter: avoid segfault when gl platform is not available
+      * 747126 : androidmedia: add support for more color formats
+      * 747220 : aggregator: Does not unlock sink pads on downstream error
+      * 747319 : hlssink: Doesn't write ENDLIST marker on EOS
+      * 747525 : dashdemux: playback failed when trying to play a content that has subtitles
+      * 747697 : Documentation fails to build because of mismatching libraries
+      * 747722 : winks: buffer is too late
+      * 747911 : glcolorconvertelement: GstGLColorConvert is leaked
+      * 747913 : glmixer: pass the proper free function to frames and buffers array
+      * 747915 : glmixer: fix caps leaks
+      * 747993 : videoaggregator: fix caps leak when early returning
+      * 748033 : gstglupload: Fix GstGLUpload leak
+      * 748037 : openh264enc: Add complexity property to configure speed / quality tradeoff
+      * 748110 : vtdec: fix build error with clang
+      * 748122 : applemedia: miscellaneous fixes
+      * 748128 : avfvideosrc: fix build failure with clang
+      * 748141 : videoconvert, glcolorconvert: keep colorimetry/chroma-site fields if passthrough
+      * 748287 : glmixer: Possible null pointer dereference
+      * 748369 : dashdemux: Excessive (96GB on 32-bit machines) memory usage on some dash streams
+      * 748371 : glupload: Release glupload buffer when caps are changed
+      * 748393 : gleffects_laplacian: error when testing the element
+      * 748405 : glimagesink: balance change_state bufferpool/other_context ref/unref
+      * 748407 : gltransformation: don't initialize multiple shaders on renegotiation
+      * 748412 : tsdemux: possible refcount bug in applying PMT
+      * 748425 : GL context on android has 16bits colors
+      * 748467 : vtenc: fix keyframe request race condition
+      * 748495 : libde265: No code to detect the number of CPUs on W32
+      * 748496 : libde265: Fails to build due to werrors about wrong format
+      * 748527 : mpegtspacketizer: Change return value in find_subtable
+      * 748529 : adaptivedemux: only update stream position if query success
+      * 748576 : tsdemux: fix tag list leak
+      * 748580 : mxf: fix leak in mxfmetadata
+      * 748585 : opus: don't use deprecated gst_buffer_new_and_alloc()
+      * 748588 : glvideomixer: segfaulting when inspecting
+      * 748594 : opus: fix includes and compilation against opus in non-standard prefix
+      * 748723 : dtlssrtpdec: Merges RTP and RTCP into the same stream
+      * 748867 : androidmedia: Fix slice-height for Tegra3 devices
+      * 748875 : opusparse: Generates caps with a rate=0
+      * 749218 : Decklink 4k 3184p50 has wrong name and uses wrong framerate
+      * 749237 : gltestsrc: Assert and failed with not-neg when not linked
+      * 749253 : h263parse: fix picture format parsing
+      * 749304 : srtpenc: fix over unlocking
+      * 749318 : dtlsenc: Memory leak
+      * 749322 : dtlsdec: Memory leak
+      * 749325 : dtlsconnection: Memory leak
+      * 749335 : glimagesink and videooverlay on windows
+      * 749380 : dtls[enc|dec]: Memory leak on keys
+      * 749411 : glcontext_egl should call eglTerminate to free resources for non EGL DISPLAY types
+      * 749430 : gltestsrc ! glimagesink crash on windows
+      * 749523 : cvsmooth: Wrong assignment of prop leads to crash
+      * 749525 : pyramidsegment: wrong value of level property
+      * 749534 : dashdemux: Some suspicious compiler warnings about checking if the unsigned segment index is smaller than 0
+      * 749634 : compositor: Strange behaviour mixing streams
+      * 749655 : vtdec: Require width and height field for H264
+      * 749684 : dashdemux: Segfault when playback starts after refactor for segments iteration
+      * 749691 : dashdemux: remove unnecessary semicolon
+      * 749728 : glimagesink doesn't work on nvidia OSX
+      * 749734 : black screen when using gltransformation
+      * 749809 : dashdemux: Incorrect example launch line in the dash demux description.
+      * 749815 : curlsink: handle socket callback for active FTP connections as well
+      * 749846 : gloverlay crash on missing file
+      * 750028 : hlsdemux: Search more when advancing fragment
+      * 750036 : dtls: wrong management of pads in releasing operation
+      * 750104 : rtmpsink: Do not crash when receiving buffers after GST_FLOW_ERROR
+      * 750143 : hlsdemux: Fix wrong gst-launch command in the description
+      * 750199 : glimagesink: crashes in gst_gl_window_x11_set_window_handle()
+      * 750252 : audiointerleave: Crash when channel-positions-from-input=1 and channel-positions unset
+      * 750279 : Copying glsyncmeta causes errors
+      * 750326 : srtp: Allow getting ssrc of more package types than RR and SR
+      * 750337 : [REGRESSION] glimagesink fails to initialize the shader
+      * 750348 : dtlsdec: 'Got data flow before stream-start event' warnings
+      * 750381 : ksvideosrc: buffers have no timestamp
+      * 747352 : applemedia: texture cache negotiation doesn't work
+      * 747936 : osxaudio: spelling fix
+      * 748054 : avfvideosrc: starting capture session too early, sending buffers with PTS=NONE
+      * 740900 : glbufferpool: Add support for GstVideoAlignement
+      * 732818 : dvbsrc: make slof/lof1/lof2 settable properties
+      * 746249 : aggregator: Add gap event support
+      * 747557 : zbar: Get an image along with the barcode
+      * 696135 : h264parse: Add mvc stream parsing support
 
 ==== Download ====
 
@@ -111,28 +429,136 @@
         
 Contributors to this release
     
+      * Aleix Conchillo Flaqué
       * Alessandro Decina
-      * Alexey Pavlov
+      * Alex Ashley
+      * Alexander Zallesov
+      * Andoni Morales Alastruey
+      * Anton Gritsay
+      * Anton Obzhirov
+      * Antonio Ospite
+      * Anuj Jaiswal
       * Arun Raghavan
+      * Aurélien Zanelli
+      * Belozorov Semen
+      * Benjamin Gaignard
+      * Blake Tregre
+      * Branislav Katreniak
+      * Branko Subasic
+      * Brendan Long
+      * Brion Vibber
+      * Carlos Rafael Giani
+      * Christoph Reiter
+      * Chun-wei Fan
+      * DanielD10
+      * Danny Song
+      * David Rothlisberger
+      * David Waring
+      * David Woodhouse
+      * Duncan Palmer
       * Edward Hervey
+      * Fabrice Bellet
+      * Felix Schwarz
+      * Florian Langlois
+      * Florian Zwoch
+      * Flávio Ribeiro
+      * George Kiagiadakis
+      * Guillaume Desmottes
+      * Guillaume Emont
+      * Guillaume Seguin
       * Gwenole Beauchesne
-      * Göran Jönsson
+      * Havard Graff
+      * Heinrich Fink
+      * Hyunjun Ko
+      * Ilya Averyanov
+      * Ilya Konstantinov
       * Jan Alexander Steffens (heftig)
       * Jan Schmidt
+      * Jerome Laheurte
+      * Jesper Larsen
+      * Jimmy Ohn
+      * Joachim Bauch
+      * Jose Antonio Santos Cadenas
+      * Josep Torra
+      * Joshua M. Doe
       * Julien Isorce
-      * Mart Raudsepp
+      * Jun Xie
+      * Jürgen Slowack
+      * L. Sorin
+      * Lasse Laursen
+      * Lihua Liu
+      * Lubosz Sarnecki
+      * Luis de Bethencourt
+      * Lyon Wang
+      * Mark Nauwelaerts
+      * Matej Knopp
       * Mathieu Duponchelle
+      * Matthew Bader
       * Matthew Waters
       * Matthieu Bouron
+      * Mersad Jelacic
+      * Michał Dębski
+      * Miguel París Díaz
+      * Mohammed Hassan
+      * Neos3452
+      * Nick Stoughton
+      * Nicola Murino
       * Nicolas Dufresne
-      * Philip Withnall
+      * Nirbheek Chauhan
+      * Ognyan Tonchev
+      * Oleksij Rempel
+      * Olivier Crete
+      * Olivier Crête
+      * Patricia Muscalu
+      * Patrik Oldsberg
+      * Philippe Normand
       * Piotr Drąg
+      * Raimo Järvi
+      * Rajat Verma
+      * Ramiro Polla
+      * Ramprakash Jelari
+      * Reynaldo H. Verdejo Pinochet
+      * Rob Clark
+      * Robert Jobbagy
+      * Robert Swain
+      * Roman Nowicki
+      * Sanjay NM
+      * Santiago Carot-Nemesio
       * Sebastian Dröge
       * Sebastian Rasmussen
-      * Stefan Ringel
+      * Song Bing
+      * Sreerenj Balachandran
+      * Stefan Sauer
+      * Sudip Jain
+      * Suhwang Kim
       * Thiago Santos
       * Thibault Saunier
+      * Thijs Vermeir
+      * Thomas Bluemel
+      * Thomas Klausner
+      * Tifaine Inguere
       * Tim-Philipp Müller
+      * Valentin PONS
+      * Vasilis Liaskovitis
+      * Victor Toso
+      * Vijay Jayaraman
+      * Vincent Abriou
       * Vincent Penquerc'h
+      * Vineeth T M
+      * Vineeth TM
+      * Vivia Nikolaidou
+      * Vootele Vesterblom
+      * Víctor Manuel Jáquez Leal
       * Wang Xin-yu (王昕宇)
+      * William Manley
+      * Wim Taymans
+      * Wonchul Lee
+      * Xavier Claessens
+      * Youness Alaoui
+      * Yujin Lee
+      * Zaheer Abbas Merali
+      * hoonhee.lee
+      * ijsf
+      * xixi
+      * Руслан Ижбулатов
  
\ No newline at end of file
diff --git a/configure.ac b/configure.ac
index 01c3ca5..3bbbaf7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@
 dnl initialize autoconf
 dnl when going to/from release please set the nano (fourth number) right !
 dnl releases only do Wall, cvs and prerelease does Werror too
-AC_INIT([GStreamer Bad Plug-ins],[1.5.0.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-bad])
+AC_INIT([GStreamer Bad Plug-ins],[1.5.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-bad])
 
 AG_GST_INIT
 
@@ -51,8 +51,8 @@
 AS_LIBTOOL(GST, 501, 0, 501)
 
 dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.5.0.1
-GSTPB_REQ=1.5.0.1
+GST_REQ=1.5.1
+GSTPB_REQ=1.5.1
 
 dnl *** autotools stuff ****
 
diff --git a/docs/plugins/gst-plugins-bad-plugins.args b/docs/plugins/gst-plugins-bad-plugins.args
index 82ccb51..6baf35e 100644
--- a/docs/plugins/gst-plugins-bad-plugins.args
+++ b/docs/plugins/gst-plugins-bad-plugins.args
@@ -22694,7 +22694,7 @@
 <RANGE>>= G_MAXULONG</RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>packet alignment</NICK>
-<BLURB>Number of packets per buffer (padded with dummy packets on EOS) (-1 = auto, 0 = all available packets).</BLURB>
+<BLURB>Number of packets per buffer (padded with dummy packets on EOS) (-1 = auto, 0 = all available packets, 7 for UDP streaming).</BLURB>
 <DEFAULT>-1</DEFAULT>
 </ARG>
 
@@ -46264,7 +46264,17 @@
 <RANGE></RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>Path to the control socket</NICK>
-<BLURB>The path to the control socket used to control the shared memory transport.</BLURB>
+<BLURB>The path to the control socket used to control the shared memory.</BLURB>
+<DEFAULT>NULL</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstShmSrc::shm-area-name</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>r</FLAGS>
+<NICK>Name of the shared memory area</NICK>
+<BLURB>The name of the shared memory area used to get buffers.</BLURB>
 <DEFAULT>NULL</DEFAULT>
 </ARG>
 
@@ -46461,7 +46471,7 @@
 <ARG>
 <NAME>GstExclusion::factor</NAME>
 <TYPE>guint</TYPE>
-<RANGE><= 175</RANGE>
+<RANGE>[1,175]</RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>Factor</NICK>
 <BLURB>Exclusion factor parameter.</BLURB>
@@ -47641,7 +47651,7 @@
 <ARG>
 <NAME>GstFieldAnalysis::block-width</NAME>
 <TYPE>guint64</TYPE>
-<RANGE></RANGE>
+<RANGE>>= 1</RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>Block width</NICK>
 <BLURB>Block width for windowed comb detection.</BLURB>
@@ -68010,3 +68020,263 @@
 <DEFAULT></DEFAULT>
 </ARG>
 
+<ARG>
+<NAME>GstAudioInterleave::channel-positions</NAME>
+<TYPE>GValueArray*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Channel positions</NICK>
+<BLURB>Channel positions used on the output.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstAudioInterleave::channel-positions-from-input</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Channel positions from input</NICK>
+<BLURB>Take channel positions from the input.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_xray::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_xpro::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_twirl::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_tunnel::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_stretch::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_squeeze::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_square::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_sobel::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_sobel::invert</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Invert the colors for sobel effect</NICK>
+<BLURB>Invert colors to get dark edges on bright background when using sobel effect.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_sin::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_sepia::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_mirror::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_lumaxpro::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_laplacian::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_laplacian::invert</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Invert the colors for sobel effect</NICK>
+<BLURB>Invert colors to get dark edges on bright background when using sobel effect.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_identity::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_heat::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_glow::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_fisheye::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_bulge::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>gleffects_blur::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstGLEffectsGeneric::effect</NAME>
+<TYPE>GstGLEffectsEffect</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Effect</NICK>
+<BLURB>Select which effect apply to GL video texture.</BLURB>
+<DEFAULT>Do nothing Effect</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstGLEffectsGeneric::hswap</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Horizontal Swap</NICK>
+<BLURB>Switch video texture left to right, useful with webcams.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstGLEffectsGeneric::invert</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Invert the colors for sobel effect</NICK>
+<BLURB>Invert colors to get dark edges on bright background when using sobel effect.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
diff --git a/docs/plugins/gst-plugins-bad-plugins.hierarchy b/docs/plugins/gst-plugins-bad-plugins.hierarchy
index 90776fc..e61a754 100644
--- a/docs/plugins/gst-plugins-bad-plugins.hierarchy
+++ b/docs/plugins/gst-plugins-bad-plugins.hierarchy
@@ -3,11 +3,8 @@
     GstObject
       GstAllocator
         GstAllocatorSysmem
-        GstVdpVideoAllocator
         GstWlShmAllocator
       GstAudioRingBuffer
-        GstAudioSinkRingBuffer
-        GstAudioSrcRingBuffer
       GstBus
       GstClock
         GstSystemClock
@@ -16,12 +13,15 @@
       GstControlSource
       GstElement
         GstAggregator
-          GstAudioMixer
+          GstAudioAggregator
+            GstAudioInterleave
+            GstAudioMixer
           GstVideoAggregator
             GstCompositor
             GstGLBaseMixer
               GstGLMixer
                 GstGLMosaic
+                GstGLVideoMixer
         GstAiffMux
         GstAiffParse
         GstAsfMux
@@ -32,15 +32,10 @@
           GstFaad
           GstGSMDec
           GstMpg123AudioDec
-          GstOpusDec
-          GstSbcDec
           GstSirenDec
         GstAudioEncoder
           ADPCMEnc
-          GstFaac
           GstGSMEnc
-          GstOpusEnc
-          GstSbcEnc
           GstSirenEnc
           GstVoAacEnc
           GstVoAmrWbEnc
@@ -60,20 +55,14 @@
           GstJpegParse
           GstMpeg4VParse
           GstMpegvParse
-          GstOpusParse
           GstPngParse
           GstVC1Parse
         GstBaseSink
           GstAudioBaseSink
-            GstAudioSink
-              GstOpenALSink
             GstDecklinkAudioSink
-          GstAvdtpSink
           GstChecksumSink
           GstCurlBaseSink
             GstCurlFileSink
-            GstCurlSshSink
-              GstCurlSftpSink
             GstCurlTlsSink
               GstCurlFtpSink
               GstCurlHttpSink
@@ -82,13 +71,13 @@
           GstInterAudioSink
           GstInterSubSink
           GstInterVideoSink
-          GstRTMPSink
           GstShmSink
           GstVideoSink
+            GstDfbVideoSink
             GstFBDEVSink
+            GstGLImageSink
             GstWaylandSink
         GstBaseSrc
-          GstAvdtpSrc
           GstDataURISrc
           GstFliteTestSrc
           GstInterAudioSrc
@@ -98,16 +87,11 @@
             ladspasrc-noise-so-noise-white
             ladspasrc-sine-so-sine-fcac
           GstPushSrc
-            GstAudioBaseSrc
-              GstAudioSrc
-                GstOpenalSrc
             GstDecklinkAudioSrc
             GstDecklinkVideoSrc
             GstDvbSrc
             GstGLTestSrc
             GstMMS
-            GstNeonhttpSrc
-            GstRTMPSrc
             GstRfbSrc
             GstShmSrc
             GstVCDSrc
@@ -115,7 +99,6 @@
           GstAudioFilter
             GstAccurip
             GstAudioChannelMix
-            GstBPMDetect
             GstChromaprint
             GstLADSPAFilter
               ladspa-amp-so-amp-mono
@@ -139,13 +122,30 @@
               GstGLDeinterlace
               GstGLDifferenceMatte
               GstGLEffects
+                GstGLEffectsGeneric
+                gleffects_blur
+                gleffects_bulge
+                gleffects_fisheye
+                gleffects_glow
+                gleffects_heat
+                gleffects_identity
+                gleffects_laplacian
+                gleffects_lumaxpro
+                gleffects_mirror
+                gleffects_sepia
+                gleffects_sin
+                gleffects_sobel
+                gleffects_square
+                gleffects_squeeze
+                gleffects_stretch
+                gleffects_tunnel
+                gleffects_twirl
+                gleffects_xpro
+                gleffects_xray
               GstGLFilterApp
-              GstGLFilterBlur
               GstGLFilterCube
               GstGLFilterGlass
-              GstGLFilterLaplacian
               GstGLFilterShader
-              GstGLFilterSobel
               GstGLOverlay
             GstGLUploadElement
           GstIvtc
@@ -179,23 +179,7 @@
               GstPerspective
               GstRotate
               GstSquare
-            GstGrabcut
-            GstOpencvVideoFilter
-              GstCvDilateErode
-                GstCvDilate
-                GstCvErode
-              GstCvEqualizeHist
-              GstCvLaplace
-              GstCvSmooth
-              GstCvSobel
-              GstFaceBlur
-              GstFaceDetect
-              GstHanddetect
-              GstSkinDetect
-            GstRetinex
-            GstRsvgOverlay
             GstSceneChange
-            GstSegmentation
             GstSimpleVideoMark
             GstSimpleVideoMarkDetect
             GstSmooth
@@ -207,11 +191,8 @@
           GstYadif
         GstBin
           DvbBaseBin
-          GstA2dpSink
           GstAdaptiveDemux
             GstDashDemux
-            GstHLSDemux
-            GstMssDemux
           GstAutoConvert
           GstAutoVideoConvert
           GstBaseCameraSrc
@@ -224,7 +205,6 @@
           GstGLSinkBin
             GstGLImageSinkBin
           GstGLSrcBin
-          GstHlsSink
           GstPipeline
             GstCameraBin
           GstSDPDemux
@@ -236,14 +216,11 @@
         GstCompare
         GstDVBSubOverlay
         GstDVDSpu
-        GstDisparity
-        GstEdgeDetect
         GstFestival
         GstFieldAnalysis
         GstFluidDec
         GstGDPDepay
         GstGDPPay
-        GstGmeDec
         GstInterlace
         GstJP2kDecimator
         GstJifMux
@@ -257,58 +234,36 @@
         GstMimDec
         GstMimEnc
         GstModPlug
-        GstMotioncells
-        GstMpeg2enc
         GstMpegPSDemux
         GstMplex
-        GstOpencvTextOverlay
         GstPcapParse
-        GstPitch
-        GstPyramidSegment
         GstRTPBaseDepayload
-          GstRTPOpusDepay
           GstRtpH265Depay
         GstRTPBasePayload
           GstRtpAsfPay
           GstRtpH265Pay
-          GstRtpOPUSPay
         GstRawParse
           GstAudioParse
           GstVideoParse
         GstRtpOnvifParse
         GstRtpOnvifTimestamp
-        GstSFDec
         GstSegmentClip
           GstAudioSegmentClip
           GstVideoSegmentClip
         GstSpeed
         GstSrtEnc
-        GstSrtpDec
-        GstSrtpEnc
         GstTagMux
           GstId3Mux
-        GstTemplateMatch
         GstUvcH264MjpgDemux
         GstVideoDecoder
           GstLibde265Dec
-          GstOpenEXRDec
-          GstOpenJPEGDec
           GstOpenh264Dec
           GstPnmdec
-          GstRsvgDec
-          GstSchroDec
           GstVMncDec
-          GstVdpDecoder
-            GstVdpMpegDec
-          GstWebPDec
         GstVideoEncoder
-          GstOpenJPEGEnc
           GstOpenh264Enc
           GstPnmenc
-          GstSchroEnc
-          GstWebpEnc
         GstWebvttEnc
-        GstWildmidi
         GstY4mDec
         MpegPsMux
         MpegTSBase
@@ -318,11 +273,14 @@
       GstGLContext
       GstPad
         GstAggregatorPad
-          GstAudioMixerPad
+          GstAudioAggregatorPad
+            GstAudioInterleavePad
+            GstAudioMixerPad
           GstVideoAggregatorPad
             GstCompositorPad
             GstGLBaseMixerPad
               GstGLMixerPad
+                GstGLVideoMixerPad
       GstPadTemplate
       GstPlugin
       GstPluginFeature
@@ -332,8 +290,8 @@
       GstRegistry
       GstTask
       GstTaskPool
+  GstColorBalanceChannel
   GstEncodingProfile
-  GstVdpDevice
   MXFMetadataBase
     MXFDescriptiveMetadata
       MXFDMS1
@@ -410,6 +368,7 @@
 GInterface
   GTypePlugin
   GstChildProxy
+  GstColorBalance
   GstNavigation
   GstPreset
   GstTagSetter
diff --git a/docs/plugins/gst-plugins-bad-plugins.interfaces b/docs/plugins/gst-plugins-bad-plugins.interfaces
index b2425c6..ca961ce 100644
--- a/docs/plugins/gst-plugins-bad-plugins.interfaces
+++ b/docs/plugins/gst-plugins-bad-plugins.interfaces
@@ -6,6 +6,7 @@
 GstApExSink GstImplementsInterface GstMixer
 GstAsfMux GstTagSetter
 GstAudioEncoder GstPreset
+GstAudioInterleave GstChildProxy
 GstAudioMixer GstChildProxy
 GstAutoConvert GstChildProxy
 GstAutoVideoConvert GstChildProxy
diff --git a/docs/plugins/gst-plugins-bad-plugins.signals b/docs/plugins/gst-plugins-bad-plugins.signals
index 7c57afa..24d27ab 100644
--- a/docs/plugins/gst-plugins-bad-plugins.signals
+++ b/docs/plugins/gst-plugins-bad-plugins.signals
@@ -659,9 +659,7 @@
 <FLAGS>l</FLAGS>
 GstGLImageSink *gstglimagesink
 GstGLContext *arg1
-guint  arg2
-guint  arg3
-guint  arg4
+GstSample *arg2
 </SIGNAL>
 
 <SIGNAL>
@@ -711,9 +709,7 @@
 <FLAGS>l</FLAGS>
 GstGLImageSinkBin *gstglimagesinkbin
 GstGLContext *arg1
-guint  arg2
-guint  arg3
-guint  arg4
+GstSample *arg2
 </SIGNAL>
 
 <SIGNAL>
diff --git a/docs/plugins/inspect/plugin-accurip.xml b/docs/plugins/inspect/plugin-accurip.xml
index d99c398..f136b19 100644
--- a/docs/plugins/inspect/plugin-accurip.xml
+++ b/docs/plugins/inspect/plugin-accurip.xml
@@ -3,10 +3,10 @@
   <description>Computes an AccurateRip CRC</description>
   <filename>../../gst/accurip/.libs/libgstaccurip.so</filename>
   <basename>libgstaccurip.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-adpcmdec.xml b/docs/plugins/inspect/plugin-adpcmdec.xml
index a6c6d31..f325024 100644
--- a/docs/plugins/inspect/plugin-adpcmdec.xml
+++ b/docs/plugins/inspect/plugin-adpcmdec.xml
@@ -3,10 +3,10 @@
   <description>ADPCM decoder</description>
   <filename>../../gst/adpcmdec/.libs/libgstadpcmdec.so</filename>
   <basename>libgstadpcmdec.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-adpcmenc.xml b/docs/plugins/inspect/plugin-adpcmenc.xml
index d78aee2..02b6ba1 100644
--- a/docs/plugins/inspect/plugin-adpcmenc.xml
+++ b/docs/plugins/inspect/plugin-adpcmenc.xml
@@ -3,10 +3,10 @@
   <description>ADPCM encoder</description>
   <filename>../../gst/adpcmenc/.libs/libgstadpcmenc.so</filename>
   <basename>libgstadpcmenc.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-aiff.xml b/docs/plugins/inspect/plugin-aiff.xml
index 82523a1..5625413 100644
--- a/docs/plugins/inspect/plugin-aiff.xml
+++ b/docs/plugins/inspect/plugin-aiff.xml
@@ -3,10 +3,10 @@
   <description>Create and parse Audio Interchange File Format (AIFF) files</description>
   <filename>../../gst/aiff/.libs/libgstaiff.so</filename>
   <basename>libgstaiff.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-asfmux.xml b/docs/plugins/inspect/plugin-asfmux.xml
index 2ecfd4a..0b9c401 100644
--- a/docs/plugins/inspect/plugin-asfmux.xml
+++ b/docs/plugins/inspect/plugin-asfmux.xml
@@ -3,10 +3,10 @@
   <description>ASF Muxer Plugin</description>
   <filename>../../gst/asfmux/.libs/libgstasfmux.so</filename>
   <basename>libgstasfmux.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-assrender.xml b/docs/plugins/inspect/plugin-assrender.xml
index 539d4ef..10e8f4b 100644
--- a/docs/plugins/inspect/plugin-assrender.xml
+++ b/docs/plugins/inspect/plugin-assrender.xml
@@ -3,10 +3,10 @@
   <description>ASS/SSA subtitle renderer</description>
   <filename>../../ext/assrender/.libs/libgstassrender.so</filename>
   <basename>libgstassrender.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
@@ -26,13 +26,13 @@
           <name>video_sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-audiomixer.xml b/docs/plugins/inspect/plugin-audiomixer.xml
index bd441d2..531fe7d 100644
--- a/docs/plugins/inspect/plugin-audiomixer.xml
+++ b/docs/plugins/inspect/plugin-audiomixer.xml
@@ -3,13 +3,34 @@
   <description>Mixes multiple audio streams</description>
   <filename>../../gst/audiomixer/.libs/libgstaudiomixer.so</filename>
   <basename>libgstaudiomixer.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
+      <name>audiointerleave</name>
+      <longname>AudioInterleave</longname>
+      <class>Generic/Audio</class>
+      <description>Mixes multiple audio streams</description>
+      <author>Olivier Crete &lt;olivier.crete@collabora.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink_%u</name>
+          <direction>sink</direction>
+          <presence>request</presence>
+          <details>audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)1, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, layout=(string){ non-interleaved, interleaved }</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, layout=(string)interleaved</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
       <name>audiomixer</name>
       <longname>AudioMixer</longname>
       <class>Generic/Audio</class>
diff --git a/docs/plugins/inspect/plugin-audiovisualizers.xml b/docs/plugins/inspect/plugin-audiovisualizers.xml
index 694b7da..a3e986e 100644
--- a/docs/plugins/inspect/plugin-audiovisualizers.xml
+++ b/docs/plugins/inspect/plugin-audiovisualizers.xml
@@ -3,10 +3,10 @@
   <description>Creates video visualizations of audio input</description>
   <filename>../../gst/audiovisualizers/.libs/libgstaudiovisualizers.so</filename>
   <basename>libgstaudiovisualizers.so</basename>
-  <version>1.5.0.1</version>
-  <license>GPL</license>
+  <version>1.5.1</version>
+  <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-autoconvert.xml b/docs/plugins/inspect/plugin-autoconvert.xml
index b2d3ff2..9dd08dc 100644
--- a/docs/plugins/inspect/plugin-autoconvert.xml
+++ b/docs/plugins/inspect/plugin-autoconvert.xml
@@ -3,10 +3,10 @@
   <description>Selects convertor element based on caps</description>
   <filename>../../gst/autoconvert/.libs/libgstautoconvert.so</filename>
   <basename>libgstautoconvert.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-bayer.xml b/docs/plugins/inspect/plugin-bayer.xml
index 1ca3144..51cc289 100644
--- a/docs/plugins/inspect/plugin-bayer.xml
+++ b/docs/plugins/inspect/plugin-bayer.xml
@@ -3,10 +3,10 @@
   <description>Elements to convert Bayer images</description>
   <filename>../../gst/bayer/.libs/libgstbayer.so</filename>
   <basename>libgstbayer.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-bz2.xml b/docs/plugins/inspect/plugin-bz2.xml
index c82731b..9f5c02a 100644
--- a/docs/plugins/inspect/plugin-bz2.xml
+++ b/docs/plugins/inspect/plugin-bz2.xml
@@ -3,10 +3,10 @@
   <description>Compress or decompress streams</description>
   <filename>../../ext/bz2/.libs/libgstbz2.so</filename>
   <basename>libgstbz2.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-camerabin.xml b/docs/plugins/inspect/plugin-camerabin.xml
index 67cdf51..d80733e 100644
--- a/docs/plugins/inspect/plugin-camerabin.xml
+++ b/docs/plugins/inspect/plugin-camerabin.xml
@@ -3,10 +3,10 @@
   <description>Take image snapshots and record movies from camera</description>
   <filename>../../gst/camerabin2/.libs/libgstcamerabin2.so</filename>
   <basename>libgstcamerabin2.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-chromaprint.xml b/docs/plugins/inspect/plugin-chromaprint.xml
index 433eecd..897ee57 100644
--- a/docs/plugins/inspect/plugin-chromaprint.xml
+++ b/docs/plugins/inspect/plugin-chromaprint.xml
@@ -3,10 +3,10 @@
   <description>Calculate Chromaprint fingerprint from audio files</description>
   <filename>../../ext/chromaprint/.libs/libgstchromaprint.so</filename>
   <basename>libgstchromaprint.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-coloreffects.xml b/docs/plugins/inspect/plugin-coloreffects.xml
index 748eb8f..a72d992 100644
--- a/docs/plugins/inspect/plugin-coloreffects.xml
+++ b/docs/plugins/inspect/plugin-coloreffects.xml
@@ -3,10 +3,10 @@
   <description>Color Look-up Table filters</description>
   <filename>../../gst/coloreffects/.libs/libgstcoloreffects.so</filename>
   <basename>libgstcoloreffects.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-curl.xml b/docs/plugins/inspect/plugin-curl.xml
index fe81dd0..165b45a 100644
--- a/docs/plugins/inspect/plugin-curl.xml
+++ b/docs/plugins/inspect/plugin-curl.xml
@@ -3,10 +3,10 @@
   <description>libcurl-based elements</description>
   <filename>../../ext/curl/.libs/libgstcurl.so</filename>
   <basename>libgstcurl.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
@@ -55,21 +55,6 @@
       </pads>
     </element>
     <element>
-      <name>curlsftpsink</name>
-      <longname>Curl sftp sink</longname>
-      <class>Sink/Network</class>
-      <description>Upload data over the SFTP protocol using libcurl</description>
-      <author>Sorin L. &lt;sorin@axis.com&gt;</author>
-      <pads>
-        <caps>
-          <name>sink</name>
-          <direction>sink</direction>
-          <presence>always</presence>
-          <details>ANY</details>
-        </caps>
-      </pads>
-    </element>
-    <element>
       <name>curlsmtpsink</name>
       <longname>Curl smtp sink</longname>
       <class>Sink/Network</class>
diff --git a/docs/plugins/inspect/plugin-dataurisrc.xml b/docs/plugins/inspect/plugin-dataurisrc.xml
index 29001d6..725dd8e 100644
--- a/docs/plugins/inspect/plugin-dataurisrc.xml
+++ b/docs/plugins/inspect/plugin-dataurisrc.xml
@@ -3,10 +3,10 @@
   <description>data: URI source</description>
   <filename>../../gst/dataurisrc/.libs/libgstdataurisrc.so</filename>
   <basename>libgstdataurisrc.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-debugutilsbad.xml b/docs/plugins/inspect/plugin-debugutilsbad.xml
index 39f5d38..b951358 100644
--- a/docs/plugins/inspect/plugin-debugutilsbad.xml
+++ b/docs/plugins/inspect/plugin-debugutilsbad.xml
@@ -3,10 +3,10 @@
   <description>Collection of elements that may or may not be useful for debugging</description>
   <filename>../../gst/debugutils/.libs/libgstdebugutilsbad.so</filename>
   <basename>libgstdebugutilsbad.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-dtsdec.xml b/docs/plugins/inspect/plugin-dtsdec.xml
index a5147bb..9b84566 100644
--- a/docs/plugins/inspect/plugin-dtsdec.xml
+++ b/docs/plugins/inspect/plugin-dtsdec.xml
@@ -3,10 +3,10 @@
   <description>Decodes DTS audio streams</description>
   <filename>../../ext/dts/.libs/libgstdtsdec.so</filename>
   <basename>libgstdtsdec.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>GPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-dvb.xml b/docs/plugins/inspect/plugin-dvb.xml
index d015b6f..c862cbb 100644
--- a/docs/plugins/inspect/plugin-dvb.xml
+++ b/docs/plugins/inspect/plugin-dvb.xml
@@ -3,10 +3,10 @@
   <description>DVB elements</description>
   <filename>../../sys/dvb/.libs/libgstdvb.so</filename>
   <basename>libgstdvb.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-dvbsuboverlay.xml b/docs/plugins/inspect/plugin-dvbsuboverlay.xml
index 5046c1b..151223b 100644
--- a/docs/plugins/inspect/plugin-dvbsuboverlay.xml
+++ b/docs/plugins/inspect/plugin-dvbsuboverlay.xml
@@ -3,10 +3,10 @@
   <description>DVB subtitle renderer</description>
   <filename>../../gst/dvbsuboverlay/.libs/libgstdvbsuboverlay.so</filename>
   <basename>libgstdvbsuboverlay.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
@@ -26,13 +26,13 @@
           <name>video_sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-dvdspu.xml b/docs/plugins/inspect/plugin-dvdspu.xml
index 61b9317..51956d2 100644
--- a/docs/plugins/inspect/plugin-dvdspu.xml
+++ b/docs/plugins/inspect/plugin-dvdspu.xml
@@ -3,10 +3,10 @@
   <description>DVD Sub-picture Overlay element</description>
   <filename>../../gst/dvdspu/.libs/libgstdvdspu.so</filename>
   <basename>libgstdvdspu.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-faad.xml b/docs/plugins/inspect/plugin-faad.xml
index 2bf8963..6d46a88 100644
--- a/docs/plugins/inspect/plugin-faad.xml
+++ b/docs/plugins/inspect/plugin-faad.xml
@@ -3,10 +3,10 @@
   <description>Free AAC Decoder (FAAD)</description>
   <filename>../../ext/faad/.libs/libgstfaad.so</filename>
   <basename>libgstfaad.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>GPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-festival.xml b/docs/plugins/inspect/plugin-festival.xml
index d63ce62..c6bb388 100644
--- a/docs/plugins/inspect/plugin-festival.xml
+++ b/docs/plugins/inspect/plugin-festival.xml
@@ -3,10 +3,10 @@
   <description>Synthesizes plain text into audio</description>
   <filename>../../gst/festival/.libs/libgstfestival.so</filename>
   <basename>libgstfestival.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-fieldanalysis.xml b/docs/plugins/inspect/plugin-fieldanalysis.xml
index 60c8aff..2103262 100644
--- a/docs/plugins/inspect/plugin-fieldanalysis.xml
+++ b/docs/plugins/inspect/plugin-fieldanalysis.xml
@@ -3,7 +3,7 @@
   <description>Video field analysis</description>
   <filename>../../gst/fieldanalysis/.libs/libgstfieldanalysis.so</filename>
   <basename>libgstfieldanalysis.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer</package>
diff --git a/docs/plugins/inspect/plugin-flite.xml b/docs/plugins/inspect/plugin-flite.xml
index aa2a90c..c3877d5 100644
--- a/docs/plugins/inspect/plugin-flite.xml
+++ b/docs/plugins/inspect/plugin-flite.xml
@@ -3,10 +3,10 @@
   <description>Flite speech synthesizer plugin</description>
   <filename>../../ext/flite/.libs/libgstflite.so</filename>
   <basename>libgstflite.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-frei0r.xml b/docs/plugins/inspect/plugin-frei0r.xml
index 22d7262..5056432 100644
--- a/docs/plugins/inspect/plugin-frei0r.xml
+++ b/docs/plugins/inspect/plugin-frei0r.xml
@@ -3,10 +3,10 @@
   <description>frei0r plugin library</description>
   <filename>../../gst/frei0r/.libs/libgstfrei0r.so</filename>
   <basename>libgstfrei0r.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
   </elements>
diff --git a/docs/plugins/inspect/plugin-gaudieffects.xml b/docs/plugins/inspect/plugin-gaudieffects.xml
index 465a76d..c89e2f6 100644
--- a/docs/plugins/inspect/plugin-gaudieffects.xml
+++ b/docs/plugins/inspect/plugin-gaudieffects.xml
@@ -3,7 +3,7 @@
   <description>Gaudi video effects.</description>
   <filename>../../gst/gaudieffects/.libs/libgstgaudieffects.so</filename>
   <basename>libgstgaudieffects.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer</package>
diff --git a/docs/plugins/inspect/plugin-gdp.xml b/docs/plugins/inspect/plugin-gdp.xml
index 6cbcccf..ab07c31 100644
--- a/docs/plugins/inspect/plugin-gdp.xml
+++ b/docs/plugins/inspect/plugin-gdp.xml
@@ -3,10 +3,10 @@
   <description>Payload/depayload GDP packets</description>
   <filename>../../gst/gdp/.libs/libgstgdp.so</filename>
   <basename>libgstgdp.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-geometrictransform.xml b/docs/plugins/inspect/plugin-geometrictransform.xml
index b667910..e22caae 100644
--- a/docs/plugins/inspect/plugin-geometrictransform.xml
+++ b/docs/plugins/inspect/plugin-geometrictransform.xml
@@ -3,10 +3,10 @@
   <description>Various geometric image transform elements</description>
   <filename>../../gst/geometrictransform/.libs/libgstgeometrictransform.so</filename>
   <basename>libgstgeometrictransform.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-gsm.xml b/docs/plugins/inspect/plugin-gsm.xml
index 4e3f9dc..32a8dd2 100644
--- a/docs/plugins/inspect/plugin-gsm.xml
+++ b/docs/plugins/inspect/plugin-gsm.xml
@@ -3,10 +3,10 @@
   <description>GSM encoder/decoder</description>
   <filename>../../ext/gsm/.libs/libgstgsm.so</filename>
   <basename>libgstgsm.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-gstsiren.xml b/docs/plugins/inspect/plugin-gstsiren.xml
index 9a4866f..22f04a4 100644
--- a/docs/plugins/inspect/plugin-gstsiren.xml
+++ b/docs/plugins/inspect/plugin-gstsiren.xml
@@ -3,10 +3,10 @@
   <description>Siren encoder/decoder/payloader/depayloader plugins</description>
   <filename>../../gst/siren/.libs/libgstsiren.so</filename>
   <basename>libgstsiren.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-id3tag.xml b/docs/plugins/inspect/plugin-id3tag.xml
index 4f8b2c2..06afc08 100644
--- a/docs/plugins/inspect/plugin-id3tag.xml
+++ b/docs/plugins/inspect/plugin-id3tag.xml
@@ -3,10 +3,10 @@
   <description>ID3 v1 and v2 muxing plugin</description>
   <filename>../../gst/id3tag/.libs/libgstid3tag.so</filename>
   <basename>libgstid3tag.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-inter.xml b/docs/plugins/inspect/plugin-inter.xml
index dcd55e3..ce7551f 100644
--- a/docs/plugins/inspect/plugin-inter.xml
+++ b/docs/plugins/inspect/plugin-inter.xml
@@ -3,7 +3,7 @@
   <description>plugin for inter-pipeline communication</description>
   <filename>../../gst/inter/.libs/libgstinter.so</filename>
   <basename>libgstinter.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins</package>
@@ -80,7 +80,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
@@ -95,7 +95,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-interlace.xml b/docs/plugins/inspect/plugin-interlace.xml
index 19c0813..76b65af 100644
--- a/docs/plugins/inspect/plugin-interlace.xml
+++ b/docs/plugins/inspect/plugin-interlace.xml
@@ -3,10 +3,10 @@
   <description>Create an interlaced video stream</description>
   <filename>../../gst/interlace/.libs/libgstinterlace.so</filename>
   <basename>libgstinterlace.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-jpegformat.xml b/docs/plugins/inspect/plugin-jpegformat.xml
index 421fe36..d214e37 100644
--- a/docs/plugins/inspect/plugin-jpegformat.xml
+++ b/docs/plugins/inspect/plugin-jpegformat.xml
@@ -3,10 +3,10 @@
   <description>JPEG interchange format plugin</description>
   <filename>../../gst/jpegformat/.libs/libgstjpegformat.so</filename>
   <basename>libgstjpegformat.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-liveadder.xml b/docs/plugins/inspect/plugin-liveadder.xml
index 1d5b834..0d0a873 100644
--- a/docs/plugins/inspect/plugin-liveadder.xml
+++ b/docs/plugins/inspect/plugin-liveadder.xml
@@ -3,10 +3,10 @@
   <description>Adds multiple live discontinuous streams</description>
   <filename>../../gst/liveadder/.libs/libgstliveadder.so</filename>
   <basename>libgstliveadder.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-mimic.xml b/docs/plugins/inspect/plugin-mimic.xml
index af26cc0..cb22a0c 100644
--- a/docs/plugins/inspect/plugin-mimic.xml
+++ b/docs/plugins/inspect/plugin-mimic.xml
@@ -3,10 +3,10 @@
   <description>Mimic codec</description>
   <filename>../../ext/mimic/.libs/libgstmimic.so</filename>
   <basename>libgstmimic.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-mms.xml b/docs/plugins/inspect/plugin-mms.xml
index 27380a6..382f3f7 100644
--- a/docs/plugins/inspect/plugin-mms.xml
+++ b/docs/plugins/inspect/plugin-mms.xml
@@ -3,10 +3,10 @@
   <description>Microsoft Multi Media Server streaming protocol support</description>
   <filename>../../ext/libmms/.libs/libgstmms.so</filename>
   <basename>libgstmms.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-modplug.xml b/docs/plugins/inspect/plugin-modplug.xml
index b6049c8..ee7c010 100644
--- a/docs/plugins/inspect/plugin-modplug.xml
+++ b/docs/plugins/inspect/plugin-modplug.xml
@@ -3,10 +3,10 @@
   <description>.MOD audio decoding</description>
   <filename>../../ext/modplug/.libs/libgstmodplug.so</filename>
   <basename>libgstmodplug.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-mpegpsdemux.xml b/docs/plugins/inspect/plugin-mpegpsdemux.xml
index d74dd78..627fe08 100644
--- a/docs/plugins/inspect/plugin-mpegpsdemux.xml
+++ b/docs/plugins/inspect/plugin-mpegpsdemux.xml
@@ -3,10 +3,10 @@
   <description>MPEG-PS demuxer</description>
   <filename>../../gst/mpegdemux/.libs/libgstmpegpsdemux.so</filename>
   <basename>libgstmpegpsdemux.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>unknown</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-mpegpsmux.xml b/docs/plugins/inspect/plugin-mpegpsmux.xml
index 9176573..157eb3e 100644
--- a/docs/plugins/inspect/plugin-mpegpsmux.xml
+++ b/docs/plugins/inspect/plugin-mpegpsmux.xml
@@ -3,10 +3,10 @@
   <description>MPEG-PS muxer</description>
   <filename>../../gst/mpegpsmux/.libs/libgstmpegpsmux.so</filename>
   <basename>libgstmpegpsmux.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-mpegtsdemux.xml b/docs/plugins/inspect/plugin-mpegtsdemux.xml
index 537be5f..bc4c068 100644
--- a/docs/plugins/inspect/plugin-mpegtsdemux.xml
+++ b/docs/plugins/inspect/plugin-mpegtsdemux.xml
@@ -3,10 +3,10 @@
   <description>MPEG TS demuxer</description>
   <filename>../../gst/mpegtsdemux/.libs/libgstmpegtsdemux.so</filename>
   <basename>libgstmpegtsdemux.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
@@ -45,7 +45,7 @@
           <name>video_%04x</name>
           <direction>source</direction>
           <presence>sometimes</presence>
-          <details>video/mpeg, mpegversion=(int){ 1, 2, 4 }, systemstream=(boolean)false; video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal; video/x-dirac; video/x-wmv, wmvversion=(int)3, format=(string)WVC1</details>
+          <details>video/mpeg, mpegversion=(int){ 1, 2, 4 }, systemstream=(boolean)false; video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal; video/x-dirac; video/x-cavs; video/x-wmv, wmvversion=(int)3, format=(string)WVC1</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-mpegtsmux.xml b/docs/plugins/inspect/plugin-mpegtsmux.xml
index 415814b..3303fe1 100644
--- a/docs/plugins/inspect/plugin-mpegtsmux.xml
+++ b/docs/plugins/inspect/plugin-mpegtsmux.xml
@@ -3,10 +3,10 @@
   <description>MPEG-TS muxer</description>
   <filename>../../gst/mpegtsmux/.libs/libgstmpegtsmux.so</filename>
   <basename>libgstmpegtsmux.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-mpg123.xml b/docs/plugins/inspect/plugin-mpg123.xml
index 4bee373..4535a34 100644
--- a/docs/plugins/inspect/plugin-mpg123.xml
+++ b/docs/plugins/inspect/plugin-mpg123.xml
@@ -3,10 +3,10 @@
   <description>mp3 decoding based on the mpg123 library</description>
   <filename>../../ext/mpg123/.libs/libgstmpg123.so</filename>
   <basename>libgstmpg123.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-mplex.xml b/docs/plugins/inspect/plugin-mplex.xml
index 860b034..91f2a36 100644
--- a/docs/plugins/inspect/plugin-mplex.xml
+++ b/docs/plugins/inspect/plugin-mplex.xml
@@ -3,10 +3,10 @@
   <description>High-quality MPEG/DVD/SVCD/VCD video/audio multiplexer</description>
   <filename>../../ext/mplex/.libs/libgstmplex.so</filename>
   <basename>libgstmplex.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>GPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-ofa.xml b/docs/plugins/inspect/plugin-ofa.xml
index 131a2ff..cbd7358 100644
--- a/docs/plugins/inspect/plugin-ofa.xml
+++ b/docs/plugins/inspect/plugin-ofa.xml
@@ -3,10 +3,10 @@
   <description>Calculate MusicIP fingerprint from audio files</description>
   <filename>../../ext/ofa/.libs/libgstofa.so</filename>
   <basename>libgstofa.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>GPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-pcapparse.xml b/docs/plugins/inspect/plugin-pcapparse.xml
index eda2665..6146d6f 100644
--- a/docs/plugins/inspect/plugin-pcapparse.xml
+++ b/docs/plugins/inspect/plugin-pcapparse.xml
@@ -3,7 +3,7 @@
   <description>Element parsing raw pcap streams</description>
   <filename>../../gst/pcapparse/.libs/libgstpcapparse.so</filename>
   <basename>libgstpcapparse.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer</package>
diff --git a/docs/plugins/inspect/plugin-pnm.xml b/docs/plugins/inspect/plugin-pnm.xml
index 2d0de81..1563188 100644
--- a/docs/plugins/inspect/plugin-pnm.xml
+++ b/docs/plugins/inspect/plugin-pnm.xml
@@ -3,10 +3,10 @@
   <description>PNM plugin</description>
   <filename>../../gst/pnm/.libs/libgstpnm.so</filename>
   <basename>libgstpnm.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-rawparse.xml b/docs/plugins/inspect/plugin-rawparse.xml
index 025fcc0..df1484e 100644
--- a/docs/plugins/inspect/plugin-rawparse.xml
+++ b/docs/plugins/inspect/plugin-rawparse.xml
@@ -3,10 +3,10 @@
   <description>Parses byte streams into raw frames</description>
   <filename>../../gst/rawparse/.libs/libgstrawparse.so</filename>
   <basename>libgstrawparse.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-removesilence.xml b/docs/plugins/inspect/plugin-removesilence.xml
index e68fcde..db5e7c7 100644
--- a/docs/plugins/inspect/plugin-removesilence.xml
+++ b/docs/plugins/inspect/plugin-removesilence.xml
@@ -3,10 +3,10 @@
   <description>Removes silence from an audio stream</description>
   <filename>../../gst/removesilence/.libs/libgstremovesilence.so</filename>
   <basename>libgstremovesilence.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-resindvd.xml b/docs/plugins/inspect/plugin-resindvd.xml
index 71f6a1a..74f0265 100644
--- a/docs/plugins/inspect/plugin-resindvd.xml
+++ b/docs/plugins/inspect/plugin-resindvd.xml
@@ -3,7 +3,7 @@
   <description>Resin DVD playback elements</description>
   <filename>../../ext/resindvd/.libs/libgstresindvd.so</filename>
   <basename>libgstresindvd.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>GPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer</package>
@@ -32,7 +32,7 @@
           <name>video</name>
           <direction>source</direction>
           <presence>sometimes</presence>
-          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-rfbsrc.xml b/docs/plugins/inspect/plugin-rfbsrc.xml
index b7ca012..dcf22ba 100644
--- a/docs/plugins/inspect/plugin-rfbsrc.xml
+++ b/docs/plugins/inspect/plugin-rfbsrc.xml
@@ -3,10 +3,10 @@
   <description>Connects to a VNC server and decodes RFB stream</description>
   <filename>../../gst/librfb/.libs/libgstrfbsrc.so</filename>
   <basename>libgstrfbsrc.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-sdp.xml b/docs/plugins/inspect/plugin-sdp.xml
index d66e6c1..c4899b2 100644
--- a/docs/plugins/inspect/plugin-sdp.xml
+++ b/docs/plugins/inspect/plugin-sdp.xml
@@ -3,10 +3,10 @@
   <description>configure streaming sessions using SDP</description>
   <filename>../../gst/sdp/.libs/libgstsdpelem.so</filename>
   <basename>libgstsdpelem.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-segmentclip.xml b/docs/plugins/inspect/plugin-segmentclip.xml
index 5a2c107..91ea58f 100644
--- a/docs/plugins/inspect/plugin-segmentclip.xml
+++ b/docs/plugins/inspect/plugin-segmentclip.xml
@@ -3,10 +3,10 @@
   <description>Segment clip elements</description>
   <filename>../../gst/segmentclip/.libs/libgstsegmentclip.so</filename>
   <basename>libgstsegmentclip.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-shm.xml b/docs/plugins/inspect/plugin-shm.xml
index d201322..8ae3a9c 100644
--- a/docs/plugins/inspect/plugin-shm.xml
+++ b/docs/plugins/inspect/plugin-shm.xml
@@ -3,10 +3,10 @@
   <description>shared memory sink source</description>
   <filename>../../sys/shm/.libs/libgstshm.so</filename>
   <basename>libgstshm.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-smooth.xml b/docs/plugins/inspect/plugin-smooth.xml
index 10dd3c0..9f5bab7 100644
--- a/docs/plugins/inspect/plugin-smooth.xml
+++ b/docs/plugins/inspect/plugin-smooth.xml
@@ -3,10 +3,10 @@
   <description>Apply a smooth filter to an image</description>
   <filename>../../gst/smooth/.libs/libgstsmooth.so</filename>
   <basename>libgstsmooth.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-speed.xml b/docs/plugins/inspect/plugin-speed.xml
index 62206f8..d211d5d 100644
--- a/docs/plugins/inspect/plugin-speed.xml
+++ b/docs/plugins/inspect/plugin-speed.xml
@@ -3,10 +3,10 @@
   <description>Set speed/pitch on audio/raw streams (resampler)</description>
   <filename>../../gst/speed/.libs/libgstspeed.so</filename>
   <basename>libgstspeed.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-subenc.xml b/docs/plugins/inspect/plugin-subenc.xml
index 8f32467..d9d2e7b 100644
--- a/docs/plugins/inspect/plugin-subenc.xml
+++ b/docs/plugins/inspect/plugin-subenc.xml
@@ -3,10 +3,10 @@
   <description>subtitle encoders</description>
   <filename>../../gst/subenc/.libs/libgstsubenc.so</filename>
   <basename>libgstsubenc.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-videoparsersbad.xml b/docs/plugins/inspect/plugin-videoparsersbad.xml
index 01fe187..312e73b 100644
--- a/docs/plugins/inspect/plugin-videoparsersbad.xml
+++ b/docs/plugins/inspect/plugin-videoparsersbad.xml
@@ -3,10 +3,10 @@
   <description>videoparsers</description>
   <filename>../../gst/videoparsers/.libs/libgstvideoparsersbad.so</filename>
   <basename>libgstvideoparsersbad.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-voaacenc.xml b/docs/plugins/inspect/plugin-voaacenc.xml
index bea79cb..8df783d 100644
--- a/docs/plugins/inspect/plugin-voaacenc.xml
+++ b/docs/plugins/inspect/plugin-voaacenc.xml
@@ -3,10 +3,10 @@
   <description>AAC audio encoder</description>
   <filename>../../ext/voaacenc/.libs/libgstvoaacenc.so</filename>
   <basename>libgstvoaacenc.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-voamrwbenc.xml b/docs/plugins/inspect/plugin-voamrwbenc.xml
index be490fc..ea4c216 100644
--- a/docs/plugins/inspect/plugin-voamrwbenc.xml
+++ b/docs/plugins/inspect/plugin-voamrwbenc.xml
@@ -3,10 +3,10 @@
   <description>Adaptive Multi-Rate Wide-Band Encoder</description>
   <filename>../../ext/voamrwbenc/.libs/libgstvoamrwbenc.so</filename>
   <basename>libgstvoamrwbenc.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>unknown</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-waylandsink.xml b/docs/plugins/inspect/plugin-waylandsink.xml
index 3b7cde6..f5b0b7a 100644
--- a/docs/plugins/inspect/plugin-waylandsink.xml
+++ b/docs/plugins/inspect/plugin-waylandsink.xml
@@ -3,10 +3,10 @@
   <description>Wayland Video Sink</description>
   <filename>../../ext/wayland/.libs/libgstwaylandsink.so</filename>
   <basename>libgstwaylandsink.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
diff --git a/docs/plugins/inspect/plugin-y4mdec.xml b/docs/plugins/inspect/plugin-y4mdec.xml
index d3ff2bf..5eb0ec2 100644
--- a/docs/plugins/inspect/plugin-y4mdec.xml
+++ b/docs/plugins/inspect/plugin-y4mdec.xml
@@ -3,7 +3,7 @@
   <description>Demuxes/decodes YUV4MPEG streams</description>
   <filename>../../gst/y4m/.libs/libgsty4mdec.so</filename>
   <basename>libgsty4mdec.so</basename>
-  <version>1.5.0.1</version>
+  <version>1.5.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins</package>
diff --git a/gst-plugins-bad.doap b/gst-plugins-bad.doap
index 75af4f3..c2d94aa 100644
--- a/gst-plugins-bad.doap
+++ b/gst-plugins-bad.doap
@@ -35,6 +35,16 @@
 
  <release>
   <Version>
+   <revision>1.5.1</revision>
+   <branch>1.5</branch>
+   <name></name>
+   <created>2015-06-07</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.5.1.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.4.0</revision>
    <branch>1.4</branch>
    <name></name>
diff --git a/gst/audiomixer/gstaudiomixerorc-dist.c b/gst/audiomixer/gstaudiomixerorc-dist.c
index 092a464..be377f7 100644
--- a/gst/audiomixer/gstaudiomixerorc-dist.c
+++ b/gst/audiomixer/gstaudiomixerorc-dist.c
@@ -1120,16 +1120,11 @@
   orc_int8 var35;
 #endif
   orc_int8 var36;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_int8 var37;
-#else
   orc_int8 var37;
-#endif
   orc_int8 var38;
-  orc_int8 var39;
+  orc_union16 var39;
   orc_union16 var40;
-  orc_union16 var41;
-  orc_int8 var42;
+  orc_int8 var41;
 
   ptr0 = (orc_int8 *) d1;
 
@@ -1137,24 +1132,22 @@
   var35 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
   /* 3: loadpb */
   var36 = p1;
-  /* 7: loadpb */
-  var37 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
     var34 = ptr0[i];
     /* 2: xorb */
-    var39 = var34 ^ var35;
+    var38 = var34 ^ var35;
     /* 4: mulsbw */
-    var40.i = var39 * var36;
+    var39.i = var38 * var36;
     /* 5: shrsw */
-    var41.i = var40.i >> 3;
+    var40.i = var39.i >> 3;
     /* 6: convssswb */
-    var42 = ORC_CLAMP_SB (var41.i);
-    /* 8: xorb */
-    var38 = var42 ^ var37;
-    /* 9: storeb */
-    ptr0[i] = var38;
+    var41 = ORC_CLAMP_SB (var40.i);
+    /* 7: xorb */
+    var37 = var41 ^ var35;
+    /* 8: storeb */
+    ptr0[i] = var37;
   }
 
 }
@@ -1173,16 +1166,11 @@
   orc_int8 var35;
 #endif
   orc_int8 var36;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_int8 var37;
-#else
   orc_int8 var37;
-#endif
   orc_int8 var38;
-  orc_int8 var39;
+  orc_union16 var39;
   orc_union16 var40;
-  orc_union16 var41;
-  orc_int8 var42;
+  orc_int8 var41;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
 
@@ -1190,24 +1178,22 @@
   var35 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
   /* 3: loadpb */
   var36 = ex->params[24];
-  /* 7: loadpb */
-  var37 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
     var34 = ptr0[i];
     /* 2: xorb */
-    var39 = var34 ^ var35;
+    var38 = var34 ^ var35;
     /* 4: mulsbw */
-    var40.i = var39 * var36;
+    var39.i = var38 * var36;
     /* 5: shrsw */
-    var41.i = var40.i >> 3;
+    var40.i = var39.i >> 3;
     /* 6: convssswb */
-    var42 = ORC_CLAMP_SB (var41.i);
-    /* 8: xorb */
-    var38 = var42 ^ var37;
-    /* 9: storeb */
-    ptr0[i] = var38;
+    var41 = ORC_CLAMP_SB (var40.i);
+    /* 7: xorb */
+    var37 = var41 ^ var35;
+    /* 8: storeb */
+    ptr0[i] = var37;
   }
 
 }
@@ -1229,7 +1215,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 24, 97, 117, 100, 105, 111, 109, 105, 120, 101, 114, 95, 111, 114,
         99, 95, 118, 111, 108, 117, 109, 101, 95, 117, 56, 11, 1, 1, 14, 1,
-        128, 0, 0, 0, 14, 4, 3, 0, 0, 0, 16, 1, 20, 2, 20, 1,
+        128, 0, 0, 0, 14, 2, 3, 0, 0, 0, 16, 1, 20, 2, 20, 1,
         68, 33, 0, 16, 174, 32, 33, 24, 94, 32, 32, 17, 159, 33, 32, 68,
         0, 33, 16, 2, 0,
       };
@@ -1241,7 +1227,7 @@
       orc_program_set_backup_function (p, _backup_audiomixer_orc_volume_u8);
       orc_program_add_destination (p, 1, "d1");
       orc_program_add_constant (p, 1, 0x00000080, "c1");
-      orc_program_add_constant (p, 4, 0x00000003, "c2");
+      orc_program_add_constant (p, 2, 0x00000003, "c2");
       orc_program_add_parameter (p, 1, "p1");
       orc_program_add_temporary (p, 2, "t1");
       orc_program_add_temporary (p, 1, "t2");
@@ -1294,18 +1280,13 @@
   orc_int8 var35;
 #endif
   orc_int8 var36;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_int8 var37;
-#else
   orc_int8 var37;
-#endif
   orc_int8 var38;
   orc_int8 var39;
-  orc_int8 var40;
+  orc_union16 var40;
   orc_union16 var41;
-  orc_union16 var42;
+  orc_int8 var42;
   orc_int8 var43;
-  orc_int8 var44;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_int8 *) s1;
@@ -1314,28 +1295,26 @@
   var35 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
   /* 3: loadpb */
   var36 = p1;
-  /* 7: loadpb */
-  var37 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
     var34 = ptr4[i];
     /* 2: xorb */
-    var40 = var34 ^ var35;
+    var39 = var34 ^ var35;
     /* 4: mulsbw */
-    var41.i = var40 * var36;
+    var40.i = var39 * var36;
     /* 5: shrsw */
-    var42.i = var41.i >> 3;
+    var41.i = var40.i >> 3;
     /* 6: convssswb */
-    var43 = ORC_CLAMP_SB (var42.i);
-    /* 8: xorb */
-    var44 = var43 ^ var37;
-    /* 9: loadb */
-    var38 = ptr0[i];
-    /* 10: addusb */
-    var39 = ORC_CLAMP_UB ((orc_uint8) var38 + (orc_uint8) var44);
-    /* 11: storeb */
-    ptr0[i] = var39;
+    var42 = ORC_CLAMP_SB (var41.i);
+    /* 7: xorb */
+    var43 = var42 ^ var35;
+    /* 8: loadb */
+    var37 = ptr0[i];
+    /* 9: addusb */
+    var38 = ORC_CLAMP_UB ((orc_uint8) var37 + (orc_uint8) var43);
+    /* 10: storeb */
+    ptr0[i] = var38;
   }
 
 }
@@ -1355,18 +1334,13 @@
   orc_int8 var35;
 #endif
   orc_int8 var36;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_int8 var37;
-#else
   orc_int8 var37;
-#endif
   orc_int8 var38;
   orc_int8 var39;
-  orc_int8 var40;
+  orc_union16 var40;
   orc_union16 var41;
-  orc_union16 var42;
+  orc_int8 var42;
   orc_int8 var43;
-  orc_int8 var44;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_int8 *) ex->arrays[4];
@@ -1375,28 +1349,26 @@
   var35 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
   /* 3: loadpb */
   var36 = ex->params[24];
-  /* 7: loadpb */
-  var37 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
     var34 = ptr4[i];
     /* 2: xorb */
-    var40 = var34 ^ var35;
+    var39 = var34 ^ var35;
     /* 4: mulsbw */
-    var41.i = var40 * var36;
+    var40.i = var39 * var36;
     /* 5: shrsw */
-    var42.i = var41.i >> 3;
+    var41.i = var40.i >> 3;
     /* 6: convssswb */
-    var43 = ORC_CLAMP_SB (var42.i);
-    /* 8: xorb */
-    var44 = var43 ^ var37;
-    /* 9: loadb */
-    var38 = ptr0[i];
-    /* 10: addusb */
-    var39 = ORC_CLAMP_UB ((orc_uint8) var38 + (orc_uint8) var44);
-    /* 11: storeb */
-    ptr0[i] = var39;
+    var42 = ORC_CLAMP_SB (var41.i);
+    /* 7: xorb */
+    var43 = var42 ^ var35;
+    /* 8: loadb */
+    var37 = ptr0[i];
+    /* 9: addusb */
+    var38 = ORC_CLAMP_UB ((orc_uint8) var37 + (orc_uint8) var43);
+    /* 10: storeb */
+    ptr0[i] = var38;
   }
 
 }
@@ -1419,7 +1391,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 28, 97, 117, 100, 105, 111, 109, 105, 120, 101, 114, 95, 111, 114,
         99, 95, 97, 100, 100, 95, 118, 111, 108, 117, 109, 101, 95, 117, 56, 11,
-        1, 1, 12, 1, 1, 14, 1, 128, 0, 0, 0, 14, 4, 3, 0, 0,
+        1, 1, 12, 1, 1, 14, 1, 128, 0, 0, 0, 14, 2, 3, 0, 0,
         0, 16, 1, 20, 2, 20, 1, 68, 33, 4, 16, 174, 32, 33, 24, 94,
         32, 32, 17, 159, 33, 32, 68, 33, 33, 16, 35, 0, 0, 33, 2, 0,
 
@@ -1433,7 +1405,7 @@
       orc_program_add_destination (p, 1, "d1");
       orc_program_add_source (p, 1, "s1");
       orc_program_add_constant (p, 1, 0x00000080, "c1");
-      orc_program_add_constant (p, 4, 0x00000003, "c2");
+      orc_program_add_constant (p, 2, 0x00000003, "c2");
       orc_program_add_parameter (p, 1, "p1");
       orc_program_add_temporary (p, 2, "t1");
       orc_program_add_temporary (p, 1, "t2");
@@ -1574,7 +1546,7 @@
       static const orc_uint8 bc[] = {
         1, 9, 28, 97, 117, 100, 105, 111, 109, 105, 120, 101, 114, 95, 111, 114,
         99, 95, 97, 100, 100, 95, 118, 111, 108, 117, 109, 101, 95, 115, 56, 11,
-        1, 1, 12, 1, 1, 14, 4, 3, 0, 0, 0, 16, 1, 20, 2, 20,
+        1, 1, 12, 1, 1, 14, 2, 3, 0, 0, 0, 16, 1, 20, 2, 20,
         1, 174, 32, 4, 24, 94, 32, 32, 16, 159, 33, 32, 34, 0, 0, 33,
         2, 0,
       };
@@ -1586,7 +1558,7 @@
       orc_program_set_backup_function (p, _backup_audiomixer_orc_add_volume_s8);
       orc_program_add_destination (p, 1, "d1");
       orc_program_add_source (p, 1, "s1");
-      orc_program_add_constant (p, 4, 0x00000003, "c1");
+      orc_program_add_constant (p, 2, 0x00000003, "c1");
       orc_program_add_parameter (p, 1, "p1");
       orc_program_add_temporary (p, 2, "t1");
       orc_program_add_temporary (p, 1, "t2");
@@ -1638,18 +1610,13 @@
   orc_union16 var35;
 #endif
   orc_union16 var36;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union16 var37;
-#else
   orc_union16 var37;
-#endif
   orc_union16 var38;
   orc_union16 var39;
-  orc_union16 var40;
+  orc_union32 var40;
   orc_union32 var41;
-  orc_union32 var42;
+  orc_union16 var42;
   orc_union16 var43;
-  orc_union16 var44;
 
   ptr0 = (orc_union16 *) d1;
   ptr4 = (orc_union16 *) s1;
@@ -1658,28 +1625,26 @@
   var35.i = (int) 0x00008000;   /* 32768 or 1.61895e-319f */
   /* 3: loadpw */
   var36.i = p1;
-  /* 7: loadpw */
-  var37.i = (int) 0x00008000;   /* 32768 or 1.61895e-319f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
     var34 = ptr4[i];
     /* 2: xorw */
-    var40.i = var34.i ^ var35.i;
+    var39.i = var34.i ^ var35.i;
     /* 4: mulswl */
-    var41.i = var40.i * var36.i;
+    var40.i = var39.i * var36.i;
     /* 5: shrsl */
-    var42.i = var41.i >> 11;
+    var41.i = var40.i >> 11;
     /* 6: convssslw */
-    var43.i = ORC_CLAMP_SW (var42.i);
-    /* 8: xorw */
-    var44.i = var43.i ^ var37.i;
-    /* 9: loadw */
-    var38 = ptr0[i];
-    /* 10: addusw */
-    var39.i = ORC_CLAMP_UW ((orc_uint16) var38.i + (orc_uint16) var44.i);
-    /* 11: storew */
-    ptr0[i] = var39;
+    var42.i = ORC_CLAMP_SW (var41.i);
+    /* 7: xorw */
+    var43.i = var42.i ^ var35.i;
+    /* 8: loadw */
+    var37 = ptr0[i];
+    /* 9: addusw */
+    var38.i = ORC_CLAMP_UW ((orc_uint16) var37.i + (orc_uint16) var43.i);
+    /* 10: storew */
+    ptr0[i] = var38;
   }
 
 }
@@ -1699,18 +1664,13 @@
   orc_union16 var35;
 #endif
   orc_union16 var36;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union16 var37;
-#else
   orc_union16 var37;
-#endif
   orc_union16 var38;
   orc_union16 var39;
-  orc_union16 var40;
+  orc_union32 var40;
   orc_union32 var41;
-  orc_union32 var42;
+  orc_union16 var42;
   orc_union16 var43;
-  orc_union16 var44;
 
   ptr0 = (orc_union16 *) ex->arrays[0];
   ptr4 = (orc_union16 *) ex->arrays[4];
@@ -1719,28 +1679,26 @@
   var35.i = (int) 0x00008000;   /* 32768 or 1.61895e-319f */
   /* 3: loadpw */
   var36.i = ex->params[24];
-  /* 7: loadpw */
-  var37.i = (int) 0x00008000;   /* 32768 or 1.61895e-319f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
     var34 = ptr4[i];
     /* 2: xorw */
-    var40.i = var34.i ^ var35.i;
+    var39.i = var34.i ^ var35.i;
     /* 4: mulswl */
-    var41.i = var40.i * var36.i;
+    var40.i = var39.i * var36.i;
     /* 5: shrsl */
-    var42.i = var41.i >> 11;
+    var41.i = var40.i >> 11;
     /* 6: convssslw */
-    var43.i = ORC_CLAMP_SW (var42.i);
-    /* 8: xorw */
-    var44.i = var43.i ^ var37.i;
-    /* 9: loadw */
-    var38 = ptr0[i];
-    /* 10: addusw */
-    var39.i = ORC_CLAMP_UW ((orc_uint16) var38.i + (orc_uint16) var44.i);
-    /* 11: storew */
-    ptr0[i] = var39;
+    var42.i = ORC_CLAMP_SW (var41.i);
+    /* 7: xorw */
+    var43.i = var42.i ^ var35.i;
+    /* 8: loadw */
+    var37 = ptr0[i];
+    /* 9: addusw */
+    var38.i = ORC_CLAMP_UW ((orc_uint16) var37.i + (orc_uint16) var43.i);
+    /* 10: storew */
+    ptr0[i] = var38;
   }
 
 }
@@ -1986,18 +1944,13 @@
   orc_union32 var35;
 #endif
   orc_union32 var36;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union32 var37;
-#else
   orc_union32 var37;
-#endif
   orc_union32 var38;
   orc_union32 var39;
-  orc_union32 var40;
+  orc_union64 var40;
   orc_union64 var41;
-  orc_union64 var42;
+  orc_union32 var42;
   orc_union32 var43;
-  orc_union32 var44;
 
   ptr0 = (orc_union32 *) d1;
   ptr4 = (orc_union32 *) s1;
@@ -2006,30 +1959,28 @@
   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
   /* 3: loadpl */
   var36.i = p1;
-  /* 7: loadpl */
-  var37.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadl */
     var34 = ptr4[i];
     /* 2: xorl */
-    var40.i = var34.i ^ var35.i;
+    var39.i = var34.i ^ var35.i;
     /* 4: mulslq */
-    var41.i = ((orc_int64) var40.i) * ((orc_int64) var36.i);
+    var40.i = ((orc_int64) var39.i) * ((orc_int64) var36.i);
     /* 5: shrsq */
-    var42.i = var41.i >> 27;
+    var41.i = var40.i >> 27;
     /* 6: convsssql */
-    var43.i = ORC_CLAMP_SL (var42.i);
-    /* 8: xorl */
-    var44.i = var43.i ^ var37.i;
-    /* 9: loadl */
-    var38 = ptr0[i];
-    /* 10: addusl */
-    var39.i =
-        ORC_CLAMP_UL ((orc_int64) (orc_uint32) var38.i +
-        (orc_int64) (orc_uint32) var44.i);
-    /* 11: storel */
-    ptr0[i] = var39;
+    var42.i = ORC_CLAMP_SL (var41.i);
+    /* 7: xorl */
+    var43.i = var42.i ^ var35.i;
+    /* 8: loadl */
+    var37 = ptr0[i];
+    /* 9: addusl */
+    var38.i =
+        ORC_CLAMP_UL ((orc_int64) (orc_uint32) var37.i +
+        (orc_int64) (orc_uint32) var43.i);
+    /* 10: storel */
+    ptr0[i] = var38;
   }
 
 }
@@ -2049,18 +2000,13 @@
   orc_union32 var35;
 #endif
   orc_union32 var36;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union32 var37;
-#else
   orc_union32 var37;
-#endif
   orc_union32 var38;
   orc_union32 var39;
-  orc_union32 var40;
+  orc_union64 var40;
   orc_union64 var41;
-  orc_union64 var42;
+  orc_union32 var42;
   orc_union32 var43;
-  orc_union32 var44;
 
   ptr0 = (orc_union32 *) ex->arrays[0];
   ptr4 = (orc_union32 *) ex->arrays[4];
@@ -2069,30 +2015,28 @@
   var35.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
   /* 3: loadpl */
   var36.i = ex->params[24];
-  /* 7: loadpl */
-  var37.i = (int) 0x80000000;   /* -2147483648 or 1.061e-314f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadl */
     var34 = ptr4[i];
     /* 2: xorl */
-    var40.i = var34.i ^ var35.i;
+    var39.i = var34.i ^ var35.i;
     /* 4: mulslq */
-    var41.i = ((orc_int64) var40.i) * ((orc_int64) var36.i);
+    var40.i = ((orc_int64) var39.i) * ((orc_int64) var36.i);
     /* 5: shrsq */
-    var42.i = var41.i >> 27;
+    var41.i = var40.i >> 27;
     /* 6: convsssql */
-    var43.i = ORC_CLAMP_SL (var42.i);
-    /* 8: xorl */
-    var44.i = var43.i ^ var37.i;
-    /* 9: loadl */
-    var38 = ptr0[i];
-    /* 10: addusl */
-    var39.i =
-        ORC_CLAMP_UL ((orc_int64) (orc_uint32) var38.i +
-        (orc_int64) (orc_uint32) var44.i);
-    /* 11: storel */
-    ptr0[i] = var39;
+    var42.i = ORC_CLAMP_SL (var41.i);
+    /* 7: xorl */
+    var43.i = var42.i ^ var35.i;
+    /* 8: loadl */
+    var37 = ptr0[i];
+    /* 9: addusl */
+    var38.i =
+        ORC_CLAMP_UL ((orc_int64) (orc_uint32) var37.i +
+        (orc_int64) (orc_uint32) var43.i);
+    /* 10: storel */
+    ptr0[i] = var38;
   }
 
 }
@@ -2115,10 +2059,10 @@
       static const orc_uint8 bc[] = {
         1, 9, 29, 97, 117, 100, 105, 111, 109, 105, 120, 101, 114, 95, 111, 114,
         99, 95, 97, 100, 100, 95, 118, 111, 108, 117, 109, 101, 95, 117, 51, 50,
-        11, 4, 4, 12, 4, 4, 14, 4, 0, 0, 0, 128, 14, 4, 27, 0,
-        0, 0, 16, 4, 20, 8, 20, 4, 132, 33, 4, 16, 178, 32, 33, 24,
-        147, 32, 32, 17, 170, 33, 32, 132, 33, 33, 16, 105, 0, 0, 33, 2,
-        0,
+        11, 4, 4, 12, 4, 4, 14, 4, 0, 0, 0, 128, 15, 8, 27, 0,
+        0, 0, 0, 0, 0, 0, 16, 4, 20, 8, 20, 4, 132, 33, 4, 16,
+        178, 32, 33, 24, 147, 32, 32, 17, 170, 33, 32, 132, 33, 33, 16, 105,
+        0, 0, 33, 2, 0,
       };
       p = orc_program_new_from_static_bytecode (bc);
       orc_program_set_backup_function (p,
@@ -2131,7 +2075,7 @@
       orc_program_add_destination (p, 4, "d1");
       orc_program_add_source (p, 4, "s1");
       orc_program_add_constant (p, 4, 0x80000000, "c1");
-      orc_program_add_constant (p, 4, 0x0000001b, "c2");
+      orc_program_add_constant_int64 (p, 8, 0x000000000000001bULL, "c2");
       orc_program_add_parameter (p, 4, "p1");
       orc_program_add_temporary (p, 8, "t1");
       orc_program_add_temporary (p, 4, "t2");
@@ -2272,9 +2216,9 @@
       static const orc_uint8 bc[] = {
         1, 9, 29, 97, 117, 100, 105, 111, 109, 105, 120, 101, 114, 95, 111, 114,
         99, 95, 97, 100, 100, 95, 118, 111, 108, 117, 109, 101, 95, 115, 51, 50,
-        11, 4, 4, 12, 4, 4, 14, 4, 27, 0, 0, 0, 16, 4, 20, 8,
-        20, 4, 178, 32, 4, 24, 147, 32, 32, 16, 170, 33, 32, 104, 0, 0,
-        33, 2, 0,
+        11, 4, 4, 12, 4, 4, 15, 8, 27, 0, 0, 0, 0, 0, 0, 0,
+        16, 4, 20, 8, 20, 4, 178, 32, 4, 24, 147, 32, 32, 16, 170, 33,
+        32, 104, 0, 0, 33, 2, 0,
       };
       p = orc_program_new_from_static_bytecode (bc);
       orc_program_set_backup_function (p,
@@ -2286,7 +2230,7 @@
           _backup_audiomixer_orc_add_volume_s32);
       orc_program_add_destination (p, 4, "d1");
       orc_program_add_source (p, 4, "s1");
-      orc_program_add_constant (p, 4, 0x0000001b, "c1");
+      orc_program_add_constant_int64 (p, 8, 0x000000000000001bULL, "c1");
       orc_program_add_parameter (p, 4, "p1");
       orc_program_add_temporary (p, 8, "t1");
       orc_program_add_temporary (p, 4, "t2");
@@ -2651,8 +2595,8 @@
   {
     orc_union64 tmp;
     tmp.f = p1;
-    ex->params[ORC_VAR_P1] = tmp.x2[0];
-    ex->params[ORC_VAR_T1] = tmp.x2[1];
+    ex->params[ORC_VAR_P1] = ((orc_uint64) tmp.i) & 0xffffffff;
+    ex->params[ORC_VAR_T1] = ((orc_uint64) tmp.i) >> 32;
   }
 
   func = c->exec;
diff --git a/gst/bayer/gstbayerorc-dist.c b/gst/bayer/gstbayerorc-dist.c
index 1dc708d..c9afb6a 100644
--- a/gst/bayer/gstbayerorc-dist.c
+++ b/gst/bayer/gstbayerorc-dist.c
@@ -667,21 +667,16 @@
   orc_union16 var43;
 #endif
   orc_union16 var44;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union16 var45;
-#else
-  orc_union16 var45;
-#endif
-  orc_union64 var46;
+  orc_union64 var45;
+  orc_union16 var46;
   orc_union16 var47;
   orc_union16 var48;
   orc_union16 var49;
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-  orc_union16 var53;
+  orc_union32 var53;
   orc_union32 var54;
-  orc_union32 var55;
 
   ptr0 = (orc_union64 *) d1;
   ptr4 = (orc_union16 *) s1;
@@ -695,9 +690,6 @@
   var42.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
   /* 11: loadpw */
   var43.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
-  /* 16: loadpb */
-  var45.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var45.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
@@ -705,71 +697,71 @@
     /* 1: loadw */
     var38 = ptr9[i];
     /* 2: avgub */
-    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
-    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
+    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
+    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
     /* 3: loadw */
     var39 = ptr4[i];
     /* 4: loadw */
     var40 = ptr8[i];
     /* 5: avgub */
-    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
-    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
+    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
+    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
     /* 6: loadw */
     var41 = ptr7[i];
     /* 7: copyw */
-    var49.i = var41.i;
+    var48.i = var41.i;
     /* 8: avgub */
-    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
-    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
+    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
+    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
     /* 10: andw */
-    var51.i = var50.i & var42.i;
+    var50.i = var49.i & var42.i;
     /* 12: andw */
-    var52.i = var49.i & var43.i;
+    var51.i = var48.i & var43.i;
     /* 13: orw */
-    var53.i = var52.i | var51.i;
+    var52.i = var51.i | var50.i;
     /* 14: loadw */
     var44 = ptr6[i];
     /* 15: mergebw */
     {
       orc_union16 _dest;
       _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var53.x2[0];
-      var54.x2[0] = _dest.i;
+      _dest.x2[1] = var52.x2[0];
+      var53.x2[0] = _dest.i;
     }
     {
       orc_union16 _dest;
       _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var53.x2[1];
+      _dest.x2[1] = var52.x2[1];
+      var53.x2[1] = _dest.i;
+    }
+    /* 16: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var46.x2[0];
+      _dest.x2[1] = var42.x2[0];
+      var54.x2[0] = _dest.i;
+    }
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var46.x2[1];
+      _dest.x2[1] = var42.x2[1];
       var54.x2[1] = _dest.i;
     }
-    /* 17: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var47.x2[0];
-      _dest.x2[1] = var45.x2[0];
-      var55.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var47.x2[1];
-      _dest.x2[1] = var45.x2[1];
-      var55.x2[1] = _dest.i;
-    }
-    /* 18: mergewl */
+    /* 17: mergewl */
     {
       orc_union32 _dest;
-      _dest.x2[0] = var54.x2[0];
-      _dest.x2[1] = var55.x2[0];
-      var46.x2[0] = _dest.i;
+      _dest.x2[0] = var53.x2[0];
+      _dest.x2[1] = var54.x2[0];
+      var45.x2[0] = _dest.i;
     }
     {
       orc_union32 _dest;
-      _dest.x2[0] = var54.x2[1];
-      _dest.x2[1] = var55.x2[1];
-      var46.x2[1] = _dest.i;
+      _dest.x2[0] = var53.x2[1];
+      _dest.x2[1] = var54.x2[1];
+      var45.x2[1] = _dest.i;
     }
-    /* 19: storeq */
-    ptr0[i] = var46;
+    /* 18: storeq */
+    ptr0[i] = var45;
   }
 
 }
@@ -803,21 +795,16 @@
   orc_union16 var43;
 #endif
   orc_union16 var44;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union16 var45;
-#else
-  orc_union16 var45;
-#endif
-  orc_union64 var46;
+  orc_union64 var45;
+  orc_union16 var46;
   orc_union16 var47;
   orc_union16 var48;
   orc_union16 var49;
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-  orc_union16 var53;
+  orc_union32 var53;
   orc_union32 var54;
-  orc_union32 var55;
 
   ptr0 = (orc_union64 *) ex->arrays[0];
   ptr4 = (orc_union16 *) ex->arrays[4];
@@ -831,9 +818,6 @@
   var42.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
   /* 11: loadpw */
   var43.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
-  /* 16: loadpb */
-  var45.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var45.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
@@ -841,71 +825,71 @@
     /* 1: loadw */
     var38 = ptr9[i];
     /* 2: avgub */
-    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
-    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
+    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
+    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
     /* 3: loadw */
     var39 = ptr4[i];
     /* 4: loadw */
     var40 = ptr8[i];
     /* 5: avgub */
-    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
-    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
+    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
+    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
     /* 6: loadw */
     var41 = ptr7[i];
     /* 7: copyw */
-    var49.i = var41.i;
+    var48.i = var41.i;
     /* 8: avgub */
-    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
-    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
+    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
+    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
     /* 10: andw */
-    var51.i = var50.i & var42.i;
+    var50.i = var49.i & var42.i;
     /* 12: andw */
-    var52.i = var49.i & var43.i;
+    var51.i = var48.i & var43.i;
     /* 13: orw */
-    var53.i = var52.i | var51.i;
+    var52.i = var51.i | var50.i;
     /* 14: loadw */
     var44 = ptr6[i];
     /* 15: mergebw */
     {
       orc_union16 _dest;
       _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var53.x2[0];
-      var54.x2[0] = _dest.i;
+      _dest.x2[1] = var52.x2[0];
+      var53.x2[0] = _dest.i;
     }
     {
       orc_union16 _dest;
       _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var53.x2[1];
+      _dest.x2[1] = var52.x2[1];
+      var53.x2[1] = _dest.i;
+    }
+    /* 16: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var46.x2[0];
+      _dest.x2[1] = var42.x2[0];
+      var54.x2[0] = _dest.i;
+    }
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var46.x2[1];
+      _dest.x2[1] = var42.x2[1];
       var54.x2[1] = _dest.i;
     }
-    /* 17: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var47.x2[0];
-      _dest.x2[1] = var45.x2[0];
-      var55.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var47.x2[1];
-      _dest.x2[1] = var45.x2[1];
-      var55.x2[1] = _dest.i;
-    }
-    /* 18: mergewl */
+    /* 17: mergewl */
     {
       orc_union32 _dest;
-      _dest.x2[0] = var54.x2[0];
-      _dest.x2[1] = var55.x2[0];
-      var46.x2[0] = _dest.i;
+      _dest.x2[0] = var53.x2[0];
+      _dest.x2[1] = var54.x2[0];
+      var45.x2[0] = _dest.i;
     }
     {
       orc_union32 _dest;
-      _dest.x2[0] = var54.x2[1];
-      _dest.x2[1] = var55.x2[1];
-      var46.x2[1] = _dest.i;
+      _dest.x2[0] = var53.x2[1];
+      _dest.x2[1] = var54.x2[1];
+      var45.x2[1] = _dest.i;
     }
-    /* 19: storeq */
-    ptr0[i] = var46;
+    /* 18: storeq */
+    ptr0[i] = var45;
   }
 
 }
@@ -931,7 +915,7 @@
         1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114,
         103, 101, 95, 98, 103, 95, 98, 103, 114, 97, 11, 8, 8, 12, 2, 2,
         12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14,
-        4, 255, 0, 0, 0, 14, 4, 0, 255, 0, 0, 20, 4, 20, 4, 20,
+        2, 255, 0, 0, 0, 14, 2, 0, 255, 0, 0, 20, 4, 20, 4, 20,
         2, 20, 2, 20, 2, 21, 1, 39, 34, 5, 9, 21, 1, 39, 35, 4,
         8, 79, 36, 7, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36,
         36, 17, 92, 35, 36, 35, 21, 1, 196, 33, 6, 35, 21, 1, 196, 32,
@@ -950,8 +934,8 @@
       orc_program_add_source (p, 2, "s4");
       orc_program_add_source (p, 2, "s5");
       orc_program_add_source (p, 2, "s6");
-      orc_program_add_constant (p, 4, 0x000000ff, "c1");
-      orc_program_add_constant (p, 4, 0x0000ff00, "c2");
+      orc_program_add_constant (p, 2, 0x000000ff, "c1");
+      orc_program_add_constant (p, 2, 0x0000ff00, "c2");
       orc_program_add_temporary (p, 4, "t1");
       orc_program_add_temporary (p, 4, "t2");
       orc_program_add_temporary (p, 2, "t3");
@@ -1037,21 +1021,16 @@
   orc_union16 var43;
 #endif
   orc_union16 var44;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union16 var45;
-#else
-  orc_union16 var45;
-#endif
-  orc_union64 var46;
+  orc_union64 var45;
+  orc_union16 var46;
   orc_union16 var47;
   orc_union16 var48;
   orc_union16 var49;
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-  orc_union16 var53;
+  orc_union32 var53;
   orc_union32 var54;
-  orc_union32 var55;
 
   ptr0 = (orc_union64 *) d1;
   ptr4 = (orc_union16 *) s1;
@@ -1065,9 +1044,6 @@
   var42.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
   /* 11: loadpw */
   var43.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
-  /* 16: loadpb */
-  var45.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var45.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
@@ -1075,71 +1051,71 @@
     /* 1: loadw */
     var38 = ptr8[i];
     /* 2: avgub */
-    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
-    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
+    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
+    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
     /* 3: loadw */
     var39 = ptr5[i];
     /* 4: loadw */
     var40 = ptr9[i];
     /* 5: avgub */
-    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
-    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
+    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
+    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
     /* 6: loadw */
     var41 = ptr6[i];
     /* 7: copyw */
-    var49.i = var41.i;
+    var48.i = var41.i;
     /* 8: avgub */
-    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
-    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
+    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
+    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
     /* 10: andw */
-    var51.i = var50.i & var42.i;
+    var50.i = var49.i & var42.i;
     /* 12: andw */
-    var52.i = var49.i & var43.i;
+    var51.i = var48.i & var43.i;
     /* 13: orw */
-    var53.i = var52.i | var51.i;
+    var52.i = var51.i | var50.i;
     /* 14: mergebw */
     {
       orc_union16 _dest;
-      _dest.x2[0] = var47.x2[0];
-      _dest.x2[1] = var53.x2[0];
+      _dest.x2[0] = var46.x2[0];
+      _dest.x2[1] = var52.x2[0];
+      var53.x2[0] = _dest.i;
+    }
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var46.x2[1];
+      _dest.x2[1] = var52.x2[1];
+      var53.x2[1] = _dest.i;
+    }
+    /* 15: loadw */
+    var44 = ptr7[i];
+    /* 16: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var44.x2[0];
+      _dest.x2[1] = var43.x2[0];
       var54.x2[0] = _dest.i;
     }
     {
       orc_union16 _dest;
-      _dest.x2[0] = var47.x2[1];
-      _dest.x2[1] = var53.x2[1];
+      _dest.x2[0] = var44.x2[1];
+      _dest.x2[1] = var43.x2[1];
       var54.x2[1] = _dest.i;
     }
-    /* 15: loadw */
-    var44 = ptr7[i];
-    /* 17: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var45.x2[0];
-      var55.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var45.x2[1];
-      var55.x2[1] = _dest.i;
-    }
-    /* 18: mergewl */
+    /* 17: mergewl */
     {
       orc_union32 _dest;
-      _dest.x2[0] = var54.x2[0];
-      _dest.x2[1] = var55.x2[0];
-      var46.x2[0] = _dest.i;
+      _dest.x2[0] = var53.x2[0];
+      _dest.x2[1] = var54.x2[0];
+      var45.x2[0] = _dest.i;
     }
     {
       orc_union32 _dest;
-      _dest.x2[0] = var54.x2[1];
-      _dest.x2[1] = var55.x2[1];
-      var46.x2[1] = _dest.i;
+      _dest.x2[0] = var53.x2[1];
+      _dest.x2[1] = var54.x2[1];
+      var45.x2[1] = _dest.i;
     }
-    /* 19: storeq */
-    ptr0[i] = var46;
+    /* 18: storeq */
+    ptr0[i] = var45;
   }
 
 }
@@ -1173,21 +1149,16 @@
   orc_union16 var43;
 #endif
   orc_union16 var44;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union16 var45;
-#else
-  orc_union16 var45;
-#endif
-  orc_union64 var46;
+  orc_union64 var45;
+  orc_union16 var46;
   orc_union16 var47;
   orc_union16 var48;
   orc_union16 var49;
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-  orc_union16 var53;
+  orc_union32 var53;
   orc_union32 var54;
-  orc_union32 var55;
 
   ptr0 = (orc_union64 *) ex->arrays[0];
   ptr4 = (orc_union16 *) ex->arrays[4];
@@ -1201,9 +1172,6 @@
   var42.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
   /* 11: loadpw */
   var43.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
-  /* 16: loadpb */
-  var45.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var45.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
@@ -1211,71 +1179,71 @@
     /* 1: loadw */
     var38 = ptr8[i];
     /* 2: avgub */
-    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
-    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
+    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
+    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
     /* 3: loadw */
     var39 = ptr5[i];
     /* 4: loadw */
     var40 = ptr9[i];
     /* 5: avgub */
-    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
-    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
+    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
+    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
     /* 6: loadw */
     var41 = ptr6[i];
     /* 7: copyw */
-    var49.i = var41.i;
+    var48.i = var41.i;
     /* 8: avgub */
-    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
-    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
+    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
+    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
     /* 10: andw */
-    var51.i = var50.i & var42.i;
+    var50.i = var49.i & var42.i;
     /* 12: andw */
-    var52.i = var49.i & var43.i;
+    var51.i = var48.i & var43.i;
     /* 13: orw */
-    var53.i = var52.i | var51.i;
+    var52.i = var51.i | var50.i;
     /* 14: mergebw */
     {
       orc_union16 _dest;
-      _dest.x2[0] = var47.x2[0];
-      _dest.x2[1] = var53.x2[0];
+      _dest.x2[0] = var46.x2[0];
+      _dest.x2[1] = var52.x2[0];
+      var53.x2[0] = _dest.i;
+    }
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var46.x2[1];
+      _dest.x2[1] = var52.x2[1];
+      var53.x2[1] = _dest.i;
+    }
+    /* 15: loadw */
+    var44 = ptr7[i];
+    /* 16: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var44.x2[0];
+      _dest.x2[1] = var43.x2[0];
       var54.x2[0] = _dest.i;
     }
     {
       orc_union16 _dest;
-      _dest.x2[0] = var47.x2[1];
-      _dest.x2[1] = var53.x2[1];
+      _dest.x2[0] = var44.x2[1];
+      _dest.x2[1] = var43.x2[1];
       var54.x2[1] = _dest.i;
     }
-    /* 15: loadw */
-    var44 = ptr7[i];
-    /* 17: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var45.x2[0];
-      var55.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var45.x2[1];
-      var55.x2[1] = _dest.i;
-    }
-    /* 18: mergewl */
+    /* 17: mergewl */
     {
       orc_union32 _dest;
-      _dest.x2[0] = var54.x2[0];
-      _dest.x2[1] = var55.x2[0];
-      var46.x2[0] = _dest.i;
+      _dest.x2[0] = var53.x2[0];
+      _dest.x2[1] = var54.x2[0];
+      var45.x2[0] = _dest.i;
     }
     {
       orc_union32 _dest;
-      _dest.x2[0] = var54.x2[1];
-      _dest.x2[1] = var55.x2[1];
-      var46.x2[1] = _dest.i;
+      _dest.x2[0] = var53.x2[1];
+      _dest.x2[1] = var54.x2[1];
+      var45.x2[1] = _dest.i;
     }
-    /* 19: storeq */
-    ptr0[i] = var46;
+    /* 18: storeq */
+    ptr0[i] = var45;
   }
 
 }
@@ -1301,7 +1269,7 @@
         1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114,
         103, 101, 95, 103, 114, 95, 98, 103, 114, 97, 11, 8, 8, 12, 2, 2,
         12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14,
-        4, 0, 255, 0, 0, 14, 4, 255, 0, 0, 0, 20, 4, 20, 4, 20,
+        2, 0, 255, 0, 0, 14, 2, 255, 0, 0, 0, 20, 4, 20, 4, 20,
         2, 20, 2, 20, 2, 21, 1, 39, 34, 4, 8, 21, 1, 39, 35, 5,
         9, 79, 36, 6, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36,
         36, 17, 92, 35, 36, 35, 21, 1, 196, 33, 34, 35, 21, 1, 196, 32,
@@ -1320,8 +1288,8 @@
       orc_program_add_source (p, 2, "s4");
       orc_program_add_source (p, 2, "s5");
       orc_program_add_source (p, 2, "s6");
-      orc_program_add_constant (p, 4, 0x0000ff00, "c1");
-      orc_program_add_constant (p, 4, 0x000000ff, "c2");
+      orc_program_add_constant (p, 2, 0x0000ff00, "c1");
+      orc_program_add_constant (p, 2, 0x000000ff, "c2");
       orc_program_add_temporary (p, 4, "t1");
       orc_program_add_temporary (p, 4, "t2");
       orc_program_add_temporary (p, 2, "t3");
@@ -1406,22 +1374,17 @@
 #else
   orc_union16 var43;
 #endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union16 var44;
-#else
   orc_union16 var44;
-#endif
-  orc_union16 var45;
-  orc_union64 var46;
+  orc_union64 var45;
+  orc_union16 var46;
   orc_union16 var47;
   orc_union16 var48;
   orc_union16 var49;
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-  orc_union16 var53;
+  orc_union32 var53;
   orc_union32 var54;
-  orc_union32 var55;
 
   ptr0 = (orc_union64 *) d1;
   ptr4 = (orc_union16 *) s1;
@@ -1435,9 +1398,6 @@
   var42.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
   /* 11: loadpw */
   var43.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
-  /* 14: loadpb */
-  var44.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var44.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
@@ -1445,71 +1405,71 @@
     /* 1: loadw */
     var38 = ptr9[i];
     /* 2: avgub */
-    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
-    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
+    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
+    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
     /* 3: loadw */
     var39 = ptr4[i];
     /* 4: loadw */
     var40 = ptr8[i];
     /* 5: avgub */
-    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
-    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
+    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
+    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
     /* 6: loadw */
     var41 = ptr7[i];
     /* 7: copyw */
-    var49.i = var41.i;
+    var48.i = var41.i;
     /* 8: avgub */
-    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
-    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
+    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
+    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
     /* 10: andw */
-    var51.i = var50.i & var42.i;
+    var50.i = var49.i & var42.i;
     /* 12: andw */
-    var52.i = var49.i & var43.i;
+    var51.i = var48.i & var43.i;
     /* 13: orw */
-    var53.i = var52.i | var51.i;
-    /* 15: loadw */
-    var45 = ptr6[i];
+    var52.i = var51.i | var50.i;
+    /* 14: loadw */
+    var44 = ptr6[i];
+    /* 15: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var42.x2[0];
+      _dest.x2[1] = var44.x2[0];
+      var53.x2[0] = _dest.i;
+    }
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var42.x2[1];
+      _dest.x2[1] = var44.x2[1];
+      var53.x2[1] = _dest.i;
+    }
     /* 16: mergebw */
     {
       orc_union16 _dest;
-      _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var45.x2[0];
+      _dest.x2[0] = var52.x2[0];
+      _dest.x2[1] = var46.x2[0];
       var54.x2[0] = _dest.i;
     }
     {
       orc_union16 _dest;
-      _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var45.x2[1];
+      _dest.x2[0] = var52.x2[1];
+      _dest.x2[1] = var46.x2[1];
       var54.x2[1] = _dest.i;
     }
-    /* 17: mergebw */
+    /* 17: mergewl */
     {
-      orc_union16 _dest;
+      orc_union32 _dest;
       _dest.x2[0] = var53.x2[0];
-      _dest.x2[1] = var47.x2[0];
-      var55.x2[0] = _dest.i;
+      _dest.x2[1] = var54.x2[0];
+      var45.x2[0] = _dest.i;
     }
     {
-      orc_union16 _dest;
+      orc_union32 _dest;
       _dest.x2[0] = var53.x2[1];
-      _dest.x2[1] = var47.x2[1];
-      var55.x2[1] = _dest.i;
+      _dest.x2[1] = var54.x2[1];
+      var45.x2[1] = _dest.i;
     }
-    /* 18: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var54.x2[0];
-      _dest.x2[1] = var55.x2[0];
-      var46.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var54.x2[1];
-      _dest.x2[1] = var55.x2[1];
-      var46.x2[1] = _dest.i;
-    }
-    /* 19: storeq */
-    ptr0[i] = var46;
+    /* 18: storeq */
+    ptr0[i] = var45;
   }
 
 }
@@ -1542,22 +1502,17 @@
 #else
   orc_union16 var43;
 #endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union16 var44;
-#else
   orc_union16 var44;
-#endif
-  orc_union16 var45;
-  orc_union64 var46;
+  orc_union64 var45;
+  orc_union16 var46;
   orc_union16 var47;
   orc_union16 var48;
   orc_union16 var49;
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-  orc_union16 var53;
+  orc_union32 var53;
   orc_union32 var54;
-  orc_union32 var55;
 
   ptr0 = (orc_union64 *) ex->arrays[0];
   ptr4 = (orc_union16 *) ex->arrays[4];
@@ -1571,9 +1526,6 @@
   var42.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
   /* 11: loadpw */
   var43.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
-  /* 14: loadpb */
-  var44.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var44.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
@@ -1581,71 +1533,71 @@
     /* 1: loadw */
     var38 = ptr9[i];
     /* 2: avgub */
-    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
-    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
+    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
+    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
     /* 3: loadw */
     var39 = ptr4[i];
     /* 4: loadw */
     var40 = ptr8[i];
     /* 5: avgub */
-    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
-    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
+    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
+    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
     /* 6: loadw */
     var41 = ptr7[i];
     /* 7: copyw */
-    var49.i = var41.i;
+    var48.i = var41.i;
     /* 8: avgub */
-    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
-    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
+    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
+    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
     /* 10: andw */
-    var51.i = var50.i & var42.i;
+    var50.i = var49.i & var42.i;
     /* 12: andw */
-    var52.i = var49.i & var43.i;
+    var51.i = var48.i & var43.i;
     /* 13: orw */
-    var53.i = var52.i | var51.i;
-    /* 15: loadw */
-    var45 = ptr6[i];
+    var52.i = var51.i | var50.i;
+    /* 14: loadw */
+    var44 = ptr6[i];
+    /* 15: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var42.x2[0];
+      _dest.x2[1] = var44.x2[0];
+      var53.x2[0] = _dest.i;
+    }
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var42.x2[1];
+      _dest.x2[1] = var44.x2[1];
+      var53.x2[1] = _dest.i;
+    }
     /* 16: mergebw */
     {
       orc_union16 _dest;
-      _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var45.x2[0];
+      _dest.x2[0] = var52.x2[0];
+      _dest.x2[1] = var46.x2[0];
       var54.x2[0] = _dest.i;
     }
     {
       orc_union16 _dest;
-      _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var45.x2[1];
+      _dest.x2[0] = var52.x2[1];
+      _dest.x2[1] = var46.x2[1];
       var54.x2[1] = _dest.i;
     }
-    /* 17: mergebw */
+    /* 17: mergewl */
     {
-      orc_union16 _dest;
+      orc_union32 _dest;
       _dest.x2[0] = var53.x2[0];
-      _dest.x2[1] = var47.x2[0];
-      var55.x2[0] = _dest.i;
+      _dest.x2[1] = var54.x2[0];
+      var45.x2[0] = _dest.i;
     }
     {
-      orc_union16 _dest;
+      orc_union32 _dest;
       _dest.x2[0] = var53.x2[1];
-      _dest.x2[1] = var47.x2[1];
-      var55.x2[1] = _dest.i;
+      _dest.x2[1] = var54.x2[1];
+      var45.x2[1] = _dest.i;
     }
-    /* 18: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var54.x2[0];
-      _dest.x2[1] = var55.x2[0];
-      var46.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var54.x2[1];
-      _dest.x2[1] = var55.x2[1];
-      var46.x2[1] = _dest.i;
-    }
-    /* 19: storeq */
-    ptr0[i] = var46;
+    /* 18: storeq */
+    ptr0[i] = var45;
   }
 
 }
@@ -1671,7 +1623,7 @@
         1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114,
         103, 101, 95, 98, 103, 95, 97, 98, 103, 114, 11, 8, 8, 12, 2, 2,
         12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14,
-        4, 255, 0, 0, 0, 14, 4, 0, 255, 0, 0, 20, 4, 20, 4, 20,
+        2, 255, 0, 0, 0, 14, 2, 0, 255, 0, 0, 20, 4, 20, 4, 20,
         2, 20, 2, 20, 2, 21, 1, 39, 34, 5, 9, 21, 1, 39, 35, 4,
         8, 79, 36, 7, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36,
         36, 17, 92, 35, 36, 35, 21, 1, 196, 32, 16, 6, 21, 1, 196, 33,
@@ -1690,8 +1642,8 @@
       orc_program_add_source (p, 2, "s4");
       orc_program_add_source (p, 2, "s5");
       orc_program_add_source (p, 2, "s6");
-      orc_program_add_constant (p, 4, 0x000000ff, "c1");
-      orc_program_add_constant (p, 4, 0x0000ff00, "c2");
+      orc_program_add_constant (p, 2, 0x000000ff, "c1");
+      orc_program_add_constant (p, 2, 0x0000ff00, "c2");
       orc_program_add_temporary (p, 4, "t1");
       orc_program_add_temporary (p, 4, "t2");
       orc_program_add_temporary (p, 2, "t3");
@@ -1776,22 +1728,17 @@
 #else
   orc_union16 var43;
 #endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union16 var44;
-#else
   orc_union16 var44;
-#endif
-  orc_union16 var45;
-  orc_union64 var46;
+  orc_union64 var45;
+  orc_union16 var46;
   orc_union16 var47;
   orc_union16 var48;
   orc_union16 var49;
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-  orc_union16 var53;
+  orc_union32 var53;
   orc_union32 var54;
-  orc_union32 var55;
 
   ptr0 = (orc_union64 *) d1;
   ptr4 = (orc_union16 *) s1;
@@ -1805,9 +1752,6 @@
   var42.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
   /* 11: loadpw */
   var43.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
-  /* 14: loadpb */
-  var44.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var44.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
@@ -1815,71 +1759,71 @@
     /* 1: loadw */
     var38 = ptr8[i];
     /* 2: avgub */
-    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
-    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
+    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
+    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
     /* 3: loadw */
     var39 = ptr5[i];
     /* 4: loadw */
     var40 = ptr9[i];
     /* 5: avgub */
-    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
-    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
+    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
+    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
     /* 6: loadw */
     var41 = ptr6[i];
     /* 7: copyw */
-    var49.i = var41.i;
+    var48.i = var41.i;
     /* 8: avgub */
-    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
-    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
+    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
+    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
     /* 10: andw */
-    var51.i = var50.i & var42.i;
+    var50.i = var49.i & var42.i;
     /* 12: andw */
-    var52.i = var49.i & var43.i;
+    var51.i = var48.i & var43.i;
     /* 13: orw */
-    var53.i = var52.i | var51.i;
-    /* 15: mergebw */
+    var52.i = var51.i | var50.i;
+    /* 14: mergebw */
     {
       orc_union16 _dest;
-      _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var47.x2[0];
+      _dest.x2[0] = var43.x2[0];
+      _dest.x2[1] = var46.x2[0];
+      var53.x2[0] = _dest.i;
+    }
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var43.x2[1];
+      _dest.x2[1] = var46.x2[1];
+      var53.x2[1] = _dest.i;
+    }
+    /* 15: loadw */
+    var44 = ptr7[i];
+    /* 16: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var52.x2[0];
+      _dest.x2[1] = var44.x2[0];
       var54.x2[0] = _dest.i;
     }
     {
       orc_union16 _dest;
-      _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var47.x2[1];
+      _dest.x2[0] = var52.x2[1];
+      _dest.x2[1] = var44.x2[1];
       var54.x2[1] = _dest.i;
     }
-    /* 16: loadw */
-    var45 = ptr7[i];
-    /* 17: mergebw */
+    /* 17: mergewl */
     {
-      orc_union16 _dest;
+      orc_union32 _dest;
       _dest.x2[0] = var53.x2[0];
-      _dest.x2[1] = var45.x2[0];
-      var55.x2[0] = _dest.i;
+      _dest.x2[1] = var54.x2[0];
+      var45.x2[0] = _dest.i;
     }
     {
-      orc_union16 _dest;
+      orc_union32 _dest;
       _dest.x2[0] = var53.x2[1];
-      _dest.x2[1] = var45.x2[1];
-      var55.x2[1] = _dest.i;
+      _dest.x2[1] = var54.x2[1];
+      var45.x2[1] = _dest.i;
     }
-    /* 18: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var54.x2[0];
-      _dest.x2[1] = var55.x2[0];
-      var46.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var54.x2[1];
-      _dest.x2[1] = var55.x2[1];
-      var46.x2[1] = _dest.i;
-    }
-    /* 19: storeq */
-    ptr0[i] = var46;
+    /* 18: storeq */
+    ptr0[i] = var45;
   }
 
 }
@@ -1912,22 +1856,17 @@
 #else
   orc_union16 var43;
 #endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union16 var44;
-#else
   orc_union16 var44;
-#endif
-  orc_union16 var45;
-  orc_union64 var46;
+  orc_union64 var45;
+  orc_union16 var46;
   orc_union16 var47;
   orc_union16 var48;
   orc_union16 var49;
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-  orc_union16 var53;
+  orc_union32 var53;
   orc_union32 var54;
-  orc_union32 var55;
 
   ptr0 = (orc_union64 *) ex->arrays[0];
   ptr4 = (orc_union16 *) ex->arrays[4];
@@ -1941,9 +1880,6 @@
   var42.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
   /* 11: loadpw */
   var43.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
-  /* 14: loadpb */
-  var44.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var44.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
@@ -1951,71 +1887,71 @@
     /* 1: loadw */
     var38 = ptr8[i];
     /* 2: avgub */
-    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
-    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
+    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
+    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
     /* 3: loadw */
     var39 = ptr5[i];
     /* 4: loadw */
     var40 = ptr9[i];
     /* 5: avgub */
-    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
-    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
+    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
+    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
     /* 6: loadw */
     var41 = ptr6[i];
     /* 7: copyw */
-    var49.i = var41.i;
+    var48.i = var41.i;
     /* 8: avgub */
-    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
-    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
+    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
+    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
     /* 10: andw */
-    var51.i = var50.i & var42.i;
+    var50.i = var49.i & var42.i;
     /* 12: andw */
-    var52.i = var49.i & var43.i;
+    var51.i = var48.i & var43.i;
     /* 13: orw */
-    var53.i = var52.i | var51.i;
-    /* 15: mergebw */
+    var52.i = var51.i | var50.i;
+    /* 14: mergebw */
     {
       orc_union16 _dest;
-      _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var47.x2[0];
+      _dest.x2[0] = var43.x2[0];
+      _dest.x2[1] = var46.x2[0];
+      var53.x2[0] = _dest.i;
+    }
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var43.x2[1];
+      _dest.x2[1] = var46.x2[1];
+      var53.x2[1] = _dest.i;
+    }
+    /* 15: loadw */
+    var44 = ptr7[i];
+    /* 16: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var52.x2[0];
+      _dest.x2[1] = var44.x2[0];
       var54.x2[0] = _dest.i;
     }
     {
       orc_union16 _dest;
-      _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var47.x2[1];
+      _dest.x2[0] = var52.x2[1];
+      _dest.x2[1] = var44.x2[1];
       var54.x2[1] = _dest.i;
     }
-    /* 16: loadw */
-    var45 = ptr7[i];
-    /* 17: mergebw */
+    /* 17: mergewl */
     {
-      orc_union16 _dest;
+      orc_union32 _dest;
       _dest.x2[0] = var53.x2[0];
-      _dest.x2[1] = var45.x2[0];
-      var55.x2[0] = _dest.i;
+      _dest.x2[1] = var54.x2[0];
+      var45.x2[0] = _dest.i;
     }
     {
-      orc_union16 _dest;
+      orc_union32 _dest;
       _dest.x2[0] = var53.x2[1];
-      _dest.x2[1] = var45.x2[1];
-      var55.x2[1] = _dest.i;
+      _dest.x2[1] = var54.x2[1];
+      var45.x2[1] = _dest.i;
     }
-    /* 18: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var54.x2[0];
-      _dest.x2[1] = var55.x2[0];
-      var46.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var54.x2[1];
-      _dest.x2[1] = var55.x2[1];
-      var46.x2[1] = _dest.i;
-    }
-    /* 19: storeq */
-    ptr0[i] = var46;
+    /* 18: storeq */
+    ptr0[i] = var45;
   }
 
 }
@@ -2041,7 +1977,7 @@
         1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114,
         103, 101, 95, 103, 114, 95, 97, 98, 103, 114, 11, 8, 8, 12, 2, 2,
         12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14,
-        4, 0, 255, 0, 0, 14, 4, 255, 0, 0, 0, 20, 4, 20, 4, 20,
+        2, 0, 255, 0, 0, 14, 2, 255, 0, 0, 0, 20, 4, 20, 4, 20,
         2, 20, 2, 20, 2, 21, 1, 39, 34, 4, 8, 21, 1, 39, 35, 5,
         9, 79, 36, 6, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36,
         36, 17, 92, 35, 36, 35, 21, 1, 196, 32, 17, 34, 21, 1, 196, 33,
@@ -2060,8 +1996,8 @@
       orc_program_add_source (p, 2, "s4");
       orc_program_add_source (p, 2, "s5");
       orc_program_add_source (p, 2, "s6");
-      orc_program_add_constant (p, 4, 0x0000ff00, "c1");
-      orc_program_add_constant (p, 4, 0x000000ff, "c2");
+      orc_program_add_constant (p, 2, 0x0000ff00, "c1");
+      orc_program_add_constant (p, 2, 0x000000ff, "c2");
       orc_program_add_temporary (p, 4, "t1");
       orc_program_add_temporary (p, 4, "t2");
       orc_program_add_temporary (p, 2, "t3");
@@ -2147,21 +2083,16 @@
   orc_union16 var43;
 #endif
   orc_union16 var44;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union16 var45;
-#else
-  orc_union16 var45;
-#endif
-  orc_union64 var46;
+  orc_union64 var45;
+  orc_union16 var46;
   orc_union16 var47;
   orc_union16 var48;
   orc_union16 var49;
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-  orc_union16 var53;
+  orc_union32 var53;
   orc_union32 var54;
-  orc_union32 var55;
 
   ptr0 = (orc_union64 *) d1;
   ptr4 = (orc_union16 *) s1;
@@ -2175,9 +2106,6 @@
   var42.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
   /* 11: loadpw */
   var43.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
-  /* 16: loadpb */
-  var45.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var45.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
@@ -2185,71 +2113,71 @@
     /* 1: loadw */
     var38 = ptr9[i];
     /* 2: avgub */
-    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
-    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
+    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
+    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
     /* 3: loadw */
     var39 = ptr4[i];
     /* 4: loadw */
     var40 = ptr8[i];
     /* 5: avgub */
-    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
-    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
+    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
+    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
     /* 6: loadw */
     var41 = ptr7[i];
     /* 7: copyw */
-    var49.i = var41.i;
+    var48.i = var41.i;
     /* 8: avgub */
-    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
-    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
+    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
+    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
     /* 10: andw */
-    var51.i = var50.i & var42.i;
+    var50.i = var49.i & var42.i;
     /* 12: andw */
-    var52.i = var49.i & var43.i;
+    var51.i = var48.i & var43.i;
     /* 13: orw */
-    var53.i = var52.i | var51.i;
+    var52.i = var51.i | var50.i;
     /* 14: mergebw */
     {
       orc_union16 _dest;
-      _dest.x2[0] = var47.x2[0];
-      _dest.x2[1] = var53.x2[0];
+      _dest.x2[0] = var46.x2[0];
+      _dest.x2[1] = var52.x2[0];
+      var53.x2[0] = _dest.i;
+    }
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var46.x2[1];
+      _dest.x2[1] = var52.x2[1];
+      var53.x2[1] = _dest.i;
+    }
+    /* 15: loadw */
+    var44 = ptr6[i];
+    /* 16: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var44.x2[0];
+      _dest.x2[1] = var42.x2[0];
       var54.x2[0] = _dest.i;
     }
     {
       orc_union16 _dest;
-      _dest.x2[0] = var47.x2[1];
-      _dest.x2[1] = var53.x2[1];
+      _dest.x2[0] = var44.x2[1];
+      _dest.x2[1] = var42.x2[1];
       var54.x2[1] = _dest.i;
     }
-    /* 15: loadw */
-    var44 = ptr6[i];
-    /* 17: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var45.x2[0];
-      var55.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var45.x2[1];
-      var55.x2[1] = _dest.i;
-    }
-    /* 18: mergewl */
+    /* 17: mergewl */
     {
       orc_union32 _dest;
-      _dest.x2[0] = var54.x2[0];
-      _dest.x2[1] = var55.x2[0];
-      var46.x2[0] = _dest.i;
+      _dest.x2[0] = var53.x2[0];
+      _dest.x2[1] = var54.x2[0];
+      var45.x2[0] = _dest.i;
     }
     {
       orc_union32 _dest;
-      _dest.x2[0] = var54.x2[1];
-      _dest.x2[1] = var55.x2[1];
-      var46.x2[1] = _dest.i;
+      _dest.x2[0] = var53.x2[1];
+      _dest.x2[1] = var54.x2[1];
+      var45.x2[1] = _dest.i;
     }
-    /* 19: storeq */
-    ptr0[i] = var46;
+    /* 18: storeq */
+    ptr0[i] = var45;
   }
 
 }
@@ -2283,21 +2211,16 @@
   orc_union16 var43;
 #endif
   orc_union16 var44;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union16 var45;
-#else
-  orc_union16 var45;
-#endif
-  orc_union64 var46;
+  orc_union64 var45;
+  orc_union16 var46;
   orc_union16 var47;
   orc_union16 var48;
   orc_union16 var49;
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-  orc_union16 var53;
+  orc_union32 var53;
   orc_union32 var54;
-  orc_union32 var55;
 
   ptr0 = (orc_union64 *) ex->arrays[0];
   ptr4 = (orc_union16 *) ex->arrays[4];
@@ -2311,9 +2234,6 @@
   var42.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
   /* 11: loadpw */
   var43.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
-  /* 16: loadpb */
-  var45.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var45.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
@@ -2321,71 +2241,71 @@
     /* 1: loadw */
     var38 = ptr9[i];
     /* 2: avgub */
-    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
-    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
+    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
+    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
     /* 3: loadw */
     var39 = ptr4[i];
     /* 4: loadw */
     var40 = ptr8[i];
     /* 5: avgub */
-    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
-    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
+    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
+    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
     /* 6: loadw */
     var41 = ptr7[i];
     /* 7: copyw */
-    var49.i = var41.i;
+    var48.i = var41.i;
     /* 8: avgub */
-    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
-    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
+    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
+    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
     /* 10: andw */
-    var51.i = var50.i & var42.i;
+    var50.i = var49.i & var42.i;
     /* 12: andw */
-    var52.i = var49.i & var43.i;
+    var51.i = var48.i & var43.i;
     /* 13: orw */
-    var53.i = var52.i | var51.i;
+    var52.i = var51.i | var50.i;
     /* 14: mergebw */
     {
       orc_union16 _dest;
-      _dest.x2[0] = var47.x2[0];
-      _dest.x2[1] = var53.x2[0];
+      _dest.x2[0] = var46.x2[0];
+      _dest.x2[1] = var52.x2[0];
+      var53.x2[0] = _dest.i;
+    }
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var46.x2[1];
+      _dest.x2[1] = var52.x2[1];
+      var53.x2[1] = _dest.i;
+    }
+    /* 15: loadw */
+    var44 = ptr6[i];
+    /* 16: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var44.x2[0];
+      _dest.x2[1] = var42.x2[0];
       var54.x2[0] = _dest.i;
     }
     {
       orc_union16 _dest;
-      _dest.x2[0] = var47.x2[1];
-      _dest.x2[1] = var53.x2[1];
+      _dest.x2[0] = var44.x2[1];
+      _dest.x2[1] = var42.x2[1];
       var54.x2[1] = _dest.i;
     }
-    /* 15: loadw */
-    var44 = ptr6[i];
-    /* 17: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var45.x2[0];
-      var55.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var45.x2[1];
-      var55.x2[1] = _dest.i;
-    }
-    /* 18: mergewl */
+    /* 17: mergewl */
     {
       orc_union32 _dest;
-      _dest.x2[0] = var54.x2[0];
-      _dest.x2[1] = var55.x2[0];
-      var46.x2[0] = _dest.i;
+      _dest.x2[0] = var53.x2[0];
+      _dest.x2[1] = var54.x2[0];
+      var45.x2[0] = _dest.i;
     }
     {
       orc_union32 _dest;
-      _dest.x2[0] = var54.x2[1];
-      _dest.x2[1] = var55.x2[1];
-      var46.x2[1] = _dest.i;
+      _dest.x2[0] = var53.x2[1];
+      _dest.x2[1] = var54.x2[1];
+      var45.x2[1] = _dest.i;
     }
-    /* 19: storeq */
-    ptr0[i] = var46;
+    /* 18: storeq */
+    ptr0[i] = var45;
   }
 
 }
@@ -2411,7 +2331,7 @@
         1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114,
         103, 101, 95, 98, 103, 95, 114, 103, 98, 97, 11, 8, 8, 12, 2, 2,
         12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14,
-        4, 255, 0, 0, 0, 14, 4, 0, 255, 0, 0, 20, 4, 20, 4, 20,
+        2, 255, 0, 0, 0, 14, 2, 0, 255, 0, 0, 20, 4, 20, 4, 20,
         2, 20, 2, 20, 2, 21, 1, 39, 34, 5, 9, 21, 1, 39, 35, 4,
         8, 79, 36, 7, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36,
         36, 17, 92, 35, 36, 35, 21, 1, 196, 32, 34, 35, 21, 1, 196, 33,
@@ -2430,8 +2350,8 @@
       orc_program_add_source (p, 2, "s4");
       orc_program_add_source (p, 2, "s5");
       orc_program_add_source (p, 2, "s6");
-      orc_program_add_constant (p, 4, 0x000000ff, "c1");
-      orc_program_add_constant (p, 4, 0x0000ff00, "c2");
+      orc_program_add_constant (p, 2, 0x000000ff, "c1");
+      orc_program_add_constant (p, 2, 0x0000ff00, "c2");
       orc_program_add_temporary (p, 4, "t1");
       orc_program_add_temporary (p, 4, "t2");
       orc_program_add_temporary (p, 2, "t3");
@@ -2517,21 +2437,16 @@
   orc_union16 var43;
 #endif
   orc_union16 var44;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union16 var45;
-#else
-  orc_union16 var45;
-#endif
-  orc_union64 var46;
+  orc_union64 var45;
+  orc_union16 var46;
   orc_union16 var47;
   orc_union16 var48;
   orc_union16 var49;
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-  orc_union16 var53;
+  orc_union32 var53;
   orc_union32 var54;
-  orc_union32 var55;
 
   ptr0 = (orc_union64 *) d1;
   ptr4 = (orc_union16 *) s1;
@@ -2545,9 +2460,6 @@
   var42.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
   /* 11: loadpw */
   var43.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
-  /* 16: loadpb */
-  var45.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var45.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
@@ -2555,71 +2467,71 @@
     /* 1: loadw */
     var38 = ptr8[i];
     /* 2: avgub */
-    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
-    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
+    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
+    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
     /* 3: loadw */
     var39 = ptr5[i];
     /* 4: loadw */
     var40 = ptr9[i];
     /* 5: avgub */
-    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
-    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
+    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
+    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
     /* 6: loadw */
     var41 = ptr6[i];
     /* 7: copyw */
-    var49.i = var41.i;
+    var48.i = var41.i;
     /* 8: avgub */
-    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
-    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
+    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
+    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
     /* 10: andw */
-    var51.i = var50.i & var42.i;
+    var50.i = var49.i & var42.i;
     /* 12: andw */
-    var52.i = var49.i & var43.i;
+    var51.i = var48.i & var43.i;
     /* 13: orw */
-    var53.i = var52.i | var51.i;
+    var52.i = var51.i | var50.i;
     /* 14: loadw */
     var44 = ptr7[i];
     /* 15: mergebw */
     {
       orc_union16 _dest;
       _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var53.x2[0];
-      var54.x2[0] = _dest.i;
+      _dest.x2[1] = var52.x2[0];
+      var53.x2[0] = _dest.i;
     }
     {
       orc_union16 _dest;
       _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var53.x2[1];
+      _dest.x2[1] = var52.x2[1];
+      var53.x2[1] = _dest.i;
+    }
+    /* 16: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var46.x2[0];
+      _dest.x2[1] = var43.x2[0];
+      var54.x2[0] = _dest.i;
+    }
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var46.x2[1];
+      _dest.x2[1] = var43.x2[1];
       var54.x2[1] = _dest.i;
     }
-    /* 17: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var47.x2[0];
-      _dest.x2[1] = var45.x2[0];
-      var55.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var47.x2[1];
-      _dest.x2[1] = var45.x2[1];
-      var55.x2[1] = _dest.i;
-    }
-    /* 18: mergewl */
+    /* 17: mergewl */
     {
       orc_union32 _dest;
-      _dest.x2[0] = var54.x2[0];
-      _dest.x2[1] = var55.x2[0];
-      var46.x2[0] = _dest.i;
+      _dest.x2[0] = var53.x2[0];
+      _dest.x2[1] = var54.x2[0];
+      var45.x2[0] = _dest.i;
     }
     {
       orc_union32 _dest;
-      _dest.x2[0] = var54.x2[1];
-      _dest.x2[1] = var55.x2[1];
-      var46.x2[1] = _dest.i;
+      _dest.x2[0] = var53.x2[1];
+      _dest.x2[1] = var54.x2[1];
+      var45.x2[1] = _dest.i;
     }
-    /* 19: storeq */
-    ptr0[i] = var46;
+    /* 18: storeq */
+    ptr0[i] = var45;
   }
 
 }
@@ -2653,21 +2565,16 @@
   orc_union16 var43;
 #endif
   orc_union16 var44;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union16 var45;
-#else
-  orc_union16 var45;
-#endif
-  orc_union64 var46;
+  orc_union64 var45;
+  orc_union16 var46;
   orc_union16 var47;
   orc_union16 var48;
   orc_union16 var49;
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-  orc_union16 var53;
+  orc_union32 var53;
   orc_union32 var54;
-  orc_union32 var55;
 
   ptr0 = (orc_union64 *) ex->arrays[0];
   ptr4 = (orc_union16 *) ex->arrays[4];
@@ -2681,9 +2588,6 @@
   var42.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
   /* 11: loadpw */
   var43.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
-  /* 16: loadpb */
-  var45.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var45.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
@@ -2691,71 +2595,71 @@
     /* 1: loadw */
     var38 = ptr8[i];
     /* 2: avgub */
-    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
-    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
+    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
+    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
     /* 3: loadw */
     var39 = ptr5[i];
     /* 4: loadw */
     var40 = ptr9[i];
     /* 5: avgub */
-    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
-    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
+    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
+    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
     /* 6: loadw */
     var41 = ptr6[i];
     /* 7: copyw */
-    var49.i = var41.i;
+    var48.i = var41.i;
     /* 8: avgub */
-    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
-    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
+    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
+    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
     /* 10: andw */
-    var51.i = var50.i & var42.i;
+    var50.i = var49.i & var42.i;
     /* 12: andw */
-    var52.i = var49.i & var43.i;
+    var51.i = var48.i & var43.i;
     /* 13: orw */
-    var53.i = var52.i | var51.i;
+    var52.i = var51.i | var50.i;
     /* 14: loadw */
     var44 = ptr7[i];
     /* 15: mergebw */
     {
       orc_union16 _dest;
       _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var53.x2[0];
-      var54.x2[0] = _dest.i;
+      _dest.x2[1] = var52.x2[0];
+      var53.x2[0] = _dest.i;
     }
     {
       orc_union16 _dest;
       _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var53.x2[1];
+      _dest.x2[1] = var52.x2[1];
+      var53.x2[1] = _dest.i;
+    }
+    /* 16: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var46.x2[0];
+      _dest.x2[1] = var43.x2[0];
+      var54.x2[0] = _dest.i;
+    }
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var46.x2[1];
+      _dest.x2[1] = var43.x2[1];
       var54.x2[1] = _dest.i;
     }
-    /* 17: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var47.x2[0];
-      _dest.x2[1] = var45.x2[0];
-      var55.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var47.x2[1];
-      _dest.x2[1] = var45.x2[1];
-      var55.x2[1] = _dest.i;
-    }
-    /* 18: mergewl */
+    /* 17: mergewl */
     {
       orc_union32 _dest;
-      _dest.x2[0] = var54.x2[0];
-      _dest.x2[1] = var55.x2[0];
-      var46.x2[0] = _dest.i;
+      _dest.x2[0] = var53.x2[0];
+      _dest.x2[1] = var54.x2[0];
+      var45.x2[0] = _dest.i;
     }
     {
       orc_union32 _dest;
-      _dest.x2[0] = var54.x2[1];
-      _dest.x2[1] = var55.x2[1];
-      var46.x2[1] = _dest.i;
+      _dest.x2[0] = var53.x2[1];
+      _dest.x2[1] = var54.x2[1];
+      var45.x2[1] = _dest.i;
     }
-    /* 19: storeq */
-    ptr0[i] = var46;
+    /* 18: storeq */
+    ptr0[i] = var45;
   }
 
 }
@@ -2781,7 +2685,7 @@
         1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114,
         103, 101, 95, 103, 114, 95, 114, 103, 98, 97, 11, 8, 8, 12, 2, 2,
         12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14,
-        4, 0, 255, 0, 0, 14, 4, 255, 0, 0, 0, 20, 4, 20, 4, 20,
+        2, 0, 255, 0, 0, 14, 2, 255, 0, 0, 0, 20, 4, 20, 4, 20,
         2, 20, 2, 20, 2, 21, 1, 39, 34, 4, 8, 21, 1, 39, 35, 5,
         9, 79, 36, 6, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36,
         36, 17, 92, 35, 36, 35, 21, 1, 196, 32, 7, 35, 21, 1, 196, 33,
@@ -2800,8 +2704,8 @@
       orc_program_add_source (p, 2, "s4");
       orc_program_add_source (p, 2, "s5");
       orc_program_add_source (p, 2, "s6");
-      orc_program_add_constant (p, 4, 0x0000ff00, "c1");
-      orc_program_add_constant (p, 4, 0x000000ff, "c2");
+      orc_program_add_constant (p, 2, 0x0000ff00, "c1");
+      orc_program_add_constant (p, 2, 0x000000ff, "c2");
       orc_program_add_temporary (p, 4, "t1");
       orc_program_add_temporary (p, 4, "t2");
       orc_program_add_temporary (p, 2, "t3");
@@ -2886,22 +2790,17 @@
 #else
   orc_union16 var43;
 #endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union16 var44;
-#else
   orc_union16 var44;
-#endif
-  orc_union16 var45;
-  orc_union64 var46;
+  orc_union64 var45;
+  orc_union16 var46;
   orc_union16 var47;
   orc_union16 var48;
   orc_union16 var49;
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-  orc_union16 var53;
+  orc_union32 var53;
   orc_union32 var54;
-  orc_union32 var55;
 
   ptr0 = (orc_union64 *) d1;
   ptr4 = (orc_union16 *) s1;
@@ -2915,9 +2814,6 @@
   var42.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
   /* 11: loadpw */
   var43.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
-  /* 14: loadpb */
-  var44.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var44.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
@@ -2925,71 +2821,71 @@
     /* 1: loadw */
     var38 = ptr9[i];
     /* 2: avgub */
-    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
-    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
+    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
+    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
     /* 3: loadw */
     var39 = ptr4[i];
     /* 4: loadw */
     var40 = ptr8[i];
     /* 5: avgub */
-    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
-    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
+    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
+    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
     /* 6: loadw */
     var41 = ptr7[i];
     /* 7: copyw */
-    var49.i = var41.i;
+    var48.i = var41.i;
     /* 8: avgub */
-    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
-    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
+    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
+    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
     /* 10: andw */
-    var51.i = var50.i & var42.i;
+    var50.i = var49.i & var42.i;
     /* 12: andw */
-    var52.i = var49.i & var43.i;
+    var51.i = var48.i & var43.i;
     /* 13: orw */
-    var53.i = var52.i | var51.i;
-    /* 15: mergebw */
+    var52.i = var51.i | var50.i;
+    /* 14: mergebw */
     {
       orc_union16 _dest;
-      _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var47.x2[0];
+      _dest.x2[0] = var42.x2[0];
+      _dest.x2[1] = var46.x2[0];
+      var53.x2[0] = _dest.i;
+    }
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var42.x2[1];
+      _dest.x2[1] = var46.x2[1];
+      var53.x2[1] = _dest.i;
+    }
+    /* 15: loadw */
+    var44 = ptr6[i];
+    /* 16: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var52.x2[0];
+      _dest.x2[1] = var44.x2[0];
       var54.x2[0] = _dest.i;
     }
     {
       orc_union16 _dest;
-      _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var47.x2[1];
+      _dest.x2[0] = var52.x2[1];
+      _dest.x2[1] = var44.x2[1];
       var54.x2[1] = _dest.i;
     }
-    /* 16: loadw */
-    var45 = ptr6[i];
-    /* 17: mergebw */
+    /* 17: mergewl */
     {
-      orc_union16 _dest;
+      orc_union32 _dest;
       _dest.x2[0] = var53.x2[0];
-      _dest.x2[1] = var45.x2[0];
-      var55.x2[0] = _dest.i;
+      _dest.x2[1] = var54.x2[0];
+      var45.x2[0] = _dest.i;
     }
     {
-      orc_union16 _dest;
+      orc_union32 _dest;
       _dest.x2[0] = var53.x2[1];
-      _dest.x2[1] = var45.x2[1];
-      var55.x2[1] = _dest.i;
+      _dest.x2[1] = var54.x2[1];
+      var45.x2[1] = _dest.i;
     }
-    /* 18: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var54.x2[0];
-      _dest.x2[1] = var55.x2[0];
-      var46.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var54.x2[1];
-      _dest.x2[1] = var55.x2[1];
-      var46.x2[1] = _dest.i;
-    }
-    /* 19: storeq */
-    ptr0[i] = var46;
+    /* 18: storeq */
+    ptr0[i] = var45;
   }
 
 }
@@ -3022,22 +2918,17 @@
 #else
   orc_union16 var43;
 #endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union16 var44;
-#else
   orc_union16 var44;
-#endif
-  orc_union16 var45;
-  orc_union64 var46;
+  orc_union64 var45;
+  orc_union16 var46;
   orc_union16 var47;
   orc_union16 var48;
   orc_union16 var49;
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-  orc_union16 var53;
+  orc_union32 var53;
   orc_union32 var54;
-  orc_union32 var55;
 
   ptr0 = (orc_union64 *) ex->arrays[0];
   ptr4 = (orc_union16 *) ex->arrays[4];
@@ -3051,9 +2942,6 @@
   var42.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
   /* 11: loadpw */
   var43.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
-  /* 14: loadpb */
-  var44.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var44.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
@@ -3061,71 +2949,71 @@
     /* 1: loadw */
     var38 = ptr9[i];
     /* 2: avgub */
-    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
-    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
+    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
+    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
     /* 3: loadw */
     var39 = ptr4[i];
     /* 4: loadw */
     var40 = ptr8[i];
     /* 5: avgub */
-    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
-    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
+    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
+    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
     /* 6: loadw */
     var41 = ptr7[i];
     /* 7: copyw */
-    var49.i = var41.i;
+    var48.i = var41.i;
     /* 8: avgub */
-    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
-    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
+    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
+    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
     /* 10: andw */
-    var51.i = var50.i & var42.i;
+    var50.i = var49.i & var42.i;
     /* 12: andw */
-    var52.i = var49.i & var43.i;
+    var51.i = var48.i & var43.i;
     /* 13: orw */
-    var53.i = var52.i | var51.i;
-    /* 15: mergebw */
+    var52.i = var51.i | var50.i;
+    /* 14: mergebw */
     {
       orc_union16 _dest;
-      _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var47.x2[0];
+      _dest.x2[0] = var42.x2[0];
+      _dest.x2[1] = var46.x2[0];
+      var53.x2[0] = _dest.i;
+    }
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var42.x2[1];
+      _dest.x2[1] = var46.x2[1];
+      var53.x2[1] = _dest.i;
+    }
+    /* 15: loadw */
+    var44 = ptr6[i];
+    /* 16: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var52.x2[0];
+      _dest.x2[1] = var44.x2[0];
       var54.x2[0] = _dest.i;
     }
     {
       orc_union16 _dest;
-      _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var47.x2[1];
+      _dest.x2[0] = var52.x2[1];
+      _dest.x2[1] = var44.x2[1];
       var54.x2[1] = _dest.i;
     }
-    /* 16: loadw */
-    var45 = ptr6[i];
-    /* 17: mergebw */
+    /* 17: mergewl */
     {
-      orc_union16 _dest;
+      orc_union32 _dest;
       _dest.x2[0] = var53.x2[0];
-      _dest.x2[1] = var45.x2[0];
-      var55.x2[0] = _dest.i;
+      _dest.x2[1] = var54.x2[0];
+      var45.x2[0] = _dest.i;
     }
     {
-      orc_union16 _dest;
+      orc_union32 _dest;
       _dest.x2[0] = var53.x2[1];
-      _dest.x2[1] = var45.x2[1];
-      var55.x2[1] = _dest.i;
+      _dest.x2[1] = var54.x2[1];
+      var45.x2[1] = _dest.i;
     }
-    /* 18: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var54.x2[0];
-      _dest.x2[1] = var55.x2[0];
-      var46.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var54.x2[1];
-      _dest.x2[1] = var55.x2[1];
-      var46.x2[1] = _dest.i;
-    }
-    /* 19: storeq */
-    ptr0[i] = var46;
+    /* 18: storeq */
+    ptr0[i] = var45;
   }
 
 }
@@ -3151,7 +3039,7 @@
         1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114,
         103, 101, 95, 98, 103, 95, 97, 114, 103, 98, 11, 8, 8, 12, 2, 2,
         12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14,
-        4, 255, 0, 0, 0, 14, 4, 0, 255, 0, 0, 20, 4, 20, 4, 20,
+        2, 255, 0, 0, 0, 14, 2, 0, 255, 0, 0, 20, 4, 20, 4, 20,
         2, 20, 2, 20, 2, 21, 1, 39, 34, 5, 9, 21, 1, 39, 35, 4,
         8, 79, 36, 7, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36,
         36, 17, 92, 35, 36, 35, 21, 1, 196, 32, 16, 34, 21, 1, 196, 33,
@@ -3170,8 +3058,8 @@
       orc_program_add_source (p, 2, "s4");
       orc_program_add_source (p, 2, "s5");
       orc_program_add_source (p, 2, "s6");
-      orc_program_add_constant (p, 4, 0x000000ff, "c1");
-      orc_program_add_constant (p, 4, 0x0000ff00, "c2");
+      orc_program_add_constant (p, 2, 0x000000ff, "c1");
+      orc_program_add_constant (p, 2, 0x0000ff00, "c2");
       orc_program_add_temporary (p, 4, "t1");
       orc_program_add_temporary (p, 4, "t2");
       orc_program_add_temporary (p, 2, "t3");
@@ -3256,22 +3144,17 @@
 #else
   orc_union16 var43;
 #endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union16 var44;
-#else
   orc_union16 var44;
-#endif
-  orc_union16 var45;
-  orc_union64 var46;
+  orc_union64 var45;
+  orc_union16 var46;
   orc_union16 var47;
   orc_union16 var48;
   orc_union16 var49;
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-  orc_union16 var53;
+  orc_union32 var53;
   orc_union32 var54;
-  orc_union32 var55;
 
   ptr0 = (orc_union64 *) d1;
   ptr4 = (orc_union16 *) s1;
@@ -3285,9 +3168,6 @@
   var42.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
   /* 11: loadpw */
   var43.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
-  /* 14: loadpb */
-  var44.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var44.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
@@ -3295,71 +3175,71 @@
     /* 1: loadw */
     var38 = ptr8[i];
     /* 2: avgub */
-    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
-    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
+    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
+    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
     /* 3: loadw */
     var39 = ptr5[i];
     /* 4: loadw */
     var40 = ptr9[i];
     /* 5: avgub */
-    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
-    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
+    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
+    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
     /* 6: loadw */
     var41 = ptr6[i];
     /* 7: copyw */
-    var49.i = var41.i;
+    var48.i = var41.i;
     /* 8: avgub */
-    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
-    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
+    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
+    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
     /* 10: andw */
-    var51.i = var50.i & var42.i;
+    var50.i = var49.i & var42.i;
     /* 12: andw */
-    var52.i = var49.i & var43.i;
+    var51.i = var48.i & var43.i;
     /* 13: orw */
-    var53.i = var52.i | var51.i;
-    /* 15: loadw */
-    var45 = ptr7[i];
+    var52.i = var51.i | var50.i;
+    /* 14: loadw */
+    var44 = ptr7[i];
+    /* 15: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var43.x2[0];
+      _dest.x2[1] = var44.x2[0];
+      var53.x2[0] = _dest.i;
+    }
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var43.x2[1];
+      _dest.x2[1] = var44.x2[1];
+      var53.x2[1] = _dest.i;
+    }
     /* 16: mergebw */
     {
       orc_union16 _dest;
-      _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var45.x2[0];
+      _dest.x2[0] = var52.x2[0];
+      _dest.x2[1] = var46.x2[0];
       var54.x2[0] = _dest.i;
     }
     {
       orc_union16 _dest;
-      _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var45.x2[1];
+      _dest.x2[0] = var52.x2[1];
+      _dest.x2[1] = var46.x2[1];
       var54.x2[1] = _dest.i;
     }
-    /* 17: mergebw */
+    /* 17: mergewl */
     {
-      orc_union16 _dest;
+      orc_union32 _dest;
       _dest.x2[0] = var53.x2[0];
-      _dest.x2[1] = var47.x2[0];
-      var55.x2[0] = _dest.i;
+      _dest.x2[1] = var54.x2[0];
+      var45.x2[0] = _dest.i;
     }
     {
-      orc_union16 _dest;
+      orc_union32 _dest;
       _dest.x2[0] = var53.x2[1];
-      _dest.x2[1] = var47.x2[1];
-      var55.x2[1] = _dest.i;
+      _dest.x2[1] = var54.x2[1];
+      var45.x2[1] = _dest.i;
     }
-    /* 18: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var54.x2[0];
-      _dest.x2[1] = var55.x2[0];
-      var46.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var54.x2[1];
-      _dest.x2[1] = var55.x2[1];
-      var46.x2[1] = _dest.i;
-    }
-    /* 19: storeq */
-    ptr0[i] = var46;
+    /* 18: storeq */
+    ptr0[i] = var45;
   }
 
 }
@@ -3392,22 +3272,17 @@
 #else
   orc_union16 var43;
 #endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union16 var44;
-#else
   orc_union16 var44;
-#endif
-  orc_union16 var45;
-  orc_union64 var46;
+  orc_union64 var45;
+  orc_union16 var46;
   orc_union16 var47;
   orc_union16 var48;
   orc_union16 var49;
   orc_union16 var50;
   orc_union16 var51;
   orc_union16 var52;
-  orc_union16 var53;
+  orc_union32 var53;
   orc_union32 var54;
-  orc_union32 var55;
 
   ptr0 = (orc_union64 *) ex->arrays[0];
   ptr4 = (orc_union16 *) ex->arrays[4];
@@ -3421,9 +3296,6 @@
   var42.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
   /* 11: loadpw */
   var43.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
-  /* 14: loadpb */
-  var44.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var44.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
@@ -3431,71 +3303,71 @@
     /* 1: loadw */
     var38 = ptr8[i];
     /* 2: avgub */
-    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
-    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
+    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
+    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
     /* 3: loadw */
     var39 = ptr5[i];
     /* 4: loadw */
     var40 = ptr9[i];
     /* 5: avgub */
-    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
-    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
+    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
+    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
     /* 6: loadw */
     var41 = ptr6[i];
     /* 7: copyw */
-    var49.i = var41.i;
+    var48.i = var41.i;
     /* 8: avgub */
-    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
-    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
+    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
+    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
     /* 10: andw */
-    var51.i = var50.i & var42.i;
+    var50.i = var49.i & var42.i;
     /* 12: andw */
-    var52.i = var49.i & var43.i;
+    var51.i = var48.i & var43.i;
     /* 13: orw */
-    var53.i = var52.i | var51.i;
-    /* 15: loadw */
-    var45 = ptr7[i];
+    var52.i = var51.i | var50.i;
+    /* 14: loadw */
+    var44 = ptr7[i];
+    /* 15: mergebw */
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var43.x2[0];
+      _dest.x2[1] = var44.x2[0];
+      var53.x2[0] = _dest.i;
+    }
+    {
+      orc_union16 _dest;
+      _dest.x2[0] = var43.x2[1];
+      _dest.x2[1] = var44.x2[1];
+      var53.x2[1] = _dest.i;
+    }
     /* 16: mergebw */
     {
       orc_union16 _dest;
-      _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var45.x2[0];
+      _dest.x2[0] = var52.x2[0];
+      _dest.x2[1] = var46.x2[0];
       var54.x2[0] = _dest.i;
     }
     {
       orc_union16 _dest;
-      _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var45.x2[1];
+      _dest.x2[0] = var52.x2[1];
+      _dest.x2[1] = var46.x2[1];
       var54.x2[1] = _dest.i;
     }
-    /* 17: mergebw */
+    /* 17: mergewl */
     {
-      orc_union16 _dest;
+      orc_union32 _dest;
       _dest.x2[0] = var53.x2[0];
-      _dest.x2[1] = var47.x2[0];
-      var55.x2[0] = _dest.i;
+      _dest.x2[1] = var54.x2[0];
+      var45.x2[0] = _dest.i;
     }
     {
-      orc_union16 _dest;
+      orc_union32 _dest;
       _dest.x2[0] = var53.x2[1];
-      _dest.x2[1] = var47.x2[1];
-      var55.x2[1] = _dest.i;
+      _dest.x2[1] = var54.x2[1];
+      var45.x2[1] = _dest.i;
     }
-    /* 18: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var54.x2[0];
-      _dest.x2[1] = var55.x2[0];
-      var46.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var54.x2[1];
-      _dest.x2[1] = var55.x2[1];
-      var46.x2[1] = _dest.i;
-    }
-    /* 19: storeq */
-    ptr0[i] = var46;
+    /* 18: storeq */
+    ptr0[i] = var45;
   }
 
 }
@@ -3521,7 +3393,7 @@
         1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114,
         103, 101, 95, 103, 114, 95, 97, 114, 103, 98, 11, 8, 8, 12, 2, 2,
         12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14,
-        4, 0, 255, 0, 0, 14, 4, 255, 0, 0, 0, 20, 4, 20, 4, 20,
+        2, 0, 255, 0, 0, 14, 2, 255, 0, 0, 0, 20, 4, 20, 4, 20,
         2, 20, 2, 20, 2, 21, 1, 39, 34, 4, 8, 21, 1, 39, 35, 5,
         9, 79, 36, 6, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36,
         36, 17, 92, 35, 36, 35, 21, 1, 196, 32, 17, 7, 21, 1, 196, 33,
@@ -3540,8 +3412,8 @@
       orc_program_add_source (p, 2, "s4");
       orc_program_add_source (p, 2, "s5");
       orc_program_add_source (p, 2, "s6");
-      orc_program_add_constant (p, 4, 0x0000ff00, "c1");
-      orc_program_add_constant (p, 4, 0x000000ff, "c2");
+      orc_program_add_constant (p, 2, 0x0000ff00, "c1");
+      orc_program_add_constant (p, 2, 0x000000ff, "c2");
       orc_program_add_temporary (p, 4, "t1");
       orc_program_add_temporary (p, 4, "t2");
       orc_program_add_temporary (p, 2, "t3");
diff --git a/gst/compositor/compositororc-dist.c b/gst/compositor/compositororc-dist.c
index db71b93..4174482 100644
--- a/gst/compositor/compositororc-dist.c
+++ b/gst/compositor/compositororc-dist.c
@@ -403,7 +403,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 */
@@ -460,7 +460,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 */
@@ -606,8 +606,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];
@@ -618,11 +619,19 @@
       var46.x4[1] = (var45.x4[1] * var39.x4[1]) & 0xffff;
       var46.x4[2] = (var45.x4[2] * var39.x4[2]) & 0xffff;
       var46.x4[3] = (var45.x4[3] * var39.x4[3]) & 0xffff;
-      /* 7: shruw */
-      var47.x4[0] = ((orc_uint16) var46.x4[0]) >> 8;
-      var47.x4[1] = ((orc_uint16) var46.x4[1]) >> 8;
-      var47.x4[2] = ((orc_uint16) var46.x4[2]) >> 8;
-      var47.x4[3] = ((orc_uint16) var46.x4[3]) >> 8;
+      /* 7: div255w */
+      var47.x4[0] =
+          ((orc_uint16) (((orc_uint16) (var46.x4[0] + 128)) +
+              (((orc_uint16) (var46.x4[0] + 128)) >> 8))) >> 8;
+      var47.x4[1] =
+          ((orc_uint16) (((orc_uint16) (var46.x4[1] + 128)) +
+              (((orc_uint16) (var46.x4[1] + 128)) >> 8))) >> 8;
+      var47.x4[2] =
+          ((orc_uint16) (((orc_uint16) (var46.x4[2] + 128)) +
+              (((orc_uint16) (var46.x4[2] + 128)) >> 8))) >> 8;
+      var47.x4[3] =
+          ((orc_uint16) (((orc_uint16) (var46.x4[3] + 128)) +
+              (((orc_uint16) (var46.x4[3] + 128)) >> 8))) >> 8;
       /* 8: convubw */
       var48.x4[0] = (orc_uint8) var41.x4[0];
       var48.x4[1] = (orc_uint8) var41.x4[1];
@@ -731,8 +740,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];
@@ -743,11 +753,19 @@
       var46.x4[1] = (var45.x4[1] * var39.x4[1]) & 0xffff;
       var46.x4[2] = (var45.x4[2] * var39.x4[2]) & 0xffff;
       var46.x4[3] = (var45.x4[3] * var39.x4[3]) & 0xffff;
-      /* 7: shruw */
-      var47.x4[0] = ((orc_uint16) var46.x4[0]) >> 8;
-      var47.x4[1] = ((orc_uint16) var46.x4[1]) >> 8;
-      var47.x4[2] = ((orc_uint16) var46.x4[2]) >> 8;
-      var47.x4[3] = ((orc_uint16) var46.x4[3]) >> 8;
+      /* 7: div255w */
+      var47.x4[0] =
+          ((orc_uint16) (((orc_uint16) (var46.x4[0] + 128)) +
+              (((orc_uint16) (var46.x4[0] + 128)) >> 8))) >> 8;
+      var47.x4[1] =
+          ((orc_uint16) (((orc_uint16) (var46.x4[1] + 128)) +
+              (((orc_uint16) (var46.x4[1] + 128)) >> 8))) >> 8;
+      var47.x4[2] =
+          ((orc_uint16) (((orc_uint16) (var46.x4[2] + 128)) +
+              (((orc_uint16) (var46.x4[2] + 128)) >> 8))) >> 8;
+      var47.x4[3] =
+          ((orc_uint16) (((orc_uint16) (var46.x4[3] + 128)) +
+              (((orc_uint16) (var46.x4[3] + 128)) >> 8))) >> 8;
       /* 8: convubw */
       var48.x4[0] = (orc_uint8) var41.x4[0];
       var48.x4[1] = (orc_uint8) var41.x4[1];
@@ -820,13 +838,13 @@
       static const orc_uint8 bc[] = {
         1, 7, 9, 25, 99, 111, 109, 112, 111, 115, 105, 116, 111, 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, 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, 37,
-        32, 113, 32, 0, 21, 2, 150, 36, 32, 21, 2, 98, 37, 37, 36, 21,
-        2, 89, 37, 37, 38, 21, 2, 80, 37, 37, 21, 2, 70, 36, 36, 37,
-        21, 2, 157, 32, 36, 123, 32, 32, 16, 128, 0, 32, 2, 0,
+        12, 4, 4, 14, 4, 255, 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, 80, 38, 38, 21, 2, 150, 37, 32, 113, 32, 0, 21, 2, 150,
+        36, 32, 21, 2, 98, 37, 37, 36, 21, 2, 89, 37, 37, 38, 21, 2,
+        80, 37, 37, 21, 2, 70, 36, 36, 37, 21, 2, 157, 32, 36, 123, 32,
+        32, 16, 128, 0, 32, 2, 0,
       };
       p = orc_program_new_from_static_bytecode (bc);
       orc_program_set_backup_function (p, _backup_compositor_orc_blend_argb);
@@ -838,7 +856,6 @@
       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_parameter (p, 2, "p1");
       orc_program_add_temporary (p, 4, "t1");
       orc_program_add_temporary (p, 2, "t2");
@@ -860,7 +877,7 @@
           ORC_VAR_D1);
       orc_program_append_2 (p, "mullw", 2, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_P1,
           ORC_VAR_D1);
-      orc_program_append_2 (p, "shruw", 2, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_C2,
+      orc_program_append_2 (p, "div255w", 2, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_D1,
           ORC_VAR_D1);
       orc_program_append_2 (p, "convubw", 2, ORC_VAR_T6, ORC_VAR_T1, ORC_VAR_D1,
           ORC_VAR_D1);
@@ -965,8 +982,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];
@@ -977,11 +995,19 @@
       var48.x4[1] = (var47.x4[1] * var40.x4[1]) & 0xffff;
       var48.x4[2] = (var47.x4[2] * var40.x4[2]) & 0xffff;
       var48.x4[3] = (var47.x4[3] * var40.x4[3]) & 0xffff;
-      /* 8: shruw */
-      var49.x4[0] = ((orc_uint16) var48.x4[0]) >> 8;
-      var49.x4[1] = ((orc_uint16) var48.x4[1]) >> 8;
-      var49.x4[2] = ((orc_uint16) var48.x4[2]) >> 8;
-      var49.x4[3] = ((orc_uint16) var48.x4[3]) >> 8;
+      /* 8: div255w */
+      var49.x4[0] =
+          ((orc_uint16) (((orc_uint16) (var48.x4[0] + 128)) +
+              (((orc_uint16) (var48.x4[0] + 128)) >> 8))) >> 8;
+      var49.x4[1] =
+          ((orc_uint16) (((orc_uint16) (var48.x4[1] + 128)) +
+              (((orc_uint16) (var48.x4[1] + 128)) >> 8))) >> 8;
+      var49.x4[2] =
+          ((orc_uint16) (((orc_uint16) (var48.x4[2] + 128)) +
+              (((orc_uint16) (var48.x4[2] + 128)) >> 8))) >> 8;
+      var49.x4[3] =
+          ((orc_uint16) (((orc_uint16) (var48.x4[3] + 128)) +
+              (((orc_uint16) (var48.x4[3] + 128)) >> 8))) >> 8;
       /* 9: convubw */
       var50.x4[0] = (orc_uint8) var42.x4[0];
       var50.x4[1] = (orc_uint8) var42.x4[1];
@@ -1093,8 +1119,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];
@@ -1105,11 +1132,19 @@
       var48.x4[1] = (var47.x4[1] * var40.x4[1]) & 0xffff;
       var48.x4[2] = (var47.x4[2] * var40.x4[2]) & 0xffff;
       var48.x4[3] = (var47.x4[3] * var40.x4[3]) & 0xffff;
-      /* 8: shruw */
-      var49.x4[0] = ((orc_uint16) var48.x4[0]) >> 8;
-      var49.x4[1] = ((orc_uint16) var48.x4[1]) >> 8;
-      var49.x4[2] = ((orc_uint16) var48.x4[2]) >> 8;
-      var49.x4[3] = ((orc_uint16) var48.x4[3]) >> 8;
+      /* 8: div255w */
+      var49.x4[0] =
+          ((orc_uint16) (((orc_uint16) (var48.x4[0] + 128)) +
+              (((orc_uint16) (var48.x4[0] + 128)) >> 8))) >> 8;
+      var49.x4[1] =
+          ((orc_uint16) (((orc_uint16) (var48.x4[1] + 128)) +
+              (((orc_uint16) (var48.x4[1] + 128)) >> 8))) >> 8;
+      var49.x4[2] =
+          ((orc_uint16) (((orc_uint16) (var48.x4[2] + 128)) +
+              (((orc_uint16) (var48.x4[2] + 128)) >> 8))) >> 8;
+      var49.x4[3] =
+          ((orc_uint16) (((orc_uint16) (var48.x4[3] + 128)) +
+              (((orc_uint16) (var48.x4[3] + 128)) >> 8))) >> 8;
       /* 9: convubw */
       var50.x4[0] = (orc_uint8) var42.x4[0];
       var50.x4[1] = (orc_uint8) var42.x4[1];
@@ -1182,14 +1217,14 @@
       static const orc_uint8 bc[] = {
         1, 7, 9, 25, 99, 111, 109, 112, 111, 115, 105, 116, 111, 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, 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, 0,
-        21, 2, 150, 37, 32, 21, 2, 98, 38, 38, 37, 21, 2, 89, 38, 38,
-        39, 21, 2, 80, 38, 38, 21, 2, 70, 37, 37, 38, 21, 2, 157, 32,
-        37, 123, 32, 32, 16, 128, 0, 32, 2, 0,
+        12, 4, 4, 14, 4, 0, 0, 0, 255, 14, 4, 24, 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, 80, 39,
+        39, 21, 2, 150, 38, 32, 113, 32, 0, 21, 2, 150, 37, 32, 21, 2,
+        98, 38, 38, 37, 21, 2, 89, 38, 38, 39, 21, 2, 80, 38, 38, 21,
+        2, 70, 37, 37, 38, 21, 2, 157, 32, 37, 123, 32, 32, 16, 128, 0,
+        32, 2, 0,
       };
       p = orc_program_new_from_static_bytecode (bc);
       orc_program_set_backup_function (p, _backup_compositor_orc_blend_bgra);
@@ -1202,7 +1237,6 @@
       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_parameter (p, 2, "p1");
       orc_program_add_temporary (p, 4, "t1");
       orc_program_add_temporary (p, 4, "t2");
@@ -1227,7 +1261,7 @@
           ORC_VAR_D1);
       orc_program_append_2 (p, "mullw", 2, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_P1,
           ORC_VAR_D1);
-      orc_program_append_2 (p, "shruw", 2, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_C3,
+      orc_program_append_2 (p, "div255w", 2, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_D1,
           ORC_VAR_D1);
       orc_program_append_2 (p, "convubw", 2, ORC_VAR_T7, ORC_VAR_T1, ORC_VAR_D1,
           ORC_VAR_D1);
@@ -1351,8 +1385,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];
@@ -1363,11 +1398,19 @@
       var49.x4[1] = (var48.x4[1] * var41.x4[1]) & 0xffff;
       var49.x4[2] = (var48.x4[2] * var41.x4[2]) & 0xffff;
       var49.x4[3] = (var48.x4[3] * var41.x4[3]) & 0xffff;
-      /* 7: shruw */
-      var50.x4[0] = ((orc_uint16) var49.x4[0]) >> 8;
-      var50.x4[1] = ((orc_uint16) var49.x4[1]) >> 8;
-      var50.x4[2] = ((orc_uint16) var49.x4[2]) >> 8;
-      var50.x4[3] = ((orc_uint16) var49.x4[3]) >> 8;
+      /* 7: div255w */
+      var50.x4[0] =
+          ((orc_uint16) (((orc_uint16) (var49.x4[0] + 128)) +
+              (((orc_uint16) (var49.x4[0] + 128)) >> 8))) >> 8;
+      var50.x4[1] =
+          ((orc_uint16) (((orc_uint16) (var49.x4[1] + 128)) +
+              (((orc_uint16) (var49.x4[1] + 128)) >> 8))) >> 8;
+      var50.x4[2] =
+          ((orc_uint16) (((orc_uint16) (var49.x4[2] + 128)) +
+              (((orc_uint16) (var49.x4[2] + 128)) >> 8))) >> 8;
+      var50.x4[3] =
+          ((orc_uint16) (((orc_uint16) (var49.x4[3] + 128)) +
+              (((orc_uint16) (var49.x4[3] + 128)) >> 8))) >> 8;
       /* 8: convubw */
       var51.x4[0] = (orc_uint8) var44.x4[0];
       var51.x4[1] = (orc_uint8) var44.x4[1];
@@ -1396,8 +1439,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];
@@ -1557,8 +1601,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];
@@ -1569,11 +1614,19 @@
       var49.x4[1] = (var48.x4[1] * var41.x4[1]) & 0xffff;
       var49.x4[2] = (var48.x4[2] * var41.x4[2]) & 0xffff;
       var49.x4[3] = (var48.x4[3] * var41.x4[3]) & 0xffff;
-      /* 7: shruw */
-      var50.x4[0] = ((orc_uint16) var49.x4[0]) >> 8;
-      var50.x4[1] = ((orc_uint16) var49.x4[1]) >> 8;
-      var50.x4[2] = ((orc_uint16) var49.x4[2]) >> 8;
-      var50.x4[3] = ((orc_uint16) var49.x4[3]) >> 8;
+      /* 7: div255w */
+      var50.x4[0] =
+          ((orc_uint16) (((orc_uint16) (var49.x4[0] + 128)) +
+              (((orc_uint16) (var49.x4[0] + 128)) >> 8))) >> 8;
+      var50.x4[1] =
+          ((orc_uint16) (((orc_uint16) (var49.x4[1] + 128)) +
+              (((orc_uint16) (var49.x4[1] + 128)) >> 8))) >> 8;
+      var50.x4[2] =
+          ((orc_uint16) (((orc_uint16) (var49.x4[2] + 128)) +
+              (((orc_uint16) (var49.x4[2] + 128)) >> 8))) >> 8;
+      var50.x4[3] =
+          ((orc_uint16) (((orc_uint16) (var49.x4[3] + 128)) +
+              (((orc_uint16) (var49.x4[3] + 128)) >> 8))) >> 8;
       /* 8: convubw */
       var51.x4[0] = (orc_uint8) var44.x4[0];
       var51.x4[1] = (orc_uint8) var44.x4[1];
@@ -1602,8 +1655,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];
@@ -1706,17 +1760,17 @@
         1, 7, 9, 27, 99, 111, 109, 112, 111, 115, 105, 116, 111, 114, 95, 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, 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, 2,
-        150, 40, 32, 21, 2, 89, 40, 40, 35, 115, 38, 16, 21, 2, 150, 36,
-        38, 21, 2, 98, 36, 36, 35, 113, 32, 0, 163, 33, 32, 157, 34, 33,
-        152, 38, 34, 21, 2, 150, 37, 38, 21, 2, 89, 37, 37, 36, 21, 2,
-        80, 37, 37, 21, 2, 150, 39, 32, 21, 2, 89, 39, 39, 37, 21, 2,
-        70, 39, 39, 40, 21, 2, 70, 37, 37, 35, 21, 2, 81, 39, 39, 37,
-        21, 2, 157, 32, 39, 106, 32, 32, 18, 21, 2, 157, 38, 37, 106, 38,
-        38, 17, 123, 32, 32, 38, 128, 0, 32, 2, 0,
+        0, 14, 4, 0, 255, 255, 255, 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, 80, 35, 35, 21, 2, 150, 40, 32, 21, 2, 89, 40,
+        40, 35, 115, 38, 16, 21, 2, 150, 36, 38, 21, 2, 98, 36, 36, 35,
+        113, 32, 0, 163, 33, 32, 157, 34, 33, 152, 38, 34, 21, 2, 150, 37,
+        38, 21, 2, 89, 37, 37, 36, 21, 2, 80, 37, 37, 21, 2, 150, 39,
+        32, 21, 2, 89, 39, 39, 37, 21, 2, 70, 39, 39, 40, 21, 2, 70,
+        37, 37, 35, 21, 2, 81, 39, 39, 37, 21, 2, 157, 32, 39, 106, 32,
+        32, 18, 21, 2, 157, 38, 37, 106, 38, 38, 17, 123, 32, 32, 38, 128,
+        0, 32, 2, 0,
       };
       p = orc_program_new_from_static_bytecode (bc);
       orc_program_set_backup_function (p, _backup_compositor_orc_overlay_argb);
@@ -1730,7 +1784,6 @@
       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_parameter (p, 2, "p1");
       orc_program_add_temporary (p, 4, "t1");
       orc_program_add_temporary (p, 2, "t2");
@@ -1754,7 +1807,7 @@
           ORC_VAR_D1);
       orc_program_append_2 (p, "mullw", 2, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_P1,
           ORC_VAR_D1);
-      orc_program_append_2 (p, "shruw", 2, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_C4,
+      orc_program_append_2 (p, "div255w", 2, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_D1,
           ORC_VAR_D1);
       orc_program_append_2 (p, "convubw", 2, ORC_VAR_T9, ORC_VAR_T1, ORC_VAR_D1,
           ORC_VAR_D1);
@@ -1908,8 +1961,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];
@@ -1920,11 +1974,19 @@
       var51.x4[1] = (var50.x4[1] * var42.x4[1]) & 0xffff;
       var51.x4[2] = (var50.x4[2] * var42.x4[2]) & 0xffff;
       var51.x4[3] = (var50.x4[3] * var42.x4[3]) & 0xffff;
-      /* 8: shruw */
-      var52.x4[0] = ((orc_uint16) var51.x4[0]) >> 8;
-      var52.x4[1] = ((orc_uint16) var51.x4[1]) >> 8;
-      var52.x4[2] = ((orc_uint16) var51.x4[2]) >> 8;
-      var52.x4[3] = ((orc_uint16) var51.x4[3]) >> 8;
+      /* 8: div255w */
+      var52.x4[0] =
+          ((orc_uint16) (((orc_uint16) (var51.x4[0] + 128)) +
+              (((orc_uint16) (var51.x4[0] + 128)) >> 8))) >> 8;
+      var52.x4[1] =
+          ((orc_uint16) (((orc_uint16) (var51.x4[1] + 128)) +
+              (((orc_uint16) (var51.x4[1] + 128)) >> 8))) >> 8;
+      var52.x4[2] =
+          ((orc_uint16) (((orc_uint16) (var51.x4[2] + 128)) +
+              (((orc_uint16) (var51.x4[2] + 128)) >> 8))) >> 8;
+      var52.x4[3] =
+          ((orc_uint16) (((orc_uint16) (var51.x4[3] + 128)) +
+              (((orc_uint16) (var51.x4[3] + 128)) >> 8))) >> 8;
       /* 9: convubw */
       var53.x4[0] = (orc_uint8) var45.x4[0];
       var53.x4[1] = (orc_uint8) var45.x4[1];
@@ -1955,8 +2017,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];
@@ -2120,8 +2183,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];
@@ -2132,11 +2196,19 @@
       var51.x4[1] = (var50.x4[1] * var42.x4[1]) & 0xffff;
       var51.x4[2] = (var50.x4[2] * var42.x4[2]) & 0xffff;
       var51.x4[3] = (var50.x4[3] * var42.x4[3]) & 0xffff;
-      /* 8: shruw */
-      var52.x4[0] = ((orc_uint16) var51.x4[0]) >> 8;
-      var52.x4[1] = ((orc_uint16) var51.x4[1]) >> 8;
-      var52.x4[2] = ((orc_uint16) var51.x4[2]) >> 8;
-      var52.x4[3] = ((orc_uint16) var51.x4[3]) >> 8;
+      /* 8: div255w */
+      var52.x4[0] =
+          ((orc_uint16) (((orc_uint16) (var51.x4[0] + 128)) +
+              (((orc_uint16) (var51.x4[0] + 128)) >> 8))) >> 8;
+      var52.x4[1] =
+          ((orc_uint16) (((orc_uint16) (var51.x4[1] + 128)) +
+              (((orc_uint16) (var51.x4[1] + 128)) >> 8))) >> 8;
+      var52.x4[2] =
+          ((orc_uint16) (((orc_uint16) (var51.x4[2] + 128)) +
+              (((orc_uint16) (var51.x4[2] + 128)) >> 8))) >> 8;
+      var52.x4[3] =
+          ((orc_uint16) (((orc_uint16) (var51.x4[3] + 128)) +
+              (((orc_uint16) (var51.x4[3] + 128)) >> 8))) >> 8;
       /* 9: convubw */
       var53.x4[0] = (orc_uint8) var45.x4[0];
       var53.x4[1] = (orc_uint8) var45.x4[1];
@@ -2167,8 +2239,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];
@@ -2271,18 +2344,18 @@
         1, 7, 9, 27, 99, 111, 109, 112, 111, 115, 105, 116, 111, 114, 95, 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, 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, 2,
-        89, 36, 36, 24, 21, 2, 95, 36, 36, 20, 21, 2, 150, 41, 32, 21,
-        2, 89, 41, 41, 36, 115, 39, 16, 21, 2, 150, 37, 39, 21, 2, 98,
-        37, 37, 36, 113, 32, 0, 126, 33, 32, 19, 163, 34, 33, 157, 35, 34,
-        152, 39, 35, 21, 2, 150, 38, 39, 21, 2, 89, 38, 38, 37, 21, 2,
-        80, 38, 38, 21, 2, 150, 40, 32, 21, 2, 89, 40, 40, 38, 21, 2,
-        70, 40, 40, 41, 21, 2, 70, 38, 38, 36, 21, 2, 81, 40, 40, 38,
-        21, 2, 157, 32, 40, 106, 32, 32, 18, 21, 2, 157, 39, 38, 106, 39,
-        39, 17, 123, 32, 32, 39, 128, 0, 32, 2, 0,
+        255, 14, 4, 255, 255, 255, 0, 14, 4, 24, 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, 2, 89, 36, 36, 24, 21, 2,
+        80, 36, 36, 21, 2, 150, 41, 32, 21, 2, 89, 41, 41, 36, 115, 39,
+        16, 21, 2, 150, 37, 39, 21, 2, 98, 37, 37, 36, 113, 32, 0, 126,
+        33, 32, 19, 163, 34, 33, 157, 35, 34, 152, 39, 35, 21, 2, 150, 38,
+        39, 21, 2, 89, 38, 38, 37, 21, 2, 80, 38, 38, 21, 2, 150, 40,
+        32, 21, 2, 89, 40, 40, 38, 21, 2, 70, 40, 40, 41, 21, 2, 70,
+        38, 38, 36, 21, 2, 81, 40, 40, 38, 21, 2, 157, 32, 40, 106, 32,
+        32, 18, 21, 2, 157, 39, 38, 106, 39, 39, 17, 123, 32, 32, 39, 128,
+        0, 32, 2, 0,
       };
       p = orc_program_new_from_static_bytecode (bc);
       orc_program_set_backup_function (p, _backup_compositor_orc_overlay_bgra);
@@ -2297,7 +2370,6 @@
       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_parameter (p, 2, "p1");
       orc_program_add_temporary (p, 4, "t1");
       orc_program_add_temporary (p, 4, "t2");
@@ -2324,7 +2396,7 @@
           ORC_VAR_D1);
       orc_program_append_2 (p, "mullw", 2, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_P1,
           ORC_VAR_D1);
-      orc_program_append_2 (p, "shruw", 2, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_C5,
+      orc_program_append_2 (p, "div255w", 2, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_D1,
           ORC_VAR_D1);
       orc_program_append_2 (p, "convubw", 2, ORC_VAR_T10, ORC_VAR_T1,
           ORC_VAR_D1, ORC_VAR_D1);
diff --git a/gst/fieldanalysis/gstfieldanalysisorc-dist.c b/gst/fieldanalysis/gstfieldanalysisorc-dist.c
index 06951b7..1ae0143 100644
--- a/gst/fieldanalysis/gstfieldanalysisorc-dist.c
+++ b/gst/fieldanalysis/gstfieldanalysisorc-dist.c
@@ -205,7 +205,7 @@
     /* 9: andl */
     var45.i = var43.i & var44.i;
     /* 10: accl */
-    var12.i = var12.i + var45.i;
+    var12.i = ((orc_uint32) var12.i) + ((orc_uint32) var45.i);
   }
   *a1 = var12.i;
 
@@ -258,7 +258,7 @@
     /* 9: andl */
     var45.i = var43.i & var44.i;
     /* 10: accl */
-    var12.i = var12.i + var45.i;
+    var12.i = ((orc_uint32) var12.i) + ((orc_uint32) var45.i);
   }
   ex->accumulators[0] = var12.i;
 
@@ -391,7 +391,7 @@
     /* 8: andl */
     var44.i = var42.i & var43.i;
     /* 9: accl */
-    var12.i = var12.i + var44.i;
+    var12.i = ((orc_uint32) var12.i) + ((orc_uint32) var44.i);
   }
   *a1 = var12.i;
 
@@ -441,7 +441,7 @@
     /* 8: andl */
     var44.i = var42.i & var43.i;
     /* 9: accl */
-    var12.i = var12.i + var44.i;
+    var12.i = ((orc_uint32) var12.i) + ((orc_uint32) var44.i);
   }
   ex->accumulators[0] = var12.i;
 
@@ -606,9 +606,9 @@
     /* 11: convubw */
     var52.i = (orc_uint8) var45;
     /* 12: shlw */
-    var53.i = var48.i << 2;
+    var53.i = ((orc_uint16) var48.i) << 2;
     /* 13: shlw */
-    var54.i = var51.i << 2;
+    var54.i = ((orc_uint16) var51.i) << 2;
     /* 14: addw */
     var55.i = var47.i + var53.i;
     /* 15: addw */
@@ -628,7 +628,7 @@
     /* 23: andl */
     var63.i = var61.i & var62.i;
     /* 24: accl */
-    var12.i = var12.i + var63.i;
+    var12.i = ((orc_uint32) var12.i) + ((orc_uint32) var63.i);
   }
   *a1 = var12.i;
 
@@ -709,9 +709,9 @@
     /* 11: convubw */
     var52.i = (orc_uint8) var45;
     /* 12: shlw */
-    var53.i = var48.i << 2;
+    var53.i = ((orc_uint16) var48.i) << 2;
     /* 13: shlw */
-    var54.i = var51.i << 2;
+    var54.i = ((orc_uint16) var51.i) << 2;
     /* 14: addw */
     var55.i = var47.i + var53.i;
     /* 15: addw */
@@ -731,7 +731,7 @@
     /* 23: andl */
     var63.i = var61.i & var62.i;
     /* 24: accl */
-    var12.i = var12.i + var63.i;
+    var12.i = ((orc_uint32) var12.i) + ((orc_uint32) var63.i);
   }
   ex->accumulators[0] = var12.i;
 
@@ -761,7 +761,7 @@
         121,
         95, 51, 95, 116, 97, 112, 95, 112, 108, 97, 110, 97, 114, 95, 121, 117,
         118, 12, 1, 1, 12, 1, 1, 12, 1, 1, 12, 1, 1, 12, 1, 1,
-        12, 1, 1, 13, 4, 14, 4, 2, 0, 0, 0, 16, 4, 20, 2, 20,
+        12, 1, 1, 13, 4, 14, 2, 2, 0, 0, 0, 16, 4, 20, 2, 20,
         2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 4, 20, 4, 150, 32, 4,
         150, 33, 5, 150, 34, 6, 150, 35, 7, 150, 36, 8, 150, 37, 9, 93,
         33, 33, 16, 93, 36, 36, 16, 70, 32, 32, 33, 70, 32, 32, 34, 70,
@@ -784,7 +784,7 @@
       orc_program_add_source (p, 1, "s5");
       orc_program_add_source (p, 1, "s6");
       orc_program_add_accumulator (p, 4, "a1");
-      orc_program_add_constant (p, 4, 0x00000002, "c1");
+      orc_program_add_constant (p, 2, 0x00000002, "c1");
       orc_program_add_parameter (p, 4, "p1");
       orc_program_add_temporary (p, 2, "t1");
       orc_program_add_temporary (p, 2, "t2");
@@ -884,12 +884,8 @@
 #else
   orc_union16 var44;
 #endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union16 var45;
-#else
-  orc_union16 var45;
-#endif
-  orc_union32 var46;
+  orc_union32 var45;
+  orc_union16 var46;
   orc_union16 var47;
   orc_union16 var48;
   orc_union16 var49;
@@ -902,10 +898,9 @@
   orc_union16 var56;
   orc_union16 var57;
   orc_union16 var58;
-  orc_union16 var59;
+  orc_union32 var59;
   orc_union32 var60;
   orc_union32 var61;
-  orc_union32 var62;
 
   ptr4 = (orc_int8 *) s1;
   ptr5 = (orc_int8 *) s2;
@@ -915,56 +910,54 @@
 
   /* 11: loadpw */
   var44.i = (int) 0x00000003;   /* 3 or 1.4822e-323f */
-  /* 13: loadpw */
-  var45.i = (int) 0x00000003;   /* 3 or 1.4822e-323f */
-  /* 21: loadpl */
-  var46.i = p1;
+  /* 20: loadpl */
+  var45.i = p1;
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
     var39 = ptr4[i];
     /* 1: convubw */
-    var47.i = (orc_uint8) var39;
+    var46.i = (orc_uint8) var39;
     /* 2: loadb */
     var40 = ptr5[i];
     /* 3: convubw */
-    var48.i = (orc_uint8) var40;
+    var47.i = (orc_uint8) var40;
     /* 4: loadb */
     var41 = ptr6[i];
     /* 5: convubw */
-    var49.i = (orc_uint8) var41;
+    var48.i = (orc_uint8) var41;
     /* 6: loadb */
     var42 = ptr7[i];
     /* 7: convubw */
-    var50.i = (orc_uint8) var42;
+    var49.i = (orc_uint8) var42;
     /* 8: loadb */
     var43 = ptr8[i];
     /* 9: convubw */
-    var51.i = (orc_uint8) var43;
+    var50.i = (orc_uint8) var43;
     /* 10: shlw */
-    var52.i = var49.i << 2;
+    var51.i = ((orc_uint16) var48.i) << 2;
     /* 12: mullw */
-    var53.i = (var48.i * var44.i) & 0xffff;
-    /* 14: mullw */
-    var54.i = (var50.i * var45.i) & 0xffff;
-    /* 15: subw */
-    var55.i = var47.i - var53.i;
-    /* 16: addw */
-    var56.i = var55.i + var52.i;
-    /* 17: subw */
-    var57.i = var56.i - var54.i;
-    /* 18: addw */
-    var58.i = var57.i + var51.i;
-    /* 19: absw */
-    var59.i = ORC_ABS (var58.i);
-    /* 20: convuwl */
-    var60.i = (orc_uint16) var59.i;
-    /* 22: cmpgtsl */
-    var61.i = (var60.i > var46.i) ? (~0) : 0;
-    /* 23: andl */
-    var62.i = var60.i & var61.i;
-    /* 24: accl */
-    var12.i = var12.i + var62.i;
+    var52.i = (var47.i * var44.i) & 0xffff;
+    /* 13: mullw */
+    var53.i = (var49.i * var44.i) & 0xffff;
+    /* 14: subw */
+    var54.i = var46.i - var52.i;
+    /* 15: addw */
+    var55.i = var54.i + var51.i;
+    /* 16: subw */
+    var56.i = var55.i - var53.i;
+    /* 17: addw */
+    var57.i = var56.i + var50.i;
+    /* 18: absw */
+    var58.i = ORC_ABS (var57.i);
+    /* 19: convuwl */
+    var59.i = (orc_uint16) var58.i;
+    /* 21: cmpgtsl */
+    var60.i = (var59.i > var45.i) ? (~0) : 0;
+    /* 22: andl */
+    var61.i = var59.i & var60.i;
+    /* 23: accl */
+    var12.i = ((orc_uint32) var12.i) + ((orc_uint32) var61.i);
   }
   *a1 = var12.i;
 
@@ -993,12 +986,8 @@
 #else
   orc_union16 var44;
 #endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
-  volatile orc_union16 var45;
-#else
-  orc_union16 var45;
-#endif
-  orc_union32 var46;
+  orc_union32 var45;
+  orc_union16 var46;
   orc_union16 var47;
   orc_union16 var48;
   orc_union16 var49;
@@ -1011,10 +1000,9 @@
   orc_union16 var56;
   orc_union16 var57;
   orc_union16 var58;
-  orc_union16 var59;
+  orc_union32 var59;
   orc_union32 var60;
   orc_union32 var61;
-  orc_union32 var62;
 
   ptr4 = (orc_int8 *) ex->arrays[4];
   ptr5 = (orc_int8 *) ex->arrays[5];
@@ -1024,56 +1012,54 @@
 
   /* 11: loadpw */
   var44.i = (int) 0x00000003;   /* 3 or 1.4822e-323f */
-  /* 13: loadpw */
-  var45.i = (int) 0x00000003;   /* 3 or 1.4822e-323f */
-  /* 21: loadpl */
-  var46.i = ex->params[24];
+  /* 20: loadpl */
+  var45.i = ex->params[24];
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
     var39 = ptr4[i];
     /* 1: convubw */
-    var47.i = (orc_uint8) var39;
+    var46.i = (orc_uint8) var39;
     /* 2: loadb */
     var40 = ptr5[i];
     /* 3: convubw */
-    var48.i = (orc_uint8) var40;
+    var47.i = (orc_uint8) var40;
     /* 4: loadb */
     var41 = ptr6[i];
     /* 5: convubw */
-    var49.i = (orc_uint8) var41;
+    var48.i = (orc_uint8) var41;
     /* 6: loadb */
     var42 = ptr7[i];
     /* 7: convubw */
-    var50.i = (orc_uint8) var42;
+    var49.i = (orc_uint8) var42;
     /* 8: loadb */
     var43 = ptr8[i];
     /* 9: convubw */
-    var51.i = (orc_uint8) var43;
+    var50.i = (orc_uint8) var43;
     /* 10: shlw */
-    var52.i = var49.i << 2;
+    var51.i = ((orc_uint16) var48.i) << 2;
     /* 12: mullw */
-    var53.i = (var48.i * var44.i) & 0xffff;
-    /* 14: mullw */
-    var54.i = (var50.i * var45.i) & 0xffff;
-    /* 15: subw */
-    var55.i = var47.i - var53.i;
-    /* 16: addw */
-    var56.i = var55.i + var52.i;
-    /* 17: subw */
-    var57.i = var56.i - var54.i;
-    /* 18: addw */
-    var58.i = var57.i + var51.i;
-    /* 19: absw */
-    var59.i = ORC_ABS (var58.i);
-    /* 20: convuwl */
-    var60.i = (orc_uint16) var59.i;
-    /* 22: cmpgtsl */
-    var61.i = (var60.i > var46.i) ? (~0) : 0;
-    /* 23: andl */
-    var62.i = var60.i & var61.i;
-    /* 24: accl */
-    var12.i = var12.i + var62.i;
+    var52.i = (var47.i * var44.i) & 0xffff;
+    /* 13: mullw */
+    var53.i = (var49.i * var44.i) & 0xffff;
+    /* 14: subw */
+    var54.i = var46.i - var52.i;
+    /* 15: addw */
+    var55.i = var54.i + var51.i;
+    /* 16: subw */
+    var56.i = var55.i - var53.i;
+    /* 17: addw */
+    var57.i = var56.i + var50.i;
+    /* 18: absw */
+    var58.i = ORC_ABS (var57.i);
+    /* 19: convuwl */
+    var59.i = (orc_uint16) var58.i;
+    /* 21: cmpgtsl */
+    var60.i = (var59.i > var45.i) ? (~0) : 0;
+    /* 22: andl */
+    var61.i = var59.i & var60.i;
+    /* 23: accl */
+    var12.i = ((orc_uint32) var12.i) + ((orc_uint32) var61.i);
   }
   ex->accumulators[0] = var12.i;
 
@@ -1102,7 +1088,7 @@
         97,
         114, 105, 116, 121, 95, 53, 95, 116, 97, 112, 95, 112, 108, 97, 110, 97,
         114, 95, 121, 117, 118, 12, 1, 1, 12, 1, 1, 12, 1, 1, 12, 1,
-        1, 12, 1, 1, 13, 4, 14, 4, 2, 0, 0, 0, 14, 4, 3, 0,
+        1, 12, 1, 1, 13, 4, 14, 2, 2, 0, 0, 0, 14, 2, 3, 0,
         0, 0, 16, 4, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 4,
         20, 4, 150, 32, 4, 150, 33, 5, 150, 34, 6, 150, 35, 7, 150, 36,
         8, 93, 34, 34, 16, 89, 33, 33, 17, 89, 35, 35, 17, 98, 32, 32,
@@ -1125,8 +1111,8 @@
       orc_program_add_source (p, 1, "s4");
       orc_program_add_source (p, 1, "s5");
       orc_program_add_accumulator (p, 4, "a1");
-      orc_program_add_constant (p, 4, 0x00000002, "c1");
-      orc_program_add_constant (p, 4, 0x00000003, "c2");
+      orc_program_add_constant (p, 2, 0x00000002, "c1");
+      orc_program_add_constant (p, 2, 0x00000003, "c2");
       orc_program_add_parameter (p, 4, "p1");
       orc_program_add_temporary (p, 2, "t1");
       orc_program_add_temporary (p, 2, "t2");
diff --git a/gst/gaudieffects/gstgaudieffectsorc-dist.c b/gst/gaudieffects/gstgaudieffectsorc-dist.c
index b09cc47..0ca7fc1 100644
--- a/gst/gaudieffects/gstgaudieffectsorc-dist.c
+++ b/gst/gaudieffects/gstgaudieffectsorc-dist.c
@@ -228,10 +228,10 @@
     var44.x4[2] = (orc_uint8) var43.x4[2];
     var44.x4[3] = (orc_uint8) var43.x4[3];
     /* 9: shlw */
-    var45.x4[0] = var44.x4[0] << 7;
-    var45.x4[1] = var44.x4[1] << 7;
-    var45.x4[2] = var44.x4[2] << 7;
-    var45.x4[3] = var44.x4[3] << 7;
+    var45.x4[0] = ((orc_uint16) var44.x4[0]) << 7;
+    var45.x4[1] = ((orc_uint16) var44.x4[1]) << 7;
+    var45.x4[2] = ((orc_uint16) var44.x4[2]) << 7;
+    var45.x4[3] = ((orc_uint16) var44.x4[3]) << 7;
     /* 10: divluw */
     var46.x4[0] =
         ((var42.x4[0] & 0xff) ==
@@ -349,10 +349,10 @@
     var44.x4[2] = (orc_uint8) var43.x4[2];
     var44.x4[3] = (orc_uint8) var43.x4[3];
     /* 9: shlw */
-    var45.x4[0] = var44.x4[0] << 7;
-    var45.x4[1] = var44.x4[1] << 7;
-    var45.x4[2] = var44.x4[2] << 7;
-    var45.x4[3] = var44.x4[3] << 7;
+    var45.x4[0] = ((orc_uint16) var44.x4[0]) << 7;
+    var45.x4[1] = ((orc_uint16) var44.x4[1]) << 7;
+    var45.x4[2] = ((orc_uint16) var44.x4[2]) << 7;
+    var45.x4[3] = ((orc_uint16) var44.x4[3]) << 7;
     /* 10: divluw */
     var46.x4[0] =
         ((var42.x4[0] & 0xff) ==
diff --git a/win32/common/config.h b/win32/common/config.h
index b86dbb5..433ed5c 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -86,7 +86,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-07-19"
+#define GST_PACKAGE_RELEASE_DATETIME "2015-06-07"
 
 /* Define if static plugins should be built */
 #undef GST_PLUGIN_BUILD_STATIC
@@ -115,6 +115,15 @@
 /* Define to enable Bluez (used by bluez). */
 #undef HAVE_BLUEZ
 
+/* Old bluez detected */
+#undef HAVE_BLUEZ4
+
+/* Current bluez detected */
+#undef HAVE_BLUEZ5
+
+/* Define to enable bs2b (used by bs2b). */
+#undef HAVE_BS2B
+
 /* Define to enable bz2 library (used by bz2). */
 #undef HAVE_BZ2
 
@@ -129,9 +138,15 @@
 /* Define to enable chromaprint (used by chromaprint). */
 #undef HAVE_CHROMAPRINT
 
+/* Define if the target CPU is AARCH64 */
+#undef HAVE_CPU_AARCH64
+
 /* Define if the target CPU is an Alpha */
 #undef HAVE_CPU_ALPHA
 
+/* Define if the target CPU is an ARC */
+#undef HAVE_CPU_ARC
+
 /* Define if the target CPU is an ARM */
 #undef HAVE_CPU_ARM
 
@@ -193,9 +208,6 @@
 /* Define to enable Direct3D plug-in (used by direct3dsink). */
 #undef HAVE_DIRECT3D
 
-/* Define to enable DirectDraw plug-in (used by directdrawsink). */
-#undef HAVE_DIRECTDRAW
-
 /* Define to enable directfb (used by dfbvideosink ). */
 #undef HAVE_DIRECTFB
 
@@ -208,6 +220,9 @@
 /* define for working do while(0) macros */
 #undef HAVE_DOWHILE_MACROS
 
+/* Define to enable DTLS plugin (used by dtls). */
+#undef HAVE_DTLS
+
 /* Define to enable dts library (used by dtsdec). */
 #undef HAVE_DTS
 
@@ -265,6 +280,12 @@
 /* Define to 1 if the system has the type `GLsizeiptr'. */
 #undef HAVE_GLSIZEIPTR
 
+/* Define to 1 if the system has the type `GLsync'. */
+#undef HAVE_GLSYNC
+
+/* Define to 1 if the system has the type `GLuint64'. */
+#undef HAVE_GLUINT64
+
 /* Define to enable gme decoder (used by gme). */
 #undef HAVE_GME
 
@@ -283,9 +304,6 @@
 /* Define if gudev is installed */
 #undef HAVE_GUDEV
 
-/* Define to 1 if you have the <highgui.h> header file. */
-#undef HAVE_HIGHGUI_H
-
 /* Define to enable http live streaming plugin (used by hls). */
 #undef HAVE_HLS
 
@@ -307,6 +325,9 @@
 /* Define to enable ladspa (used by ladspa). */
 #undef HAVE_LADSPA
 
+/* Define to enable libde265 HEVC/H.265 decoder (used by libde265). */
+#undef HAVE_LIBDE265
+
 /* Define if libgcrypt is available */
 #undef HAVE_LIBGCRYPT
 
@@ -364,9 +385,6 @@
 /* Define to enable musepackdec (used by musepack). */
 #undef HAVE_MUSEPACK
 
-/* Define to enable MythTV client plugins (used by mythtvsrc). */
-#undef HAVE_MYTHTV
-
 /* Define to enable nas plug-in (used by nassink). */
 #undef HAVE_NAS
 
@@ -394,12 +412,47 @@
 /* Define to enable opencv plugins (used by opencv). */
 #undef HAVE_OPENCV
 
+/* Define to 1 if you have the <opencv2/contrib/contrib.hpp> header file. */
+#undef HAVE_OPENCV2_CONTRIB_CONTRIB_HPP
+
+/* Define to 1 if you have the <opencv2/core/core_c.h> header file. */
+#undef HAVE_OPENCV2_CORE_CORE_C_H
+
+/* Define to 1 if you have the <opencv2/core/types_c.h> header file. */
+#undef HAVE_OPENCV2_CORE_TYPES_C_H
+
+/* Define to 1 if you have the <opencv2/core/version.hpp> header file. */
+#undef HAVE_OPENCV2_CORE_VERSION_HPP
+
 /* Define to 1 if you have the <opencv2/highgui/highgui_c.h> header file. */
 #undef HAVE_OPENCV2_HIGHGUI_HIGHGUI_C_H
 
+/* Define to 1 if you have the <opencv2/imgproc/imgproc_c.h> header file. */
+#undef HAVE_OPENCV2_IMGPROC_IMGPROC_C_H
+
+/* Define to 1 if you have the <opencv2/imgproc/imgproc.hpp> header file. */
+#undef HAVE_OPENCV2_IMGPROC_IMGPROC_HPP
+
+/* Define to 1 if you have the <opencv2/legacy/compat.hpp> header file. */
+#undef HAVE_OPENCV2_LEGACY_COMPAT_HPP
+
+/* Define to 1 if you have the <opencv2/legacy/legacy.hpp> header file. */
+#undef HAVE_OPENCV2_LEGACY_LEGACY_HPP
+
+/* Define to 1 if you have the <opencv2/objdetect/objdetect.hpp> header file.
+   */
+#undef HAVE_OPENCV2_OBJDETECT_OBJDETECT_HPP
+
+/* Define to 1 if you have the <opencv2/video/background_segm.hpp> header
+   file. */
+#undef HAVE_OPENCV2_VIDEO_BACKGROUND_SEGM_HPP
+
 /* Define to enable openexr library (used by openexr). */
 #undef HAVE_OPENEXR
 
+/* Define to enable openh264 library (used by openh264). */
+#undef HAVE_OPENH264
+
 /* Define to enable openjpeg library (used by openjpeg). */
 #undef HAVE_OPENJPEG
 
@@ -412,6 +465,9 @@
 /* Define to enable OpenSL ES (used by opensl). */
 #undef HAVE_OPENSLES
 
+/* Define if openssl is available */
+#undef HAVE_OPENSSL
+
 /* Define to enable opus (used by opus). */
 #undef HAVE_OPUS
 
@@ -421,21 +477,21 @@
 /* Apple Mac OS X operating system detected */
 #undef HAVE_OSX
 
-/* Define to enable OSX video (used by osxvideosrc). */
-#undef HAVE_OSX_VIDEO
-
 /* Use libpng */
 #undef HAVE_PNG
 
+/* Define if you have POSIX threads libraries and header files. */
+#undef HAVE_PTHREAD
+
 /* Define to 1 if you have the <pthread.h> header file. */
 #undef HAVE_PTHREAD_H
 
+/* Have PTHREAD_PRIO_INHERIT. */
+#undef HAVE_PTHREAD_PRIO_INHERIT
+
 /* Define to enable pvrvideosink (used by pvr). */
 #undef HAVE_PVR
 
-/* Define to enable QuickTime wrapper (used by qtwrapper). */
-#undef HAVE_QUICKTIME
-
 /* Define if RDTSC is available */
 #undef HAVE_RDTSC
 
@@ -547,6 +603,9 @@
 /* Define if building with VideoToolbox */
 #undef HAVE_VIDEOTOOLBOX
 
+/* Define if building with VideoToolbox >= 10.9.6 */
+#undef HAVE_VIDEOTOOLBOX_10_9_6
+
 /* Define to enable vo-aacenc library (used by vo-aacenc). */
 #undef HAVE_VOAACENC
 
@@ -595,6 +654,9 @@
 /* Define if you have X11 library */
 #undef HAVE_X11
 
+/* Define to enable x265 plug-in (used by x265). */
+#undef HAVE_X265
+
 /* Define to enable xvid plugins (used by xvid). */
 #undef HAVE_XVID
 
@@ -637,7 +699,7 @@
 #define PACKAGE_NAME "GStreamer Bad Plug-ins"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer Bad Plug-ins 1.4.0"
+#define PACKAGE_STRING "GStreamer Bad Plug-ins 1.5.1"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gst-plugins-bad"
@@ -646,7 +708,7 @@
 #undef PACKAGE_URL
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.4.0"
+#define PACKAGE_VERSION "1.5.1"
 
 /* directory where plugins are located */
 #ifdef _DEBUG
@@ -655,6 +717,10 @@
 #  define PLUGINDIR PREFIX "\\lib\\gstreamer-0.11"
 #endif
 
+/* Define to necessary symbol if this constant uses a non-standard name on
+   your system. */
+#undef PTHREAD_CREATE_JOINABLE
+
 /* The size of `char', as computed by sizeof. */
 #undef SIZEOF_CHAR
 
@@ -686,7 +752,7 @@
 #undef USE_EGL_RPI
 
 /* Version number of package */
-#define VERSION "1.4.0"
+#define VERSION "1.5.1"
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
@@ -700,8 +766,5 @@
 # endif
 #endif
 
-/* Define to 1 if the X Window System is missing or not being used. */
-#undef X_DISPLAY_MISSING
-
 /* We need at least WinXP SP2 for __stat64 */
 #undef __MSVCRT_VERSION__
