Merge branch 'upstream/1.16' into tizen_gst_1.16.2
[platform/upstream/gst-plugins-good.git] / ChangeLog
index 92e7186..ad91533 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+=== release 1.16.2 ===
+
+2019-12-03 11:06:36 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * configure.ac:
+       * gst-plugins-good.doap:
+       * meson.build:
+         Release 1.16.2
+
+2019-12-03 11:06:35 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst-plugins-good-plugins.args:
+       * docs/plugins/inspect/plugin-1394.xml:
+       * docs/plugins/inspect/plugin-aasink.xml:
+       * docs/plugins/inspect/plugin-alaw.xml:
+       * docs/plugins/inspect/plugin-alpha.xml:
+       * docs/plugins/inspect/plugin-alphacolor.xml:
+       * docs/plugins/inspect/plugin-apetag.xml:
+       * docs/plugins/inspect/plugin-audiofx.xml:
+       * docs/plugins/inspect/plugin-audioparsers.xml:
+       * docs/plugins/inspect/plugin-auparse.xml:
+       * docs/plugins/inspect/plugin-autodetect.xml:
+       * docs/plugins/inspect/plugin-avi.xml:
+       * docs/plugins/inspect/plugin-cacasink.xml:
+       * docs/plugins/inspect/plugin-cairo.xml:
+       * docs/plugins/inspect/plugin-cutter.xml:
+       * docs/plugins/inspect/plugin-debug.xml:
+       * docs/plugins/inspect/plugin-deinterlace.xml:
+       * docs/plugins/inspect/plugin-dtmf.xml:
+       * docs/plugins/inspect/plugin-dv.xml:
+       * docs/plugins/inspect/plugin-effectv.xml:
+       * docs/plugins/inspect/plugin-equalizer.xml:
+       * docs/plugins/inspect/plugin-flac.xml:
+       * docs/plugins/inspect/plugin-flv.xml:
+       * docs/plugins/inspect/plugin-flxdec.xml:
+       * docs/plugins/inspect/plugin-gdkpixbuf.xml:
+       * docs/plugins/inspect/plugin-goom.xml:
+       * docs/plugins/inspect/plugin-goom2k1.xml:
+       * docs/plugins/inspect/plugin-gtk.xml:
+       * docs/plugins/inspect/plugin-icydemux.xml:
+       * docs/plugins/inspect/plugin-id3demux.xml:
+       * docs/plugins/inspect/plugin-imagefreeze.xml:
+       * docs/plugins/inspect/plugin-interleave.xml:
+       * docs/plugins/inspect/plugin-isomp4.xml:
+       * docs/plugins/inspect/plugin-jack.xml:
+       * docs/plugins/inspect/plugin-jpeg.xml:
+       * docs/plugins/inspect/plugin-lame.xml:
+       * docs/plugins/inspect/plugin-level.xml:
+       * docs/plugins/inspect/plugin-matroska.xml:
+       * docs/plugins/inspect/plugin-mpg123.xml:
+       * docs/plugins/inspect/plugin-mulaw.xml:
+       * docs/plugins/inspect/plugin-multifile.xml:
+       * docs/plugins/inspect/plugin-multipart.xml:
+       * docs/plugins/inspect/plugin-navigationtest.xml:
+       * docs/plugins/inspect/plugin-oss4.xml:
+       * docs/plugins/inspect/plugin-ossaudio.xml:
+       * docs/plugins/inspect/plugin-png.xml:
+       * docs/plugins/inspect/plugin-pulseaudio.xml:
+       * docs/plugins/inspect/plugin-qmlgl.xml:
+       * docs/plugins/inspect/plugin-replaygain.xml:
+       * docs/plugins/inspect/plugin-rtp.xml:
+       * docs/plugins/inspect/plugin-rtpmanager.xml:
+       * docs/plugins/inspect/plugin-rtsp.xml:
+       * docs/plugins/inspect/plugin-shapewipe.xml:
+       * docs/plugins/inspect/plugin-shout2.xml:
+       * docs/plugins/inspect/plugin-smpte.xml:
+       * docs/plugins/inspect/plugin-soup.xml:
+       * docs/plugins/inspect/plugin-spectrum.xml:
+       * docs/plugins/inspect/plugin-speex.xml:
+       * docs/plugins/inspect/plugin-taglib.xml:
+       * docs/plugins/inspect/plugin-twolame.xml:
+       * docs/plugins/inspect/plugin-udp.xml:
+       * docs/plugins/inspect/plugin-video4linux2.xml:
+       * docs/plugins/inspect/plugin-videobox.xml:
+       * docs/plugins/inspect/plugin-videocrop.xml:
+       * docs/plugins/inspect/plugin-videofilter.xml:
+       * docs/plugins/inspect/plugin-videomixer.xml:
+       * docs/plugins/inspect/plugin-vpx.xml:
+       * docs/plugins/inspect/plugin-wavenc.xml:
+       * docs/plugins/inspect/plugin-wavpack.xml:
+       * docs/plugins/inspect/plugin-wavparse.xml:
+       * docs/plugins/inspect/plugin-ximagesrc.xml:
+       * docs/plugins/inspect/plugin-y4menc.xml:
+         Update docs
+
+2019-12-03 11:06:34 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * po/hu.po:
+         Update translations
+
+2016-11-30 15:55:01 +0100  Havard Graff <havard.graff@gmail.com>
+
+       * gst/rtp/gstrtpL16depay.c:
+         rtpL16depay: don't crash if data is not modulo channels*width
+
+2019-11-29 20:46:26 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * ext/vpx/gstvp9dec.c:
+         vp9dec: Fix broken 4:4:4 8bits decoding
+         VPX_IMG_FMT_I444 pixel format with sRGB colorspace means
+         GBR data.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/651
+
+2019-11-29 14:23:49 +0100  Havard Graff <havard@pexip.com>
+
+       * gst/rtpmanager/gstrtpsession.c:
+       * tests/check/elements/rtpsession.c:
+         rtpsession: add locking for clear-pt-map
+         ...or it will segfault from time to time...
+
+2019-08-19 07:30:17 +0000  Amr Mahdi <amramahdi@gmail.com>
+
+       * gst/wavparse/gstwavparse.c:
+         wavparse: Fix push mode ignoring audio with a size smaller than segment buffer
+         In push mode (streaming), if the audio size is smaller than segment buffer size, it would be ignored.
+         This happens because when the plugin receives an EOS signal while a single audio chunk that is less than the segment buffer size is buffered, it does not
+         flush this chunk. The fix is to flush the data chunk when it receives an EOS signal and has a single (first) chunk buffered.
+         How to reproduce:
+         1. Run gst-launch with tcp source
+         ```
+         gst-launch-1.0  tcpserversrc port=3000 !  wavparse ignore-length=0 ! audioconvert ! filesink location=bug.wav
+         ```
+         2. Send a wav file with unspecified data chunk length (0). Attached a test file
+         ```
+         cat test.wav | nc localhost 3000
+         ```
+         3. Compare the length of the source file and output file
+         ```
+         ls -l test.wav bug.wav
+         -rw-rw-r-- 1 amr amr    0 Aug 15 11:07 bug.wav
+         -rwxrwxr-x 1 amr amr 3564 Aug 15 11:06 test.wav
+         ```
+         The expected length of the result of the gst-lauch pipeline should be the same as the test file minus the headers (44), which is ```3564 - 44 = 3520``` but the actual output length is ```0```
+         After the fix:
+         ```
+         ls -l test.wav fix.wav
+         -rw-rw-r-- 1 amr amr 3520 Aug 15 11:09 fix.wav
+         -rwxrwxr-x 1 amr amr 3564 Aug 15 11:06 test.wav
+         ```
+
+2019-08-07 12:09:46 +0000  Amr Mahdi <amramahdi@gmail.com>
+
+       * gst/wavparse/gstwavparse.c:
+         wavparse: Fix ignoring of last chunk in push mode
+         In push mode (streaming), if the last audio payload chunk is less than the segment rate buffer size, it would be ignored since the plugin waits until it has at least segment rate bufer size of audio.
+         The fix is to introduce a flushing flag that indicates that no more audio will be available so that the plugin can recognize this condition and flush the data is has even if it is less
+         than the desired segment rate buffer size.
+
+2018-10-17 02:28:13 +0000  Nicolas Dufresne <nicolas@ndufresne.ca>
+
+       * sys/v4l2/gstv4l2bufferpool.c:
+       * sys/v4l2/gstv4l2bufferpool.h:
+         v4l2bufferpool: Queue number of allocated buffers to capture
+         Before we do streamon, we queue all capture buffers by calling
+         resurrect. When the driver supports CREATE_BUFS, this would lead
+         to buffers being allocated till the maximum of 32 is reached.
+         Instead, we now save the number of allocated buffers and queue this
+         amount.
+
+2019-11-18 13:27:42 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2object: Workaround bad TRY_FMT colorimetry implementation
+         libv4l2 reset the colorpace to 0 and does not do any request to the
+         driver. This yields an invalid colorspace which currently cause a
+         negotiation failure. This workaround by ignoring bad values during the
+         TRY_FMT step.
+
+2019-11-04 17:18:30 +0800  aogun <gun.ao@magewell.com>
+
+       * gst/audioparsers/gstaacparse.c:
+         aacparse: fix wrong offset of adts channel
+
+2019-09-12 15:21:24 -0400  Scott Kanowitz <skanowitz@echo360.com>
+
+       * ext/jpeg/gstjpegdec.c:
+         jpegdec: Fix incorrect logic in EOI tag detection
+         This change fixes the reversed logic in the EOI tag detection
+         code.
+
+2019-11-12 17:28:22 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/videocrop/gstvideocrop.c:
+         videocrop: Also update the coordinate when in-place
+         This update is needed when the output caps is not changed (e.g. we are
+         moving a viewport around).
+         Fixes #669
+
+2019-11-05 21:41:55 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/vpx/meson.build:
+         vpx: Error out if enabled and no features found
+         See: https://gitlab.freedesktop.org/gstreamer/cerbero/issues/200
+
+2018-11-07 09:00:02 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
+
+       * ext/jpeg/gstjpegdec.c:
+       * ext/jpeg/gstjpegdec.h:
+         jpegdec: don't overwrite the last valid line
+         If the the height is not a multiple of the macro block size then the memory
+         of the last line is reused for all extra lines. This is no problem if the
+         last line is duplicated properly. However, if the extra lines are not
+         initialized properly during encoding, then the last visible line is
+         overwritten with undefined data.
+         Use a extra buffer to avoid this problem.
+
+2019-10-29 14:05:48 +0000  James Cowgill <james.cowgill@thinci.com>
+
+       * sys/v4l2/gstv4l2videodec.c:
+         v4l2videodec: ensure pool exists before orphaning it
+         In commit e2ff87732d0b ("v4l2videodec: support orphaning") support for
+         orphaning the capture buffer pool was added when the format is
+         renegotiated. However, the commit forgot to check that a pool existed
+         before doing this. This is needed because it's possible for the format
+         to be renegotiated before a capture pool is allocated, which would
+         result in trying to orphan a NULL pool and lead to a NULL pointer
+         dereference.
+         Fix this by checking a pool exists first. If the pool doesn't exist,
+         there are no buffers to be reclaimed, so skip the allocation query in
+         that case.
+
+2019-09-25 12:36:32 +0000  HuQian <huqian123hq@hotmail.com>
+
+       * sys/v4l2/gstv4l2object.c:
+         is a typo here? gstv4l2object.c
+
+2019-10-13 12:46:58 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * sys/v4l2/gstv4l2videoenc.c:
+         v4l2videoenc: fix wrong type cast
+         Follow-up to commit 1b752c0f !361
+
+2019-10-11 10:33:20 +0800  Fuwei Tang <fuweix.tang@intel.com>
+
+       * sys/v4l2/gstv4l2videoenc.c:
+         v4l2videoenc: fix type conversion errors
+
+=== release 1.16.1 ===
+
+2019-09-23 11:09:38 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * configure.ac:
+       * gst-plugins-good.doap:
+       * meson.build:
+         Release 1.16.1
+
+2019-09-23 11:09:38 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst-plugins-good-plugins.args:
+       * docs/plugins/inspect/plugin-1394.xml:
+       * docs/plugins/inspect/plugin-aasink.xml:
+       * docs/plugins/inspect/plugin-alaw.xml:
+       * docs/plugins/inspect/plugin-alpha.xml:
+       * docs/plugins/inspect/plugin-alphacolor.xml:
+       * docs/plugins/inspect/plugin-apetag.xml:
+       * docs/plugins/inspect/plugin-audiofx.xml:
+       * docs/plugins/inspect/plugin-audioparsers.xml:
+       * docs/plugins/inspect/plugin-auparse.xml:
+       * docs/plugins/inspect/plugin-autodetect.xml:
+       * docs/plugins/inspect/plugin-avi.xml:
+       * docs/plugins/inspect/plugin-cacasink.xml:
+       * docs/plugins/inspect/plugin-cairo.xml:
+       * docs/plugins/inspect/plugin-cutter.xml:
+       * docs/plugins/inspect/plugin-debug.xml:
+       * docs/plugins/inspect/plugin-deinterlace.xml:
+       * docs/plugins/inspect/plugin-dtmf.xml:
+       * docs/plugins/inspect/plugin-dv.xml:
+       * docs/plugins/inspect/plugin-effectv.xml:
+       * docs/plugins/inspect/plugin-equalizer.xml:
+       * docs/plugins/inspect/plugin-flac.xml:
+       * docs/plugins/inspect/plugin-flv.xml:
+       * docs/plugins/inspect/plugin-flxdec.xml:
+       * docs/plugins/inspect/plugin-gdkpixbuf.xml:
+       * docs/plugins/inspect/plugin-goom.xml:
+       * docs/plugins/inspect/plugin-goom2k1.xml:
+       * docs/plugins/inspect/plugin-gtk.xml:
+       * docs/plugins/inspect/plugin-icydemux.xml:
+       * docs/plugins/inspect/plugin-id3demux.xml:
+       * docs/plugins/inspect/plugin-imagefreeze.xml:
+       * docs/plugins/inspect/plugin-interleave.xml:
+       * docs/plugins/inspect/plugin-isomp4.xml:
+       * docs/plugins/inspect/plugin-jack.xml:
+       * docs/plugins/inspect/plugin-jpeg.xml:
+       * docs/plugins/inspect/plugin-lame.xml:
+       * docs/plugins/inspect/plugin-level.xml:
+       * docs/plugins/inspect/plugin-matroska.xml:
+       * docs/plugins/inspect/plugin-mpg123.xml:
+       * docs/plugins/inspect/plugin-mulaw.xml:
+       * docs/plugins/inspect/plugin-multifile.xml:
+       * docs/plugins/inspect/plugin-multipart.xml:
+       * docs/plugins/inspect/plugin-navigationtest.xml:
+       * docs/plugins/inspect/plugin-oss4.xml:
+       * docs/plugins/inspect/plugin-ossaudio.xml:
+       * docs/plugins/inspect/plugin-png.xml:
+       * docs/plugins/inspect/plugin-pulseaudio.xml:
+       * docs/plugins/inspect/plugin-qmlgl.xml:
+       * docs/plugins/inspect/plugin-replaygain.xml:
+       * docs/plugins/inspect/plugin-rtp.xml:
+       * docs/plugins/inspect/plugin-rtpmanager.xml:
+       * docs/plugins/inspect/plugin-rtsp.xml:
+       * docs/plugins/inspect/plugin-shapewipe.xml:
+       * docs/plugins/inspect/plugin-shout2.xml:
+       * docs/plugins/inspect/plugin-smpte.xml:
+       * docs/plugins/inspect/plugin-soup.xml:
+       * docs/plugins/inspect/plugin-spectrum.xml:
+       * docs/plugins/inspect/plugin-speex.xml:
+       * docs/plugins/inspect/plugin-taglib.xml:
+       * docs/plugins/inspect/plugin-twolame.xml:
+       * docs/plugins/inspect/plugin-udp.xml:
+       * docs/plugins/inspect/plugin-video4linux2.xml:
+       * docs/plugins/inspect/plugin-videobox.xml:
+       * docs/plugins/inspect/plugin-videocrop.xml:
+       * docs/plugins/inspect/plugin-videofilter.xml:
+       * docs/plugins/inspect/plugin-videomixer.xml:
+       * docs/plugins/inspect/plugin-vpx.xml:
+       * docs/plugins/inspect/plugin-wavenc.xml:
+       * docs/plugins/inspect/plugin-wavpack.xml:
+       * docs/plugins/inspect/plugin-wavparse.xml:
+       * docs/plugins/inspect/plugin-ximagesrc.xml:
+       * docs/plugins/inspect/plugin-y4menc.xml:
+         Update docs
+
+2019-09-23 11:09:37 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * po/fr.po:
+       * po/nb.po:
+         Update translations
+
+2019-09-08 20:43:17 -0400  Doug Nazar <nazard@nazar.ca>
+
+       * gst/alpha/gstalpha.c:
+         alpha: Fix one_over_kc calculation
+         On arm/aarch64, converting from float directly to unsigned int uses
+         a different opcode and negative numbers result in 0. Cast to
+         signed int first.
+
+2019-08-07 18:29:25 -0400  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/gst-plugins-good.supp:
+         valgrind: suppress Cond error coming from gnutls
+         taken from https://salsa.debian.org/debian/flatpak/commit/fb4a8dda211c4bc036781f2b0d706266e95ce068
+
+2019-06-04 13:39:00 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/gst-plugins-good.supp:
+         supp: Ignore leaks caused by shout/sethostent
+         sethostent() seems to be using a global state and we endup with leaks from
+         that API when called through shout_init(). We had the option to only
+         ignore the shout case, but the impression is that if we have shout and
+         another sethostend user, as it's a global state, we may endup with a
+         different stack trace for the same leak. So in the end, we just ignore
+         memory allocated by sethostent in general.
+
+2019-08-22 00:18:51 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * ext/soup/gstsouphttpsrc.c:
+         souphttpsrc: Fix incompatible type build warning
+         gstsouphttpsrc.c(2191): warning C4133:
+         '=': incompatible types - from 'guint (__cdecl *)(GType)' to 'GstURIType (__cdecl *)(GType)'
+
+2019-05-24 10:31:39 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtpmanager/gstrtpjitterbuffer.c:
+         rtpjitterbuffer: max-dropout-time gets cast to int32
+         So any value over MAXINT32 gets considered as negative and is silently ignored.
+
+2019-06-15 02:00:43 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/rtpmanager/rtpjitterbuffer.c:
+         rtpjitterbuffer: Clear clock master before unreffing
+         Make sure to clear any master clock on the media_clock
+         before unreffing it to release the timer callback that's
+         updating the clock and keeping it reffed.
+
+2019-08-01 15:02:23 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Use empty-array safe way to cleanup GPtrArray
+         Fix assertion fail
+         GLib-CRITICAL **: g_ptr_array_remove_range: assertion 'index_ < rarray->len' failed
+
+2019-08-06 22:27:40 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/ext/types-compat.h:
+         v4l2: Fix type compatibility issue with glibc 2.30
+         From now on, we will use linux/types.h on Linux, and use typedef of the
+         various flavour of BSD.
+         Fixes #635
+
+2019-07-31 21:55:16 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/rtpmanager/gstrtpfunnel.c:
+         rtpfunnel: forward correct segment when switching pad
+         Forwarding a single segment event from the pad that first gets
+         chained is incorrect: when that first event was sent by an element
+         such as x264enc, with its offset start, we end pushing out of segment
+         buffers for the other pad(s).
+         Instead, everytime the active pad changes, forward the appropriate
+         segment event.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1028
+
+2019-07-25 21:21:26 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * ext/gtk/gstgtkglsink.c:
+       * ext/gtk/gstgtkglsink.h:
+         gtkglsink: fix crash when widget is resized after element destruction
+         Prevent _size_changed_cb() to be called after gtkglsink has been finalized.
+         Fix #632
+
+2019-07-25 15:08:54 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/jpeg/gstjpegdec.c:
+         jpegdec: Don't dereference NULL input state if we have no caps in TIME segments
+         Simply assume that the JPEG frame is not going to be interlaced instead
+         of crashing.
+
+2019-07-22 10:28:50 +0200  Knut Andre Tidemann <knutandre.tidemann@zenitel.com>
+
+       * gst/rtp/gstrtpopuspay.c:
+         rtp: opuspay: fix memory leak in gst_rtp_opus_pay_setcaps.
+         The src caps were never dereferenced, causing a memory leak.
+
+2018-06-13 14:55:29 -0700  Song Bing <bing.song@nxp.com>
+
+       * sys/v4l2/gstv4l2videodec.c:
+         v4l2videodec: Fix drain() function return type
+         Return right type for drain() function.
+
+2019-05-21 15:25:03 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtpmanager/gstrtpssrcdemux.c:
+       * tests/check/elements/rtpssrcdemux.c:
+         rtpssrcdemux: Avoid taking streamlock out-of-band
+         In this change we now protect the internal srcpads list using the
+         stream lock and limit usage of the internal stream lock to
+         preventing data flowing on the other src pad type while creating
+         and signalling the new pad.
+         This fixes a deadlock with RTPBin shutdown lock. These two locks would
+         end up being taken in two different order, which caused a deadlock. More
+         generally, we should not rely on a streamlock when handling out-of-band
+         data, so as a side effect, we should not take a stream lock when
+         iterating internal links.
+
+2019-05-30 11:13:07 +0900  Damian Hobson-Garcia <dhobsong@igel.co.jp>
+
+       * sys/v4l2/gstv4l2bufferpool.c:
+         v4l2bufferpool: return TRUE when buffer pool orphaning succeeds
+         When trying to orphan a buffer pool, successfully return and unref
+         the pool when the pool is either successfully stopped or orphaned.
+         Indicate failure and leave the pool untouched otherwise.
+
+2019-05-30 13:12:31 +0900  Damian Hobson-Garcia <dhobsong@igel.co.jp>
+
+       * sys/v4l2/gstv4l2bufferpool.c:
+         v4l2bufferpool: Free orphaned allocator resources when buffers are released
+         Allocator resources cannot be freed when a buffer pool is orphaned
+         while its buffers are in use. They should, however, be freed once those
+         buffers are no longer needed. This patch disposes of any buffers
+         belonging to an orphaned pool as they are released, and makes sure
+         that the allocator is cleaned up when the last buffer is returned.
+
+2019-05-27 18:08:54 +0900  Damian Hobson-Garcia <dhobsong@igel.co.jp>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2object: Orphan buffer pool on object_stop if supported
+         Use V4L2 buffer orphaning, on recent kernels so that
+         the device can be restarted immediately with
+         a new buffer pool during renogatiation.
+
+2019-05-22 18:06:04 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/multifile/gstsplitmuxsink.c:
+         splitmuxsink: Only set running time on finalizing sink element when in async-finalize mode
+         There is only a single sink element in async-finalize mode, and we would
+         keep the running time from previous fragments set in that case. As we
+         don't ever set the running time for the very last fragment on EOS, this
+         would mean that the closing time reported for the very last fragment is
+         the same as the closing time of the previous fragment.
+
+2019-05-14 17:36:14 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtpmanager/rtpsession.c:
+       * tests/check/elements/rtpsession.c:
+         rtpsession: Always keep at least one NACK on early RTCP
+         We recently added code to remove outdate NACK to avoid using bandwidth
+         for packet that have no chance of arriving on time. Though, this had a
+         side effect, which is that it was to get an early RTCP packet with no
+         feedback into it. This was pretty useless but also had a side effect,
+         which is that the RTX RTT value would never be updated. So we we stared
+         having late RTX request due to high RTT, we'd never manage to recover.
+         This fixes the regression by making sure we keep at least one NACK in
+         this situation. This is really light on the bandwidth and allow for
+         quick recover after the RTT have spiked higher then the jitterbuffer
+         capacity.
+
+2019-04-24 13:47:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtpmanager/rtpsession.c:
+       * tests/check/elements/rtpsession.c:
+         rtpsession: Call on-new-ssrc earlier
+         Right now, we may call on-new-ssrc after we have processed the first
+         RTP packet. This prevents properly configuring the source as some
+         property like "probation" are copied internally for use as a
+         decreasing counter. For this specific property, it prevents the
+         application from disabling probation on auxiliary sparse stream.
+         Probation is harmful on sparse streams since the probation algorithm
+         assume frequent and contiguous RTP packets.
+
+2019-04-24 13:54:12 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtpmanager/rtpsource.c:
+         rtpsource: Add more information to probation warning
+
+2019-05-02 22:14:35 -0700  Thiago Santos <thiagossantos@gmail.com>
+
+       * gst/rtsp/gstrtspsrc.c:
+         rtspsrc: do not try to send EOS with invalid seqnum
+         The second udpsrc (rtcp) might not have seen the segment event if it was
+         not enabled or if rtcp is not available on the server. So if the
+         application tries to send an EOS event it will try to set an invalid
+         seqnum to the event.
+
+2019-05-01 10:00:51 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/rtp/gstrtpvrawdepay.c:
+         rtprawdepay: Don't get rid of the buffer pool on FLUSH_STOP
+         We expect there to be a pool as long as the caps are known and
+         FLUSH_STOP is not resetting the caps. Getting rid of the pool would
+         cause assertions.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/584
+
+2019-02-08 10:09:17 +0100  Danny Smith <dannys@axis.com>
+
+       * gst/rtpmanager/gstrtpbin.c:
+         rtpbin: Free storage when freeing session
+
+2019-04-23 10:10:01 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst/audiofx/gstscaletempo.c:
+         scaletempo: Advertise interleaved layout in caps templates
+         Scaletempo doesn't support non-interleaved layout. Not explicitely stating this
+         would trigger critical warnings and a caps negotiation failure when scaletempo
+         is used as playbin audio-filter.
+         Patch suggested by George Kiagiadakis <george.kiagiadakis@collabora.com>.
+         Fixes #591
+
+2019-05-02 12:35:21 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * .gitlab-ci.yml:
+         ci: use template from 1.16 branch
+
+=== release 1.16.0 ===
+
+2019-04-19 00:23:16 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * README:
+       * RELEASE:
+       * configure.ac:
+       * gst-plugins-good.doap:
+       * meson.build:
+         Release 1.16.0
+
+2019-04-19 00:23:16 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst-plugins-good-plugins.args:
+       * docs/plugins/inspect/plugin-1394.xml:
+       * docs/plugins/inspect/plugin-aasink.xml:
+       * docs/plugins/inspect/plugin-alaw.xml:
+       * docs/plugins/inspect/plugin-alpha.xml:
+       * docs/plugins/inspect/plugin-alphacolor.xml:
+       * docs/plugins/inspect/plugin-apetag.xml:
+       * docs/plugins/inspect/plugin-audiofx.xml:
+       * docs/plugins/inspect/plugin-audioparsers.xml:
+       * docs/plugins/inspect/plugin-auparse.xml:
+       * docs/plugins/inspect/plugin-autodetect.xml:
+       * docs/plugins/inspect/plugin-avi.xml:
+       * docs/plugins/inspect/plugin-cacasink.xml:
+       * docs/plugins/inspect/plugin-cairo.xml:
+       * docs/plugins/inspect/plugin-cutter.xml:
+       * docs/plugins/inspect/plugin-debug.xml:
+       * docs/plugins/inspect/plugin-deinterlace.xml:
+       * docs/plugins/inspect/plugin-dtmf.xml:
+       * docs/plugins/inspect/plugin-dv.xml:
+       * docs/plugins/inspect/plugin-effectv.xml:
+       * docs/plugins/inspect/plugin-equalizer.xml:
+       * docs/plugins/inspect/plugin-flac.xml:
+       * docs/plugins/inspect/plugin-flv.xml:
+       * docs/plugins/inspect/plugin-flxdec.xml:
+       * docs/plugins/inspect/plugin-gdkpixbuf.xml:
+       * docs/plugins/inspect/plugin-goom.xml:
+       * docs/plugins/inspect/plugin-goom2k1.xml:
+       * docs/plugins/inspect/plugin-gtk.xml:
+       * docs/plugins/inspect/plugin-icydemux.xml:
+       * docs/plugins/inspect/plugin-id3demux.xml:
+       * docs/plugins/inspect/plugin-imagefreeze.xml:
+       * docs/plugins/inspect/plugin-interleave.xml:
+       * docs/plugins/inspect/plugin-isomp4.xml:
+       * docs/plugins/inspect/plugin-jack.xml:
+       * docs/plugins/inspect/plugin-jpeg.xml:
+       * docs/plugins/inspect/plugin-lame.xml:
+       * docs/plugins/inspect/plugin-level.xml:
+       * docs/plugins/inspect/plugin-matroska.xml:
+       * docs/plugins/inspect/plugin-mpg123.xml:
+       * docs/plugins/inspect/plugin-mulaw.xml:
+       * docs/plugins/inspect/plugin-multifile.xml:
+       * docs/plugins/inspect/plugin-multipart.xml:
+       * docs/plugins/inspect/plugin-navigationtest.xml:
+       * docs/plugins/inspect/plugin-oss4.xml:
+       * docs/plugins/inspect/plugin-ossaudio.xml:
+       * docs/plugins/inspect/plugin-png.xml:
+       * docs/plugins/inspect/plugin-pulseaudio.xml:
+       * docs/plugins/inspect/plugin-qmlgl.xml:
+       * docs/plugins/inspect/plugin-replaygain.xml:
+       * docs/plugins/inspect/plugin-rtp.xml:
+       * docs/plugins/inspect/plugin-rtpmanager.xml:
+       * docs/plugins/inspect/plugin-rtsp.xml:
+       * docs/plugins/inspect/plugin-shapewipe.xml:
+       * docs/plugins/inspect/plugin-shout2.xml:
+       * docs/plugins/inspect/plugin-smpte.xml:
+       * docs/plugins/inspect/plugin-soup.xml:
+       * docs/plugins/inspect/plugin-spectrum.xml:
+       * docs/plugins/inspect/plugin-speex.xml:
+       * docs/plugins/inspect/plugin-taglib.xml:
+       * docs/plugins/inspect/plugin-twolame.xml:
+       * docs/plugins/inspect/plugin-udp.xml:
+       * docs/plugins/inspect/plugin-video4linux2.xml:
+       * docs/plugins/inspect/plugin-videobox.xml:
+       * docs/plugins/inspect/plugin-videocrop.xml:
+       * docs/plugins/inspect/plugin-videofilter.xml:
+       * docs/plugins/inspect/plugin-videomixer.xml:
+       * docs/plugins/inspect/plugin-vpx.xml:
+       * docs/plugins/inspect/plugin-wavenc.xml:
+       * docs/plugins/inspect/plugin-wavpack.xml:
+       * docs/plugins/inspect/plugin-wavparse.xml:
+       * docs/plugins/inspect/plugin-ximagesrc.xml:
+       * docs/plugins/inspect/plugin-y4menc.xml:
+         Update docs
+
+2019-04-19 00:23:14 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * po/el.po:
+       * po/zh_CN.po:
+         Update translations
+
+2019-04-18 17:14:18 +0200  Benjamin Sigonneau <b.sigonneau@mediadone.fr>
+
+       * ext/qt/qtplugin.pro:
+         qmlglsink: fix compilation with Qt >= 5.5 on Windows
+         As of Qt >= 5.5, qmake do not link to opengl32 by default anymore. This commit adds opengl32.lib to the .pro
+         file so that the plugin can be build using QtCreator on Windows.
+
+2019-04-17 15:48:26 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/qt/meson.build:
+         meson: Build qt plugin in C++11 mode explicitly
+         This works implicitly most of the time, but we need to set it
+         explicitly for building with Android.
+
+2019-04-16 14:35:06 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * sys/v4l2/gstv4l2transform.c:
+       * sys/v4l2/gstv4l2videodec.c:
+       * sys/v4l2/gstv4l2videoenc.c:
+         v4l2: fix use after free when handling events
+         The sink_event parent function may consume the event so we shouldn't use
+         it after having calling it.
+
+=== release 1.15.90 ===
+
+2019-04-11 00:26:58 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * configure.ac:
+       * gst-plugins-good.doap:
+       * meson.build:
+         Release 1.15.90
+
+2019-04-11 00:26:58 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst-plugins-good-plugins.args:
+       * docs/plugins/inspect/plugin-1394.xml:
+       * docs/plugins/inspect/plugin-aasink.xml:
+       * docs/plugins/inspect/plugin-alaw.xml:
+       * docs/plugins/inspect/plugin-alpha.xml:
+       * docs/plugins/inspect/plugin-alphacolor.xml:
+       * docs/plugins/inspect/plugin-apetag.xml:
+       * docs/plugins/inspect/plugin-audiofx.xml:
+       * docs/plugins/inspect/plugin-audioparsers.xml:
+       * docs/plugins/inspect/plugin-auparse.xml:
+       * docs/plugins/inspect/plugin-autodetect.xml:
+       * docs/plugins/inspect/plugin-avi.xml:
+       * docs/plugins/inspect/plugin-cacasink.xml:
+       * docs/plugins/inspect/plugin-cairo.xml:
+       * docs/plugins/inspect/plugin-cutter.xml:
+       * docs/plugins/inspect/plugin-debug.xml:
+       * docs/plugins/inspect/plugin-deinterlace.xml:
+       * docs/plugins/inspect/plugin-dtmf.xml:
+       * docs/plugins/inspect/plugin-dv.xml:
+       * docs/plugins/inspect/plugin-effectv.xml:
+       * docs/plugins/inspect/plugin-equalizer.xml:
+       * docs/plugins/inspect/plugin-flac.xml:
+       * docs/plugins/inspect/plugin-flv.xml:
+       * docs/plugins/inspect/plugin-flxdec.xml:
+       * docs/plugins/inspect/plugin-gdkpixbuf.xml:
+       * docs/plugins/inspect/plugin-goom.xml:
+       * docs/plugins/inspect/plugin-goom2k1.xml:
+       * docs/plugins/inspect/plugin-gtk.xml:
+       * docs/plugins/inspect/plugin-icydemux.xml:
+       * docs/plugins/inspect/plugin-id3demux.xml:
+       * docs/plugins/inspect/plugin-imagefreeze.xml:
+       * docs/plugins/inspect/plugin-interleave.xml:
+       * docs/plugins/inspect/plugin-isomp4.xml:
+       * docs/plugins/inspect/plugin-jack.xml:
+       * docs/plugins/inspect/plugin-jpeg.xml:
+       * docs/plugins/inspect/plugin-lame.xml:
+       * docs/plugins/inspect/plugin-level.xml:
+       * docs/plugins/inspect/plugin-matroska.xml:
+       * docs/plugins/inspect/plugin-mpg123.xml:
+       * docs/plugins/inspect/plugin-mulaw.xml:
+       * docs/plugins/inspect/plugin-multifile.xml:
+       * docs/plugins/inspect/plugin-multipart.xml:
+       * docs/plugins/inspect/plugin-navigationtest.xml:
+       * docs/plugins/inspect/plugin-oss4.xml:
+       * docs/plugins/inspect/plugin-ossaudio.xml:
+       * docs/plugins/inspect/plugin-png.xml:
+       * docs/plugins/inspect/plugin-pulseaudio.xml:
+       * docs/plugins/inspect/plugin-qmlgl.xml:
+       * docs/plugins/inspect/plugin-replaygain.xml:
+       * docs/plugins/inspect/plugin-rtp.xml:
+       * docs/plugins/inspect/plugin-rtpmanager.xml:
+       * docs/plugins/inspect/plugin-rtsp.xml:
+       * docs/plugins/inspect/plugin-shapewipe.xml:
+       * docs/plugins/inspect/plugin-shout2.xml:
+       * docs/plugins/inspect/plugin-smpte.xml:
+       * docs/plugins/inspect/plugin-soup.xml:
+       * docs/plugins/inspect/plugin-spectrum.xml:
+       * docs/plugins/inspect/plugin-speex.xml:
+       * docs/plugins/inspect/plugin-taglib.xml:
+       * docs/plugins/inspect/plugin-twolame.xml:
+       * docs/plugins/inspect/plugin-udp.xml:
+       * docs/plugins/inspect/plugin-video4linux2.xml:
+       * docs/plugins/inspect/plugin-videobox.xml:
+       * docs/plugins/inspect/plugin-videocrop.xml:
+       * docs/plugins/inspect/plugin-videofilter.xml:
+       * docs/plugins/inspect/plugin-videomixer.xml:
+       * docs/plugins/inspect/plugin-vpx.xml:
+       * docs/plugins/inspect/plugin-wavenc.xml:
+       * docs/plugins/inspect/plugin-wavpack.xml:
+       * docs/plugins/inspect/plugin-wavparse.xml:
+       * docs/plugins/inspect/plugin-ximagesrc.xml:
+       * docs/plugins/inspect/plugin-y4menc.xml:
+         Update docs
+
+2019-04-09 23:51:22 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/rtp/gstrtpulpfecdec.c:
+       * gst/rtp/gstrtpulpfecenc.c:
+         rtpulpfecdec,enc: unbreak plugin gtk-doc build in autotools
+         Fix doc chunks to not use that syntax for links that have the
+         url as description, it will be put verbatim into the xml/*.xml
+         file and then the expat parser will throw a syntax error like:
+         File "../../common/mangle-db.py", line 71, in <module>
+         main()
+         File "../../common/mangle-db.py", line 69, in main
+         patch (details.replace("-details", ""), os.path.basename(details))
+         File "../../common/mangle-db.py", line 20, in patch
+         doc = xml.dom.minidom.parse(related)
+         File "/usr/lib/python2.7/xml/dom/minidom.py", line 1918, in parse
+         return expatbuilder.parse(file)
+         File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 924, in parse
+         result = builder.parseFile(fp)
+         File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 207, in parseFile
+         parser.Parse(buffer, 0)
+         xml.parsers.expat.ExpatError: not well-formed (invalid token): line 84, column 7
+
+2019-04-08 11:35:34 +0200  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * gst/rtp/gstrtpvrawpay.c:
+         rtpvrawpay: preserve GST_BUFFER_FLAG_DISCONT on the first outputted buffer
+         If the incoming frame buffer has GST_BUFFER_FLAG_DISCONT set this should
+         be preserved and set for the first output buffer too, like other
+         payloaders do.
+         Spotted with gst-validate-1.0 when adding integration tests for
+         rtpsession, a minimal test to reproduce the issue is:
+         $ gst-validate-1.0 videotestsrc num-buffers=1 ! rtpvrawpay ! identity ! fakesink
+         Starting pipeline
+         Pipeline started
+         warning : Buffer didn't have expected DISCONT flag333 speed: 1.000000 />
+         Detected on <identity0:sink>
+         Detected on <identity0:src>
+         Detected on <fakesink0:sink>
+         Description : Buffers after SEGMENT and FLUSH must have a DISCONT flag
+         Issues found: 1
+         =======> Test PASSED (Return value: 0)
+
+2019-03-22 12:42:14 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtp/gstrtpulpfecdec.c:
+       * gst/rtp/gstrtpulpfecenc.c:
+         rtpulpfec*: Replace github URIs with gitlab.fdo ones
+
+2019-03-21 17:01:11 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtp/gstrtpreddec.c:
+       * gst/rtp/gstrtpredenc.c:
+         rtpred*: Add example pipelines
+
+2019-03-21 16:48:37 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtp/gstrtpreddec.c:
+       * gst/rtp/gstrtpulpfecdec.c:
+       * gst/rtp/gstrtpulpfecenc.c:
+         rtpulpfec*: Improve documentation
+
+2019-03-20 18:31:48 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtp/gstrtpstorage.c:
+       * gst/rtp/gstrtpulpfecdec.c:
+         rtpstorage + rtpulpfecdec: Get the storage using a query as fallback
+         This allows it to be used using gst-launch for easier testing.
+
+2019-03-19 06:22:29 -0700  Dan Kegel <dank@kegel.com>
+
+       * sys/osxvideo/Makefile.am:
+       * sys/osxvideo/meson.build:
+         osxvideo: fix mac os 10.14 build
+         lockFocusIfCanDraw is deprecated in mac os 10.14.  Apple suggests a
+         different way to do what that does, but for now, just suppress the deprecation.
+         There's no way to disable just that deprecation, so shut them all down.
+         OpenGL is also deprecated in mac os 10.14.  There is a gentle way to
+         turn off just those deprecations (GL_SILENCE_DEPRECATION), but since
+         this commit turns them all off, that's moot.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/577
+
+2019-04-07 12:00:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/elements/rtpsession.c:
+         test: rtpsession: Verify on-sending-nacks callback
+
+2019-03-27 16:19:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtpmanager/rtpsession.c:
+       * gst/rtpmanager/rtpsession.h:
+         rtpsession: Allow overriding NACK packet creation
+         This introduce a new signal on RTSession, on-sending-nacks is emited
+         right before the list of seqnums to be nacked are processed and
+         transformed into FB Nack. This allow implementing custom nacks
+         handling through another mechanism with APP feedback.
+
+2018-11-20 02:45:04 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/rtpmanager/rtpsession.c:
+       * gst/rtpmanager/rtpsession.h:
+       * tests/check/elements/rtpsession.c:
+         rtpsession: Add disable-sr-timestamp property
+         The Onvif Streaming Spec, in section 6.11, mandates that when
+         Rate-Control is disabled potential RTCP packets shall have
+         their timestamps set to 0.
+         <https://www.onvif.org/specs/stream/ONVIF-Streaming-Spec.pdf>
+
+2019-03-05 20:57:44 +0100  Philipp Zabel <philipp.zabel@gmail.com>
+
+       * sys/v4l2/ext/types-compat.h:
+         v4l2: remove __user define from types-compat.h
+         Remove the now unused __user define.
+
+2019-03-05 20:53:47 +0100  Philipp Zabel <philipp.zabel@gmail.com>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2object: use opRGB colorspace and xfer func defines
+         AdobeRGB defines have been renamed to opRGB in the kernel headers,
+         use the new names.
+
+2019-01-24 16:12:13 +0100  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * sys/v4l2/gstv4l2videodec.c:
+         v4l2videodec: support orphaning
+         Recent kernels allow REQBUFS(0) on a queue that still has buffers in
+         use (mmapped or exported via dmabuf), orphaning all buffers on the queue.
+         If this is supported, the v4l2videodec element does not have to send a
+         drain request downstream.
+
+2019-01-24 16:12:13 +0100  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * sys/v4l2/gstv4l2bufferpool.c:
+       * sys/v4l2/gstv4l2bufferpool.h:
+         v4l2bufferpool: support orphaning
+         Now that the v4l2allocator allows orphaning the V4L2 buffer queue, add
+         support for orphaning in the v4l2bufferpool. gst_v4l2_buffer_pool_orphan
+         can be used as a replacement for gst_v4l2_buffer_pool_stop, without
+         having to wait for buffers to be returned to the pool.
+
+2019-01-24 16:12:13 +0100  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * sys/v4l2/gstv4l2allocator.c:
+       * sys/v4l2/gstv4l2allocator.h:
+         v4l2allocator: support orphaning
+         Recent kernels allow REQBUFS(0) on a queue that still has buffers in
+         use (mmapped or exported via dmabuf), orphaning all buffers on the queue.
+         Orphaning the allocator causes it to release all buffers with
+         REQBUFS(0), even if they are still in use. An orphaned allocator can
+         only be stopped. It can not be restarted or create new buffers.
+
+2019-01-24 15:36:49 +0100  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * sys/v4l2/ext/v4l2-common.h:
+       * sys/v4l2/ext/v4l2-controls.h:
+       * sys/v4l2/ext/videodev2.h:
+         v4l2: update kernel headers to latest from media tree
+         Update to the latest installed headers (output of make headers_install)
+         from the media tree, keeping the slight modifications to the includes.
+         This includes new HEVC controls, the AdobeRGB -> opRGB rename, a new
+         capabilities field for v4l2_requestbuffers and v4l2_create_buffers, new
+         32-bit YUV formats, and request_fd changes.
+
+2019-04-03 14:13:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/shout2/gstshout2.c:
+         shout2: Fix leak on error in start
+
+2019-03-29 22:48:53 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/elements/rtpsession.c:
+         test: rtpsession: Test FB Nack packing
+         We used to split the NACK if a smaller seqnum of a range of seqnum was
+         submited. This test also make sure that the three operations (append,
+         prepend, update) works properly.
+
+2019-03-29 22:34:47 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/elements/rtpsession.c:
+         test: rtpsession: Test handling of NACK surplus
+         This test verify that NACKs that didn't fit in one packet are properly
+         filtered and inserted into the following pipeline.
+
+2019-03-25 13:42:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtpmanager/rtpsession.c:
+       * gst/rtpmanager/rtpsource.c:
+       * gst/rtpmanager/rtpsource.h:
+         rtpsession: Send as many nack seqnum as possible
+         In order to do that, we now split the nacks registration from the actual
+         FB nack packet construction. We then try and add as many FB Nacks as
+         possible into the active packets and leave the remaining seqnums in the
+         RTPSource. In order to avoid sending outdated NACK later on, we save the
+         seqnum calculated deadline and cleanup the outdated seqnums before the
+         next RTCP send.
+         Fixes #583
+
+2018-04-30 10:54:19 +0200  John Bassett <john.bassett@pexip.com>
+
+       * gst/rtpmanager/rtpsession.c:
+       * tests/check/elements/rtpsession.c:
+         rtpsession: Fix race when sending PLI, FIR and NACK packets
+         Calling rtp_session_send_rtcp before marking the source as requiring a
+         pli/fir/nack meant the rtcp_thread could be scheduled and start running
+         before the source was updated. This meant the request would not be sent
+         early but instead was transmitted with the next regular RTCP packet.
+         Add test for nack generation.
+
+2019-03-29 16:49:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtpmanager/rtpsession.c:
+         rtpsession: Fix early rtcp time comparision
+         If the current time is equal to the early rtcp time deadline, there is
+         no need to schedule a timer. This ensure that immediate feedback is
+         really immediate and simplify implementing unit tests with the test
+         clock, which stops perfectly on the timeout time.
+         This fix has been extracted from Pexip feature patch called
+         "rtpsession: Allow instant transmission of RTCP packets"
+
+2019-01-24 11:54:49 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * sys/v4l2/gstv4l2src.c:
+         v4l2src: preserve features when fixating caps
+         The caps features were lost when sorting caps structures in
+         gst_v4l2src_fixate(). This was breaking alternate as
+         GST_CAPS_FEATURE_FORMAT_INTERLACED was removed from the caps.
+
+2018-11-13 21:23:30 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/rtp/gstrtpgstpay.c:
+         rtpgstpay: Set DELTA_UNIT flag when appropriate
+         When used in combination with a rtponviftimestamp element
+         downstream, forwarding this flag ensures it gets correctly
+         serialized in the ONVIF header extension.
+
+2019-04-03 16:42:26 +0200  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * gst/rtpmanager/gstrtpjitterbuffer.c:
+         docs: fix typo s/abonormally/abnormally/
+
+2019-04-03 16:38:56 +0200  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * gst/debugutils/gsttaginject.c:
+       * gst/goom2k1/gstgoom.c:
+       * gst/monoscope/gstmonoscope.c:
+       * gst/rtp/README:
+       * gst/rtp/gstrtpac3pay.c:
+       * gst/rtp/gstrtpmp4apay.c:
+       * gst/rtp/gstrtpmp4vpay.c:
+       * gst/rtpmanager/gstrtpjitterbuffer.c:
+       * gst/rtpmanager/rtpjitterbuffer.c:
+       * gst/rtpmanager/rtpsource.c:
+       * gst/smpte/gstsmpte.c:
+         docs: fix typo s/incomming/incoming/
+
+2019-04-03 16:34:22 +0200  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * gst/rtp/gstrtpmp4apay.c:
+       * gst/rtp/gstrtpmp4gpay.c:
+       * gst/rtp/gstrtpmp4vpay.c:
+       * gst/rtp/gstrtpvrawpay.c:
+         rtp: fix indentation after G_DEFINE_TYPE
+         A missing colon after G_DEFINE_TYPE declaration was confusing gst-indent
+         and causing problem in the pre-commit hook.
+         Add the missing colon and fix the following function declaration to
+         follow the normal GStreamer style.
+
+2019-03-07 15:34:03 +0100  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * gst/rtpmanager/gstrtpsession.c:
+         rtpsession: fix comment to refer to buffers instead of groups
+         One comments in gst_rtp_session_chain_send_rtp_common() is referring to
+         groups in a buffer list, however this concept of "group" comes from
+         GStreamer 0.10 and does not exist anymore in GStreamer 1.0, so update the
+         comment to refer to buffers instead.
+
+2019-03-06 09:52:45 +0100  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * gst/rtpmanager/rtpsource.c:
+         rtpsource: add comment to explain why probation queue is not always cleared
+
+2019-04-02 12:51:04 +0200  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * tests/check/elements/rtpbin_buffer_list.c:
+         test: rtpbin_buffer_list: add test to verify that stats are correct
+         Add a test to verify that stats about sent and received packets are
+         correct even when using buffer lists.
+         NOTE: the newly introduced get_session_source_stats() selects the
+         desired source (sender or receiver) by filtering them by type (using the
+         get_sender parameter) rather than by ssrc because this simplifies the
+         code and it's good enough for testing purposes as there is usually one
+         source per type in the test setup.
+         Filtering by ssrc would have required handling asynchronous signals like
+         "on-new-sender-ssrc", with the relative locking, just to retrieve the
+         actual ssrc of the sender.
+
+2019-03-05 13:43:12 +0100  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * gst/rtpmanager/rtpsource.c:
+         rtpsource: fix stats about received packets
+         The update_receiver_stats() function is called also when sending packets
+         in rtp_source_send_rtp(), and sending packets may happen using a buffer
+         list rather than individual buffers.
+         So update the stats using the actual number of packets sent.
+         NOTE: this is fine for the receive path too (rtp_process_send_rtp)
+         because the receive path does not support buffer lists and
+         pinfo->packets would always be equal to 1 in this case.
+
+2019-03-11 10:08:21 +0100  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * tests/check/elements/rtpbin_buffer_list.c:
+         test: rtpbin_buffer_list: move buffer list creation next to its validation
+         The tests create a buffer list and then use the chain_list callback to
+         verify that the correct packets have been pushed.
+         Move the creation and validation code next to each other so that the
+         reader can more easily understand what is going on.
+         While at it add some comments to introduce the two related functions.
+
+2019-03-06 19:27:01 +0100  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * tests/check/elements/rtpbin_buffer_list.c:
+         test: rtpbin_buffer_list: set the chain_list function directly in the test
+         The helper function set_chain_function does not really do anything useful, remove it.
+
+2019-03-06 19:19:03 +0100  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * tests/check/elements/rtpbin_buffer_list.c:
+         test: rtpbin_buffer_list: make check_packet more flexible
+         Make it possible to differentiate between the position in the list and
+         the packet index in the global structures in check_packet, in some
+         future case the list may change, in case some element removes a buffer
+         from the list, and the two indices may not coincide.
+
+2019-03-05 12:47:29 +0100  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * tests/check/elements/rtpbin_buffer_list.c:
+         test: rtpbin_buffer_list: factor out a function to create packets buffers
+
+2019-03-04 11:27:33 +0100  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * tests/check/elements/rtpbin_buffer_list.c:
+         test: rtpbin_buffer_list: check if the chain_list function has been called
+         Make the test more useful to verify that the chain list function has
+         actually been called.
+
+2019-02-27 12:27:21 +0100  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * tests/check/elements/rtpbin_buffer_list.c:
+         test: rtpbin_buffer_list: port to GStreamer 1.0
+         Port the rtpbin_buffer_list test to GStreamer 1.0 and re-enable it.
+         Some other changes include:
+         - the check on the caps has been moved from the buffer level to the
+         pad level;
+         - remove underscore prefix from static functions names, this is not
+         idiomatic in C and rarely used in the other tests;
+         - the unused header_buffer variable has been removed;
+         - check_group() has been renamed to check_packet() because in
+         GStreamer 1.0 there is no concept of "group" anymore, the comments
+         have also been updated to reflect this.
+
+2019-04-01 18:20:53 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/elements/jpegdec.c:
+         tests: jpegdec: bump discoverer timeout for valgrind
+         Tests might take a bit longer, esp. when run under valgrind
+         and/or they're running on the CI with other things going on,
+         so let's just bump the timeout to something higher and let
+         the test runner time us out if needed.
+
+2019-04-01 18:20:28 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/qt/meson.build:
+         meson: Only ensure that moc is available on Linux
+         On other OSes, it's not possible to have qmake or the qt5 pkg-config
+         files and not have moc, and `moc` will not be in `PATH`, so this only
+         causes problems.
+
+2019-03-21 18:24:43 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtp/rtpstoragestream.c:
+         rtpstorage: Limit the queue size
+         Limit to the queue size in case there is no arrival time or in case there is
+         a huge flood of packets.
+
+2019-03-18 15:30:54 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtpmanager/gstrtpbin.c:
+         rtpbin: Request the FEC decoder even if ignore-pt is set
+
+2019-03-18 15:27:21 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtpmanager/gstrtpbin.c:
+         rtpbin: Factor out the code that exposes the src pad
+
+2019-03-22 02:08:01 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtp/gstrtpreddec.c:
+         rtpreddec: Add some more debug prints
+
+2019-03-21 17:32:18 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtp/rtpstorage.c:
+         rtpstorage: Issue warning if request by size if 0
+         If the size is 0, then nothing will ever be in the storage, if a request is
+         received, it generally implies a misconfigured pipeline.
+
+2019-03-21 17:24:42 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtp/gstrtpstorage.c:
+       * gst/rtp/rtpstorage.c:
+       * gst/rtp/rtpstoragestream.c:
+         rtpstorage: Add more debug messages
+
+2019-03-21 17:12:53 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtp/gstrtpstorage.c:
+       * gst/rtp/rtpstorage.c:
+       * gst/rtp/rtpstoragestream.c:
+       * gst/rtp/rtpstoragestream.h:
+       * tests/check/Makefile.am:
+       * tests/check/elements/rtpstorage.c:
+       * tests/check/meson.build:
+         rtpstorage: Make debug category available to sub objects
+
+2019-03-21 17:12:33 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtp/gstrtpstorage.c:
+         rtpstorage: Add debug funcptr to chain function
+
+2019-03-22 12:01:01 +0100  Julian Bouzas <julian.bouzas@collabora.com>
+
+       * ext/flac/gstflacdec.c:
+       * ext/flac/gstflacenc.c:
+         flac: report latency in flacenc and flacdec
+         The FLAC specification states that the data is processed in blocks, regardless of the number of channels. Thus, The latency can be calculated using the blocksize and rate. For example a 1 second block sampled at 44.1KHz has a blocksize of 44100
+
+2019-03-22 23:36:42 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/examples/rtsp/test-onvif.c:
+         examples: rtsp: fix compiler warning
+         "control reaches end of non-void function"
+
+2019-03-22 15:07:56 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtpmanager/gstrtpsession.c:
+         gstrtpsession: Remove set but not use running-time
+
+2019-03-19 09:50:04 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtpmanager/gstrtpjitterbuffer.c:
+       * gst/rtpmanager/gstrtpptdemux.c:
+       * gst/rtpmanager/gstrtpsession.c:
+       * gst/rtpmanager/gstrtpssrcdemux.c:
+         rtpmanager: Register chain functions to debug
+
+2019-02-27 15:49:13 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtpmanager/gstrtpbin.c:
+         rtpbin: Allow reusing the sender AUX bin
+         This is needed for the case you don't know in advance all the sessions
+         you will be using, but would like to place all the related AUX element
+         in the same GstBin. As per current implementation, each time an sender
+         AUX bin is requested and returned, RTPBin will walk the src pads and
+         create sessions for these pads.
+         In the current implementation, if a src pad already have a sessions, it
+         returns an error and stops. As a side effect, if an AUX bin is reused in
+         a following AUX bin request, it can only work if the pads are created on
+         the last request.
+         This change simply relax the restriction in order to keep walking, and
+         just ensure that all newly created pads have a sessions.
+
+2018-06-25 17:49:07 +0200  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * sys/v4l2/gstv4l2videoenc.c:
+         v4l2videoenc: set GstVideoCodecFrame sync point flag
+         The V4L2 elements already set the delta unit buffer flag when dequeueing
+         the buffer, but gst_video_encoder_finish_frame overwrites it from the
+         passed codec frame's sync point flag. Set the flag correctly.
+
+2018-08-23 11:47:14 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * gst/rtpmanager/gstrtpsession.c:
+         gstrtpsession: improve stats about rtx requests
+
+2019-03-20 15:45:35 -0400  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * gst/rtpmanager/gstrtprtxsend.c:
+         rtprtxsend: Improve looging of not found RTX packet
+         When an RTX packet is not found, display a message that say if the
+         packet have not arrived yet or if it was already removed from the RTX
+         packet queue.
+
+2018-08-09 16:40:26 +0300  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtpmanager/rtpsession.c:
+       * gst/rtpmanager/rtpsession.h:
+         rtpsession: Remove unused rtp_session_create_source
+
+2019-03-21 11:17:08 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         meson: add -Wno-unused also to C++ args when gst debug system is disabled
+         And check if argument is supported instead of just passing it blindly,
+         and make meson code slightly cleaner, centralising the argument setting
+         in one place.
+
+2019-03-10 19:30:50 +0000  Piotr Drąg <piotrdrag@gmail.com>
+
+       * po/LINGUAS:
+         Update LINGUAS
+
+2019-03-19 12:31:35 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Don't pass zero to denominator for framerate
+         Need to respect return of gst_video_guess_framerate() to ensure
+         non-zero denominator.
+         This patch is to fix below error with an abnormal (but has valid frame) file.
+         (gst-play-1.0:17940): GStreamer-CRITICAL **: passed '0' as denominator for `GstFraction'
+
+2019-03-05 09:43:47 +0000  Philippe Normand <philn@igalia.com>
+
+       * sys/v4l2/gstv4l2fwhtenc.c:
+       * sys/v4l2/gstv4l2h263enc.c:
+       * sys/v4l2/gstv4l2h264enc.c:
+       * sys/v4l2/gstv4l2h265enc.c:
+       * sys/v4l2/gstv4l2jpegenc.c:
+       * sys/v4l2/gstv4l2mpeg4enc.c:
+       * sys/v4l2/gstv4l2vp8enc.c:
+       * sys/v4l2/gstv4l2vp9enc.c:
+         v4l2: Set Hardware classifier on encoders
+
+2019-02-27 11:56:20 +0000  Philippe Normand <philn@igalia.com>
+
+       * sys/v4l2/gstv4l2videodec.c:
+         v4l2: Set Hardware classifier on video decoders
+
+2019-03-01 14:58:24 +0100  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * sys/v4l2/gstv4l2transform.c:
+         v4l2transform: don't segfault if flushed without pools
+         The v4l2output and v4l2capture v4l2objects can have pool == NULL if they
+         have been stopped before.
+
+2019-02-07 11:58:19 +0000  Charlie Turner <cturner@igalia.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Find mp4a esds atoms in protected streams sample description tables.
+         This problem was found in Test. 2 of the YouTube 2018 EME
+         tests[1]. The code was accidentally not finding an mp4a's esds atom in
+         the sample description table when the stream was encrypted. It assumed
+         that if the stream is protected, then only an enca atom will be found
+         here. What happens with YouTube is they often provide protected
+         content with a few seconds of clear content, and then switch to the
+         encrypted stream.
+         The failure case here was an incorrect codec_data field being sent
+         into aacparse. The advertisement of stereo audio @ 44.1kHz for the
+         mp4a (unprotected) stream was incorrect. As usual, the esds contained
+         the real values here which were mono at 22050 Hz.
+         Here's what the MP4 tree looks like for these types of files,
+         demonstrating why the code was making a wrong assumption (or maybe
+         YouTube is being unusual),
+         [ftyp] size=8+16
+         ...
+         [moov] size=8+1571
+         ...
+         [trak] size=8+559
+         ...
+         [stsd] size=12+234
+         entry-count = 2
+         [enca] size=8+147
+         channel_count = 2
+         sample_size = 16
+         sample_rate = 44100
+         [esds] size=12+27
+         ...
+         ...
+         [mp4a] size=8+67
+         channel_count = 2
+         sample_size = 16
+         sample_rate = 44100
+         [esds] size=12+27
+         ...
+         In addition to fixing this, the checks for esds atoms in mp4a and mp4v
+         have been made symmetrical. While I haven't seen a test case for video
+         with the same problem, it seemed better to make the same checks. This
+         also fixes a crash reported from another user[2], they also noted the
+         asymmetry with mp4v and mp4a.
+         [1] https://yt-dash-mse-test.commondatastorage.googleapis.com/unit-tests/2018.html?test_type=encryptedmedia-test
+         [2] https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/398
+
+2019-03-15 10:41:20 +0100  Andreas Frisch <afrisch@make.tv>
+
+       * gst/flv/gstflvmux.c:
+         flvmux: Fix scale of time values in warning message
+
+2019-03-15 09:18:00 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/rtsp/gstrtspsrc.c:
+         rtspsrc: Don't remove udpsrc/sink from rtspsrc if they were not added to it
+         This can happen in various error cases that could happen between the
+         creation of the element in question and the adding to the rtspsrc.
+         It causes an ugly critical warning right now but is otherwise harmless.
+
+2019-03-13 14:00:10 +0100  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * tests/check/elements/imagefreeze.c:
+         test: imagefreeze: add test for the num-buffers property
+
+2019-03-13 13:03:44 +0100  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * gst/imagefreeze/gstimagefreeze.c:
+       * gst/imagefreeze/gstimagefreeze.h:
+         imagefreeze: add a num-buffers property
+         The imagefreeze element can be handy for benchmarking downstream
+         elements because it re-uses the same buffer memory and introduces less
+         overhead compared to always creating new frames with videotestsrc.
+         However it's not possible to make imagefreeze send EOS when using
+         gst-launch-1.0.
+         Add a num-buffers property to make it look more like a source in the
+         above scenario.
+
+2019-03-12 16:52:45 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * gst/matroska/matroska-mux.c:
+         matroskamux: add support for new color primaries
+
+2019-03-07 11:24:38 +0100  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * sys/v4l2/gstv4l2sink.c:
+         v4l2sink: fix pool-less allocation query handling
+         This fixes a critical warning if the last-sample property is enabled:
+         (gst-launch-1.0:391): GStreamer-CRITICAL **: 01:12:57.428: gst_object_unref: assertion 'object != NULL' failed
+         If the allocation query does not contain any allocation pools,
+         gst_query_parse_nth_allocation_pool will leave the local pool,
+         min, and max variables undefined, so check the array length first.
+         If pool is NULL, do not call gst_object_unref.
+
+2019-03-08 11:03:31 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/examples/meson.build:
+         meson: Build v4l2 example only if v4l2 plugin was built
+         Otherwise v4l2 example will be built with MSVC
+
+2019-03-07 12:38:41 +0100  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * ext/dv/gstdvdemux.c:
+       * gst/rtsp/gstrtspsrc.c:
+       * gst/udp/gstudpsrc.c:
+         docs: fix typos s/recieve/receive/
+
+2019-02-28 12:32:51 +0100  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * gst/rtpmanager/rtpsource.c:
+         rtpsource: fix documentation of rtp_source_send_rtp parameters
+         In commit 28e5f9098 (rtpbin: use PacketInfo for the sender, 2013-09-13)
+         the rtp_source_send_rtp signature changed but the documentation was not
+         adjusted to match the new one.
+         Update the documentation to match the function signature.
+
+2019-03-06 12:59:52 +0100  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * gst/rtpmanager/rtpsession.c:
+         rtpsession: fix typo in a comment, s/SESSION_LOCK/RTP_SESSION_LOCK/
+         Fix a typo in a comment, mainly to avoid confusing autocompletion in
+         text editors.
+
+2019-02-27 16:45:54 +0100  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * gst/rtpmanager/gstrtpsession.c:
+       * gst/rtpmanager/rtpsession.c:
+       * gst/rtpmanager/rtpsession.h:
+         rtpsession: fix typos and update parameters names in comments
+         Some functions now accept a generic 'gpointer data' parameter because
+         they can work either on a single buffer or a buffer list.
+         However the comments were still referring to the old 'GstBuffer *buffer'
+         parameter, so update the comments to match the actual functions
+         signature.
+
+2019-03-06 16:28:34 +0100  Antonio Ospite <antonio.ospite@collabora.com>
+
+       * gst/rtpmanager/rtpstats.h:
+         rtpstats: fix some fields names in the RTPSourceStats documentation
+         Fix documentation of RTPSourceStats to use the actual fields names.
+
+2019-03-06 17:40:12 +0000  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/rtp/gstrtpulpfecdec.c:
+         rtpulpfdecdec: only put recovered packet back into storage if not recovered from there
+
+2019-03-06 17:38:03 +0000  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/rtp/gstrtpulpfecdec.c:
+         rtpulpfecdec: fix buffer leak when packet is recovered from storage
+         Exposed by rtpulpfecdec_recovered_from_storage test.
+
+2019-03-06 17:35:58 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/elements/rtpulpfec.c:
+         tests: rtpulpfec: fix buffer leak in unit test
+         This freed wrapped memory instead of the GstMemory or buffer.
+
+2019-03-06 17:33:23 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/rtp/gstrtph264depay.c:
+         rtph264depay: fix caps leak
+         Exposed by rtp_h264depay_bytestream() unit test.
+
+2019-03-06 17:28:57 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/elements/rtpjitterbuffer.c:
+         tests: rtpjitterbuffer: fix leaks in new test_push_eos() test
+
+2019-03-06 17:26:23 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/Makefile.am:
+       * tests/check/meson.build:
+         tests: states: blacklist gtk sinks for state change test
+         gtk_init() throws GLib-GIO-WARNING **: unknown schema extension 'd'
+         unrelated to our test environment.
+
+2019-03-06 17:26:03 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/elements/.gitignore:
+       * tests/examples/rtp/.gitignore:
+         tests: .gitignore more test and example binaries
+
+2019-03-05 15:26:45 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/gtk/gstgtkglsink.c:
+       * ext/gtk/gtkgstglwidget.c:
+         gtkgl: Also try retrieving an EGL context from Gdk with X11
+         Some embedded platforms will use EGL instead of GLX within the X11
+         ecosystem.
+
+2019-03-04 09:07:30 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * NEWS:
+       * RELEASE:
+       * configure.ac:
+       * docs/plugins/gst-plugins-good-plugins.args:
+       * docs/plugins/inspect/plugin-1394.xml:
+       * docs/plugins/inspect/plugin-aasink.xml:
+       * docs/plugins/inspect/plugin-alaw.xml:
+       * docs/plugins/inspect/plugin-alpha.xml:
+       * docs/plugins/inspect/plugin-alphacolor.xml:
+       * docs/plugins/inspect/plugin-apetag.xml:
+       * docs/plugins/inspect/plugin-audiofx.xml:
+       * docs/plugins/inspect/plugin-audioparsers.xml:
+       * docs/plugins/inspect/plugin-auparse.xml:
+       * docs/plugins/inspect/plugin-autodetect.xml:
+       * docs/plugins/inspect/plugin-avi.xml:
+       * docs/plugins/inspect/plugin-cacasink.xml:
+       * docs/plugins/inspect/plugin-cairo.xml:
+       * docs/plugins/inspect/plugin-cutter.xml:
+       * docs/plugins/inspect/plugin-debug.xml:
+       * docs/plugins/inspect/plugin-deinterlace.xml:
+       * docs/plugins/inspect/plugin-dtmf.xml:
+       * docs/plugins/inspect/plugin-dv.xml:
+       * docs/plugins/inspect/plugin-effectv.xml:
+       * docs/plugins/inspect/plugin-equalizer.xml:
+       * docs/plugins/inspect/plugin-flac.xml:
+       * docs/plugins/inspect/plugin-flv.xml:
+       * docs/plugins/inspect/plugin-flxdec.xml:
+       * docs/plugins/inspect/plugin-gdkpixbuf.xml:
+       * docs/plugins/inspect/plugin-goom.xml:
+       * docs/plugins/inspect/plugin-goom2k1.xml:
+       * docs/plugins/inspect/plugin-gtk.xml:
+       * docs/plugins/inspect/plugin-icydemux.xml:
+       * docs/plugins/inspect/plugin-id3demux.xml:
+       * docs/plugins/inspect/plugin-imagefreeze.xml:
+       * docs/plugins/inspect/plugin-interleave.xml:
+       * docs/plugins/inspect/plugin-isomp4.xml:
+       * docs/plugins/inspect/plugin-jack.xml:
+       * docs/plugins/inspect/plugin-jpeg.xml:
+       * docs/plugins/inspect/plugin-lame.xml:
+       * docs/plugins/inspect/plugin-level.xml:
+       * docs/plugins/inspect/plugin-matroska.xml:
+       * docs/plugins/inspect/plugin-mpg123.xml:
+       * docs/plugins/inspect/plugin-mulaw.xml:
+       * docs/plugins/inspect/plugin-multifile.xml:
+       * docs/plugins/inspect/plugin-multipart.xml:
+       * docs/plugins/inspect/plugin-navigationtest.xml:
+       * docs/plugins/inspect/plugin-oss4.xml:
+       * docs/plugins/inspect/plugin-ossaudio.xml:
+       * docs/plugins/inspect/plugin-png.xml:
+       * docs/plugins/inspect/plugin-pulseaudio.xml:
+       * docs/plugins/inspect/plugin-qmlgl.xml:
+       * docs/plugins/inspect/plugin-replaygain.xml:
+       * docs/plugins/inspect/plugin-rtp.xml:
+       * docs/plugins/inspect/plugin-rtpmanager.xml:
+       * docs/plugins/inspect/plugin-rtsp.xml:
+       * docs/plugins/inspect/plugin-shapewipe.xml:
+       * docs/plugins/inspect/plugin-shout2.xml:
+       * docs/plugins/inspect/plugin-smpte.xml:
+       * docs/plugins/inspect/plugin-soup.xml:
+       * docs/plugins/inspect/plugin-spectrum.xml:
+       * docs/plugins/inspect/plugin-speex.xml:
+       * docs/plugins/inspect/plugin-taglib.xml:
+       * docs/plugins/inspect/plugin-twolame.xml:
+       * docs/plugins/inspect/plugin-udp.xml:
+       * docs/plugins/inspect/plugin-video4linux2.xml:
+       * docs/plugins/inspect/plugin-videobox.xml:
+       * docs/plugins/inspect/plugin-videocrop.xml:
+       * docs/plugins/inspect/plugin-videofilter.xml:
+       * docs/plugins/inspect/plugin-videomixer.xml:
+       * docs/plugins/inspect/plugin-vpx.xml:
+       * docs/plugins/inspect/plugin-wavenc.xml:
+       * docs/plugins/inspect/plugin-wavpack.xml:
+       * docs/plugins/inspect/plugin-wavparse.xml:
+       * docs/plugins/inspect/plugin-ximagesrc.xml:
+       * docs/plugins/inspect/plugin-y4menc.xml:
+       * meson.build:
+         Back to development
+
+2019-02-25 11:23:56 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/matroska/matroska-demux.c:
+         matroskademux: fix AV1 caps when there's no codec_data
+         There is no "byte-stream" format for AV1 in Matroska, this
+         was probably cargo-culted from H.264. codec_data / CodecPrivate
+         is now mandatory for AV1 in Matroska[*], but there are sample
+         files out there which don't have it (e.g. some Elecard ones).
+         [*] https://github.com/Matroska-Org/matroska-specification/blob/master/codec/av1.md#codecprivate-1
+
+2019-02-28 08:52:28 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/meson.build:
+         meson: don't build icles when tests are disabled
+         They are manual tests, so let them be controlled
+         via the tests option.
+
+2019-02-27 15:39:12 +0100  Marc Leeman <marc.leeman@gmail.com>
+
+       * gst/rtpmanager/rtpsource.c:
+         rtpsource: small spell correct
+
+=== release 1.15.2 ===
+
+2019-02-26 11:47:29 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * configure.ac:
+       * gst-plugins-good.doap:
+       * meson.build:
+         Release 1.15.2
+
+2019-02-26 11:47:29 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst-plugins-good-plugins.args:
+       * docs/plugins/inspect/plugin-1394.xml:
+       * docs/plugins/inspect/plugin-aasink.xml:
+       * docs/plugins/inspect/plugin-alaw.xml:
+       * docs/plugins/inspect/plugin-alpha.xml:
+       * docs/plugins/inspect/plugin-alphacolor.xml:
+       * docs/plugins/inspect/plugin-apetag.xml:
+       * docs/plugins/inspect/plugin-audiofx.xml:
+       * docs/plugins/inspect/plugin-audioparsers.xml:
+       * docs/plugins/inspect/plugin-auparse.xml:
+       * docs/plugins/inspect/plugin-autodetect.xml:
+       * docs/plugins/inspect/plugin-avi.xml:
+       * docs/plugins/inspect/plugin-cacasink.xml:
+       * docs/plugins/inspect/plugin-cairo.xml:
+       * docs/plugins/inspect/plugin-cutter.xml:
+       * docs/plugins/inspect/plugin-debug.xml:
+       * docs/plugins/inspect/plugin-deinterlace.xml:
+       * docs/plugins/inspect/plugin-dtmf.xml:
+       * docs/plugins/inspect/plugin-dv.xml:
+       * docs/plugins/inspect/plugin-effectv.xml:
+       * docs/plugins/inspect/plugin-equalizer.xml:
+       * docs/plugins/inspect/plugin-flac.xml:
+       * docs/plugins/inspect/plugin-flv.xml:
+       * docs/plugins/inspect/plugin-flxdec.xml:
+       * docs/plugins/inspect/plugin-gdkpixbuf.xml:
+       * docs/plugins/inspect/plugin-goom.xml:
+       * docs/plugins/inspect/plugin-goom2k1.xml:
+       * docs/plugins/inspect/plugin-gtk.xml:
+       * docs/plugins/inspect/plugin-icydemux.xml:
+       * docs/plugins/inspect/plugin-id3demux.xml:
+       * docs/plugins/inspect/plugin-imagefreeze.xml:
+       * docs/plugins/inspect/plugin-interleave.xml:
+       * docs/plugins/inspect/plugin-isomp4.xml:
+       * docs/plugins/inspect/plugin-jack.xml:
+       * docs/plugins/inspect/plugin-jpeg.xml:
+       * docs/plugins/inspect/plugin-lame.xml:
+       * docs/plugins/inspect/plugin-level.xml:
+       * docs/plugins/inspect/plugin-matroska.xml:
+       * docs/plugins/inspect/plugin-mpg123.xml:
+       * docs/plugins/inspect/plugin-mulaw.xml:
+       * docs/plugins/inspect/plugin-multifile.xml:
+       * docs/plugins/inspect/plugin-multipart.xml:
+       * docs/plugins/inspect/plugin-navigationtest.xml:
+       * docs/plugins/inspect/plugin-oss4.xml:
+       * docs/plugins/inspect/plugin-ossaudio.xml:
+       * docs/plugins/inspect/plugin-png.xml:
+       * docs/plugins/inspect/plugin-pulseaudio.xml:
+       * docs/plugins/inspect/plugin-qmlgl.xml:
+       * docs/plugins/inspect/plugin-replaygain.xml:
+       * docs/plugins/inspect/plugin-rtp.xml:
+       * docs/plugins/inspect/plugin-rtpmanager.xml:
+       * docs/plugins/inspect/plugin-rtsp.xml:
+       * docs/plugins/inspect/plugin-shapewipe.xml:
+       * docs/plugins/inspect/plugin-shout2.xml:
+       * docs/plugins/inspect/plugin-smpte.xml:
+       * docs/plugins/inspect/plugin-soup.xml:
+       * docs/plugins/inspect/plugin-spectrum.xml:
+       * docs/plugins/inspect/plugin-speex.xml:
+       * docs/plugins/inspect/plugin-taglib.xml:
+       * docs/plugins/inspect/plugin-twolame.xml:
+       * docs/plugins/inspect/plugin-udp.xml:
+       * docs/plugins/inspect/plugin-video4linux2.xml:
+       * docs/plugins/inspect/plugin-videobox.xml:
+       * docs/plugins/inspect/plugin-videocrop.xml:
+       * docs/plugins/inspect/plugin-videofilter.xml:
+       * docs/plugins/inspect/plugin-videomixer.xml:
+       * docs/plugins/inspect/plugin-vpx.xml:
+       * docs/plugins/inspect/plugin-wavenc.xml:
+       * docs/plugins/inspect/plugin-wavpack.xml:
+       * docs/plugins/inspect/plugin-wavparse.xml:
+       * docs/plugins/inspect/plugin-ximagesrc.xml:
+       * docs/plugins/inspect/plugin-y4menc.xml:
+         Update docs
+
+2019-02-26 11:47:25 +0000  Tim-Philipp Müller <tim@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/fur.po:
+       * po/gl.po:
+       * po/hr.po:
+       * po/hu.po:
+       * po/id.po:
+       * po/it.po:
+       * po/ja.po:
+       * po/lt.po:
+       * po/lv.po:
+       * po/mt.po:
+       * po/nb.po:
+       * po/nl.po:
+       * po/or.po:
+       * po/pl.po:
+       * po/pt_BR.po:
+       * po/ro.po:
+       * po/ru.po:
+       * po/sk.po:
+       * po/sl.po:
+       * po/sq.po:
+       * po/sr.po:
+       * po/sv.po:
+       * po/tr.po:
+       * po/uk.po:
+       * po/vi.po:
+       * po/zh_CN.po:
+       * po/zh_HK.po:
+       * po/zh_TW.po:
+         Update translations
+
+2019-02-22 12:22:04 -0300  Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2: accept Bayer as possible input/output for V4L2 codecs
+         A V4L2 transform codec may input/output data on Bayer format.
+         Add support for that.
+
+2019-02-22 12:22:44 -0300  Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
+
+       * sys/v4l2/v4l2_calls.c:
+         v4l2: fix a typo on a debug message at v4l2_calls
+         suppored -> supported
+
+2019-02-25 19:08:08 +1100  Matthew Waters <matthew@centricular.com>
+
+       * sys/v4l2/gstv4l2videodec.c:
+         v4l2dec: also remove the colorimetry and chroma-site fields
+         If a different format is chosen, then these values are incorrect.
+
+2019-02-22 16:02:12 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtpmanager/gstrtpsession.c:
+         rtpsession: Fix EOS forwarding
+         So far we assumed that if all sources are bye, this meant we needed to
+         send an EOS on the RTCP sink. The problem is that this case may happens
+         if we only had one internal source and it detected a collision.
+         So now we limit the EOS forwarding to when there is a send_rtp_sink pad
+         and that this pad has received EOS. We don'tcheck the recv_rtp_sink
+         since the code does not wait for the bye to be send before sending EOS
+         to the RTCP src pad.
+
+2019-02-25 01:12:56 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/wavparse/gstwavparse.c:
+         wavparse: Declare support for RF64
+         RF64 encode support was added to wavenc quite some time
+         ago, but not declared in wavparse. It seems wavparse can
+         decode it though, so add it to the sink pad.
+         The RF64 support was added in
+         https://bugzilla.gnome.org/show_bug.cgi?id=735627
+
+2019-02-12 18:28:40 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtpmanager/rtpsession.c:
+       * gst/rtpmanager/rtpsource.c:
+       * gst/rtpmanager/rtpsource.h:
+         rtp: Add property to disable RTCP reports per internal rtpsource
+         This is useful when implementing custom retransmission mechanism like
+         RIST to prevent RTCP from being produces for the retransmitted SSRC.
+         This would also be used in general for various purpose when customizing
+         an RTP base pipeline.
+
+2019-02-12 18:26:21 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtpmanager/rtpsession.c:
+         rtpsession: Emit on-new-sender-ssrc for RTX ssrc also
+
+2019-01-15 18:04:09 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/rtpjitterbuffer.c:
+         rtp jitterbuffer test: Test for queue filling
+
+2019-01-11 17:53:43 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtpmanager/gstrtpjitterbuffer.c:
+       * gst/rtpmanager/rtpjitterbuffer.c:
+       * gst/rtpmanager/rtpjitterbuffer.h:
+         rtpjitterbuffer: Limit size to 2^15 packets
+         If it goes over 2^15 packets, it will think it has rolled over
+         and start dropping all packets. So make sure the seqnum distance is not too big.
+         But let's not limit it to a number that is too small to avoid emptying it
+         needlessly if there is a spurious huge sequence number, let's allow at
+         least 10k packets in any case.
+
+2019-02-11 11:33:32 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtpmanager/gstrtpjitterbuffer.c:
+         rtpjitterbuffer: There is no automatic reorder threshold
+
+2019-01-30 10:47:49 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/pulse/pulsedeviceprovider.c:
+         pulse: Post DEVICE_CHANGED on modification
+
+2018-11-26 13:48:56 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/pulse/pulsedeviceprovider.c:
+       * ext/pulse/pulsedeviceprovider.h:
+         pulse: Mark default devices as "default"
+
+2019-02-08 16:10:25 +0000  Ilya Smelykh <ilya.smelykh@gmail.com>
+
+       * gst/flv/gstflvmux.c:
+         flvmux: Use 8kHz sample rate for alaw/mulaw audio
+
+2019-02-07 09:54:31 +0000  Ilya Smelykh <ilya.smelykh@gmail.com>
+
+       * gst/flv/gstflvdemux.c:
+         flvdemux: set sample rate to 8KHz for G.711 audio
+
+2019-02-08 13:59:19 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/isomp4/gstqtmux.c:
+         qtmux: Only write timecode trak for video
+         Recent changes in ccextractor were attaching timecode meta to the closed
+         caption track. We shouldn't write timecode information for the closed
+         caption trak.
+
+2019-02-05 22:14:18 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+       * configure.ac:
+       * ext/vpx/gstvpxdec.c:
+       * ext/vpx/meson.build:
+         vpx: Fix build against libvpx 1.8
+         The deprecated debug visualizer was removed.
+
+2019-02-05 19:41:51 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * tests/check/elements/rtph264.c:
+       * tests/check/elements/rtph265.c:
+       * tests/check/elements/rtpulpfec.c:
+         misc: Fix warnings on Cerbero's mingw (gcc 4.7)
+         error: this decimal constant is unsigned only in ISO C90 [-Werror]
+
+2019-02-06 14:43:18 +0530  Arun Raghavan <arunsr@codeaurora.org>
+
+       * ext/pulse/pulsesink.c:
+         pulsesink: Deal with not being able to convert a format to caps
+         It is possible that PulseAudio adds formats that are not yet supported
+         in pulsesink, and in those cases, we want to gracefully skip them rather
+         than cause an assert on a NULL caps.
+
+2019-01-17 09:22:18 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Remove trailing '\n' in debug
+
+2019-02-05 15:27:49 +1100  Matthew Waters <matthew@centricular.com>
+
+       * ext/qt/gstqtgl.h:
+         qmlgl: Fix opengl header guard changes again
+         Reapply 3d708a5bfa8961cc37671bc3226976dfc9ba50ad in the correct place
+         after the iOS additions.
+
+2019-02-02 02:29:10 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/rtsp/gstrtspsrc.c:
+       * gst/rtsp/gstrtspsrc.h:
+         rtspsrc: use the correct segment seqnum
+
+2019-02-02 02:26:47 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/rtpmanager/gstrtpjitterbuffer.c:
+         rtpjitterbuffer: use the correct segment seqnum
+
+2019-02-02 02:24:01 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/rtpmanager/gstrtpsession.c:
+       * gst/rtpmanager/gstrtpsession.h:
+         rtpsession: use the correct segment seqnum
+
+2019-01-26 10:35:31 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/flv/gstflvdemux.c:
+         flvdemux: Do not error out if the first added and chained pad is not linked
+         And let it the oportunity to get its other pad linked
+         Example:
+         ```
+         $ gst-launch-1.0 uridecodebin uri=file:///home/thiblahute/gst-validate.save/gst-integration-testsuites/testsuites/../medias/defaults/flv/819290236.flv caps=audio/x-raw expose-all-streams=FALSE ! fakesink
+         Setting pipeline to PAUSED ...
+         Pipeline is PREROLLING ...
+         ERROR: from element /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstFlvDemux:flvdemux0: Internal data stream error.
+         Additional debug info:
+         ../subprojects/gst-plugins-good/gst/flv/gstflvdemux.c(2760): gst_flv_demux_loop (): /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstFlvDemux:flvdemux0:
+         streaming stopped, reason not-linked (-1)
+         ERROR: pipeline doesn't want to preroll.
+         Setting pipeline to NULL ...
+         Freeing pipeline ...
+         ```
+
+2019-01-16 23:54:25 -0800  Christopher Snowhill <kode54@gmail.com>
+
+       * gst/matroska/webm-mux.c:
+         webmmux: allow resolutions above 4096
+         Modify the caps string to allow width and height greater than 4096.
+         There is no need to restrict it since the matroska format allows the
+         width and height values to be up to eight bytes long, and this also
+         applies to the webm subset of the format.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/550
+
+2019-02-01 14:27:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/qt/meson.build:
+         meson: qmlgl plugin iOS definitions
+         Tested with cross-ios-arm64 and cross-ios-x86, since those two are the
+         only archs shipped with the official Qt binaries.
+
+2019-02-01 14:27:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/qt/gstqtgl.h:
+         qt: Don't define GLsync inside gstglfuncs.h
+         This was originally added for fixing conflicting definitions between
+         Android and Qt, but times have changed and now this breaks the build
+         on iOS:
+         [...]/OpenGLES.framework/Headers/ES3/gl.h:1006:48: error: unknown type name 'gst_qt_GLsync'
+         GL_API void           GL_APIENTRY glGetSynciv (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values)   OPENGLES_DEPRECATED(ios(7.0, 12.0), tvos(9.0, 12.0));
+         ^
+         ../ext/qt/gstqtgl.h:49:16: note: expanded from macro 'GLsync'
+         #define GLsync gst_qt_GLsync
+         ^
+         6 errors generated.
+         Instead, we simply avoid defining GLsync ourselves if we're using Qt.
+
+2019-02-01 14:27:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/qt/meson.build:
+         meson: Fix indentation in qt plugin and add a FIXME comment
+
+2019-01-26 21:02:27 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtp/gstrtph265depay.c:
+         rtph265depay; Fix handling of marker on aggregated packet
+         When multiple nals are aggrgated, the marker bit should be associated only
+         with the last NAL of the packet. Otherwise we may break rendering in with
+         AU alignment.
+
+2019-01-26 21:01:08 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtp/gstrtph264depay.c:
+         rtph264depay: Fix handling or marker on STAP-A
+         Only forward the marker for the last NAL of the STAP-A. Otherwise each NAL
+         endup being assumed to be a full frame which may break rendering.
+         Fixes 557
+
+2019-01-27 09:19:00 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/elements/rtph265.c:
+         test: h265depay: Add todo for testing aggregate packets with marker
+         We are missing a sample to test this, but a fix has been made, so add a
+         todo.
+
+2019-01-26 20:42:40 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/elements/rtph264.c:
+         test: rtph264depay: Check handling of STAP-A marker
+         Related to #557
+
+2019-01-31 15:23:43 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * tests/check/meson.build:
+         meson: orc-test is not required
+         This is especially never available on iOS.
+
+2019-01-30 19:44:01 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * meson.build:
+       * tests/check/meson.build:
+         meson: Add support orc fallback
+         Allow fallback to orc subproject if any.
+         Additionally 'dependencies' keyword is removed from find_library,
+         because it's invalid keyword for find_library.
+
+2019-01-17 21:06:54 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/gdk_pixbuf/gstgdkpixbufdec.c:
+         gdkpixbufdec: always output a TIME segment
+         It makes no sense for a decoder to output a BYTES segment, and
+         many elements one would plug downstream of a video decoder assume
+         the segments they receive are in TIME format, for example this fixes:
+         gst-validate-1.0 filesrc location=opacity01.svg ! gdkpixbufdec ! \
+         videobalance ! videoconvert ! fakesink
+         In that case, videobalance was emitting an assertion when trying to
+         call gst_object_sync_values()
+
+2019-01-29 12:12:51 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/qt/meson.build:
+         meson: Add macOS definitions for qmlgl plugin
+         Tested with Cerbero.
+
+2019-01-29 12:12:51 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/qt/meson.build:
+         meson: Fix building of qmlgl plugin on Android
+         Needs gnustl for C++ STL support, which is the GNU STL on Android API
+         19 and older, and is a wrapper for the llvm-libc++ STL on newer APIs.
+         QtGui C++ templates use GL functions, so GLESv2 is needed at link time
+
+2019-01-24 16:21:12 -0500  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/interleave/deinterleave.c:
+         deinterleave: Allow switching between 1 channel configs
+         regardless of whether they're positioned, since positioning
+         with a 1 channel stream doesn't change anything.
+
+2019-01-22 11:45:49 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * configure.ac:
+         configure.ac: Fix Qt Android integration
+         The Qt Android integration is now signalled with HAVE_QT_ANDROID
+         See: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/merge_requests/86
+
+2018-12-18 14:46:25 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * ext/soup/meson.build:
+         Meson: fallback to libsoup subproject
+
+2019-01-22 12:52:25 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         meson: detect opengl api from -base .pc files correctly
+         There was a mismatch between the .pc files generated by
+         autotools and by meson that would lead to meson not detecting
+         that opengl api is available even though it is, if -base was
+         built with autotools. The mismatch has now been rectified in
+         -base, so we need to update for that.
+         This is mostly for consistency, this problem didn't seem
+         to affect anything in -good.
+         See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/871
+
+2019-01-22 09:51:33 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * sys/ximage/meson.build:
+         meson: ximage: check for XShmAttach()
+         Fixes FIXME.
+
+2019-01-22 09:32:31 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson_options.txt:
+       * sys/ximage/meson.build:
+         meson: add options for ximagesrc xshm, xfixes, xdamage checks
+         And rename x11 option to ximagesrc.
+         Fixes #553
+
+2019-01-21 11:53:53 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * ext/qt/README.md:
+         qmlgl: add README.md with information on building for non-linux platforms with qmake
+
+2019-01-19 15:46:41 +0100  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * ext/qt/meson.build:
+         qmlgl: meson: fix theoretical support for building for android
+         The android code path is slightly different than the EGLFS one,
+         so I added previously a HAVE_QT_ANDROID define for use with qmake.
+         Here I also add it in meson, although I expect nobody will ever use
+         meson to build this, as it's complicated.
+
+2019-01-19 15:37:45 +0100  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * ext/qt/qtplugin.pro:
+         qmlgl: qmake: add support for MacOS target
+
+2019-01-19 15:21:43 +0100  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * ext/qt/qtplugin.pro:
+         qmlgl: qmake: remove cerbero's include dir from the include path
+         pkg-config should do it's job here, this is unnecessary and implies using cerbero
+
+2019-01-19 15:19:26 +0100  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * ext/qt/gstqtgl.h:
+       * ext/qt/qtplugin.pro:
+         qmlgl: qualify Qt includes with their module and remove module include dir from the .pro file
+         it is perfectly legal to use the <module/class> style of includes with Qt
+         and it avoids the need for having the module's include dir in the include path
+
+2019-01-19 15:10:09 +0100  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * ext/qt/qtplugin.pro:
+         qmlgl: qmake: don't link against QtWidgets, it's not used
+
+2019-01-19 15:07:44 +0100  George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+       * ext/qt/gstqtglutility.cc:
+       * ext/qt/qtplugin.pro:
+         qmlgl: qmake: fix building for android
+
+2019-01-19 02:39:32 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/qt/meson.build:
+         meson: Generate pkg-config file for qmlgl plugin
+
+2019-01-17 16:26:56 +0100  Victor Toso <me@victortoso.com>
+
+       * tests/check/elements/rtp-payloading.c:
+         tests: rtp-payloading avoid -Wmaybe-uninitialized
+         More false positives as both of them are initialized in the line
+         before they are used, wrapped with fail_unless() check.
+
+2019-01-17 16:19:40 +0100  Victor Toso <me@victortoso.com>
+
+       * tests/check/elements/matroskamux.c:
+         tests: matroskamux avoid -Wmaybe-uninitialized
+         False positive for the three variables but some warnings like:
+         ../tests/check/elements/matroskamux.c:875:10:
+         warning: 'chapters_offset' may be used uninitialized in this function [-Wmaybe-uninitialized]
+         *index = chapters_offset;
+         ~~~~~~~^~~~~~~~~~~~~~~~~
+         The above is false positive as there is a gboolean to check if it was
+         initialized or not (found_chapters_declaration).
+
+2018-05-28 14:39:53 +0530  Arun Raghavan <arunsr@codeaurora.org>
+
+       * ext/pulse/pulseutil.c:
+         pulse: Fix format info to caps conversion for PCM
+
+2019-01-18 12:27:34 +0530  Arun Raghavan <arunsr@codeaurora.org>
+
+       * ext/pulse/pulsesink.c:
+       * ext/pulse/pulsesrc.c:
+       * ext/pulse/pulsesrc.h:
+       * ext/pulse/pulseutil.c:
+       * ext/pulse/pulseutil.h:
+         Revert "pulsesrc: Move to extended stream API"
+         This reverts commit 4d67d1bd16bcf25acf89d8acd952badcd5b9a657.
+         Using the extended API for the capture path depends on a fix in
+         PulseAudio
+         (https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/49).
+         Until then, let's go back to the standard API.
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/552
+
+2019-01-18 14:41:14 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/qt/meson.build:
+         meson: Search for qmake-qt5 before qmake
+         The canonical name for the binary is qmake-qt5, and qmake is the
+         generic name that can also be a qt4 qmake.
+
+2019-01-17 15:30:25 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * sys/v4l2/gstv4l2.c:
+         v4l2: mark caps from probe as MAY_BE_LEAKED
+
+2019-01-15 18:06:11 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+       * sys/v4l2/gstv4l2transform.c:
+         v4l2transform: fix cdata caps leaks
+         The cdata structure was freed but not its caps.
+         It was already done in gst_v4l2_video_dec_subclass_init() and
+         gst_v4l2_video_enc_subclass_init().
+
+=== release 1.15.1 ===
+
+2019-01-17 01:59:28 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * configure.ac:
+       * gst-plugins-good.doap:
+       * meson.build:
+         Release 1.15.1
+
+2019-01-17 01:59:28 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst-plugins-good-plugins.args:
+       * docs/plugins/gst-plugins-good-plugins.hierarchy:
+       * docs/plugins/gst-plugins-good-plugins.signals:
+       * docs/plugins/inspect/plugin-1394.xml:
+       * docs/plugins/inspect/plugin-aasink.xml:
+       * docs/plugins/inspect/plugin-alaw.xml:
+       * docs/plugins/inspect/plugin-alpha.xml:
+       * docs/plugins/inspect/plugin-alphacolor.xml:
+       * docs/plugins/inspect/plugin-apetag.xml:
+       * docs/plugins/inspect/plugin-audiofx.xml:
+       * docs/plugins/inspect/plugin-audioparsers.xml:
+       * docs/plugins/inspect/plugin-auparse.xml:
+       * docs/plugins/inspect/plugin-autodetect.xml:
+       * docs/plugins/inspect/plugin-avi.xml:
+       * docs/plugins/inspect/plugin-cacasink.xml:
+       * docs/plugins/inspect/plugin-cairo.xml:
+       * docs/plugins/inspect/plugin-cutter.xml:
+       * docs/plugins/inspect/plugin-debug.xml:
+       * docs/plugins/inspect/plugin-deinterlace.xml:
+       * docs/plugins/inspect/plugin-dtmf.xml:
+       * docs/plugins/inspect/plugin-dv.xml:
+       * docs/plugins/inspect/plugin-effectv.xml:
+       * docs/plugins/inspect/plugin-equalizer.xml:
+       * docs/plugins/inspect/plugin-flac.xml:
+       * docs/plugins/inspect/plugin-flv.xml:
+       * docs/plugins/inspect/plugin-flxdec.xml:
+       * docs/plugins/inspect/plugin-gdkpixbuf.xml:
+       * docs/plugins/inspect/plugin-goom.xml:
+       * docs/plugins/inspect/plugin-goom2k1.xml:
+       * docs/plugins/inspect/plugin-gtk.xml:
+       * docs/plugins/inspect/plugin-icydemux.xml:
+       * docs/plugins/inspect/plugin-id3demux.xml:
+       * docs/plugins/inspect/plugin-imagefreeze.xml:
+       * docs/plugins/inspect/plugin-interleave.xml:
+       * docs/plugins/inspect/plugin-isomp4.xml:
+       * docs/plugins/inspect/plugin-jack.xml:
+       * docs/plugins/inspect/plugin-jpeg.xml:
+       * docs/plugins/inspect/plugin-lame.xml:
+       * docs/plugins/inspect/plugin-level.xml:
+       * docs/plugins/inspect/plugin-matroska.xml:
+       * docs/plugins/inspect/plugin-mpg123.xml:
+       * docs/plugins/inspect/plugin-mulaw.xml:
+       * docs/plugins/inspect/plugin-multifile.xml:
+       * docs/plugins/inspect/plugin-multipart.xml:
+       * docs/plugins/inspect/plugin-navigationtest.xml:
+       * docs/plugins/inspect/plugin-oss4.xml:
+       * docs/plugins/inspect/plugin-ossaudio.xml:
+       * docs/plugins/inspect/plugin-png.xml:
+       * docs/plugins/inspect/plugin-pulseaudio.xml:
+       * docs/plugins/inspect/plugin-qmlgl.xml:
+       * docs/plugins/inspect/plugin-replaygain.xml:
+       * docs/plugins/inspect/plugin-rtp.xml:
+       * docs/plugins/inspect/plugin-rtpmanager.xml:
+       * docs/plugins/inspect/plugin-rtsp.xml:
+       * docs/plugins/inspect/plugin-shapewipe.xml:
+       * docs/plugins/inspect/plugin-shout2.xml:
+       * docs/plugins/inspect/plugin-smpte.xml:
+       * docs/plugins/inspect/plugin-soup.xml:
+       * docs/plugins/inspect/plugin-spectrum.xml:
+       * docs/plugins/inspect/plugin-speex.xml:
+       * docs/plugins/inspect/plugin-taglib.xml:
+       * docs/plugins/inspect/plugin-twolame.xml:
+       * docs/plugins/inspect/plugin-udp.xml:
+       * docs/plugins/inspect/plugin-video4linux2.xml:
+       * docs/plugins/inspect/plugin-videobox.xml:
+       * docs/plugins/inspect/plugin-videocrop.xml:
+       * docs/plugins/inspect/plugin-videofilter.xml:
+       * docs/plugins/inspect/plugin-videomixer.xml:
+       * docs/plugins/inspect/plugin-vpx.xml:
+       * docs/plugins/inspect/plugin-wavenc.xml:
+       * docs/plugins/inspect/plugin-wavpack.xml:
+       * docs/plugins/inspect/plugin-wavparse.xml:
+       * docs/plugins/inspect/plugin-ximagesrc.xml:
+       * docs/plugins/inspect/plugin-y4menc.xml:
+         Update docs
+
+2019-01-17 01:59:18 +0000  Tim-Philipp Müller <tim@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/fur.po:
+       * po/gl.po:
+       * po/hr.po:
+       * po/hu.po:
+       * po/id.po:
+       * po/it.po:
+       * po/ja.po:
+       * po/lt.po:
+       * po/lv.po:
+       * po/mt.po:
+       * po/nb.po:
+       * po/nl.po:
+       * po/or.po:
+       * po/pl.po:
+       * po/pt_BR.po:
+       * po/ro.po:
+       * po/ru.po:
+       * po/sk.po:
+       * po/sl.po:
+       * po/sq.po:
+       * po/sr.po:
+       * po/sv.po:
+       * po/tr.po:
+       * po/uk.po:
+       * po/vi.po:
+       * po/zh_CN.po:
+       * po/zh_HK.po:
+       * po/zh_TW.po:
+         Update translations
+
+2019-01-16 14:11:44 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/gtk/gtkgstglwidget.c:
+         gtk/gl: Only unbind buffers/vertex attrib arrays if we can't directly bind the vertex array to 0
+         Binding the vertex array to 0 will unbind everything else already.
+         In the previous order older versions of the Intel GL driver caused
+         errors to be printed for every single call when disabling the vertex
+         attrib arrays after binding the vertex array to 0.
+
+2019-01-16 00:57:46 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/meson.build:
+         meson: enable tests for orc code
+
+2018-11-29 16:07:08 +0100  Patrick Radizi <patrickr@axis.com>
+
+       * gst/rtsp/gstrtspsrc.c:
+       * gst/rtsp/gstrtspsrc.h:
+         rtspsrc: send GstRTSPSrcTimeout message on timeout
+         The GstRTSPSrcTimeout message is sent by the rtspsrc when it receives
+         the on-timeout signal from rtpsession. This can be used by an
+         application for error handling.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/499
+
+2019-01-09 17:52:28 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/flv/gstflvdemux.c:
+         flvdemux: Handle the encoder metadata the same as metadatacreator
+         And store it in our ENCODER tag.
+
+2019-01-09 17:48:36 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/flv/gstflvmux.c:
+       * gst/flv/gstflvmux.h:
+         flvmux: Add encoder metadata to the header
+         And also add a property for setting this. By default it has the same
+         value as the metadatacreator metadata.
+         Various software is using encoder instead of metadatacreator, others are
+         using them both for different purposes. As such it's useful to have
+         support for setting both here.
+
+2018-05-28 14:41:05 +0530  Arun Raghavan <arunsr@codeaurora.org>
+
+       * ext/pulse/pulsesink.c:
+       * ext/pulse/pulsesrc.c:
+       * ext/pulse/pulsesrc.h:
+       * ext/pulse/pulseutil.c:
+       * ext/pulse/pulseutil.h:
+         pulsesrc: Move to extended stream API
+         This is needed as a precursor to allowing capture of IEC61937
+         formats. We now also need to include the channel map while converting
+         format info to caps so that a correct channel mask is generated for
+         pulsesrc's caps.
+
+2019-01-09 16:27:16 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * tests/check/elements/rtph265.c:
+         test: rtph265pay: Verify we only mark the last fragment
+
+2019-01-09 16:24:54 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * tests/check/elements/rtph265.c:
+         test: rtph265pay: Use a bigger test frame
+         The existing frame's last slice is too small to be used for
+         fragmentation tests.
+
+2019-01-09 15:59:16 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * tests/check/elements/rtph264.c:
+         test: rtph264pay: Verify we only mark the last fragment
+
+2019-01-09 16:25:36 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtp/gstrtph265pay.c:
+         rtph265pay: Only mark the last fragment of an AU
+         Commit e721071dcac9f231e5e10b4bb31323658a6cdd1a removed the check for
+         the end of fragmentation. As a result, all fragments of an AU's last
+         NALU were marked.
+
+2019-01-09 15:56:51 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+       * gst/rtp/gstrtph264pay.c:
+         rtph264pay: Only mark the last fragment of an AU
+         Commit 4add820cce278213ede3d5fce427ea92e0619b6f removed the check for
+         the end of fragmentation. As a result, all fragments of an AU's last
+         NALU were marked.
+         Potential fix for https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/540
+
+2019-01-09 11:48:52 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/multifile/gstsplitmuxpartreader.c:
+       * gst/multifile/gstsplitmuxsrc.c:
+         splitmuxsrc: Refactor part preparation code and remove "prepared" signal from reader helper object
+         We don't need a special signal anymore but can directly work with
+         async-done
+
+2019-01-09 11:42:36 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/multifile/gstsplitmuxpartreader.c:
+       * gst/multifile/gstsplitmuxpartreader.h:
+       * gst/multifile/gstsplitmuxsrc.c:
+       * gst/multifile/gstsplitmuxsrc.h:
+         splitmuxsrc: Implement state change asynchronously instead of blocking
+         Blocking in change_state() is a recipe for disaster, even more so if
+         we wait for another thread that also calls into various element API and
+         could then lead to deadlocks on e.g. the state lock.
+
+2019-01-05 23:10:46 +0400  Marc-André Lureau <marcandre.lureau@redhat.com>
+
+       * ext/pulse/pulsesrc.c:
+         pulsesrc: fix checking for invalid stream index
+         PA_INVALID_INDEX, the default value, is unfortunately !0.
+         Setting the volume before the stream is created will put the ring
+         buffer in error state. Unfortunately, that's what spice-gtk does.
+
+2018-12-20 12:14:46 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Split CEA608 buffers correctly so that each output buffer represents a single frame
+
+2018-12-20 11:45:36 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Refactor buffer pushing into its own function
+
+2018-12-20 11:31:58 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Extract CEA608 framerate from the (first) video stream
+         EA608 closed caption tracks are a bit special in that each sample
+         can contain CCs for multiple frames, and CCs can be omitted and have to
+         be inferred from the duration of the sample then.
+         As such we take the framerate from the (first) video track here for
+         CEA608 as there must be one CC byte pair for every video frame
+         according to the spec.
+         For CEA708 all is fine and there is one sample per frame.
+
+2018-12-30 21:55:28 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/meson.build:
+         tests: Enable more unit tests on Windows
+
+2018-12-30 21:54:44 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/elements/audioamplify.c:
+       * tests/check/elements/audiodynamic.c:
+       * tests/check/elements/audioinvert.c:
+       * tests/check/elements/audiopanorama.c:
+       * tests/check/elements/avimux.c:
+       * tests/check/elements/avisubtitle.c:
+       * tests/check/elements/capssetter.c:
+       * tests/check/elements/level.c:
+       * tests/check/elements/matroskamux.c:
+       * tests/check/elements/multifile.c:
+       * tests/check/elements/qtdemux.h:
+       * tests/check/elements/qtmux.c:
+       * tests/check/elements/rtp-payloading.c:
+       * tests/check/elements/shapewipe.c:
+       * tests/check/elements/spectrum.c:
+       * tests/check/elements/splitmux.c:
+       * tests/check/elements/udpsrc.c:
+       * tests/check/elements/videobox.c:
+       * tests/check/elements/videocrop.c:
+       * tests/check/elements/videofilter.c:
+       * tests/check/elements/videomixer.c:
+       * tests/check/elements/wavpackparse.c:
+       * tests/check/elements/y4menc.c:
+       * tests/check/generic/states.c:
+         tests: Remove pointless unistd.h include
+
+2018-12-26 20:27:58 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/matroska/matroska-demux.c:
+         matroskademux: Don't leak allocated index memory
+         Don't forget to free returned memory from _search_pos()
+
+2018-12-25 15:31:44 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/files/Makefile.am:
+         tests: dist new rtph265.rtp file
+         Fixes make distcheck.
+
+2018-12-25 14:51:38 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/Makefile.am:
+       * docs/plugins/gst-plugins-good-plugins.args:
+       * docs/plugins/gst-plugins-good-plugins.hierarchy:
+       * docs/plugins/inspect/plugin-audiofx.xml:
+       * gst/audiofx/Makefile.am:
+       * gst/audiofx/audiofx.c:
+       * gst/audiofx/gststereo.c:
+       * gst/audiofx/meson.build:
+         audiofx: add stereo element which was moved from -bad to build
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/457
+
+2018-12-25 13:07:23 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+         Move stereo plugin from -bad
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/457
+
+2018-12-22 17:55:51 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Offset correction for track language code parsing
+         The duration field being a uint64, is stored in 8 bytes, not 4. So the offset of
+         the following field, language code, needs to be updated accordingly so that the
+         parsed language code is not garbage.
+
+2018-12-21 10:59:22 +0100  Juan Navarro <juan.navarro@gmx.es>
+
+       * gst/rtsp/gstrtspsrc.c:
+         rtspsrc: Accept NULL for "port-range" property
+         The documentation of "port-range" implies that passing NULL should be
+         valid, but currently it is not. Without this check, the sscanf() call
+         will crash.
+
+2018-12-19 14:28:54 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/plugins/gst-plugins-good-plugins.signals:
+       * gst/rtpmanager/gstrtpbin.c:
+       * gst/rtpmanager/gstrtpbin.h:
+       * tests/check/Makefile.am:
+       * tests/check/elements/.gitignore:
+       * tests/check/elements/rtpbundle.c:
+       * tests/check/meson.build:
+       * tests/examples/rtp/.gitignore:
+       * tests/examples/rtp/Makefile.am:
+       * tests/examples/rtp/client-rtpbundle.c:
+       * tests/examples/rtp/meson.build:
+       * tests/examples/rtp/server-rtpbundle.c:
+         Revert "rtpbin: receive bundle support"
+         This reverts commit dcd3ce9751cdef0b5ab1fa118355f92bdfe82cb3.
+         This functionality was implemented for gstopenwebrtc, but it
+         turned out this was not actually needed for webrtc bundling
+         support, as shown in webrtcbin. It also doesn't correspond
+         to any standards.
+         This is an API break, but nothing should actually depend on
+         this, at least not for its initial purpose.
+         Changes in rtpbin.c were reverted manually, to preserve some
+         refactoring that had occurred in the original commit.
+         Fixes #537
+
+2018-12-19 11:36:37 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtp/gstrtph264pay.c:
+       * gst/rtp/gstrtph265pay.c:
+         rtph264pay/rtph265pay: Fix use after free
+         We can't assume a buffer that has been pushed in the adapter is still
+         valid. This fixes a use after free detect when running test on jenkins.
+
+2018-12-19 22:51:11 +0900  KimTaeSoo <myrandy1@gmail.com>
+
+       * tests/check/pipelines/tagschecking.c:
+         tagschecking: Use gst_message_parse_warning in case of GST_MESSAGE_WARNING
+         Bus message handler of tags checking unit test uses gst_message_parse_error()
+         in case of GST_MESSAGE_ERROR and GST_MESAGE_WARNING.
+         If gst_message_parse_error() is called in case of GST_MESSAGE_WARNING, assert occurs.
+         So modified to use gst_message_parse_warning() in case of GST_MESSAGE_WARNING.
+
+2018-12-19 09:51:10 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/Makefile.am:
+         test: rtph264/265: Add libgstrtp in auto-tool makefile
+
+2018-12-18 12:43:30 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/rtph265.c:
+       * tests/check/meson.build:
+       * tests/files/h265.rtp:
+         test: rtph265: Copy and port tests from rtph264
+         This copy and port all the relevant tests from rtph264.
+
+2018-12-14 17:54:36 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/elements/rtph264.c:
+         test: rtph264depay: Check the marker is converted to flag
+
+2018-12-14 17:53:17 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/elements/rtph264.c:
+         test: rtph264depay: Check that EOS drains the depayloaded
+         In AU mode, the depayloader may have accumulated NALs, test that
+         these NALs are drained and not dropped.
+
+2018-12-14 15:30:21 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/elements/rtph264.c:
+         test: rtph264pay: Add tests for marker bit
+         Test that marker bit is transferred when input buffer has the
+         marker flag set but also that it's set whenever the payloader
+         receives complete AU.
+
+2018-12-13 15:57:24 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/elements/rtph264.c:
+         test: rtph264pay: Verify slices timestamp
+         This test make sure that timestamps are properly transfered
+         to each NALU.
+
+2018-12-04 16:06:15 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/elements/rtph264.c:
+       * tests/check/meson.build:
+         test: rtph264pay: Add reserved nals test
+
+2018-12-18 13:16:44 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtp/gstrtph265pay.c:
+         rtph265pay: Don't wait for next nal when input is aligned
+         This is the same as what was done on rtph264pay in the patch
+         d5d28055c1e816e90e8c2d1151816b0c3e760ff3
+
+2018-12-18 12:53:15 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtp/gstrtph265depay.c:
+         rtph265depay: Drain on EOS event
+
+2018-12-18 12:50:40 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtp/gstrtph265depay.c:
+         rtph265depay: Factor out the code that push
+         This will be needed to implement draining on EOS.
+
+2018-12-17 16:48:53 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtp/gstrtph264depay.c:
+         rtph264depay: Drain on EOS event
+
+2018-12-14 18:19:42 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtp/gstrtph264depay.c:
+         rtph264depay: Factor out the code that push
+         This will be needed to implement draining on EOS.
+
+2018-12-14 15:51:51 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtp/gstrtph264pay.c:
+       * gst/rtp/gstrtph265pay.c:
+         rtph26xpay: Remove unused IS_ACCESS_UNIT macro
+         This macro is not longer used. It was secretly checking if that nal was
+         a slice, and confusingly name to that one may think it was checking if
+         the nal is an AUD.
+
+2018-10-03 14:14:17 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtp/gstrtph265pay.c:
+         rtph265pay: Fix reading timestamps from adapter
+         The code was reading the timestamp from the adapter before pushing the
+         new buffer into it. As a side effect, if the adapter was empty, we'd end
+         up using an older timestamp. In alignment=au, it means that all
+         timestamp was likely one frame in the past, while in alignment=nal, with
+         multiple slices per frame, the first slice would have the timestamp of
+         the previous one.
+
+2018-10-03 13:46:08 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtp/gstrtph265depay.c:
+         rtph265pay: Forward the marker bit as buffer flag
+         We have a buffer flag to represent the marker bit (when present).
+         Forward this bit by setting the buffer flag accordingly.
+
+2018-10-03 13:44:56 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtp/gstrtph265pay.c:
+         rtph265pay: Properly set the marker bit
+         The marker bit is used for efficient decoding. The assumption that
+         it should be set on the AUD is wrong, since the AUD is conceptually
+         starts the frame, while the marker is to indicate the end.
+         So properly set the marker bit as soon as we know we are ending an
+         AU and also whenever upstream have set the GST_BUFFER_FLAG_MARKER
+         flag.
+
+2018-09-25 11:49:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtp/gstrtph264pay.c:
+         rtph264pay: Fix reading timestamps from adapter
+         The code was reading the timestamp from the adapter before pushing the
+         new buffer into it. As a side effect, if the adapter was empty, we'd end
+         up using an older timestamp. In alignment=au, it means that all
+         timestamp was likely one frame in the past, while in alignment=nal, with
+         multiple slices per frame, the first slice would have the timestamp of
+         the previous one.
+
+2018-09-24 15:31:12 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtp/gstrtph264pay.c:
+         rtph264pay: Properly set the marker bit
+         The marker bit is used for efficient decoding. The assumption that
+         it should be set on the AUD is wrong, since the AUD is conceptually
+         starts the frame, while the marker is to indicate the end.
+         So properly set the marker bit as soon as we know we are ending an
+         AU and also whenever upstream have set the GST_BUFFER_FLAG_MARKER
+         flag.
+
+2018-09-24 15:27:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtp/gstrtph264depay.c:
+         rtph264depay: Forward the marker bit as buffer flag
+         We have a buffer flag to represent the marker bit (when present).
+         Forward this bit by setting the buffer flag accordingly.
+
+2018-09-21 20:22:43 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtp/gstrtph264pay.c:
+         rtph264pay: Protect against use of reserved NAL types
+         Don't allow external encoder to use one of the reserved NAL type
+         implicated in NAL aggreation. These out-of-spec NAL types, if passed
+         from the outside world will lead to an invalid RTP payload being
+         created.
+
+2018-12-07 21:46:12 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * meson.build:
+       * tests/check/meson.build:
+       * tests/meson.build:
+         tests: Enable unit test on Windows
+         Allow run some unit tests on Windows.
+         * Remove hardcoded path separator in whitelist env for Meson to choose
+         OS-specific separator automatically (i.e., ';' for windows and ':' for *nix)
+         * Add dependency explicitly for some test cases, otherwise plugins couldn't be
+         loaded on uninstalled environment of Windows.
+
+2018-12-18 20:39:40 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * meson.build:
+       * tests/check/meson.build:
+         meson: Prefer to use join_paths() over '/'
+         ... to avoid mixing '/' and '\' in a path string on Windows.
+
+2018-12-17 18:04:37 +0000  Jonny Lamb <jonnylamb@jonnylamb.com>
+
+       * tests/check/elements/rtpulpfec.c:
+         rtpulpfec: stop and start the harness when setting error-after
+         gstreamer!55 makes some changes to how the `error-after` counter works
+         which breaks this test. This change makes the test not rely on the
+         ability to alter `error-after` at runtime and explicitly stops and
+         starts the harness before pushing data.
+         An alternative would be to add another argument to
+         `harness_rtpulpfecdec` to set `error-after` on construction but that's
+         slightly more long-winded. so I went for this approach instead.
+         Fixes #532, even though that's already closed.
+
+2018-12-17 18:59:34 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/.gitignore:
+       * tests/check/elements/rtpaux.c:
+       * tests/check/meson.build:
+         tests: remove rtpaux test
+         The initial mission statement for this test was:
+         * demonstrate usage of the request-aux-* signals in rtpbin
+         * test the rtx elements
+         We have examples that serve the first use case, and better
+         (harnessed) tests for the second use case.
+         This test is slow and racy, it served its purpose but can now
+         be removed.
+         Fixes #533
+
+2018-12-17 19:18:43 +0100  Nicola Murino <nicola.murino@gmail.com>
+
+       * ext/soup/gstsouphttpsrc.c:
+       * ext/soup/gstsouphttpsrc.h:
+         souphttpsrc: check difference in time from the last socket read before changing blocksize
+         If the pipeline consumes the data slower than the available network speed,
+         for example because sync=true, is useless to increase the blocksize and
+         reading in too big blocksizes can cause the connection to time out
+         Closes #463
+
+2018-08-08 09:27:09 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2: Avoid code duplication
+         The function gst_v4l2_object_add_interlace_mode() has repeating code so
+         it's best use a loop instead. That will make it easy and simple to add
+         additional interlace modes in a following patch.
+
+2018-06-27 23:20:33 +0200  Zeeshan Ali <zeenix@collabora.co.uk>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2: Make use of gst_video_interlace_mode_to_string()
+         Instead of a custom map to translate the interlace modes to strings, let's
+         make use of the base API provided.
+
+2018-12-17 13:45:36 +0100  Nicola Murino <nicola.murino@gmail.com>
+
+       * sys/osxaudio/gstosxcoreaudio.c:
+         osxcoreaudio: fix typo
+         kAudioFormatFlagIsSignedInteger is a format flags
+         Closes #394
+
+2018-12-17 09:33:39 +0100  Edward Hervey <edward@centricular.com>
+
+       * ext/qt/gstqtgl.h:
+         qtgl: Handle OPENGL header guard changes
+         In 2018 khronos changed the gl header guards. If we don't detect
+         this properly we would end up with plenty of symbol redifinition
+         (since we would be importing twice the "same" header).
+         Instead detect if the "newer" header was already included and if
+         so define the "old" define to avoid this situation
+         Fixes #523
+
+2018-12-10 17:34:03 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+       * gst/isomp4/gstqtmuxmap.c:
+       * gst/isomp4/qtdemux.c:
+         isomp4: Replace GST_VIDEO_CAPTION_TYPE_CEA608_IN_CEA708_RAW with CEA608_S334_1A
+         For the demuxer we have to select line offset 0 for the time being as
+         this information is not passed over MOV.
+
+2018-12-13 20:45:23 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/rtpjitterbuffer.c:
+         rtpjitterbuffer tests: Validate the number of buffers
+
+2018-12-13 19:17:43 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtpmanager/gstrtpjitterbuffer.c:
+       * tests/check/elements/rtpjitterbuffer.c:
+         rtpjitterbuffer: Run all timers immediately on EOS
+         When the EOS event is received, run all timers immediately and avoid
+         pushing the EOS downstream before this has been run. This ensures that
+         the lost packet statistics are accurate.
+
+2018-12-13 19:16:11 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * tests/check/elements/rtpjitterbuffer.c:
+         rtpjitterbuffer test: Stop jitterbuffer before pads to avoid race
+         The teardown of the pads checks the refcount, but there are timers
+         inside the jitterbuffer that can push things, so if we're not lucky,
+         things could be pushed while the pads are being shut down. Putting the
+         jitterbuffer to NULL first avoids this.
+
+2018-11-22 10:41:29 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtpmanager/gstrtpjitterbuffer.c:
+         rtpjitterbuffer: Stop waiting after EOS
+         After EOS is received, it is pointless to wait for further events,
+         specially waiting on timers. This patches fixes two cases where we could
+         wait instead of returning GST_FLOW_EOS and trigger a spin of the loop
+         function when EOS is queued, regardless if this EOS is the queue head or
+         not.
+
+2018-10-27 13:41:46 +0200  Jochen Henneberg <jh@henneberg-systemdesign.com>
+
+       * ext/flac/gstflacdec.c:
+         flacdec: Use new channel count for audio info
+
+2018-10-27 13:36:16 +0200  Jochen Henneberg <jh@henneberg-systemdesign.com>
+
+       * ext/flac/gstflacdec.c:
+         flacdec: Caps may have changed on FLAC metadata change
+         If the decoder signals metadata change we need to update the output
+         format and negotiate with downstream elements.
+
+2018-10-27 13:28:56 +0200  Jochen Henneberg <jh@henneberg-systemdesign.com>
+
+       * ext/flac/gstflacdec.c:
+         flacdec: Reset decoder on set_format()
+         Any call to set_format() could mean that the stream type changed so we
+         reset the decoder and mark got_headers FALSE.
+
+2018-12-05 18:42:55 +0100  Jochen Henneberg <jh@henneberg-systemdesign.com>
+
+       * gst/audioparsers/gstflacparse.c:
+         flacparse: On sink caps change restart parser
+         Draining the parser is not enough here, on caps change we need to
+         reset it so it is ready to accept new caps.
+
+2018-12-04 18:50:51 +0100  Jochen Henneberg <jh@henneberg-systemdesign.com>
+
+       * gst/rtp/gstrtpgstdepay.c:
+         rtpgstdepay: Update pad caps if inline caps change
+         If the inlined caps change while using the same CV we need to update the
+         source pad caps.
+
+2018-12-14 12:21:58 +0900  Justin Kim <jeongseok.kim@sk.com>
+
+       * sys/osxvideo/meson.build:
+         osxvideo: meson: Add dependencies by using appleframeworks
+         Otherwise, it fails to link.
+         gst-build#13
+
+2018-12-07 19:09:30 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/cairo/gstcairooverlay.c:
+         cairooverlay: Optimize premultiplication/unpremultiplication loops
+         Pull in video frame fields into local variables. Without this the
+         compiler must assume that they could've changed on every use and read
+         them from memory again.
+         This reduces the inner loop from 6 memory reads per pixels to 4, and the
+         number of writes stays at 3.
+
+2018-12-05 19:37:13 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Put framerate into the closedcaption caps if it can be calculated from the stream
+         Using the same calculation used for video streams.
+
+2018-12-05 19:31:25 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+         qtmux: Set timescale of closedcaption tracks to the one of the main video track
+
+2018-12-05 17:24:13 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * common:
+         Automatic update of common submodule
+         From ed78bee to 59cb678
+
+2018-11-19 18:20:52 +0000  Maciej Wolny <maciej.wolny@codethink.co.uk>
+
+       * gst/flv/gstflvmux.h:
+       * sys/v4l2/gstv4l2allocator.h:
+         Remove duplicate declarations
+         This causes 'redefinition of typedef ...' errors on GCC 4.5.3
+
+2018-11-30 23:56:12 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/Makefile.am:
+         tests: rtpssrcdemux: fix uninstalled autotools build and distcheck
+
+2018-11-30 19:29:30 +0100  Alicia Boya García <aboya@igalia.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: set need_segment after a second moov
+         stream.segment should be updated with the values of the current edit
+         list, also when a new `moov` is received. Unfortunately this was not
+         being the case because of an early return.
+         As a consequence of this bugs, no end of movie clipping was being
+         performed on the new moov and no segment event was being emitted.
+         When performing stream switching (e.g. in MSE) the new moov may have a
+         different edit list. This is often the case when switching between
+         baseline H.264 (which lacks B-frames) and more demanding profiles. For
+         this reason it's important to emit a new segment in order to be able
+         to get matching stream times.
+
+2018-11-29 22:42:34 +0100  Alicia Boya García <aboya@igalia.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Initialize QtDemuxStream.segment in its constructor
+         This patch moves the initialization of QtDemuxStream.segment from
+         gst_qtdemux_add_stream() to _create_stream(). This ensures the segment
+         is always initialized when the stream is created.
+         Otherwise the segment format is left as GST_FORMAT_UNDEFINED in the case
+         were a track is reparsed and qtdemux_reuse_and_configure_stream() is
+         called instead of gst_qtdemux_add_stream(). (See
+         qtdemux_expose_streams() in the non streams-aware case.)
+
+2018-11-29 13:48:33 +0100  Miguel Paris <mparisdiaz@gmail.com>
+
+       * gst/rtpmanager/rtpsession.c:
+         rtpsession: properly handle rtcp_feedback_retention_window
+         - Consider GST_CLOCK_TIME_NONE as not to be used.
+         - Complete "rtcp-feedback-retention-window" property getter/setter
+         implementation.
+
+2018-11-29 13:02:53 +0100  Miguel Paris <mparisdiaz@gmail.com>
+
+       * gst/rtpmanager/rtpsession.c:
+       * gst/rtpmanager/rtpsource.c:
+       * gst/rtpmanager/rtpsource.h:
+         rtpsource: properly prune RTCP packets out of feedback_retention_window
+         Closes #522
+
+2018-11-29 13:01:44 +0100  Miguel Paris <mparisdiaz@gmail.com>
+
+       * gst/rtpmanager/rtpsource.c:
+         rtpsource: properly compare buffer PTSs
+
+2018-11-29 12:58:18 +0100  Miguel Paris <mparisdiaz@gmail.com>
+
+       * gst/rtpmanager/rtpsource.c:
+         rtpsource: retain_rtcp_packet: warning if invalid running_time
+
+2018-11-29 12:55:38 +0100  Miguel Paris <mparisdiaz@gmail.com>
+
+       * gst/rtpmanager/gstrtpsession.c:
+       * gst/rtpmanager/rtpsession.c:
+       * gst/rtpmanager/rtpsession.h:
+         rtpsession: properly set the running_time for rtcp packet info
+
+2018-11-29 14:54:06 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtpmanager/gstrtpssrcdemux.c:
+         rtpssrcdemux: Rename confusingly name lock macros
+         This is an extra internal recurisve lock use to avoid having to take
+         both sink pad streams lock all the time. This patch renamed it
+         INTERLNAL_STREAM_LOCK/UNLOCK() to avoid confusion with possible upstream
+         GST_PAD API.
+
+2018-11-28 17:14:11 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtpmanager/gstrtpssrcdemux.c:
+         rtpssrcdemux: Hold on internal stream lock while pushing sticky
+         This reverts "6f3734c305 rtpssrcdemux: Only forward stick events while
+         holding the sinkpad stream lock" and actually hold on the internal
+         stream lock. This prevents in some needed case having a second
+         streaming thread poping in and messing up event ordering.
+
+2018-11-27 17:10:57 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/rtpssrcdemux.c:
+       * tests/check/meson.build:
+         test: rtpssrcdemux: Test event forwarding
+         This the first unit test of this element. It adds a test that verify
+         that events are forwarded correctly.
+
+2015-11-04 12:52:17 +0100  Matej Knopp <matej.knopp@gmail.com>
+
+       * gst/matroska/matroska-demux.c:
+         matroskademux: fix handling of MS ACM audio
+         Pass riff codec-data as strf, not strd, which is where
+         gst_riff_create_audio_caps() expects the WAVEFORMATEXTENSIBLE
+         data.
+         https://bugzilla.gnome.org/show_bug.cgi?id=757583
+         Fixes #234
+
+2018-11-28 05:52:16 +0200  Jordan Petridis <jordan@centricular.com>
+
+       * gst/matroska/matroska-demux.c:
+       * gst/rtp/gstrtpg722pay.c:
+       * gst/rtpmanager/gstrtpmux.c:
+       * gst/udp/gstudpsrc.c:
+       * sys/v4l2/gstv4l2jpegenc.c:
+       * tests/check/elements/rtpmux.c:
+       * tests/check/elements/rtpsession.c:
+         Run gst-indent through the files
+         This is required before we enabled an indent test in the CI.
+         https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33
+
+2018-11-26 08:10:24 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/videocrop/gstaspectratiocrop.c:
+         aspectcropration: Fix potential unref of NULL pointer
+
+2018-11-25 11:31:11 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/videocrop/gstaspectratiocrop.c:
+       * gst/videocrop/gstaspectratiocrop.h:
+         aspectcropratio: Set caps from the streaming thread on property changes
+         Otherwise it might lead to deadlocks
+         See https://gitlab.gnome.org/GNOME/pitivi/issues/2259
+         Closes #518
+
+2018-11-23 14:01:35 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtpmanager/gstrtpssrcdemux.c:
+         rtpssrcdemux: Forward serialized events to all pads
+         While forwarding serialized event, we use gst_pad_forward() function.
+         In the forward callback (GstPadForwardFunction) we always return
+         TRUE. Returning true there will stop the dispatching procedure. As a
+         side effect, only one events is receiving the events. This breaks
+         when sending EOS from the applicaiton, it also breaks the latency
+         tracer.
+
+2018-11-24 19:13:28 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * meson.build:
+         meson: Specify encoding to UTF-8 when building with MSVC
+         Use build arguments consistent with core and -base. This can also
+         remove noisy "C4819" warning of non-us locale MSVC.
+
+2018-11-21 15:11:00 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * meson.build:
+         Check for zlib header
+
+2018-11-21 18:53:39 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2object.h:
+         v4l2: Properly fix Android build
+         The previous patch did not even compile on any possible platform or C
+         standard. That commit also didn't have a proper commit message.
+         Android ships Linux with a different signature for ioctl. They first
+         released an ioctl with int as request type, and later "fixed" it by
+         adding an override with unsign, which is still not matching Linux and
+         BSD implementation which uses unsigned long int.
+
+2018-11-21 16:11:02 -0500  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * sys/v4l2/gstv4l2object.h:
+         Fix ioctl() signature on Android
+
+2018-10-09 16:43:08 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * meson.build:
+         Fix zlib detection when there is no pkg-config file
+
+2018-11-19 20:05:39 +0530  Arun Raghavan <arunsr@codeaurora.org>
+
+       * ext/pulse/pulsesink.c:
+       * ext/pulse/pulsesrc.c:
+       * ext/pulse/pulseutil.c:
+       * ext/pulse/pulseutil.h:
+         pulse: Expose the correct max rate that we support
+         PulseAudio defines PA_RATE_MAX as the maximum sampling rate that it
+         supports. We were previously exposing a maximum rate of INT_MAX, which
+         is incorrect, but worked because nothing was really using a rate greater
+         than 384000 kHz.
+         While playing DSD data, we hit a case where there might be very high
+         sample rates (>1MHz), and pulsesink fails during stream creation with
+         such streams because it erroneously advertises that it supports such
+         rates.
+         Since PA_RATE_MAX is #define'd to (8*48000U), we can't just use it in
+         the caps string. Instead, we fix up the rate to what we actually support
+         whenever we use our macro caps.
+
+2018-11-14 08:57:55 +0100  Alicia Boya García <aboya@igalia.com>
+
+       * gst/matroska/matroska-demux.c:
+       * gst/matroska/matroska-demux.h:
+         matroskademux: Defer seeks received before GST_MATROSKA_READ_STATE_DATA
+         This patch enables matroskademux to receive seeks before it reaches
+         GST_MATROSKA_READ_STATE_DATA.
+         Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/514
+         This also enables receiving seeks in the element READY state.
+         When such a seek is received, it is stored to be later handled when
+         GST_MATROSKA_READ_STATE_DATA is reached.
+
+2018-10-16 12:38:46 +0200  Linus Svensson <linussn@axis.com>
+
+       * gst/rtpmanager/gstrtpsession.c:
+       * gst/rtpmanager/rtpsession.c:
+       * gst/rtpmanager/rtpsession.h:
+       * gst/rtpmanager/rtpsource.c:
+         rtpsession: Implement reset
+         Reset RTPSession when rtpsession changes state from PAUSED to READY.
+         Without this change, a stored last_rtptime in RTPSource could interfere
+         with RTP timestamp generation in RTCP Sender Report.
+         Fixes #510
+
+2018-11-06 15:05:54 +0100  Linus Svensson <linussn@axis.com>
+
+       * tests/check/elements/rtpsession.c:
+         rtpsession: test: Plug memory leak
+
+2018-11-13 00:37:11 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/rtpmanager/gstrtpfunnel.c:
+       * gst/rtpmanager/gstrtpfunnel.h:
+         rtpfunnel: Stop using G_DECLARE_FINAL_TYPE
+         Fixes #516
+
+2018-11-12 13:42:29 +0200  Jordan Petridis <jordan@centricular.com>
+
+       * .gitlab-ci.yml:
+         Add Gitlab CI configuration
+         This commit adds a .gitlab-ci.yml file, which uses a feature
+         to fetch the config from a centralized repository. The intent is
+         to have all the gstreamer modules use the same configuration.
+         The configuration is currently hosted at the gst-ci repository
+         under the gitlab/ci_template.yml path.
+         Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
+
+2018-10-18 22:23:31 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2object: Read driver selected interlace mode
+         If there was no interlace-mode field in the caps. Read back the value
+         selected by the driver. This way, if the driver does not support
+         progressive, then it will automatically negotiate the returned mode
+         unless this mode is not supported by GStreamer.
+         This method was already used for colorimetry. Just like colorimetry, the
+         interlace mode is not longer probed by v4l2src dues to performance
+         issues.
+         Fixes #511
+
+2018-05-17 21:58:25 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst/matroska/matroska-demux.c:
+         matroska: implement preliminary support for the bitrate query
+         Return the size / total duration as a ballpark estimate.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/60
+
+2018-05-17 21:53:56 +1000  Matthew Waters <matthew@centricular.com>
+
+       * gst/isomp4/qtdemux.c:
+         isomp4: add preliminary support for the bitrate query
+         Return the upstream size over the duration as a first estimate.
+         https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/60
+
+2018-11-06 23:02:21 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/rtpmanager/gstrtpbin.c:
+         rtpbin: Sink jitterbuffer/storage before passing as parameters to signals
+         Otherwise signal handlers from bindings will take ownership of them as
+         they are still floating, and we won't own a reference inside rtpbin
+         anymore.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/515
+
+2018-10-27 18:00:52 +0100  Havard Graff <havard.graff@gmail.com>
+
+       * tests/check/elements/flvmux.c:
+         flvmux: Test that timestamps are always increasing
+         Decreasing timestamps break rtmpsink.
+         With contributions from Olivier Crête.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796382
+
+2018-10-27 19:27:12 +0100  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/flv/gstflvmux.c:
+       * gst/flv/gstflvmux.h:
+         flvmux: Force timestamps to always be increasing
+         https://bugzilla.gnome.org/show_bug.cgi?id=796382
+
+2018-11-05 05:36:26 +0000  Matthew Waters <matthew@centricular.com>
+
+       * .gitmodules:
+         Update common submodule location
+         Remove the git directory
+
+2018-11-05 12:16:46 +0800  Haihao Xiang <haihao.xiang@intel.com>
+
+       * .gitmodules:
+       * gst-plugins-good.doap:
+         Clone the code from gitlab
+         This fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/513
+
+2018-11-01 20:37:12 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Ignore corrupted CTTS box
+         If ctts (CompositionOffsetBox) has larger sample_offset
+         (offset between PTS and DTS) than (2 * duration) of the stream,
+         assume the ctts box to be corrupted and ignore the box.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797262
+
+2018-10-23 09:45:36 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/audiofx/gstscaletempo.c:
+         scaletempo: Implement SEGMENT query
+         https://bugzilla.gnome.org/show_bug.cgi?id=797313
+
+2018-10-23 09:42:21 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/wavparse/gstwavparse.c:
+         wavparse: Implement SEGMENT query
+         https://bugzilla.gnome.org/show_bug.cgi?id=797313
+
+2018-10-28 17:12:59 +0000  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/dtmf/gstdtmfsrc.c:
+         dtmfsrc: Declare output as interleaved
+         This element doesn't support planar audio yet.
+
+2018-10-28 14:09:21 +0000  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * tests/icles/meson.build:
+         meson: Add some missing test dependencies
+         Without these dependencies, the enumtype may not be generated when the
+         test is built, which will cause a compile failure.
+
+2018-10-28 14:07:54 +0000  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * tests/check/meson.build:
+         meson: Cleanup old FIXMEs that relied on meson changes
+
+2018-10-16 17:28:00 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtpmanager/rtpsession.c:
+       * tests/check/elements/rtpsession.c:
+         rtpsession: Allow changing the SDES at runtime
+         Make it possible to modify the SDES in a packet at runtime.
+         https://bugzilla.gnome.org/show_bug.cgi?id=763502
+
+2018-03-01 17:25:07 +0100  Alicia Boya García <aboya@igalia.com>
+
+       * gst/isomp4/atoms.c:
+       * gst/isomp4/gstqtmux.c:
+         qtmux: round to nearest when computing mehd and tkhd duration
+         This fixes a bug where in some files mehd.fragment_duration is one unit
+         less than the actual duration of the fragmented movie, as explained below:
+         mehd.fragment_duration is computed by scaling the end timestamp of
+         the last frame of the movie in (in nanoseconds) by the movie timescale.
+         In some situations, the end timestamp is innacurate due to lossy conversion to
+         fixed point required by GstBuffer upstream.
+         Take for instance a movie with 3 frames at exactly 3 fps.
+         $ gst-launch-1.0 -v videotestsrc num-buffers=3 \
+         ! video/x-raw, framerate="(fraction)3/1" \
+         ! x264enc \
+         ! fakesink silent=false
+         dts: 999:59:59.333333334,  pts: 1000:00:00.000000000, duration: 0:00:00.333333333
+         dts: 999:59:59.666666667,  pts: 1000:00:00.666666666, duration: 0:00:00.333333334
+         dts: 1000:00:00.000000000, pts: 1000:00:00.333333333, duration: 0:00:00.333333333
+         The end timestamp is calculated by qtmux in this way:
+         end timestamp = last frame DTS + last frame DUR - first frame DTS =
+         = 1000:00:00.000000000 + 0:00:00.333333333 - 999:59:59.333333334 =
+         = 0:00:00.999999999
+         qtmux needs to round this timestamp to the declared movie timescale, which can
+         ameliorate this distortion, but it's important that round-neareast is used;
+         otherwise it would backfire badly.
+         Take for example a movie with a timescale of 30 units/s.
+         0.999999999 s * 30 units/s = 29.999999970 units
+         A round-floor (as it was done before this patch) would set fragment_duration to
+         29 units, amplifying the original distorsion from 1 nanosecond up to 33
+         milliseconds less than the correct value. The greatest distortion would occur
+         in the case where timescale = framerate, where an entire frame duration would
+         be subtracted.
+         Also, rounding is added to tkhd duration computation too, which
+         potentially has the same problem.
+         https://bugzilla.gnome.org/show_bug.cgi?id=793959
+
+2018-05-16 14:15:13 +0200  Marc Leeman <marc.leeman@gmail.com>
+
+       * gst/udp/gstudpsrc.c:
+         udpsrc: print information about bind_error socket error
+         In some cases, a bind error occurs during operation. Printing
+         the information about the problem is critical for finding the
+         conflict
+         https://bugzilla.gnome.org/show_bug.cgi?id=797340
+
+2018-10-17 12:58:08 +0200  Johan Bjäreholt <johanbj@axis.com>
+
+       * gst/matroska/matroska-demux.c:
+       * gst/matroska/matroska-ids.c:
+       * gst/matroska/matroska-read-common.c:
+         matroska-demux: Fix caps memleak
+         https://bugzilla.gnome.org/show_bug.cgi?id=797326
+
+2018-10-11 09:24:53 +0900  Wonchul Lee <w.lee@lge.com>
+
+       * sys/v4l2/gstv4l2bufferpool.c:
+         v4l2bufferpool: fix typo resurect to resurrect
+         https://bugzilla.gnome.org/show_bug.cgi?id=797273
+
+2018-10-18 12:29:00 +0530  Amit Pandya <apandya@nvidia.com>
+
+       * sys/v4l2/Makefile.am:
+       * sys/v4l2/gstv4l2.c:
+       * sys/v4l2/gstv4l2h265enc.c:
+       * sys/v4l2/gstv4l2h265enc.h:
+       * sys/v4l2/meson.build:
+         v4l2videoenc: Add HEVC support
+         Add HEVC encoder support.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797141
+
+2018-10-19 17:37:28 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2allocator.c:
+         vl42allocator: Don't dup exported dmabufs
+         We can now use the new GstFAllocator to ask the allocator not to close
+         the wrapped FD. This way the dup is no longer needed.
+
+2018-10-19 17:14:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2allocator.c:
+         v4l2allocator: Don't dup imported DMABuf FD
+         There is no specific needs to duplicate the FD. Unlike the exportation,
+         we don't depend on code that will call close. This will make debugging
+         easyer since the traced FD will match the exporter.
+
+2018-10-23 13:04:34 +0200  Johan Bjäreholt <johanbj@axis.com>
+
+       * gst/matroska/matroska-ids.c:
+         matroska-ids: Fix uninitialized memory in contexts
+         https://bugzilla.gnome.org/show_bug.cgi?id=797327
+
+2018-10-19 17:02:11 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+       * gst/isomp4/gstqtmux.h:
+         qtmux: Add property for providing a threshold after which we create an edit list for gaps at the start
+         https://bugzilla.gnome.org/show_bug.cgi?id=797290
+
+2018-10-22 12:21:54 +0100  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/isomp4/atoms.c:
+         qtmux: Correctly set tkhd width/height to the display size
+         It was previously set to the display aspect ratio, e.g. 4x3, 16x9, etc.
+         but should be set to the display size.
+         This is a regression from e655d47dfce1652630fe8ff5fb6be56370087004
+         (1.5.1) and was correct before that.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797318
+
+2018-10-21 11:15:15 +0900  Yeongjin Jeong <gingerbk247@gmail.com>
+
+       * tests/check/elements/flvmux.c:
+         tests: flvmux: Fix pushing invalid audio caps in tests
+         Previous commit created caps with incorrect aac codec data
+         that did not match the audio channel.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797256
+
+2018-10-20 00:10:04 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Fix build with GLib versions < 2.54
+         g_ptr_array_find_with_equal_func was introduced in glib 2.54
+         which is a higher version than our minimum required one.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797239
+
+2018-10-17 13:52:20 +0200  Havard Graff <havard.graff@gmail.com>
+
+       * tests/check/elements/rtpsession.c:
+         rtpsession: fix up GHashTable-behavior dependent tests
+         GHashTable iteration order changed in recent GLib,
+         and tests were relying on that.
+         https://mail.gnome.org/archives/desktop-devel-list/2018-October/msg00016.html
+
+2018-10-07 20:07:39 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Don't switch active streams and old streams ...
+         ... before the old streams is not exposed yet for MSS stream.
+         In case of DASH, newly configured streams will be exposed
+         whenever demux got moov without delay.
+         Meanwhile, since there is no moov box in MSS stream,
+         the caps will act like moov. Then, there is delay for exposing new pads
+         until demux got the first moof.
+         So, following scenario is possible only for MSS but not for DASH,
+         STREAM-START -> CAPS -> (configure stream but NOT EXPOSED YET)
+         -> STREAM-START-> CAPS (configure stream again).
+         In above scenario, we can reuse old stream without any stream reconfigure.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797239
+
+2018-10-07 16:43:34 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/isomp4/qtdemux.c:
+       * gst/isomp4/qtdemux.h:
+         qtdemux: Use GPtrArray to store QtDemuxStream structure
+         GPtrArray has less overhead than linked list and the length also
+         can be auto updated by using it.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797239
+
+2018-10-07 16:50:45 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Make QtDemuxStream refcounted structure
+         This a prework for porting GPtrArray.
+         Refcounting will help the use of g_ptr_array_new_with_free_func()
+         with QtDemuxStream structure
+         https://bugzilla.gnome.org/show_bug.cgi?id=797239
+
+2018-10-06 20:19:40 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Make function foreach method friendly
+         https://bugzilla.gnome.org/show_bug.cgi?id=797239
+
+2018-07-26 15:25:06 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Only set width/height in caps if they're non-0
+         If they are not valid, then let a downstream parser complete them.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796878
+
+2018-08-16 12:07:30 +0200  Wim Taymans <wtaymans@redhat.com>
+
+       * gst/avi/gstavidemux.c:
+         avidemux: fix misleading debug line
+
+2018-06-22 16:00:11 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Avoid warning when reporting about decryptors
+         https://bugzilla.gnome.org/show_bug.cgi?id=796652
+
+2018-10-17 14:15:33 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/audiofx/meson.build:
+       * gst/deinterlace/meson.build:
+       * gst/videobox/meson.build:
+       * gst/videomixer/meson.build:
+         meson: Replace empty configuration_data() with copy keyword
+         Use 'copy' keyword to avoid meson warning message.
+         Note that 'copy' keyword in configure_file() is available
+         since meson 0.47.0
+         https://bugzilla.gnome.org/show_bug.cgi?id=797298
+
+2018-10-16 15:42:12 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/multifile/gstsplitmuxsink.c:
+         splitmuxsink: Do not hardcode frames_of_daily_jam
+         Apart from the obvious drawbacks of hardcoding, the drawback here was
+         that, if we subtracted 2 frames (instead of 2.6) from the target running
+         time, we'd request the next keyframe a bit too far into the future,
+         which would make our files split at the wrong position.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797293
+
+2018-10-02 19:32:47 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/isomp4/gstqtmux.c:
+         qtmux: Allow up to 1% of frame rate for lateness
+         https://bugzilla.gnome.org/show_bug.cgi?id=797290
+
+2018-09-18 13:15:06 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/rtpmanager/gstrtpfunnel.c:
+         rtpfunnel: fix shutdown
+         By disposing of the ssrc_to_pad map in finalize instead of
+         dispose.
+
+2017-10-18 11:14:36 +0200  Havard Graff <havard.graff@gmail.com>
+
+       * gst/rtpmanager/Makefile.am:
+       * gst/rtpmanager/gstrtpfunnel.c:
+       * gst/rtpmanager/gstrtpfunnel.h:
+       * gst/rtpmanager/gstrtpmanager.c:
+       * gst/rtpmanager/meson.build:
+       * tests/check/Makefile.am:
+       * tests/check/elements/rtpfunnel.c:
+       * tests/check/meson.build:
+         Initial commit of GstRtpFunnel
+         For funneling together rtp-streams into a single session.
+         Use-cases include multiplexing and bundle.
+
+2018-10-12 22:33:15 +0900  Yeongjin Jeong <gingerbk247@gmail.com>
+
+       * tests/check/elements/flvdemux.c:
+         tests: flvdemux: Add new test for channel detect using aac codec-data
+         https://bugzilla.gnome.org/show_bug.cgi?id=797275
+
+2018-10-11 16:36:17 +0900  Yeongjin Jeong <gingerbk247@gmail.com>
+
+       * gst/flv/gstflvdemux.c:
+         flvdemux: Use aac codec-data to adjust channels if needed
+         Flv does not support various channels in AAC stream format, for example
+         flvdemux detect an audio channels of 2(stereo) when the AAC really is 1(mono).
+         https://bugzilla.gnome.org/show_bug.cgi?id=797275
+
+2018-10-11 14:31:20 +0900  Yeongjin Jeong <gingerbk247@gmail.com>
+
+       * tests/check/elements/flvmux.c:
+         tests: flvmux: Add new test for caps change after starting to write headers
+         https://bugzilla.gnome.org/show_bug.cgi?id=797256
+
+2018-10-05 17:16:26 +0900  Yeongjin Jeong <gingerbk247@gmail.com>
+
+       * gst/flv/gstflvmux.c:
+       * gst/flv/gstflvmux.h:
+         flvmux: Don't refuse caps changes after starting to write headers in streamable mode.
+         Flv does support changing the stream type and stream properties
+         after the headers were started to be written, and for example H264
+         codec_data changes can be supported.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797256
+
+2018-10-11 13:55:01 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/multifile/gstsplitmuxsink.c:
+         splitmuxsink: Fix if condition in drop-frame timecode wrap-around
+         Was previously: if ( x | y && a == b). Changed it into if ((x & y) && (a
+         == b)).
+
+2018-10-09 16:39:11 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/multifile/gstsplitmuxsink.c:
+         splitmuxsink: Subtract daily jam offset when day wraps around
+         For drop-frame framerates, when the expected next max timecode wraps
+         around at the end of the day, we have to subtract the offset of the
+         daily jam, otherwise we end up with a duration that's a few frames too
+         long.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797270
+
+2017-09-25 14:30:13 +0200  Havard Graff <havard.graff@gmail.com>
+
+       * gst/rtpmanager/gstrtpmux.c:
+       * tests/check/elements/rtpmux.c:
+         rtpmux: respect downstream "timestamp-offset" in caps.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795162
+
+2016-06-07 14:38:19 +0200  Havard Graff <havard.graff@gmail.com>
+
+       * gst/rtpmanager/gstrtpmux.c:
+       * gst/rtpmanager/gstrtpmux.h:
+       * tests/check/elements/rtpmux.c:
+         rtpmux: cleanup ssrc-handling code a bit
+         And add some better logging.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795162
+
+2016-05-04 11:48:04 +0200  Havard Graff <havard.graff@gmail.com>
+
+       * gst/rtpmanager/gstrtpmux.c:
+         rtpmux: protect against NULL caps
+         Due to state-changes deactivating the pad from another thread,
+         this can happen.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795162
+
+2015-07-22 09:47:22 +0200  Havard Graff <havard.graff@gmail.com>
+
+       * gst/rtpmanager/gstrtpmux.c:
+       * tests/check/elements/rtpmux.c:
+         rtpmux: property should overrule both upstream and downstream
+         https://bugzilla.gnome.org/show_bug.cgi?id=762213
+         https://bugzilla.gnome.org/show_bug.cgi?id=795162
+
+2018-10-08 20:45:08 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         meson: use new 'python' module instead of deprecated
+         https://github.com/mesonbuild/meson/pull/4169
+
+2018-10-08 20:35:15 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/examples/gtk/meson.build:
+         meson: only build gtk gl examples if gst-gl was found
+         And fix typo in glliveshader example binary name.
+
+2018-10-03 16:17:22 +0200  Peter Körner <git@mazdermind.de>
+
+       * gst/multifile/gstsplitmuxsink.c:
+         splitmuxsink: accept pads named 'sink' on the muxer, handle static pads as well
+         https://bugzilla.gnome.org/show_bug.cgi?id=797241
+
+2018-09-25 17:44:15 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/cairo/gstcairooverlay.c:
+       * ext/cairo/gstcairooverlay.h:
+         cairooverlay: Don't map input buffers if we just attach the overlay as meta
+         https://bugzilla.gnome.org/show_bug.cgi?id=797091
+
+2018-09-25 17:02:26 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/cairo/gstcairooverlay.c:
+       * ext/cairo/gstcairooverlay.h:
+         cairooverlay: Add overlay as meta to the buffers if we can
+         This requires that downstream supports it and
+         draw-on-transparent-surface is enabled.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797091
+
+2018-09-25 15:34:40 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/cairo/gstcairooverlay.c:
+         cairooverlay: Pre-multiply and un-premultiply alpha in case of ARGB32
+         Cairo expects pre-multiplied alpha, we work on un-premultiplied alpha.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797091
+
+2018-09-25 15:31:20 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/cairo/gstcairooverlay.c:
+       * ext/cairo/gstcairooverlay.h:
+         cairooverlay: Add property for drawing on a transparent surface and then blending
+         This allows us to use the GstVideoOverlayComposition API and correctly
+         handle pre-multiplied alpha, while also only doing the alpha conversion
+         once instead of twice for the whole frame.
+         At a later point we can attach the meta to the buffer instead of
+         blending ourselves if downstream supports that.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797091
+
+2018-10-03 17:34:49 +0200  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/matroska/matroska-demux.c:
+       * gst/matroska/matroska-read-common.c:
+         matroskdemux: do not use MapInfo.data after unmapping
+         And minor gst-indenting
+
+2018-09-30 19:28:07 +0200  Yacine Bandou <yacine.bandou@softathome.com>
+
+       * gst/matroska/matroska-demux.c:
+       * gst/matroska/matroska-ids.c:
+       * gst/matroska/matroska-ids.h:
+       * gst/matroska/matroska-read-common.c:
+       * gst/matroska/matroska-read-common.h:
+         matroska: Add the WebM encrypted content support in matroskademux
+         This commit:
+         1. Reads the WebM and Matroska ContentEncryption subelements.
+         2. Creates a GST_PROTECTION event for each ContentEncryption, which
+         will be sent before pushing the first source buffer.
+         The DRM system id field in this event is set to GST_PROTECTION_UNSPECIFIED_SYSTEM_ID,
+         because it isn't specified neither by Matroska nor by the WebM spec.
+         3. Reads the protection information of encrypted Block/SimpleBlock and
+         extracts the IV and the partitioning format (subsamples).
+         4. Creates the metadata protection for each encrypted Block/SimpleBlock,
+         with those informations: KeyID (extracted from ContentEncryption element),
+         IV and partitioning format.
+         5. Adds a new caps for WebM encrypted content named "application/x-webm-enc",
+         with the following new fields:
+         "encryption-algorithm": The encryption algorithm used.
+         values: "None", "DES", "3DES", "Twofish", "Blowfish", "AES".
+         "encoding-scope": The field that describes which Elements have been modified.
+         Values: "frame", "codec-data", "next-content".
+         "cipher-mode": The cipher mode used in the encryption.
+         Values: "None", "CTR".
+         https://bugzilla.gnome.org/show_bug.cgi?id=765275
+
+2018-09-26 17:43:05 +0300  John Nikolaides <jnikolaides@toolsonair.com>
+
+       * gst/multifile/gstsplitmuxsink.c:
+       * gst/multifile/gstsplitmuxsink.h:
+         splitmuxsink: Added a split-at-running-time action signal
+         The video file can now be split at an arbitrary time, given by the user
+         as an argument to the action signal.
+         https://bugzilla.gnome.org/show_bug.cgi?id=787922
+
+2018-09-21 19:47:44 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/rtp/gstrtpmp4gdepay.c:
+       * gst/rtp/gstrtpmp4gdepay.h:
+         rtpmp4gdepay: detect broken senders who send AAC with ADTS frames
+         Strip ADTS headers if we detect any, apparently some Sony cameras
+         send AAC with ADTS headers. We could also change the stream-format
+         in the output caps, but that would be unexpected to pipeline builders
+         and would not exactly be backwards compatible.
+
+2018-09-21 18:17:25 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/rtp/gstrtpmp4gdepay.c:
+         rtpmp4gdepay: factor out pushing of output buffer
+
+2018-09-26 13:29:42 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/imagefreeze/gstimagefreeze.c:
+         imagefreeze: Allow ANY capsfeatures
+
+2018-09-26 00:06:09 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst-plugins-good-plugins.args:
+       * docs/plugins/gst-plugins-good-plugins.signals:
+       * docs/plugins/inspect/plugin-audioparsers.xml:
+       * docs/plugins/inspect/plugin-video4linux2.xml:
+         docs: update for git master
+
+2018-06-22 12:05:17 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: PIFF track encryption box support
+         The PIFF track encryption box is a UUID box containing the default encryption
+         values that should be used for PIFF sample encryption.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796647
+
+2018-09-24 11:45:46 +0200  Nicola Murino <nicola.murino@gmail.com>
+
+       * sys/osxaudio/gstosxcoreaudio.c:
+         osxaudio: add support for parsing more channel layouts ...
+         ... and fallback to gst_audio_info_set_format for not yet supported layouts.
+         Fix audio playback on iOS 12.
+         Based on patch from Byron Schiel <byron@canary.is>
+         https://bugzilla.gnome.org/show_bug.cgi?id=796919
+
+2018-09-22 17:22:46 +0200  Alicia Boya García <aboya@igalia.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: turn impossible condition into an assert
+         qtdemux_update_streams() is only ever called after checking
+         `qtdemux->streams_aware` is TRUE. There is no need to check for that
+         condition again.
+         `qtdemux->streams_aware` is only modified when the demuxer is
+         hard-resetted, which is mutually exclusive with demuxing, so it cannot
+         be modified during the call.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797191
+
+2018-09-21 22:24:02 +0200  Alicia Boya García <aboya@igalia.com>
+
+       * gst/matroska/matroska-demux.c:
+         matroskademux: Emit no-more-pads after parsing Tracks
+         Currently matroskademux does not emit no-more-pads until the first
+         Cluster is parsed, even though the Tracks have already been parsed and
+         from that point on there can be no more tracks.
+         This is important in MSE because the browser needs to know when the MSE
+         initialization segment has been completely parsed so that it can expose
+         the tracks to the user. Some applications depend on this been done
+         before they feed frames to the demuxer.
+         As a consequence, historically WebKit has relied on hacks such as
+         listening to the `pad-added` event, which made impossible to support
+         multiple tracks in the same file. Let's fix that.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797187
+
+2018-09-21 20:38:02 +0200  Alicia Boya García <aboya@igalia.com>
+
+       * gst/matroska/matroska-demux.c:
+         matroskademux: Parse successive Tracks elements
+         This patch allows matroskademux to parse a second Tracks element,
+         erroring out if the tracks are not compatible (different number, type or
+         codec) and emitting new caps and tag events should they have changed.
+         https://bugzilla.gnome.org/show_bug.cgi?id=793333
+
+2018-09-21 16:23:57 +0200  Alicia Boya García <aboya@igalia.com>
+
+         matroskademux: Refactor track parsing out from adding tracks
+         This splits gst_matroska_demux_add_stream() into:
+         * gst_matroska_demux_parse_stream(): will read the Matroska bytestream
+         and fill a GstMatroskaTrackContext.
+         * gst_matroska_demux_parse_tracks(): will check there are no repeated
+         tracks.
+         * gst_matroska_demux_add_stream(): creates and sets up the pad for the
+         track.
+         https://bugzilla.gnome.org/show_bug.cgi?id=793333
+
+2017-11-30 20:44:23 +0100  Alicia Boya García <ntrrgc@gmail.com>
+
+       * gst/matroska/matroska-demux.c:
+         matroskademux: Allow Matroska headers to be read more than once
+         This is necessary for MSE, where a new MSE initialization segment may be
+         appended at any point. These MSE initialization segments consist of an
+         entire WebM file until the first Cluster element (not included). [1]
+         Note that track definitions are ignored on successive headers, they must
+         match, but this is not checked by matroskademux (look for
+         `(!demux->tracks_parsed)` in the code).
+         Source pads are not altered when the new headers are read.
+         This patch has been splitted from the original patch from eocanha in [2].
+         [1] https://www.w3.org/TR/mse-byte-stream-format-webm/
+         [2] https://bug334082.bugzilla-attachments.gnome.org/attachment.cgi?id=362212
+         https://bugzilla.gnome.org/show_bug.cgi?id=793333
+
+2018-08-16 21:42:37 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/multifile/gstsplitmuxsink.c:
+       * gst/multifile/gstsplitmuxsink.h:
+         splitmuxsink: Implement split-after
+         The behaviour of split-now is to output the current GOP after
+         starting a new file.
+         The newly-added split-after signal will output the current GOP
+         to the old file if possible once a new GOP is opened.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796982
+
+2018-09-20 12:12:55 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/flv/gstflvmux.c:
+         flvmux: Don't leak codec_data buffer
+         Use gst_buffer_replace() to prevent buffer leak
+         https://bugzilla.gnome.org/show_bug.cgi?id=797179
+
+2018-09-18 18:13:52 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+         qtmux: Set Closed Caption track width/height to that of the first video track
+         Otherwise software like Premiere or Final Cut Pro won't like our files.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797111
+
+2018-09-19 11:45:59 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+       * meson_options.txt:
+         meson: add glib-checks option to disable API guards and such
+         We want this enabled by default, also in releases, but people
+         may want to disable this for performance-critical workloads or
+         on embedded devices.
+
+2018-09-19 11:45:00 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson_options.txt:
+         meson: fix missing closing bracket in option descriptions
+
+2018-09-06 20:10:30 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+         qtmux: Initialize caption track language code to 0 instead of "und"
+         Without this, Final Cut considers it "non-standard" and 0 (english) is a
+         good default for closed captions.
+         https://bugzilla.gnome.org/show_bug.cgi?id=797111
+
+2018-09-13 03:16:32 +0000  Song Bing <bing.song@nxp.com>
+
+       * sys/v4l2/gstv4l2object.c:
+       * sys/v4l2/gstv4l2videodec.c:
+         v4l2videodec: Add HEVC decoder support
+         https://bugzilla.gnome.org/show_bug.cgi?id=771686
+
+2018-09-13 02:35:39 +0000  Nicolas Dufresne <nicolas@ndufresne.ca>
+
+       * sys/v4l2/gstv4l2videodec.c:
+         v4l2videodec: Move capture probe after input format is set
+         This is to support Amlogic CODEC driver which does not provide a full
+         list of formats when the driver is initially opened. GStreamer does
+         not strictly need this full list initially, but only later, in order
+         to negotiate with downstream if multiple format can be selected.
+         With this change, we will no longer probe twice the device, since the
+         probed list can be directly used for negotation.
+
+2018-09-11 16:46:34 -0300  Ezequiel Garcia <ezequiel@collabora.com>
+
+       * sys/v4l2/gstv4l2videodec.c:
+       * sys/v4l2/gstv4l2videoenc.c:
+         v4l2: Add a debug message beforing waiting for codec stop
+         Add a debug message right before waiting for the driver.
+         This is useful in order to debug drivers without a properly
+         implemented decoder or encoder stop command.
+
+2018-09-10 13:18:45 -0300  Ezequiel Garcia <ezequiel@collabora.com>
+
+       * sys/v4l2/gstv4l2.c:
+         v4l2: Add a debug message indicating probe operation
+         It's useful to see the v4l2 element running the probe
+         operation, to confirm it's turned on and working.
+
+2018-09-10 13:18:30 -0300  Ezequiel Garcia <ezequiel@collabora.com>
+
+       * sys/v4l2/Makefile.am:
+       * sys/v4l2/gstv4l2.c:
+       * sys/v4l2/gstv4l2jpegenc.c:
+       * sys/v4l2/gstv4l2jpegenc.h:
+       * sys/v4l2/meson.build:
+         v4l2: Add JPEG encoding support
+         This commit adds the support for V4L JPEG stateful encoders.
+
+2018-09-10 16:20:52 -0300  Ezequiel Garcia <ezequiel@collabora.com>
+
+       * sys/v4l2/Makefile.am:
+       * sys/v4l2/gstv4l2.c:
+       * sys/v4l2/gstv4l2fwhtenc.c:
+       * sys/v4l2/gstv4l2fwhtenc.h:
+       * sys/v4l2/gstv4l2object.c:
+       * sys/v4l2/gstv4l2videodec.c:
+       * sys/v4l2/meson.build:
+         v4l2: Add FWHT codec support
+         The recently added vicodec (virtual codec) V4L driver
+         uses the Fast Walsh-Hadamard Transform for encoding
+         and decoding.
+         Add support for it.
+
+2018-09-12 21:28:24 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/ext/v4l2-common.h:
+       * sys/v4l2/ext/v4l2-controls.h:
+       * sys/v4l2/ext/videodev2.h:
+         v4l2: Sync kernel header with linuxtv tree
+         This notably add HEVC and FWHT support, and VP8/9 profiles are now an
+         enumeration and their control exposed as a menu.
+
+2018-09-12 17:24:00 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/isomp4/gstqtmux.c:
+         qtmux: Allow up to 1 trak timescale unit of lateness in prefill mode
+         For 59.94 FPS, it's common to set 60000 as timescale. For that
+         timescale, if the audio is late by as little as 0:00:00.000016666
+         (definitely less than one audio sample), lateness gets rounded to 1.
+         Added a safeguard that allows lateness up to 1 sample with the specific
+         trak's timescale, to make sure that values less than e.g. one audio
+         sample won't break the prefill mode. What will happen in this case is
+         that the audio will get squeezed back to the video's timestamp, which in
+         practice means that the audio will be 0.000016666 seconds early (with
+         the patch).
+         https://bugzilla.gnome.org/show_bug.cgi?id=797133
+
+2018-09-10 20:20:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2object: Fix indentation
+
+2018-09-11 00:18:32 +0000  Nicolas Dufresne <nicolas@ndufresne.ca>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2object: Protect against zero PAR num/demu
+         This fixes an assertion when the driver implement CROPCAP but does
+         not set the PAR.
+
+2018-09-12 00:52:19 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/audioparsers/gstwavpackparse.c:
+         wavpackparse: fix handling of correction streams
+         Accept wavpack correction streams (.wvc) on sink pad, so
+         that wavpackparse can also be used to packetise correction
+         streams.
+         Fix parsing of subblock ID tags - the higher bits are
+         flags and are not part of the ID. This resulted in
+         correction blocks not being recognised properly and
+         the output not having the right (correction) caps.
+
+2018-09-07 18:47:22 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/speex/meson.build:
+         meson: Explicitly pass -DWIN32 while building speex
+         The speex headers assume that WIN32 will always be defined when
+         building on Windows, but this is only true by default on MinGW.
+         Always set it explicitly.
+
+2018-09-06 13:13:19 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/flv/gstflvmux.c:
+         flvmux: Don't omit streamheader from caps on downstream reconfigure
+         The reconfigured downstream elements (e.g., dynamically added sink element)
+         most likely require the flv streamheader
+         https://bugzilla.gnome.org/show_bug.cgi?id=797089
+
+2018-09-05 16:11:00 -0700  Martin Kelly <mkelly@xevo.com>
+
+       * gst/matroska/matroska-mux.c:
+       * gst/matroska/matroska-mux.h:
+         matroskamux: don't store used UIDs
+         Currently, whenever we generate a 128-bit UID, we store it in a list and
+         return 0 if we ever encounter a collision. This is so mathematically
+         improbable that it's not worth checking for, so we can save memory and
+         time by not tracking the UID. Even if a collision happened, a list of
+         only 10 UIDs would be unlikely to detect it.
+         This article has a good description of how improbable a collision is:
+         https://en.wikipedia.org/wiki/Universally_unique_identifier#Collisions
+         https://bugzilla.gnome.org/show_bug.cgi?id=797086
+
+2018-09-06 20:06:10 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/isomp4/atoms.c:
+       * gst/isomp4/gstqtmux.c:
+         qtmux: Use existing helper function to create "und" language code
+
+2018-09-05 20:15:57 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/meson.build:
+         meson: Don't skip plugins that don't build with MSVC
+         We now have options for all plugins, so we will just disable these in
+         the cerbero recipe instead. These require external deps, so they won't
+         affect gst-build either.
+
+2018-09-03 16:04:33 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/mpg123/gstmpg123audiodec.h:
+         mpg123: Remove ssize_t fallback, not needed anymore
+         The mpg123 headers now contain a definition for ssize_t and building
+         with MSVC fails because of a redefinition for ssize_t
+
+2018-07-31 12:52:36 +0200  Alicia Boya García <aboya@igalia.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Keep sample data from the current fragment only (push mode)
+         This patch clears the sample table whenever the demuxing of a new
+         fragment begins. This avoids increasing memory usage for long videos.
+         This behavior was already present when upstream_format_is_time; this
+         patch extends it to all push mode operation (e.g. Media Source
+         Extensions).
+         https://bugzilla.gnome.org/show_bug.cgi?id=796899
+
+2018-09-01 09:30:23 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * meson.build:
+       * sys/osxaudio/meson.build:
+         meson: Fix osxaudio build on iOS
+         Must define HAVE_IOS, and use appleframeworks dependency to ensure the
+         right frameworks are picked up.
+
+2018-08-22 19:23:53 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2object: Only offer MMAP/DMABUF pool
+         The propose allocation was offering a pool even in DMABUF_IMPORT or
+         USERPTR mode. These pool are internal only.
+
+2018-08-22 17:51:52 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2transform.c:
+       * sys/v4l2/gstv4l2transform.h:
+         v4l2transform: Add "disable-passthrough" property
+         This allow forcing going through the transform driver even if there
+         isn't an conversion happening. This is usedful when the m2m driver can
+         be used to adapt the type of memory between two drivers.
+
+2018-08-31 14:25:09 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/deinterlace/gstdeinterlace.c:
+         deinterlace: Reset frame/tc/caption pointer to NULL after moving it in the history
+
+2018-08-29 09:51:42 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/rtp/gstrtpmp4vpay.c:
+         rtpmp4vpay: Increase ranking
+         Both rtpmp4vpay and rtpmp4gpay support MPEG4 elementary streams. But
+         the most supported variant is the video-specific one (rtpmp4vpay),
+         therefore increase the rank of that one so that auto-plugging of
+         payloaders for MPEG4 elementary streams ends up picking that one
+         and not the generic one.
+
+2018-08-15 12:53:34 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/matroska/matroska-demux.c:
+         matroskademux: implement keyframe search also without cluster prev size
+         If we have cluster prev size (GStreamer muxer will write it by default),
+         we can go back to the previous cluster efficiently, but if we don't then
+         just search backwards until we find a cluster ebml identifier, like we
+         do when searching for clusters in the bisection loop.
+
+2018-08-15 12:14:24 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/matroska/matroska-demux.c:
+       * gst/matroska/matroska-demux.h:
+         matroskademux: make max backtrack distance for keyframe search configurable
+         Add property instead of hardcoding it in the code.
+         In some scenarios such as CCTV variable fps and extra long GOPs are
+         used to minimise storage space, for example. In those cases there might
+         not be any keyframes for many minutes, so provide a property to override
+         the max allowed distance.
+         https://bugzilla.gnome.org/show_bug.cgi?id=790696
+
+2018-08-15 11:49:57 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/matroska/matroska-demux.c:
+         matroskademux: set limit how much to backtrack to find a keyframe
+         If we seek without an index and land on a cluster that starts
+         with a delta frame.
+         https://bugzilla.gnome.org/show_bug.cgi?id=790696
+
+2018-08-15 11:25:21 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/matroska/matroska-demux.c:
+       * gst/matroska/matroska-demux.h:
+         matroskademux: no need to search for keyframes for intra-only streams
+         If the video streams are all I-frame only then we don't need to look
+         for a cluster with a keyframe, we can just assume there will be one.
+         https://bugzilla.gnome.org/show_bug.cgi?id=790696
+
+2018-08-15 01:10:32 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/matroska/matroska-demux.c:
+         matroskademux: figure out if we have prev_size when starting up
+         This is useful to know in case someone initiates a seek or
+         direction change before we reach the second cluster.
+
+2018-08-08 12:37:54 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/matroska/matroska-demux.c:
+         matroskademux: try to ensure keyframe when seeking without index
+         When seeking in pull mode without an index (because there is no index
+         or the file is still being written to) we bisect to find the right
+         cluster to jump to. However, it's possible the cluster we found doesn't
+         start with a keyframe, which leads to decoding errors, so if we know
+         that the found cluster starts with a delta frame try to scan back to
+         previous clusters until we find one that starts with a keyframe or
+         we are back at the beginning. Theoretically it's possible that all
+         clusters but the first one do not start with a keyframe and the
+         keyframes are in the middle of clusters, but this is extremely
+         unusual, so we will cover this case with a basic sanity check.
+         This problem is especially problematic with content recorded with
+         dynamic GOP and FPS, where long GOP lengths and low FPS may cause a
+         large set of clusters to lack key frames. Playback would then be
+         started on a non-keyframe cluster, and the large number of such frames
+         would make the content impossible to decode fo a long stretch of time.
+         Based on patch by: Mats Lindestam <matslm@axis.com>
+         https://bugzilla.gnome.org/show_bug.cgi?id=790696
+
+2017-01-18 10:27:38 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/matroska/matroska-demux.c:
+       * gst/matroska/matroska-demux.h:
+         matroskademux: extract cluster prevsize if available
+         This is useful for reverse playback/trickmodes
+         without an index, and will also be useful in the
+         seek handler if we need to scan back to find a cluster
+         that starts with a keyframe.
+         https://bugzilla.gnome.org/show_bug.cgi?id=790696
+
+2018-07-25 19:27:01 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2bufferpool.c:
+         v4l2bufferpool: Validate stride/offset when importing
+         This will prevent situation where buffer size allow importing but rendering
+         goes wrong due to a miss-match in expected stride and offset.
+         https://bugzilla.gnome.org/show_bug.cgi?id=583890
+
+2018-08-01 13:07:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2object.c:
+       * sys/v4l2/gstv4l2object.h:
+         v4l2object: Add a method to try and import buffers
+         This method will check if a buffer, base on it's video meta,
+         can be imported. It will also try and adapt the request stride
+         in case this is the only that miss-match.
+         https://bugzilla.gnome.org/show_bug.cgi?id=583890
+
+2018-08-01 12:07:20 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2allocator.c:
+         v4l2allocator: Trace the buffer index we import to
+         https://bugzilla.gnome.org/show_bug.cgi?id=583890
+
+2018-07-25 22:16:59 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2bufferpool.c:
+         v4l2bufferpool: Fix typo in error message
+         https://bugzilla.gnome.org/show_bug.cgi?id=583890
+
+2018-07-24 12:07:22 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2bufferpool.c:
+         v4l2bufferpool: Only queue buffer if preparation worked
+         The preparation code imports the buffer, doing bunch of
+         validation. Only queue the buffer in the driver if the
+         importation worked. This way we don't rely on the driver
+         to validate.
+         https://bugzilla.gnome.org/show_bug.cgi?id=583890
+
+2018-07-24 12:05:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2object: Only allow DMABuf export for STREAMING device
+         DMABuf exportation requires mmap, which requires STREAMING
+         capabilities.
+         https://bugzilla.gnome.org/show_bug.cgi?id=583890
+
+2018-07-13 14:42:21 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2bufferpool.c:
+         v4l2bufferpool: Activate the other pool first
+         This change has no effect. We will need to acquire a buffer from the
+         pool later in order to validate / adapt with the video alignment for
+         the downstream buffers.
+         https://bugzilla.gnome.org/show_bug.cgi?id=583890
+
+2018-07-09 15:33:02 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2src.c:
+         v4l2src: Simplify format handling
+         Always initially use try_format(), delaying set_format() to when the
+         allocation is being negotiated. This avoid having two code paths, and
+         will be help adding support for properly importing buffers of specific
+         strides and offsets.
+         https://bugzilla.gnome.org/show_bug.cgi?id=583890
+
+2018-08-23 22:57:35 +0200  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/matroska/matroska-demux.c:
+       * gst/matroska/matroska-ids.h:
+       * gst/matroska/matroska-mux.c:
+       * gst/matroska/matroska-parse.c:
+         matroska: fix handling of FlagInterlaced
+         This is an enum not a boolean, and a value of 2 signals
+         that the video is progressive, but we would mistakenly set
+         interlace-mode=mixed on the output caps.
+         https://bugzilla.gnome.org/show_bug.cgi?id=787206
+
+2018-08-09 15:14:05 +0200  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2object: complete colorspace info in debug log
+         The desired colorimetry is logged with all parameters (colorpsace,
+         range, matrix, and transfer function), but of the values actually
+         set by the driver, only colorspace is logged. Complete the debug
+         log message to display all colorimetry parameters:
+         Desired colorspace is 8:1:1:1
+         Got format of 640x480, format YU12, nb planes 1, colorspace 8
+         ->
+         Desired colorspace is 8:1:1:1
+         Got format of 640x480, format YU12, nb planes 1, colorspace 8:0:0:0
+         https://bugzilla.gnome.org/show_bug.cgi?id=796940
+
+2018-08-09 15:12:57 +0200  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2object: fix typo in comment
+         https://bugzilla.gnome.org/show_bug.cgi?id=796940
+
+2018-08-09 15:08:59 +0200  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2object: improve colorspace handling for JPEG sources
+         gstjpegdec sets 1:4:0:0 colorimetry (full range BT.601 YCbCr encoding
+         with unknown primaries and unknown transfer function). This currently
+         gets translated to bt601 or bt709 depending on resolution.
+         Both cases result in a negotiation failure:
+         ERROR: from element /GstPipeline:pipeline0/v4l2video0convert:v4l2video0convert0: Device '/dev/video0' does not support 1:4:0:0 colorimetry
+         Improve the guessing game by selecting JPEG colorimetry (JPEG colorspace
+         with sRGB transfer function) under these specific conditions, and loosen
+         the matching so that 1:4:0:0 input gets accepted if the device is
+         actually configured to 1:4:7:1 (V4L2_PIX_FMT_JPEG default).
+         https://bugzilla.gnome.org/show_bug.cgi?id=796940
+
+2018-08-09 17:24:35 +0200  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2object: stop V4L2 from zeroing extended colorimetry for non-mplane
+         Setting the priv field to a magic value stops V4L2 core from zeroing
+         the extended colorimetry fields quantization, ycbcr_enc, and xfer_func
+         for non-mplane queues.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796940
+
+2018-08-19 15:39:16 +0200  Zeeshan Ali <zeenix@collabora.co.uk>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2: Remove a trailing whitespace
+         Otherwise, the latest gst-indent check doesn't pass.
+
+2018-08-18 21:08:55 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+       * meson_options.txt:
+         meson: add options to disable gobject cast checks and glib asserts
+         ... and define G_DISABLE_DEPRECATED for development versions,
+         like we do in autotools.
+
+2018-08-18 21:01:52 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * REQUIREMENTS:
+       * ext/jpeg/meson.build:
+         meson: find libjpeg via pkg-config
+         This effectively (but optionally) requires libjpeg-turbo which
+         ships with a .pc file and is what pretty much everyone these days
+         uses anyway for libjpeg, so shouldn't be a problem hopefully.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796947
+
+2018-08-17 17:35:43 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/udp/gstudpsrc.c:
+         udpsrc: Fix build when SO_RCVBUFFORCE is not defined
+         This shoudl fix the mingw build.
+
+2018-08-17 14:17:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/udp/gstudpsrc.c:
+         udpsrc: Balance Linux value of get/set_rcvbuf
+         On Linux, the kernel returns twice the size as it will allocate extra
+         space for accouting. We devides this value by two in order to ensure
+         that get/set value now match. This fixes the set buffer size validation
+         and allow having a nice warning when the size if surpassed and the
+         process does not have CAP_NET_ADMIN capabilities.
+         https://bugzilla.gnome.org/show_bug.cgi?id=727067
+
+2018-08-17 14:05:04 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+       * gst/udp/gstudpsrc.c:
+         updsrc: set udp buffer size forcibly
+         The udp buffer size is limited to a maximum of around 100K.
+         Some apps need to set the force bufsize for their own operation.
+         Use the SO_RCVBUFFORCE option in order to override the rmem_max limit
+         of linux kernel. Require user to have the CAP_NET_ADMIN privilege to
+         work.
+         Original patch from Kyungnam Bae <kyungnam.bae@lge.com>
+         https://bugzilla.gnome.org/show_bug.cgi?id=727067
+
+2018-08-17 13:59:00 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+       * gst/udp/gstudpsrc.c:
+         udpsrc: factor out gst_udpsrc_get_rcvbuf()
+         No semantic change.
+         https://bugzilla.gnome.org/show_bug.cgi?id=727067
+
+2018-08-17 19:11:21 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/libcaca/meson.build:
+       * meson_options.txt:
+         meson: Rename caca option to libcaca
+         All options must match the plugin directory name.
+
+2018-08-17 18:56:54 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * meson_options.txt:
+       * sys/directsound/meson.build:
+       * sys/meson.build:
+       * sys/osxaudio/meson.build:
+       * sys/osxvideo/meson.build:
+       * sys/waveform/meson.build:
+         meson: Add build files for osxaudio, osxvideo, waveform
+         osxaudio is for macOS and iOS
+         osxvideo is for macOS
+         waveform is for Windows
+
+2018-08-17 14:44:26 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/plugins/gst-plugins-good-plugins.args:
+       * docs/plugins/gst-plugins-good-plugins.signals:
+       * docs/plugins/inspect/plugin-audiofx.xml:
+       * docs/plugins/inspect/plugin-deinterlace.xml:
+       * docs/plugins/inspect/plugin-isomp4.xml:
+       * docs/plugins/inspect/plugin-jpeg.xml:
+       * docs/plugins/inspect/plugin-matroska.xml:
+       * docs/plugins/inspect/plugin-multifile.xml:
+         docs: update for changes in master
+
+2018-08-17 11:45:47 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/examples/Makefile.am:
+         examples: dist qt examples
+         https://bugzilla.gnome.org/show_bug.cgi?id=796968
+
+2018-08-17 00:27:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * meson.build:
+       * meson_options.txt:
+       * tests/meson.build:
+         meson: Add an option for tests
+         This is needed because we don't always have gstreamer-check available,
+         for instance inside Cerbero on iOS.
+
+2018-08-16 18:55:29 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+       * gst/multifile/gstsplitmuxsink.c:
+         mp4 robust muxing: improve documentation and logging
+
+2018-07-03 23:11:56 +0200  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+       * gst/rtp/gstrtph264pay.c:
+       * gst/rtp/gstrtph265pay.c:
+         rtph26*pay: Update param set timestamp even if parameters unchanged
+         rtph264pay and rtph265pay skip updating the parameter set timestamp if
+         the units they see contain no new configuration. This can result in
+         them injecting duplicate parameters.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796748
+
+2018-08-15 13:43:53 +0200  Ulf Olsson <ulfo@axis.com>
+
+       * gst/rtsp/gstrtspsrc.c:
+       * gst/rtsp/gstrtspsrc.h:
+         rtspsrc: Add support for SET_PARAMETER and GET_PARAMETER using signals
+         https://bugzilla.gnome.org/show_bug.cgi?id=792131
+
+2018-08-15 02:28:20 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/multifile/gstsplitmuxsink.c:
+         splitmuxsink: Don't leak old muxer/sink in async mode
+         Make sure to clear the reference taken earlier in the function
+         when switching muxer/sink asynchronously so they don't leak
+
+2018-08-15 02:10:25 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/multifile/gstsplitmuxsink.c:
+       * gst/multifile/gstsplitmuxsink.h:
+         splitmuxsink: Fix reference counting loop
+         The stream context was holding a reference to the
+         internal queue and pads, with pad probes that were
+         in turn holding references to the stream context.
+         This lead to a leak if the request pads weren't explicitly
+         released.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796893
+
+2018-08-11 16:45:25 +0800  Roland Jon <rlandjon@gmail.com>
+
+       * gst/audioparsers/gstaacparse.c:
+         aacparse: fix codec_data buffer leak
+         https://bugzilla.gnome.org/show_bug.cgi?id=740101
+
+2018-08-02 16:12:45 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Handle closed captions as subtitle streams
+
+2018-08-02 08:40:17 +0200  Iñigo Huguet <inigohuguet@hotmail.com>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2src: fix first input used is always used next times
+         The input from an v4l2 device that was used the first time was
+         remembered for next times, and set again always the pipeline is
+         set to READY state. This was making that users wasn't able to
+         select a different input without having to create a new pipeline.
+         This patch makes that v4l2src element forget previous used input
+         when going to NULL state, so it will check again for the current
+         selected input when going again to READY state. Users can change
+         to NULL state, select a new input with a VIDIOC_S_INPUT ioctl
+         and change to PLAYING again.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796908
+
+2018-08-02 13:40:09 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+         qtmux: The sample size we have to reserve is 256+8 bytes for the header for CDP packets
+
+2018-08-02 12:27:45 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+         qtmux: Properly allocate 256 bytes per CDP packet in prefill mode
+         Instead of allowing 256 but only pre-allocating 100.
+
+2018-08-02 12:27:17 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+         Revert "qtmux: Allow for CDP packets up to 320 bytes"
+         This reverts commit 5eed1d49bdb7e7a632c7135656c482ed38a6ac2a.
+         255 is actually the maximum, there's a bug if more is arriving.
+
+2018-08-01 16:50:03 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+         qtmux: Allow for CDP packets up to 320 bytes
+         Apparently they can be bigger than 256 bytes sometimes.
+
+2018-07-13 22:31:04 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/rtp/gstrtpopuspay.c:
+       * gst/rtp/gstrtpvp8pay.c:
+       * gst/rtp/gstrtpvp9pay.c:
+         rtppayload: Fix VP8/VP9/OPUS dual encoding name handling
+         All these were copy pasted and would lead to assertion when chained with
+         rtpmux. This commit rewrite the negotiation with downstream. This also
+         drop the fallback to ancient names if the pad is unlinked. This was
+         completly arbitrary decision that made no sense.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796809
+
+2018-08-01 12:06:23 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/qt/gstqtgl.h:
+         qt: Ensure GL headers are included
+         Otherwise there may be no valid typedef of GLsync.
+         ...
+         /usr/include/gstreamer-1.0/gst/gl/gstglfuncs.h:93:24: note: in definition of macro 'GST_GL_EXT_FUNCTION'
+         ret (GSTGLAPI *name) args;
+         ^~~~
+         /usr/include/gstreamer-1.0/gst/gl/glprototypes/sync.h:33:23: error: 'GLsync' has not been declared
+         (GLsync sync))
+         ^~~~~~
+         ...
+         https://bugzilla.gnome.org/show_bug.cgi?id=796879
+
+2018-08-01 03:18:58 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/oss4/meson.build:
+         meson: Fix oss4 header checks
+         Otherwise, oss4 ends up getting built when force-disabled.
+
+2018-08-01 01:10:49 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * sys/v4l2/meson.build:
+         meson: Fix missing variable in v4l2 build
+
+2018-07-31 12:47:47 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+         qtdemux: Don't assert in prefill mode if a track has no samples at all
+         Just write it with a duration of 0, no samples, etc.
+
+2018-07-31 12:33:54 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Don't assert if a file does not have any active streams
+         ** (gst-play-1.0:9113): CRITICAL **: 12:31:54.360: qtdemux_is_streams_update: assertion 'qtdemux->active_streams != NULL' failed
+
+2018-07-30 13:33:28 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+         qtmux: Reserve 256 bytes for CDP packets in pre-fill mode
+         92 is sometimes too small and compared to the wasted space for other
+         codecs 256 bytes is small (and should be the maximum CDP packet size)
+
+2018-07-25 07:35:28 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * ext/aalib/meson.build:
+       * ext/cairo/meson.build:
+       * ext/dv/meson.build:
+       * ext/flac/meson.build:
+       * ext/gdk_pixbuf/meson.build:
+       * ext/gtk/meson.build:
+       * ext/jack/meson.build:
+       * ext/jpeg/meson.build:
+       * ext/lame/meson.build:
+       * ext/libcaca/meson.build:
+       * ext/libpng/meson.build:
+       * ext/mpg123/meson.build:
+       * ext/pulse/meson.build:
+       * ext/qt/meson.build:
+       * ext/raw1394/meson.build:
+       * ext/shout2/meson.build:
+       * ext/soup/meson.build:
+       * ext/speex/meson.build:
+       * ext/taglib/meson.build:
+       * ext/twolame/meson.build:
+       * ext/vpx/meson.build:
+       * ext/wavpack/meson.build:
+       * gst/matroska/meson.build:
+       * gst/meson.build:
+       * meson.build:
+       * meson_options.txt:
+       * sys/directsound/meson.build:
+       * sys/meson.build:
+       * sys/oss/meson.build:
+       * sys/oss4/meson.build:
+       * sys/v4l2/meson.build:
+       * sys/ximage/meson.build:
+       * tests/examples/qt/qmlsink/meson.build:
+       * tests/examples/qt/qmlsrc/meson.build:
+       * tests/icles/meson.build:
+       * tests/meson.build:
+         meson: Add feature options for all plugins
+         Checks for GL, Qt5, and C++ are still automagic. FIXMEs have been
+         added for these so they can be fixed later.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795107
+
+2018-07-25 17:15:53 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/deinterlace/gstdeinterlace.c:
+       * gst/deinterlace/gstdeinterlacemethod.h:
+         deinterlace: Closed caption pass-through
+         Pass through closed caption data when deinterlacing. When two
+         deinterlaced frames are created for the same interlaced frame (e.g.
+         fields=all), the second of the two frames will have no closed caption
+         data.
+         Also fixed memory leaks related to timecode meta pass-through.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796876
+
+2018-07-25 18:37:48 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/isomp4/gstqtmux.c:
+       * gst/isomp4/gstqtmuxmap.c:
+         qtmux: Implement muxing of AV1 into MP4 files
+         According to
+         https://aomediacodec.github.io/av1-isobmff/
+
+2018-07-25 17:09:06 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/matroska/matroska-mux.c:
+         matroskamux: Put codec_data as CodecPrivate for AV1
+
+2018-07-25 17:08:53 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/matroska/matroska-mux.c:
+         matroskamux: Accept muxing AV1
+
+2018-07-25 16:51:38 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/isomp4/fourcc.h:
+       * gst/isomp4/qtdemux_types.c:
+         qtdemux: Recognize more AV1 atoms
+
+2018-07-25 16:39:18 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/matroska/matroska-demux.c:
+         matroskademux: Extract codec_data for AV1
+         According to
+         https://github.com/Matroska-Org/matroska-specification/blob/av1-mappin/codec/av1.md
+
+2018-07-25 14:31:39 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/isomp4/fourcc.h:
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Extract AV1 codec_data and put it in the caps
+         Also extract the presentation-delay and put it in the caps.
+
+2018-07-25 10:43:11 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/isomp4/fourcc.h:
+       * gst/isomp4/qtdemux.c:
+       * gst/isomp4/qtdemux_dump.c:
+       * gst/isomp4/qtdemux_types.c:
+         qtdemux: Add initial support for AV1 demuxing
+         Following the spec at
+         https://aomediacodec.github.io/av1-isobmff/
+
+2018-07-27 00:41:57 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/rtsp/gstrtspsrc.c:
+       * gst/rtsp/gstrtspsrc.h:
+         rtspsrc: Add a small configurable teardown delay
+         This causes rtspsrc to send a teardown and wait on
+         PAUSED->READY transition, with a configurable delay.
+         Otherwise, typically teardown never gets sent in
+         playbin / uridecodebin where the transition back to NULL
+         happens too quickly.
+         The timeout is set to 100ms default.
+         https://bugzilla.gnome.org/show_bug.cgi?id=751994
+
+2018-07-26 16:43:28 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/rtp/gstrtpgstdepay.c:
+       * gst/rtp/gstrtpgstpay.c:
+       * gst/rtp/gstrtpgstpay.h:
+         rtpgstpay: Add support for force-keyunit events
+         This triggers immediate re-sending of the configuration data in-band.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796877
+
+2018-07-13 19:45:19 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/rtp/gstrtpgstpay.c:
+       * gst/rtp/gstrtph264pay.c:
+       * gst/rtp/gstrtph265pay.c:
+       * gst/rtp/gstrtpmp4vpay.c:
+       * gst/rtp/gstrtptheorapay.c:
+       * gst/rtp/gstrtpvorbispay.c:
+         rtp: Use running_time instead of PTS for config-interval calculations
+         PTS can start again from a different offset while the running time is
+         increasing. The only thing that matters here is the running time.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796807
+
+2018-07-19 22:48:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * tests/examples/gtk/meson.build:
+       * tests/examples/meson.build:
+         example: Build GTK  and GTK GL example code
+
+2018-07-19 17:31:03 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+       * gst/rtp/gstrtpL8pay.c:
+         rtpL8pay: don't try to modify a read-only structure
+         Just remove the code. It's not doing anything useful anyways. The modified
+         caps are the result of a caps query, so either not used afterwards of a
+         reference to some internal caps of another element that should not be
+         modified.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796837
+
+2018-07-17 08:23:54 +0200  Iñigo Huguet <inigohuguet@fanamoel.com>
+
+       * ext/qt/gstqtgl.h:
+         qmlgl: Fix conflicting declaration of type GLsync for non-android
+         https://bugzilla.gnome.org/show_bug.cgi?id=796821
+
+2018-07-16 19:03:39 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/deinterlace/gstdeinterlace.c:
+       * gst/deinterlace/gstdeinterlace.h:
+       * gst/deinterlace/gstdeinterlacemethod.h:
+         deinterlace: Timecode pass-through
+         When it is trivial to pass-through a timecode, by only removing the
+         "interlaced" flag, do pass-through. Otherwise, double the fps_n and
+         adjust the "frames" field.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796818
+
+2018-07-17 00:03:19 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/multifile/gstsplitmuxsink.c:
+         splitmux: Improve handling of repeated timestamps
+         When handling input with timestamps that repeat, sometimes
+         splitmuxsink would get confused and ignore a keyframe.
+         The logic in question is a holdover from before the cmd queue
+         moved the file cutting to the multiqueue output side and made
+         it deterministic, so it's no longer needed on the input
+         here.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796773
+
+2018-07-17 01:33:55 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/multifile/gstsplitmuxsrc.c:
+         Revert "splitmuxsrc: Make sure events are writable"
+         This reverts commit 3ac5430311b20f30814cdabf5724fb687748bb5b.
+         There's no need to make a freshly created event writable,
+         and the other half of this patch was already fixed
+         and pushed in f2f15a1
+
+2018-07-16 23:43:29 +1000  Jan Schmidt <jan@centricular.com>
+
+       * gst/multifile/gstsplitmuxsrc.c:
+         splitmuxsrc: Make sure events are writable
+         Before setting the seqnum on events sent downstream,
+         make sure they are writable.
+
+2018-07-13 16:51:24 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2bufferpool.c:
+         v4l2bufferpool: Validate that capture buffers were queued
+         When the pool is started, we allocate and release buffer, expecting
+         the pool release-buffer handler to queue them. Though, as we rely
+         on release function, there is no direct way to detect that this
+         process didn't work.
+         To check this, validate that the number of queued buffer is the same
+         as the number of allocated buffers. This allow returning an error
+         when buffer importation was refused by the driver.
+         https://bugzilla.gnome.org/show_bug.cgi?id=583890
+
+2018-07-13 16:02:02 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2bufferpool.c:
+         v4l2bufferpool: Only return eos for M2M devices
+         This will avoid sending EOS on v4l2src when a driver sends an empty
+         buffers. This case would be a bug in the driver, but yet the camera
+         should keep running.
+         This also removes the check for corrupted buffers, as this check is
+         already done later.
+         https://bugzilla.gnome.org/show_bug.cgi?id=794842
+
+2018-07-13 15:58:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2.c:
+       * sys/v4l2/v4l2-utils.h:
+       * sys/v4l2/v4l2_calls.c:
+         v4l2: Add a macro to check for M2M
+         https://bugzilla.gnome.org/show_bug.cgi?id=794842
+
+2018-07-13 14:41:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2allocator.c:
+         v4l2allocator: Fix userptr importation
+         The length passed to the driver was always 0 instead of the size of
+         the memory. This would fail validation in videobuf2.
+
+2018-07-12 15:11:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2bufferpool.c:
+         v4l2bufferpool: Remove duplicate check
+         We were calling gst_v4l2_is_buffer_valid() before and inside
+         gst_v4l2_buffer_pool_qbuf() as we needed to access the group. The second
+         check failed since the writability of the buffer get inherited from the
+         GstMemory, which lead to pipeline failure. As we cannot avoid the extra
+         ref, it would be racy otherwise, just pass the group to _dbuf() so it
+         does not have to call gst_v4l2_is_buffer_valid() again.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796692
+
+2017-08-25 11:58:12 +0200  Havard Graff <havard.graff@gmail.com>
+
+       * gst/rtpmanager/gstrtpsession.c:
+       * gst/rtpmanager/rtpsession.c:
+       * gst/rtpmanager/rtpsession.h:
+       * tests/check/elements/rtpsession.c:
+         rtpsession: Don't start the RTCP thread until it's needed
+         Always wait with starting the RTCP thread until either a RTP or RTCP
+         packet is sent or received. Special handling is needed to make sure the
+         RTCP thread is started when requesting an early RTCP packet.
+         We want to wait with starting the RTCP thread until it's needed in order
+         to not send RTCP packets for an inactive source.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795139
+
+2018-07-11 12:21:44 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2object.c:
+       * sys/v4l2/gstv4l2object.h:
+       * sys/v4l2/gstv4l2src.c:
+         v4l2src: Try to avoid TRY_FMT when camera is streaming
+         Some camera firmware crash is TRY_FMT is called during streaming. As a
+         side effect. This try and detect that the same format as currently
+         running is about to be tried, and skip renegotiation.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796789
+
+2018-07-09 13:59:02 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2videodec.c:
+         v4l2videodec: Protect double calls to set_format()
+         In some cases, set_format() may get called twice before the output
+         format is set. Running an allocation query in this case is both not
+         needed and will cause assertion due tot he NULL caps.
+
+2018-07-08 20:08:18 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/audiofx/gstscaletempo.c:
+         scaletempo: Mark as Audio in classification
+
+2018-07-06 15:21:33 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Store and propagate SEGMENT sequence numbers
+         * When receiving a segment in TIME, use that seqnum
+         * Only reset the stored sequence number when doing HARD reset
+         (and not when we get a FLUSH event from upstream)
+
+2018-07-01 15:27:32 -0400  Michael Tretter <m.tretter@pengutronix.de>
+
+       * sys/v4l2/gstv4l2transform.c:
+         v4l2transform: Implement stable element name
+         The first converter to be found will now gain the name v4l2convert.
+         Other converters will be named after the m2m dev node end point they are
+         attached to.
+         https://bugzilla.gnome.org/show_bug.cgi?id=784958
+
+2018-06-13 17:39:57 +0100  Philippe Normand <philn@igalia.com>
+
+       * gst/matroska/matroska-demux.c:
+         matroskademux: Set subtitle tag title from TrackName field
+         GUI applications can then use the title tag to set menu items or labels
+         representing the track.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796567
+
+2018-06-28 19:08:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2videoenc.c:
+         v4l2videoenc: Only renegotiate with upstream
+         When the decoder get linked further, it will receive a renegotiation
+         event from downstream. This case is not supported and should be ignored.
+         This fixes issues when this encoder is used inside an GstRtspServer
+         pipeline.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796525
+
+2018-06-09 23:58:01 +0200  Alicia Boya García <aboya@igalia.com>
+
+       * gst/isomp4/qtdemux.c:
+       * gst/isomp4/qtdemux.h:
+         qtdemux: rework segment event pushing, again
+         This patch aims at fixing the recent regressions in the adaptive test
+         suite.
+         All segment pushing in push mode is now done with
+         gst_qtdemux_check_send_pending_segment(), which is idempotent and
+         handles both edit lists cases and cases where the upstream TIME segments
+         have to be sent directly.
+         Fragmented files that start with a non-zero tfdt are also taken into
+         account, but their handling has been vastly simplified: now they are
+         handled as implicit default seeks so there is no need to extend the
+         GstSegment formulas as was being done before.
+         qtdemux->segment.duration is no longer modified when
+         upstream_format_is_time, respecting in this way the durations provided
+         by dashdemux and fixing bugs in reverse playback tests where mangled
+         durations appeared in the emitted segments.
+         https://bugzilla.gnome.org/show_bug.cgi?id=752603
+
+2018-06-17 02:01:59 +0200  Alicia Boya García <aboya@igalia.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Don't send EOS during upstream reverse playback
+         Upstream driving elements such as dashdemux often do reverse playback by
+         feeding qtdemux with the fragments containing the requested playback
+         range in reverse order.
+         But the requested playback range stop may be somewhere in the
+         middle of a fragment. In that case, a naive pts >= segment.stop
+         condition may declare end of segment prematurely when demuxing this
+         first fragment.
+         This used not to happen because there were places in moov parsing where
+         segment.stop was overwritten to GST_CLOCK_TIME_NONE even if
+         upstream_format_is_time -- resulting in this case in a segment with rate
+         < 0 and stop == -1 and hence not triggering the EOS check, but that was
+         likely an accident.
+         This patch modifies the EOS check to take this case into account, not
+         sending EOS when upstream_format_is_time if rate < 0.
+         This fixes adaptive.dash.playback.seek_end_live.DASHIF_livestream_testpic_2s
+         https://bugzilla.gnome.org/show_bug.cgi?id=752603
+
+2018-02-06 13:51:14 +0100  Peter Seiderer <ps.report@gmx.net>
+
+       * sys/v4l2/gstv4l2transform.c:
+         v4l2transform: fold property set/get PROP_OUTPUT_IO_MODE case into default
+         https://bugzilla.gnome.org/show_bug.cgi?id=796714
+
+2018-06-22 14:56:31 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2videoenc.c:
+         v4l2videoenc: Don't set colorimetry on capture
+         The colorimetry will be set along with the raw format and those fields
+         will then be copied from sink to src caps by the gst encoder.
+         https://bugzilla.gnome.org/show_bug.cgi?id=791471
+
+2018-06-27 16:57:29 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2object: Really always set colorimetry
+         This fixes patch dd1c5aed656e07e3dad01f83410f3af16cfb14cf which
+         pretended to always set colorimetry but the patch was incomplete.
+         This is again best effort considering the spec says that for CAPTURE
+         you may only read this value.
+
+2018-06-26 15:04:39 +0200  Michael Tretter <m.tretter@pengutronix.de>
+
+       * sys/v4l2/gstv4l2videodec.c:
+         v4l2videodec: do not call streamon while pool is flushing
+         gst_v4l2_buffer_pool_flush() executes streamoff for the output, but
+         streamoff->streamon for the capture of the decoder.
+         gst_v4l2_buffer_pool_streamon() on capture assumes that is able to
+         resurrect the buffers from the pool, but acquiring buffers fails if the
+         buffer pool is still flushing.
+         The decoder needs to stop flushing the pools before calling
+         gst_v4l2_buffer_pool_flush() to restart the v4l2 device. Otherwise
+         starting the decoding thread might fail, because there are no buffers in
+         the capture pool.
+         This fixes a regression that was introduced in 97985a335c78
+         ("v4l2videodec: Add dynamic resolution change support").
+         https://bugzilla.gnome.org/show_bug.cgi?id=796681
+
+2018-06-25 16:03:17 +0200  Philipp Zabel <p.zabel@pengutronix.de>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2object: use S_SELECTION instead of S_CROP in gst_v4l2_object_set_crop
+         The S_CROP call doesn't work on mem2mem output queues. Use the
+         S_SELECTION call to set the crop rectangle and only fall back to
+         S_CROP for ancient kernels.
+         This will allow v4l2videoenc to set the coded size on the output
+         queue via S_FMT and then set the visible size via the crop rectangle,
+         as required by the V4L2 codec API.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796672
+
+2018-06-27 13:46:00 +0000  Marian Mihailescu <mihailescu2m@gmail.com>
+
+       * sys/v4l2/gstv4l2videoenc.c:
+         v4l2videoenc: activate capture pool after output pool
+         Some drivers need output buffers set before capture buffers.
+         CODA cannot set output format if capture is streaming.
+         Exynos MFC fails on output STREAMON if capture is already streaming.
+         This patch delays capture activation until output is configured and
+         streaming
+         https://bugzilla.gnome.org/show_bug.cgi?id=796693
+
+2018-06-23 23:44:19 +0200  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/gtk/gtkgstglwidget.c:
+       * gst/rtpmanager/gstrtpbin.c:
+       * gst/rtpmanager/gstrtpjitterbuffer.c:
+       * gst/rtpmanager/gstrtpsession.c:
+         Update for g_type_class_add_private() deprecation in recent GLib
+         https://gitlab.gnome.org/GNOME/glib/merge_requests/7
+
+2018-06-20 10:03:59 +0200  Edward Hervey <edward@centricular.com>
+
+       * ext/soup/gstsouphttpsrc.c:
+         souphttpsrc: Protect input stream with lock
+         This was the last remaining place where modifying/unreffing the
+         input stream was not protected by the lock
+         https://bugzilla.gnome.org/show_bug.cgi?id=796639
+
+2018-06-18 12:13:48 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/multifile/gstsplitmuxsrc.c:
+         splitmuxsrc: Make sure events are writable before setting their seqnum
+
+2018-05-28 15:19:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2bufferpool.c:
+         v4l2bufferpool: Drop truncated frames
+         Drop truncated frames regardless if they have the ERROR flag or not.
+         Truncated frame causes video frame map failure in many elements
+         including cluttersink, glupload etc.
+
+2018-04-02 12:59:33 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2bufferpool.c:
+         v4l2bufferpool: Try return input buffer soon
+         In this patch we use a non-blocking poll in order to return all input
+         buffers (buffers from v4l2-output queue). This prevent holding too long
+         on upstreaming buffer in importing.
+         https://bugzilla.gnome.org/show_bug.cgi?id=794904
+
+2018-06-07 13:56:03 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/qt/meson.build:
+       * tests/examples/qt/qmlsink/meson.build:
+       * tests/examples/qt/qmlsrc/meson.build:
+         qt: also check for un-suffixed moc
+         e.g. Qt windows installer doesn't have suffixes
+
+2018-06-06 11:44:33 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Do not set INVALID seqnum on events
+
+2018-06-01 22:47:10 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/elements/qtdemux.c:
+         tests: qtdemux: Add checking exposed segment event
+         https://bugzilla.gnome.org/show_bug.cgi?id=796480
+
+2018-06-01 21:08:10 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Forward upstream time-format segment without mapping
+         Sample table based segment event (genereted by qtdemux) could break
+         presentation timeline. For example, qtdemux should not modify upstream
+         time format segment (e.g., adaptivedemux use case)
+         https://bugzilla.gnome.org/show_bug.cgi?id=796480
+
+2018-04-19 08:14:47 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/rtsp/gstrtspsrc.c:
+         rtspsrc: Seek handling is always done with a valid event
+         Remove the checks
+
+2018-06-06 07:46:54 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/wavparse/gstwavparse.c:
+         wavparse: Don't set invalid seqnum on events
+         Some codepath will call gst_wavparse_perform_seek without an event
+         and therefore without a valid seqnum
+
+2018-05-25 12:28:04 +0200  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Clarify field name about stream-encryption-system
+         This field is actually only informatory and the user can potentially
+         choose something else. EME tests in WebKit testsuite actually doesn't
+         take it into and force another encryption system to be used, and expects
+         to be given the occasion to do so.
+         This basically also reverts 3e063703b3a51b8aaa7f75f36c4660c583a60e93.
+
+2018-05-28 11:01:42 -0700  Thiago Santos <thiagossantos@gmail.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: mark segment as sent after pushing when moov is received
+         Otherwise we would try to send it a second time if the same moov is
+         received or in any other situation that might trigger segment sending.
+         https://bugzilla.gnome.org/show_bug.cgi?id=752603
+
+2018-05-28 10:59:14 -0700  Thiago Santos <thiagossantos@gmail.com>
+
+       * tests/check/elements/qtdemux.c:
+         tests: qtdemux: Avoid using data beyond array and improve error msg
+         Makes it easier to debug the failures as well as prevents problems
+         reading out of bounds data.
+
+2018-05-16 20:16:44 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2object: Don't open the device in get property
+         This is both racy and inefficient. This function is still missing some
+         locking which will be address in later patch.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796185
+
+2018-05-27 20:29:47 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/elements/rtpstorage.c:
+       * tests/check/elements/rtpulpfec.c:
+         tests: rtpstorage: fix potential crashes / test failures on 32-bit
+         Pass 64 bits to g_object_set() for 64-bit integer properties like
+         rtpstorage's "size-time" property.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796429
+
+2018-05-13 21:59:49 -0700  Thiago Santos <thiagossantos@gmail.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: do not update segment.stop is it is not a valid time
+         Otherwise it overflows and starts having a meaningful and wrong value.
+         https://bugzilla.gnome.org/show_bug.cgi?id=752603
+
+2016-04-26 16:54:30 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: offset edts segments by the min timestamp of the stream
+         Otherwise if the stream is starting at timestamp=X it would wait
+         'X' to start playing.
+         https://bugzilla.gnome.org/show_bug.cgi?id=752603
+
+2016-04-26 14:34:16 -0300  Thiago Santos <thiagoss@osg.samsung.com>
+
+       * gst/isomp4/qtdemux.c:
+       * gst/isomp4/qtdemux.h:
+         qtdemux: rework segment event pushing
+         Instead of always keeping a safe segment (start=0) event from the beginning,
+         delay the creation of this event to when we really know the timestamp of the
+         first sample. This is important to properly start fragmented streams that
+         we might join in the middle or to play isolated fragment files that might
+         have an advanced tfdt.
+         https://bugzilla.gnome.org/show_bug.cgi?id=752603
+
+2018-05-25 10:49:21 +0200  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Do not unref a NULL stream_tags
+         stream->stream_tags is reset to NULL once we expose the stream and
+         these have been consumed, we need to check that when cleaning up
+         the stream.
+
+2018-05-25 10:17:29 +0200  Thibault Saunier <tsaunier@igalia.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Do not run the preferred decryptor context query if no decryptor avalaible
+         Ultimately this avoids a segfault as the code expect a non NULL array
+         here.
+
+2018-03-30 17:03:13 +0200  Alicia Boya García <aboya@igalia.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Allow edit lists on fragmented files on push mode
+         Fragmented files often use elst.duration=0 which before
+         ee78825eaef2c5fffac7d6c5526fe18cec6b3eef was wrongly interpreted as
+         having no frames.
+         Since that issue has now been fixed, there is no reason to disable edit
+         lists in fragmented files. This commit enables them, therefore producing
+         correct stream time for files containing edit lists.
+         https://bugzilla.gnome.org/show_bug.cgi?id=793058
+
+2018-05-24 12:58:00 +0200  Alicia Boya García <aboya@igalia.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: fix computation of first_duration for fragmented files in push mode
+         Since ca068865c391e87932b1268d0c675be233dd2ffe the duration of the first
+         frame is not used for estimating the frame rate.
+         For this purpose, stream->first_duration was initialized with the
+         duration of the first frame. In fragmented files, this was previously
+         done by peeking the first moof, but that can only be done in pull mode.
+         Fortunately, we don't really need to do that, at least with the current
+         design: When we are estimating the frame rate we already have the
+         sample table, regardless of the scheduling mode and whether the file is
+         fragmented or not, so we can obtain first_duration there much more
+         reliably.
+         This fixes frame rate estimation for fragmented files in push mode.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796384
+
+2017-06-13 17:42:55 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/multifile/gstsplitmuxsink.c:
+       * gst/multifile/gstsplitmuxsink.h:
+       * tests/check/elements/splitmux.c:
+         splitmuxsink: Added new async-finalize mode
+         This mode is useful for muxers that can take a long time to finalize a
+         file. Instead of blocking the whole upstream pipeline while the muxer is
+         doing its stuff, we can unlink it and spawn a new muxer+sink combination
+         to continue running normally.
+         This requires us to receive the muxer and sink (if needed) as factories,
+         optionally accompanied by their respective properties structures. Also
+         added the muxer-added and sink-added signals, in case custom code has to
+         be called for them.
+         https://bugzilla.gnome.org/show_bug.cgi?id=783754
+
+2018-05-23 19:00:48 +0200  Alicia Boya García <aboya@igalia.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Don't send gaps bigger than 1 second (now in push mode too)
+         This applies the same workaround to gaps that is being used in pull
+         mode.
+         https://bugzilla.gnome.org/show_bug.cgi?id=778426
+
+2018-05-23 20:08:56 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Properly handle edit list in push mode
+         If there are empty segments in edit list, demux should
+         adjust "accumulated_base" to apply it into running time.
+         https://bugzilla.gnome.org/show_bug.cgi?id=778426
+
+2018-05-22 22:14:03 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/matroska/matroska-mux.c:
+         matroska-mux: write colorimetry
+         This is a straightforward translation of 5dd39d8, can be trivially
+         checked by running:
+         gst-launch-1.0 -v videotestsrc ! video/x-raw, colorimetry=2:4:7:1 ! \
+         matroskamux ! matroskademux ! fakesink
+         and verifying that the colorimetry is correctly preserved.
+         https://bugzilla.gnome.org/show_bug.cgi?id=796344
+
+2018-03-31 17:19:03 +0200  Alicia Boya García <aboya@igalia.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: fix buggy duration in edits with duration=0 in fragmented files without a mehd
+         https://bugzilla.gnome.org/show_bug.cgi?id=794858
+
+2018-05-23 13:14:27 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/rtp/gstrtph264depay.c:
+       * gst/rtpmanager/gstrtpbin.c:
+       * gst/rtpmanager/rtpsession.h:
+       * gst/rtsp/gstrtspsrc.c:
+       * gst/udp/gstmultiudpsink.c:
+         docs: fix typos
+
+2018-03-31 18:42:47 +0900  Seungha Yang <pudding8757@gmail.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Clarify variable name
+         As defined by spec, use "empty edit". It's more straightforward.
+         https://bugzilla.gnome.org/show_bug.cgi?id=778426
+
+2017-06-21 17:59:21 +0200  Xabier Rodriguez Calvar <calvaris@igalia.com>
+
+       * gst/isomp4/qtdemux.c:
+       * gst/isomp4/qtdemux.h:
+         qtdemux: add context for a preferred protection
+         qtdemux selected the first system corresponding to a working GStreamer
+         decryptor. With this change, before selecting that decryptor, qtdemux
+         will check if it has context (a preferred decryptor id) and if not, it
+         will request it.
+         The request includes track-id, available key system ids for the
+         available decryptors and even the events so that the init data is
+         accessible.
+         [eocanha@igalia.com: select the preferred protection system even if not available]
+         Test "4. ClearKeyVideo" in YouTube leanback EME conformance tests 2016 for
+         H.264[1] uses a media file[2] with cenc encryption which embeds 'pssh' boxes
+         with the init data for the Playready and Widevine encryption systems, but not
+         for the ClearKey encryption system (as defined by the EMEv0.1b spec[3] and with
+         the encryption system id defined in [4]).
+         Instead, the ClearKey encryption system is manually selected by the web page
+         code (even if not originally detected by qtdemux) and the proper decryption key
+         is dispatched to the decryptor, which can then decrypt the video successfully.
+         [1] http://yt-dash-mse-test.commondatastorage.googleapis.com/unit-tests/2016.html?test_type=encryptedmedia-test&webm=false
+         [2] http://yt-dash-mse-test.commondatastorage.googleapis.com/unit-tests/media/car_cenc-20120827-86.mp4
+         [3] https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1b/encrypted-media/encrypted-media.html#simple-decryption-clear-key
+         [4] https://www.w3.org/Bugs/Public/show_bug.cgi?id=24027#c2
+         https://bugzilla.gnome.org/show_bug.cgi?id=770107
+
+2017-05-20 16:55:40 +0000  Enrique Ocaña González <eocanha@igalia.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: also push buffers without encryption info instead of dropping them
+         Test "17. PlayReadyH264Video" in YouTube leanback EME conformance tests 2016
+         for H.264[1] uses a media file[2] with cenc encryption whose first two 'moof'
+         boxes have no encryption information (no 'saiz' and 'saio' boxes).
+         Those boxes are actually not encrypted and the current qtdemux implementation
+         was just dropping them, breaking the test use case.
+         This patch detects those kind of situations and just lets the unencrypted
+         buffers pass. Of course, this needs some collaboration by the decryptors,
+         which should also do the same and not to try to decrypt those clear buffers.
+         [1] http://yt-dash-mse-test.commondatastorage.googleapis.com/unit-tests/2016.html?test_type=encryptedmedia-test&webm=false
+         [2] http://yt-dash-mse-test.commondatastorage.googleapis.com/unit-tests/media/oops_cenc-20121114-142.mp4
+         https://bugzilla.gnome.org/show_bug.cgi?id=770107
+
+2018-05-21 11:49:08 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         meson: use cdata.set_quoted() in more places
+
+2018-05-21 11:46:59 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+       * meson_options.txt:
+         meson: add 'nls' option to disable translations
+         And enable by default. Was implicitly disabled because
+         ENABLE_NLS was not defined.
+
+2016-02-09 14:00:00 -0800  Andre McCurdy <armccurdy@gmail.com>
+
+       * ext/taglib/gstid3v2mux.cc:
+         id3v2mux: ensure valid sentinal for gst_structure_get()
+         gst_structure_get() is declared with G_GNUC_NULL_TERMINATED, ie
+         __attribute__((__sentinel__)), which means gcc will generate a
+         warning if the last parameter passed to the function is not NULL
+         (where a valid NULL in this context is defined as zero with any
+         pointer type).
+         The C code callers to gst_structure_get() within gst-plugins-good
+         use the C NULL definition (ie ((void*)0)), which is a valid sentinel.
+         However gstid3v2mux.cc uses the C++ NULL definition (ie 0L), which
+         is not a valid sentinel without an explicit cast to a pointer type.
+         Upstream-Status: Pending
+         Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+
+2016-02-03 18:12:38 -0800  Andre McCurdy <armccurdy@gmail.com>
+
+       * ext/raw1394/gstdv1394src.c:
+       * ext/raw1394/gsthdv1394src.c:
+         raw1394: avoid including <sys/poll.h> directly
+         Note from Edward Hervey: Patch from git.yoctoproject.org
+         musl libc generates warnings if <sys/poll.h> is included directly.
+         Upstream-Status: Pending
+         Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+
+2018-02-23 13:38:32 +0100  Alicia Boya García <aboya@igalia.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux_parse_segments: remove superfluous variable
+         https://bugzilla.gnome.org/show_bug.cgi?id=793751
+
+2018-04-23 13:29:30 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/flv/gstflvmux.c:
+         flvmux: Remove custom get_next_time implementation
+         GstAggregator now does the same thing in the simple implementation.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795486
+
+2018-05-15 11:50:30 +0100  Havard Graff <havard.graff@gmail.com>
+
+       * tests/check/elements/rtpsession.c:
+         rtpsession: Add tests for PLI and FIR
+         https://bugzilla.gnome.org/show_bug.cgi?id=795139
+
+2018-04-30 08:41:19 +0200  Havard Graff <havard.graff@gmail.com>
+
+       * gst/rtpmanager/gstrtpsession.c:
+         rtpsession: make "clear-pt-map" action signal actually work
+         Needed for PLI + FIR unit tests in follow-up commit.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795139
+
+2016-10-06 16:08:38 +0200  Mikhail Fludkov <misha@pexip.com>
+
+       * gst/rtpmanager/rtpsession.c:
+         rtpsession: Avoid unnecessary copy of stats structure
+         The code before copied GstStructure twice. The first time inside
+         gst_value_set_structure and the second time in g_value_array_append.
+         Optimized version does no copies, just transfers ownership to
+         GValueArray. It takes advantage of the fact that array has already
+         enough elements preallocated and the memory is zero initialized.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795139
+
+2018-05-15 10:35:09 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/replaygain/gstrgvolume.c:
+         Revert "BugFix : Change peak value to normalize audio file with fallback gain"
+         This reverts commit 36e49fd6f872f0b3f33083107a55fb7f671a47d0.
+         Breaks unit test, someone needs to investigate if it's the
+         patch's fault or if the test needs adjusting/updating.
+         https://bugzilla.gnome.org/show_bug.cgi?id=673970
+
+2016-12-13 10:13:52 +0100  Stian Selnes <stian@pexip.com>
+
+       * gst/rtpmanager/rtpsession.c:
+       * tests/check/elements/rtpsession.c:
+         rtpsession: Drop packet if trying to send from non-internal source
+         If obtain_internal_source() returns a source that is not internal it
+         means there exists a non-internal source with the same ssrc. Such an
+         ssrc collision should be handled by sending a GstRTPCollision event
+         upstream and choose a new ssrc, but for now we simply drop the packet.
+         Trying to process the packet further will cause it to be pushed
+         usptream (!) since the source is not internal (see source_push_rtp()).
+         https://bugzilla.gnome.org/show_bug.cgi?id=795139
+
+2018-05-14 00:29:24 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/matroska/matroska-demux.c:
+         matroskademux: tag disabled streams with FLAG_UNSELECT
+         So they're never picked as default, only by explicit
+         user action.
+         https://bugzilla.gnome.org/show_bug.cgi?id=690911
+
+2018-05-14 21:06:55 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+         qtmux: Print expected/actual values in debug log on mismatch in prefill mode
+         This helps debugging a lot.
+
+2018-04-10 18:05:47 +0200  Havard Graff <havard.graff@gmail.com>
+
+       * gst/rtpmanager/rtpsession.c:
+       * tests/check/Makefile.am:
+       * tests/check/elements/rtpsession.c:
+         rtpsession: Try media_ssrc if no src can be found for PLI sender_ssrc
+         Some RTP stacks out there does not set the sender_ssrc. In order to be
+         more robust, try to lookup the media_ssrc before dropping the PLI.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795139
+
+2017-08-25 11:59:00 +0200  Mikhail Fludkov <misha@pexip.com>
+
+       * gst/rtpmanager/rtpsession.c:
+       * tests/check/elements/rtpsession.c:
+         rtpsession: Fix on-feedback-rtcp race
+         If there is an external source which is about to timeout and be removed
+         from the source hashtable and we receive feedback RTCP packet with the
+         media ssrc of the source, we unlock the session in
+         rtp_session_process_feedback before emitting 'on-feedback-rtcp' signal
+         allowing rtcp timer to kick in and grab the lock. It will get rid of
+         the source and rtp_session_process_feedback will be left with RTPSource
+         with ref count 0.
+         The fix is to grab the ref to the RTPSource object in
+         rtp_session_process_feedback.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795139
+
+2017-11-27 10:56:47 +0100  Stian Selnes <stian@pexip.com>
+
+       * gst/rtpmanager/rtpsession.c:
+         rtpsession: Add missing lock around sess->ssrcs iteration
+         https://bugzilla.gnome.org/show_bug.cgi?id=795139
+
+2017-08-25 11:22:47 +0200  John-Mark Bell <jmb@pexip.com>
+
+       * gst/rtpmanager/rtpsession.c:
+       * tests/check/elements/rtpsession.c:
+         rtpsession: do not emit RBs for internal senders.
+         These are the sources we send from, so there is no reason to
+         report receive statistics for them (as we do not receive on them,
+         and the remote side has no knowledge of them).
+         https://bugzilla.gnome.org/show_bug.cgi?id=795139
+
+2018-04-10 18:22:57 +0200  Havard Graff <havard.graff@gmail.com>
+
+       * tests/check/elements/rtpsession.c:
+         tests: rtpsession: fix indentation
+         https://bugzilla.gnome.org/show_bug.cgi?id=795139
+
+2018-05-12 08:03:28 +0200  Edward Hervey <edward@centricular.com>
+
+       * sys/v4l2/gstv4l2videodec.c:
+         v4l2: Fix typo in debug messages
+         It's a decoder, not an encoder :)
+         https://bugzilla.gnome.org/show_bug.cgi?id=795941
+
+2018-03-22 18:00:37 +0100  Vivia Nikolaidou <vivia@toolsonair.com>
+
+       * gst/multifile/gstsplitmuxsink.c:
+         splitmuxsink: Added caption_%u pad template
+         For closed-caption-enabled muxers (e.g. qtmux)
+
+2018-05-10 13:57:30 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Initialize riff library
+         Avoids debugging message issues. Also just use the main riff header
+
+2018-05-08 20:31:41 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * tests/check/elements/qtdemux.c:
+       * tests/check/elements/qtdemux.h:
+         tests: qtdemux: Add test for stream change
+         Add test case to verify track-id change and stream change
+         https://bugzilla.gnome.org/show_bug.cgi?id=684790
+
+2018-05-08 20:30:18 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/isomp4/qtdemux.c:
+       * gst/isomp4/qtdemux.h:
+         qtdemux: Protect _expose_streams() from flush event
+         Flush during stream change can break autoplugging or the
+         flush event could be dropped.
+         https://bugzilla.gnome.org/show_bug.cgi?id=684790
+
+2018-05-08 20:26:41 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/isomp4/qtdemux.c:
+       * gst/isomp4/qtdemux.h:
+         qtdemux: Try to expose whenever got new moov or new stream-start
+         Whenever got new moov or new stream-start,
+         demux will try to expose new pad by following rule.
+         Comparing stream-id in the current moov with previous one, then
+         * If matched stream-id is found from previous one,
+         reuse existing pad (most common case)
+         * Otherwise, expose new pad with new stream-start
+         * No more used stream will be freed
+         https://bugzilla.gnome.org/show_bug.cgi?id=684790
+
+2018-05-08 20:10:39 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Remove duplication of initializing member variables
+         Most initialization of variables in gst_qtdemux_init() are duplicated in
+         gst_qtdemux_reset() function.
+         https://bugzilla.gnome.org/show_bug.cgi?id=684790
+
+2018-05-08 20:09:10 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Create stream whenever got new moov
+         Whenever demux got moov, demux will create new stream. Only exception is
+         duplicated track-id in a moov box. In that case the first stream
+         will be accepted. This patch is pre-work for rework of moov handling.
+         https://bugzilla.gnome.org/show_bug.cgi?id=684790
+
+2018-05-08 19:57:11 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Store stream-id to manage streams
+         In order to figure out stream change such as
+         track-id change or stream-id change, demux will store
+         stream-id per QtDemuxStream structure.
+         https://bugzilla.gnome.org/show_bug.cgi?id=684790
+
+2018-05-08 19:39:02 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/isomp4/qtdemux.c:
+       * gst/isomp4/qtdemux.h:
+         qtdemux: Use GList to manage QtDemuxStream
+         * Move to GList from static array
+         * Logging track-id instead of array index. It's more meaningful.
+         https://bugzilla.gnome.org/show_bug.cgi?id=684790
+
+2018-05-08 18:44:15 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Adjust the number of args of some functions
+         To be used with g_list_free_full in the next patch
+         https://bugzilla.gnome.org/show_bug.cgi?id=684790
+
+2018-05-08 18:22:58 +0900  Seungha Yang <seungha.yang@navercorp.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Add parentheses in macro
+         https://bugzilla.gnome.org/show_bug.cgi?id=684790
+
+2018-03-19 23:36:13 +0100  Marinus Schraal <mschraal@gnome.org>
+
+       * gst/isomp4/qtdemux.c:
+         isomp4: Use full date time if available
+         The ©day tag contains a full date time, use it for the DATE_TIME tag
+         instead of just the DATE tag. This overrules the unreliable qt creation
+         time.
+         https://bugzilla.gnome.org/show_bug.cgi?id=731029
+
+2018-03-15 22:59:39 +1100  Jan Schmidt <jan@centricular.com>
+
+       * gst/rtsp/gstrtspsrc.c:
+         rtspsrc: Fix doc comment markers
+
+2016-02-02 18:58:24 +0200  Kyrylo Polezhaiev <kirushyk@gmail.com>
+
+       * gst/icydemux/gsticydemux.c:
+         icydemux: avoid timestamp field initialisation for tag event
+         This field is not used and will be removed in 2.0 API.
+         https://bugzilla.gnome.org/show_bug.cgi?id=761462
+
+2014-10-05 15:51:18 +0200  Matej Knopp <matej.knopp@gmail.com>
+
+       * gst/audioparsers/gstdcaparse.c:
+         dcaparse: do not accept header with invalid channel count
+         https://bugzilla.gnome.org/show_bug.cgi?id=737928
+
+2018-05-05 19:27:24 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * meson.build:
+       * meson_options.txt:
+       * sys/v4l2/meson.build:
+         meson: Update option names to omit disable_ and with- prefixes
+         Also yield common options to the outer project (gst-build in our case)
+         so that they don't have to be set manually.
+
+2012-04-12 09:53:24 +0200  Anthony Violo <anthony.violo@ubicast.eu>
+
+       * gst/replaygain/gstrgvolume.c:
+         BugFix : Change peak value to normalize audio file with fallback gain
+         https://bugzilla.gnome.org/show_bug.cgi?id=673970
+
+2018-05-05 16:32:59 +0200  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/rtp/gstrtpvrawpay.c:
+         rtpvrawpay: don't use buffer lists if everything fits into one buffer
+         People might use very large mtu sizes where every payload
+         fits into a single output packet.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795758
+
+2018-04-04 15:50:55 +0200  Kirill Marinushkin <kmarinushkin@de.adit-jv.com>
+
+       * configure.ac:
+         configure: Fix hard-coded enabled v4l2 probe on Linux/ARM
+         Currently, enable_v4l2_probe is hard-coded to "yes" on linux, platforms
+         arm and aarch64. This even overrides the --disable-v4l2-probe argument.
+         As a result, it is impossible to disable v4l2_probe. It becomes a problem
+         for use-cases, when startup time is critical, because the v4l2_probe
+         feature increases the initialization time.
+         This commit makes the v4l2_probe feature configurable.
+         On linux, platforms arm and aarch64, the default value is still "yes".
+         But now it can be disabled by the --disable-v4l2-probe argument.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795200
+
+2018-04-23 11:26:12 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/flv/gstflvmux.c:
+         flvmux: Don't wake up the muxer unless there is data
+         https://bugzilla.gnome.org/show_bug.cgi?id=795332
+
+2018-04-23 11:19:18 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/flv/gstflvmux.c:
+         flvmux: Save the current position in the output segment
+         https://bugzilla.gnome.org/show_bug.cgi?id=795332
+
+2018-04-19 17:53:51 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/flv/gstflvmux.c:
+       * tests/check/elements/flvmux.c:
+         flvmux: Wait for caps from both srcs before writing header
+         Wait for caps on all pads to start writing data even when source is live.
+         Includes unit test by Havard Graff that simulates it.
+         https://bugzilla.gnome.org/show_bug.cgi?id=794722
+
+2018-04-13 13:29:06 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+       * sys/v4l2/gstv4l2transform.c:
+       * sys/v4l2/gstv4l2videodec.c:
+       * sys/v4l2/gstv4l2videoenc.c:
+       * sys/v4l2/v4l2_calls.c:
+         v4l2: rely on gst_v4l2_dup() to set no_initial_format and keep_aspect
+         gst_v4l2_dup() will now take care of setting
+         v4l2capture->no_initial_format and keep_aspect instead of doing it
+         manually.
+         Fix a typo as keep_aspect was set twice on v4l2output but never on
+         v4l2capture.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795028
+
+2018-04-24 14:06:10 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+       * ext/cairo/meson.build:
+       * ext/dv/meson.build:
+       * ext/flac/meson.build:
+       * ext/gdk_pixbuf/meson.build:
+       * ext/gtk/meson.build:
+       * ext/jack/meson.build:
+       * ext/jpeg/meson.build:
+       * ext/lame/meson.build:
+       * ext/libpng/meson.build:
+       * ext/mpg123/meson.build:
+       * ext/pulse/meson.build:
+       * ext/shout2/meson.build:
+       * ext/soup/meson.build:
+       * ext/speex/meson.build:
+       * ext/taglib/meson.build:
+       * ext/twolame/meson.build:
+       * ext/vpx/meson.build:
+       * ext/wavpack/meson.build:
+       * gst/alpha/meson.build:
+       * gst/apetag/meson.build:
+       * gst/audiofx/meson.build:
+       * gst/audioparsers/meson.build:
+       * gst/auparse/meson.build:
+       * gst/autodetect/meson.build:
+       * gst/avi/meson.build:
+       * gst/cutter/meson.build:
+       * gst/debugutils/meson.build:
+       * gst/deinterlace/meson.build:
+       * gst/dtmf/meson.build:
+       * gst/effectv/meson.build:
+       * gst/equalizer/meson.build:
+       * gst/flv/meson.build:
+       * gst/flx/meson.build:
+       * gst/goom/meson.build:
+       * gst/goom2k1/meson.build:
+       * gst/icydemux/meson.build:
+       * gst/id3demux/meson.build:
+       * gst/imagefreeze/meson.build:
+       * gst/interleave/meson.build:
+       * gst/isomp4/meson.build:
+       * gst/law/meson.build:
+       * gst/level/meson.build:
+       * gst/matroska/meson.build:
+       * gst/monoscope/meson.build:
+       * gst/multifile/meson.build:
+       * gst/multipart/meson.build:
+       * gst/replaygain/meson.build:
+       * gst/rtp/meson.build:
+       * gst/rtpmanager/meson.build:
+       * gst/rtsp/meson.build:
+       * gst/shapewipe/meson.build:
+       * gst/smpte/meson.build:
+       * gst/spectrum/meson.build:
+       * gst/udp/meson.build:
+       * gst/videobox/meson.build:
+       * gst/videocrop/meson.build:
+       * gst/videofilter/meson.build:
+       * gst/videomixer/meson.build:
+       * gst/wavenc/meson.build:
+       * gst/wavparse/meson.build:
+       * gst/y4m/meson.build:
+       * meson.build:
+       * sys/directsound/meson.build:
+       * sys/v4l2/meson.build:
+       * sys/ximage/meson.build:
+         Meson: Generate pc file for all plugins in good
+         https://bugzilla.gnome.org/show_bug.cgi?id=794568
+
+2018-04-25 10:58:41 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         meson: use -Wl,-Bsymbolic-functions where supported
+         Just like the autotools build.
+
+2018-04-25 10:37:40 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+         qtmux: Read caption from input buffer
+         And not from unallocated output buffer GstMapInfo
+         CID #1435131
+
+2018-02-07 11:00:18 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/isomp4/atoms.c:
+       * gst/isomp4/atoms.h:
+       * gst/isomp4/gstqtmux.c:
+       * gst/isomp4/gstqtmux.h:
+       * gst/isomp4/gstqtmuxmap.c:
+       * gst/isomp4/gstqtmuxmap.h:
+         isomp4: qtmux: Add Closed Caption support
+         Supports CEA 608 and CEA 708 CC streams
+         Also supports usage in "Robust Prefill" mode if the incoming caption
+         stream is constant (i.e. there is one incoming CC buffer for each
+         video frame).
+         https://bugzilla.gnome.org/show_bug.cgi?id=606643
+
+2018-02-06 15:38:00 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/isomp4/atoms.c:
+       * gst/isomp4/atoms.h:
+         isomp4: Make 'gmhd' atom usage more generic
+         Only the 'gmin' atom is required. Any other entry within it are
+         optional.
+         https://bugzilla.gnome.org/show_bug.cgi?id=606643
+
+2018-04-22 10:40:19 -0300  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/jpeg/gstjpegenc.c:
+         jpegenc: Accept sof-marker=4
+         sof-marker is 4 when input is in the RGB colorspace.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795463
+
+2018-04-02 16:06:35 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/rtp/gstrtpulpfecdec.c:
+       * gst/rtp/gstrtpulpfecdec.h:
+       * tests/check/elements/rtpulpfec.c:
+         ulpfecdec: output perfect seqnums
+         ULP FEC, as defined in RFC 5109, has the protected and protection
+         packets sharing the same ssrc, and a different payload type, and
+         implies rewriting the seqnums of the protected stream when encoding
+         the protection packets. This has the unfortunate drawback of not
+         being able to tell whether a lost packet was a protection packet.
+         rtpbasedepayload relies on gaps in the seqnums to set the DISCONT
+         flag on buffers it outputs. Before that commit, this created two
+         problems:
+         * The protection packets don't make it as far as the depayloader,
+         which means it will mark buffers as DISCONT every time the previous
+         packets were protected
+         * While we could work around the previous issue by looking at
+         the protection packets ignored and dropped in rtpptdemux, we
+         would still mark buffers as DISCONT when a FEC packet was lost,
+         as we cannot know that it was indeed a FEC packet, even though
+         this should have no impact on the decoding of the stream
+         With this commit, we consider that when using ULPFEC, gaps in
+         the seqnums are not a reliable indicator of whether buffers should
+         be marked as DISCONT or not, and thus rewrite the seqnums on
+         the decoding side as well to form a perfect sequence, this
+         obviously doesn't prevent the jitterbuffer from doing its job
+         as the ulpfec decoder is downstream from it.
+         https://bugzilla.gnome.org/show_bug.cgi?id=794909
+
+2018-04-17 17:57:16 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/rtsp/gstrtspsrc.c:
+       * tests/examples/rtsp/test-onvif.c:
+         Revert "rtspsrc: Fix up sendonly/recvonly attribute handling"
+         This reverts commit af273b4de9eb292c0b6af63665e10ca015895902.
+         While RFC 3264 (SDP) says that sendonly/recvonly are from the point of view of
+         the requester, the actual RTSP RFCs (RFC 2326 / 7826) disagree and say
+         the opposite, just like the ONVIF standard.
+         Let's follow those RFCs as we're doing RTSP here, and add a property at
+         a later time if needed to switch to the SDP RFC behaviour.
+         https://bugzilla.gnome.org/show_bug.cgi?id=793964
+
+2018-04-16 21:27:47 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/audioparsers/gstflacparse.c:
+         flacparse: Drain the parser when a CAPS event is received
+         After a CAPS event, in theory a new stream can start and it might start
+         with the FLAC headers again. We can't detect FLAC headers in the middle
+         of the stream, so we drain the parser to be able to detect either FLAC
+         headers after the CAPS event or the continuation of the previous stream.
+         This fixes for example
+         gst-launch-1.0 audiotestsrc num-buffers=200 ! flacenc ! c. \
+         audiotestsrc num-buffers=200 freq=880 ! flacenc ! c. \
+         concat name=c ! rtpgstpay ! udpsink host=127.0.0.1 port=5000
+         gst-launch-1.0 udpsrc multicast-group=127.0.0.1 port=5000 \
+         caps=application/x-rtp,media=application,clock-rate=90000,encoding-name=X-GST ! \
+         rtpgstdepay ! flacparse ! flacdec ! audioconvert ! pulsesin
+
+2018-04-16 10:52:56 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * README:
+       * common:
+         Automatic update of common submodule
+         From 3fa2c9e to ed78bee
+
+2018-04-05 16:05:12 +1000  Matthew Waters <matthew@centricular.com>
+
+       * ext/meson.build:
+       * ext/qt/gstqtglutility.cc:
+       * ext/qt/meson.build:
+       * tests/examples/meson.build:
+       * tests/examples/qt/meson.build:
+       * tests/examples/qt/qmlsink/CMakeLists.txt:
+       * tests/examples/qt/qmlsink/meson.build:
+       * tests/examples/qt/qmlsink/play.pro:
+       * tests/examples/qt/qmlsink/qmlsink.qrc:
+       * tests/examples/qt/qmlsrc/grabqml.pro:
+       * tests/examples/qt/qmlsrc/meson.build:
+       * tests/examples/qt/qmlsrc/qmlsrc.qrc:
+         meson: add build files for the qml plugin
+         Tested on linux with X11/wayland and semi-tested on Windows.
+         Windows crashes on item destruction however this is better than nothing.
+         Fix up some win32 build issues on the way with mismatched {} and
+         G_STMT_{START,END}
+
+2018-04-13 23:02:26 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/elements/flvmux.c:
+         flvmux test: refactor looped test.
+         Looping the test 500 times to only execute the test once every
+         33 times means we inited and deinited gstreamer 467 times
+         for no reason at all, which was annoying when running the test
+         with valgrind.
+
+2018-04-13 23:01:20 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/flv/gstflvmux.c:
+         flvmux: unref return of aggregator_pad_peek_buffer
+         We ended up leaking every single buffer going through the
+         muxer, which is far from ideal
+
+2018-04-13 22:49:43 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+         qtmux: Fix leak
+         gst_qt_mux_can_renegotiate () gets called everywhere following
+         that pattern:
+         return gst_qt_mux_can_renegotiate (ref(self));
+         This means the reference must be released both in the success
+         and failure cases, it was only done in the success case.
+
+2018-04-13 22:44:14 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/flv/gstflvmux.c:
+         flvmux: aggregate should not push EOS itself
+         Instead it is expected to return GST_FLOW_EOS, and let the
+         base class handle that.
+
+2018-04-13 21:19:02 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/gst-plugins-good.supp:
+         valgrind supps: ignore gnutls leaking a certificate
+         After investigating, we do dispose of the TLS connections
+         appropriately in the souphttpsrc test, which in turn
+         calls gnutls_deinit, but certificates get leaked anyway.
+
+2018-04-13 20:35:24 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/elements/souphttpsrc.c:
+         souphttpsrc test: free g_get_current_dir return
+
+2018-04-13 20:31:07 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/gst-plugins-good.supp:
+         valgrind supps: bring getaddrinfo suppression from -base
+
+2018-04-13 20:28:35 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/gst-plugins-good.supp:
+         valgrind supps: ignore more twolame conditional moves
+
+2018-04-13 17:37:47 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * tests/check/elements/rtpulpfec.c:
+         rtpulpfec tests: Fix leaks
+
+2018-02-16 23:40:50 +0100  Alicia Boya García <aboya@igalia.com>
+
+       * gst/matroska/matroska-demux.c:
+         matroskademux: Add comment about Opus clipping
+         https://bugzilla.gnome.org/show_bug.cgi?id=793523
+
+2018-04-11 20:28:00 +0000  Whoopie <whoopie79@gmx.com>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2object: Disable DMABuf for emulated formats
+         libv4l2 does not prevent exporting DMABuf even when emulated formats are
+         in use. As a side effect, userspace ends up with buffers of the original
+         formats which will cause issues.
+         https://bugzilla.gnome.org/show_bug.cgi?id=795097
+
+2018-04-08 20:42:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2object: Only use BT2020_12 for BT2020 v4l2 colorspace
+         BT2020_12 is not represented in V4L2, so drivers providing full colority
+         for BT2020 will set V4L2_XFER_FUNC_709 transfer function. To fix the
+         issue, we bump this to BT2020_12 if the resoltion is 4K, but we should
+         only do that if the colorspace is BT2020 to start with, otherwise it's
+         not possible to use normal BT709 for 4K 8bit formats.
+
+2018-04-08 13:43:56 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * sys/v4l2/gstv4l2object.c:
+         v4l2object: Always set the colorimetry in S_FMT
+         So far we were only setting colorimetry for OUTPUT devices (v4l2sink or
+         m2m sink pad). This prevented selecting through caps negotiation the
+         colorimetry for CAPTURE devices (v4l2src or m2m src pad). This is rarely
+         selectable, but trying is harmless.
+
+2018-04-11 21:41:58 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/monoscope/gstmonoscope.c:
+         monoscope: Only fixate pixel-aspect-ratio if the field exists
+
+2018-04-11 17:54:38 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * gst/multifile/gstsplitmuxsink.c:
+         splitmuxsink: Don't send fragment-opened-closed message if the reference ctx is NULL
+         It can happen during teardown that the reference context becomes NULL.
+         In that case, trying to send the fragment-opened-closed message would
+         lead to a crash.
+
+2018-04-11 09:12:09 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/multifile/gstsplitmuxsink.c:
+         splitmuxsink: Run gst_iterator_foreach() as long as it returns GST_ITERATOR_RESYNC
+         CID 1434160
+
+2018-04-11 08:51:32 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Fix comparision for extra caption atom
+         We want to make sure we have *enough* data for the potential 2nd
+         caption atom.
+         CID #1434161
+
+2018-04-11 08:42:54 +0200  Edward Hervey <edward@centricular.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Handle bogus caption samples
+         Corrupted files could potentially have multiple cdat/cdt2 atoms in
+         a sample entry, which is unclear how to handle.
+         Ignore repeated ones.
+         CID #1434162
+         CID #1434159
+
+2018-04-10 21:15:48 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/monoscope/gstmonoscope.c:
+         monoscope: Fixate pixel-aspect-ratio too and make sure the final caps are completely fixated
+         Otherwise e.g. this fails with assertions:
+         gst-launch-1.0 audiotestsrc ! audioconvert ! monoscope ! videoconvert ! \
+         videoscale ! video/x-raw,width=800,height=600 ! ximagesink
+
+2018-03-08 10:10:01 +0100  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/isomp4/gstqtmux.c:
+         qtmux: Add comments and doc about prefill mode
+
+2018-02-06 14:36:50 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/isomp4/gstqtmux.c:
+         qtmux: Refactor pad re-negotiation code
+         It was similar for all pads
+         https://bugzilla.gnome.org/show_bug.cgi?id=606643
+
+2018-01-31 15:10:03 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/isomp4/fourcc.h:
+       * gst/isomp4/qtdemux.c:
+       * gst/isomp4/qtdemux_types.c:
+         qtdemux: Detect and expose CEA 608/708 Closed Caption tracks
+         https://bugzilla.gnome.org/show_bug.cgi?id=606643
+
+2018-04-04 01:48:44 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/rtpmanager/gstrtprtxsend.c:
+         rtxsend: fix wrong memory layout assumption
+         The code responsible for creating retransmitted buffers
+         assumed the stored buffer had been created with
+         rtp_buffer_new_allocate when copying the extension data,
+         which isn't necessarily the case, for example when
+         the rtp buffers come from a udpsrc.
+         https://bugzilla.gnome.org/show_bug.cgi?id=794958
+
+2018-04-02 23:04:06 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * gst/rtpmanager/gstrtpbin.c:
+       * gst/rtpmanager/gstrtpbin.h:
+         rtpbin: new signal "get-storage"
+         Similar to the get-session and get-internal-session signals,
+         we expose a get-storage signal in addition to the
+         get-internal-storage signal to give access to the actual
+         element for applications that need to set properties on the
+         element, in particular "size-time"
+         https://bugzilla.gnome.org/show_bug.cgi?id=794910
+
+2018-03-29 19:19:21 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/multifile/gstsplitmuxsink.c:
+       * gst/multifile/gstsplitmuxsink.h:
+         splitmuxsink: Add new reset-muxer property
+         With this the muxer is not set to NULL after each segment but instead
+         only flush events are sent to it to reset the EOS state.
+         As a result, the muxer will keep stream state and e.g. mpegtsmux will
+         keep the packet continuity counter continuous between segments as needed
+         by hlssink2.
+         https://bugzilla.gnome.org/show_bug.cgi?id=794816
+
+2018-04-02 12:48:50 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/icles/Makefile.am:
+       * tests/icles/meson.build:
+       * tests/icles/v4l2src-test.c:
+         tests: remove broken and now pointless v4l2src-test
+         This tests APIs that don't exist any longer and also doesn't
+         work at all, and was last touched in a meaningful way in 2006.
+
+2018-03-21 00:19:37 +0900  Seungha Yang <pudding8757@gmail.com>
+
+       * sys/v4l2/gstv4l2object.c:
+       * sys/v4l2/gstv4l2object.h:
+         v4l2: Fix unknown type name ‘off_t’ error
+         Fix following build error
+         gstv4l2object.h:197:17: error: unknown type name ‘off_t’
+         gint fd,  off_t offset);
+         ^
+         https://bugzilla.gnome.org/show_bug.cgi?id=794533
+
+2017-05-25 03:44:39 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
+
+       * gst/rtsp/gstrtspsrc.c:
+         rtspsrc: reject segment seeks
+         https://bugzilla.gnome.org/show_bug.cgi?id=784681
+
+2018-02-13 11:50:05 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Handle variant of vorbis in mp4
+         Comes from gpac apparently. The codec_data uses the same packing
+         mechanism as matroska.
+         https://bugzilla.gnome.org/show_bug.cgi?id=738244
+
+2018-03-22 15:20:47 +0100  Edward Hervey <edward@centricular.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Check sample count is valid in PIFF parsing
+         The value stored in cenc_aux_sample_count wasn't in sync with the
+         parsing code that followed which checks whether all entries are
+         valid and present.
+         Only write the actual sample count when we know for sure.
+         CID #1427087
+
+2018-03-04 15:14:08 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+       * configure.ac:
+       * ext/qt/gstqtglutility.cc:
+         qt: Get EGL native display from QPA if platform header is available
+         https://bugzilla.gnome.org/show_bug.cgi?id=792378
+
+2018-03-06 02:14:34 +0100  Petr Kulhavy <brain@jikos.cz>
+
+       * gst/udp/gstudpsrc.c:
+       * gst/udp/gstudpsrc.h:
+         udpsrc: switch to using a buffer pool
+         This exposes a new property, mtu, which is used to determine the
+         initial size of buffers from the buffer pool. If received data
+         exceeds this, the element gracefully handles that in a manner similar
+         to what we had previously: a large memory gets filled and reallocated
+         at the next call to "fill".
+         The default size is set to 1500, which should cover most use cases.
+         With contributions from Mathieu Duponchelle <mathieu@centricular.com>
+         https://bugzilla.gnome.org/show_bug.cgi?id=772841
+
+2016-11-15 09:39:31 +0100  Petr Kulhavy <brain@jikos.cz>
+
+       * gst/udp/gstudpsrc.h:
+         udpsrc: optimize GstUdpSrc object for cache performance
+         Optimize GstUdpSrc for cache performance.
+         Move the hot properties, which are used by the read function, to the top:
+         @used_socket, @addr, @cancellable, @skip_first_bytes, @timeout,
+         @retrieve_sender_address.
+         Remove the unused property @ttl.
+         Where needed reorder so that holes are avoided (the 64-bit @timeout)
+         https://bugzilla.gnome.org/show_bug.cgi?id=772841
+
+2018-03-05 12:48:15 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/isomp4/qtdemux.c:
+         qtdemux: Fix seeking on streams with frame reordering
+         The samples table is sorted by DTS, not PTS. As such we can only get the
+         correct result when using a binary search on it, if we search for the
+         DTS.
+         Also if we only ever search for the frame, where the following frame is
+         the first one with a PTS after the search position, we will generally
+         stop searching too early if frames are reordered.
+         In forwards playback this is not really a problem (after the decoder
+         reordered the frames, clipping is happening), in reverse playback
+         it means that we can output one or more frames too few as we stop too
+         early and the decoder would never receive it.
+         https://bugzilla.gnome.org/show_bug.cgi?id=782118
+
+2018-03-20 11:36:32 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+       * gst/rtp/gstrtpreddec.c:
+       * gst/rtp/gstrtpredenc.c:
+       * gst/rtp/gstrtpulpfecdec.c:
+       * gst/rtp/gstrtpulpfecenc.c:
+       * gst/rtp/rtpstoragestream.c:
+       * tests/check/elements/rtpred.c:
+       * tests/check/elements/rtpulpfec.c:
+         rtp: Fix compilation with non-C99 compilers
+         By moving variable declarations out of loop headers.
+
+2018-03-20 09:24:19 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * NEWS:
+       * RELEASE:
+       * configure.ac:
+       * docs/plugins/gst-plugins-good-plugins.args:
+       * docs/plugins/inspect/plugin-1394.xml:
+       * docs/plugins/inspect/plugin-aasink.xml:
+       * docs/plugins/inspect/plugin-alaw.xml:
+       * docs/plugins/inspect/plugin-alpha.xml:
+       * docs/plugins/inspect/plugin-alphacolor.xml:
+       * docs/plugins/inspect/plugin-apetag.xml:
+       * docs/plugins/inspect/plugin-audiofx.xml:
+       * docs/plugins/inspect/plugin-audioparsers.xml:
+       * docs/plugins/inspect/plugin-auparse.xml:
+       * docs/plugins/inspect/plugin-autodetect.xml:
+       * docs/plugins/inspect/plugin-avi.xml:
+       * docs/plugins/inspect/plugin-cacasink.xml:
+       * docs/plugins/inspect/plugin-cairo.xml:
+       * docs/plugins/inspect/plugin-cutter.xml:
+       * docs/plugins/inspect/plugin-debug.xml:
+       * docs/plugins/inspect/plugin-deinterlace.xml:
+       * docs/plugins/inspect/plugin-dtmf.xml:
+       * docs/plugins/inspect/plugin-dv.xml:
+       * docs/plugins/inspect/plugin-effectv.xml:
+       * docs/plugins/inspect/plugin-equalizer.xml:
+       * docs/plugins/inspect/plugin-flac.xml:
+       * docs/plugins/inspect/plugin-flv.xml:
+       * docs/plugins/inspect/plugin-flxdec.xml:
+       * docs/plugins/inspect/plugin-gdkpixbuf.xml:
+       * docs/plugins/inspect/plugin-goom.xml:
+       * docs/plugins/inspect/plugin-goom2k1.xml:
+       * docs/plugins/inspect/plugin-gtk.xml:
+       * docs/plugins/inspect/plugin-icydemux.xml:
+       * docs/plugins/inspect/plugin-id3demux.xml:
+       * docs/plugins/inspect/plugin-imagefreeze.xml:
+       * docs/plugins/inspect/plugin-interleave.xml:
+       * docs/plugins/inspect/plugin-isomp4.xml:
+       * docs/plugins/inspect/plugin-jack.xml:
+       * docs/plugins/inspect/plugin-jpeg.xml:
+       * docs/plugins/inspect/plugin-lame.xml:
+       * docs/plugins/inspect/plugin-level.xml:
+       * docs/plugins/inspect/plugin-matroska.xml:
+       * docs/plugins/inspect/plugin-mpg123.xml:
+       * docs/plugins/inspect/plugin-mulaw.xml:
+       * docs/plugins/inspect/plugin-multifile.xml:
+       * docs/plugins/inspect/plugin-multipart.xml:
+       * docs/plugins/inspect/plugin-navigationtest.xml:
+       * docs/plugins/inspect/plugin-oss4.xml:
+       * docs/plugins/inspect/plugin-ossaudio.xml:
+       * docs/plugins/inspect/plugin-png.xml:
+       * docs/plugins/inspect/plugin-pulseaudio.xml:
+       * docs/plugins/inspect/plugin-qmlgl.xml:
+       * docs/plugins/inspect/plugin-replaygain.xml:
+       * docs/plugins/inspect/plugin-rtp.xml:
+       * docs/plugins/inspect/plugin-rtpmanager.xml:
+       * docs/plugins/inspect/plugin-rtsp.xml:
+       * docs/plugins/inspect/plugin-shapewipe.xml:
+       * docs/plugins/inspect/plugin-shout2.xml:
+       * docs/plugins/inspect/plugin-smpte.xml:
+       * docs/plugins/inspect/plugin-soup.xml:
+       * docs/plugins/inspect/plugin-spectrum.xml:
+       * docs/plugins/inspect/plugin-speex.xml:
+       * docs/plugins/inspect/plugin-taglib.xml:
+       * docs/plugins/inspect/plugin-twolame.xml:
+       * docs/plugins/inspect/plugin-udp.xml:
+       * docs/plugins/inspect/plugin-video4linux2.xml:
+       * docs/plugins/inspect/plugin-videobox.xml:
+       * docs/plugins/inspect/plugin-videocrop.xml:
+       * docs/plugins/inspect/plugin-videofilter.xml:
+       * docs/plugins/inspect/plugin-videomixer.xml:
+       * docs/plugins/inspect/plugin-vpx.xml:
+       * docs/plugins/inspect/plugin-wavenc.xml:
+       * docs/plugins/inspect/plugin-wavpack.xml:
+       * docs/plugins/inspect/plugin-wavparse.xml:
+       * docs/plugins/inspect/plugin-ximagesrc.xml:
+       * docs/plugins/inspect/plugin-y4menc.xml:
+       * meson.build:
+         Back to development
+
 === release 1.14.0 ===
 
 2018-03-19 20:18:22 +0000  Tim-Philipp Müller <tim@centricular.com>
          souphttpsrc: Make session sharing thread-safe on our side
          https://bugzilla.gnome.org/show_bug.cgi?id=780140
 
+2017-05-18 10:53:48 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * gst/audiofx/gststereo.c:
+         stereo: fix typo in plugin description
+
 2017-05-18 10:43:19 +0100  Tim-Philipp Müller <tim@centricular.com>
 
        * ext/shout2/gstshout2.c:
 
 2017-03-08 15:01:13 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
 
+       * gst/audiofx/gststereo.c:
+         docs: Port all docstring to gtk-doc markdown
+
+2017-03-08 15:01:13 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
+
        * ext/gtk/gstgtkbasesink.c:
        * ext/gtk/gstgtkglsink.c:
        * ext/gtk/gstgtksink.c:
          Otherwise we'll run into an assertion on specially crafted files.
          https://bugzilla.gnome.org/show_bug.cgi?id=773643
 
+2016-10-27 09:11:26 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * gst/audiofx/gststereo.c:
+         Explicitly define float constants as float
+         With MSVC, this gives the following warning:
+         warning C4305: 'function': truncation from 'double' to 'gfloat'
+         Apparently, MSVC does not figure out what type to use for constants
+         based on the assignment. This warning is very spammy, so let's try to
+         fix it.
+
 2016-10-27 11:23:51 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 
        * meson.build:
          Base class for the vp8dec and vp9dec.
          https://bugzilla.gnome.org/show_bug.cgi?id=755510
 
+2015-12-14 11:09:46 +0900  Vineeth TM <vineeth.tm@samsung.com>
+
+       * gst/audiofx/gststereo.c:
+         plugins-bad: Fix example pipelines
+         rename gst-launch --> gst-launch-1.0
+         replace old elements with new elements(ffmpegcolorspace -> videoconvert, ffenc_** -> avenc_**)
+         fix caps in examples
+         https://bugzilla.gnome.org/show_bug.cgi?id=759432
+
 2015-06-10 09:17:08 -0400  Xavier Claessens <xavier.claessens@collabora.com>
 
        * configure.ac:
          Rename property enums from ARG_ to PROP_
          Property enum items should be named PROP_ for consistency and readability.
 
+2015-04-27 10:55:13 +0100  Luis de Bethencourt <luis.bg@samsung.com>
+
+       * gst/audiofx/gststereo.c:
+         Rename property enums from ARG_ to PROP_
+         Property enum items should be named PROP_ for consistency and readability.
+
 2015-04-25 02:49:58 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
 
        * gst/rtpmanager/gstrtpjitterbuffer.c:
          osxvideosink: fix segfault when dealing with padded frames
          Fixes crashes with vtdec ! osxvideosink where VideoToolbox outputs padded UYVY
 
+2013-12-06 17:58:13 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/audiofx/gststereo.c:
+         stereo: Port to GStreamer 1.0 API
+
 2013-12-05 12:15:29 +0100  Sebastian Dröge <sebastian@centricular.com>
 
        * gst/law/mulaw-decode.c:
 
 2012-11-03 20:38:00 +0000  Tim-Philipp Müller <tim@centricular.net>
 
+       * gst/audiofx/gststereo.c:
+       * gst/audiofx/gststereo.h:
+         Fix FSF address
+         https://bugzilla.gnome.org/show_bug.cgi?id=687520
+
+2012-11-03 20:38:00 +0000  Tim-Philipp Müller <tim@centricular.net>
+
        * gst/dtmf/gstdtmfdetect.c:
        * gst/dtmf/gstdtmfdetect.h:
        * gst/dtmf/gstdtmfsrc.c:
 
 2012-10-17 17:34:26 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
 
+       * gst/audiofx/gststereo.c:
+         Use gst_element_class_set_static_metadata()
+         where possible. Avoids some string copies. Also re-indent
+         some stuff. Also some indent fixes here and there.
+
+2012-10-17 17:34:26 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
        * gst/dtmf/gstdtmfdetect.c:
        * gst/dtmf/gstdtmfsrc.c:
        * gst/dtmf/gstrtpdtmfdepay.c:
 
 2012-09-14 17:08:49 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
 
+       * gst/audiofx/gststereo.c:
+         replace gst_element_class_set_details_simple with gst_element_class_set_metadata
+
+2012-09-14 17:08:49 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
        * gst/dtmf/gstdtmfsrc.c:
        * gst/dtmf/gstrtpdtmfdepay.c:
          replace gst_element_class_set_details_simple with gst_element_class_set_metadata
 
 2012-04-05 18:02:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
 
+       * gst/audiofx/gststereo.c:
+         gst: Update for GST_PLUGIN_DEFINE() API changes
+
+2012-04-05 18:02:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
        * gst/dtmf/gstdtmf.c:
          gst: Update for GST_PLUGIN_DEFINE() API changes
 
        * tests/examples/v4l2/camctrl.c:
          controller: port to new controller location and api
 
+2011-11-04 18:52:35 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * gst/audiofx/gststereo.c:
+         controller: port to new controller location and api
+
 2011-11-04 17:39:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
 
        * gst/rtsp/gstrtspsrc.c:
          rtph264depay: fix segfault on empty payload
          https://bugzilla.gnome.org/show_bug.cgi?id=635843
 
+2010-11-25 19:24:56 +0100  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/audiofx/gststereo.c:
+         stereo: Remove dead assignments
+
 2010-11-25 19:06:27 +0100  Edward Hervey <bilboed@bilboed.com>
 
        * gst/dtmf/gstrtpdtmfdepay.c:
 
 2010-10-19 13:43:14 +0300  Stefan Kost <ensonic@users.sf.net>
 
+       * gst/audiofx/gststereo.c:
+         various (gst): add missing G_PARAM_STATIC_STRINGS flags
+         Canonicalize property names as needed.
+
+2010-10-19 13:43:14 +0300  Stefan Kost <ensonic@users.sf.net>
+
        * gst/dtmf/gstdtmfsrc.c:
        * gst/dtmf/gstrtpdtmfdepay.c:
        * gst/dtmf/gstrtpdtmfsrc.c:
 
 2010-03-18 17:30:26 +0100  Benjamin Otte <otte@redhat.com>
 
+       * gst/audiofx/gststereo.c:
+         gst_element_class_set_details => gst_element_class_set_details_simple
+
+2010-03-18 17:30:26 +0100  Benjamin Otte <otte@redhat.com>
+
        * gst/dtmf/gstdtmfdetect.c:
        * gst/dtmf/gstdtmfsrc.c:
        * gst/dtmf/gstrtpdtmfdepay.c:
          * gst/qtdemux/qtdemux.c: (qtdemux_audio_caps):
          Correctly distinguish 8bit vs 16bit raw audio.  Fixes #542410.
 
+2008-07-10 18:51:11 +0000  Stefan Kost <ensonic@users.sourceforge.net>
+
+         Document one more.
+         Original commit message from CVS:
+         * 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.interfaces:
+         * docs/plugins/gst-plugins-bad-plugins.prerequisites:
+         * docs/plugins/gst-plugins-bad-plugins.signals:
+         * docs/plugins/inspect/plugin-stereo.xml:
+         * gst/stereo/gststereo.c:
+         Document one more.
+
 2008-07-08 21:05:18 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
 
          gst/qtdemux/qtdemux.c: Set pixel-aspect-ratio in caps using display width and height provided in track.
          as the convolution is done out of place anyway. Should
          be done in place later.
 
+2007-08-09 17:39:47 +0000  Sebastian Dröge <slomo@circular-chaos.org>
+
+         Port the stereo element to GStreamer 0.10.
+         Original commit message from CVS:
+         * configure.ac:
+         * gst/stereo/Makefile.am:
+         * gst/stereo/gststereo.c: (gst_stereo_base_init),
+         (gst_stereo_class_init), (gst_stereo_init),
+         (gst_stereo_transform_ip), (gst_stereo_set_property),
+         (gst_stereo_get_property):
+         * gst/stereo/gststereo.h:
+         Port the stereo element to GStreamer 0.10.
+
 2007-08-09 10:54:05 +0000  Thomas Vander Stichele <thomas@apestaart.org>
 
          po/: Updated translations.
          * sys/vcd/vcdsrc.h:
          Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
 
+2006-06-01 22:00:26 +0000  Stefan Kost <ensonic@users.sourceforge.net>
+
+         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
+         Original commit message from CVS:
+         * ext/alsaspdif/alsaspdifsink.h:
+         * ext/amrwb/gstamrwbdec.h:
+         * ext/amrwb/gstamrwbenc.h:
+         * ext/amrwb/gstamrwbparse.h:
+         * ext/arts/gst_arts.h:
+         * ext/artsd/gstartsdsink.h:
+         * ext/audiofile/gstafparse.h:
+         * ext/audiofile/gstafsink.h:
+         * ext/audiofile/gstafsrc.h:
+         * ext/audioresample/gstaudioresample.h:
+         * ext/bz2/gstbz2dec.h:
+         * ext/bz2/gstbz2enc.h:
+         * ext/dirac/gstdiracdec.h:
+         * ext/directfb/dfbvideosink.h:
+         * ext/divx/gstdivxdec.h:
+         * ext/divx/gstdivxenc.h:
+         * ext/dts/gstdtsdec.h:
+         * ext/faac/gstfaac.h:
+         * ext/gsm/gstgsmdec.h:
+         * ext/gsm/gstgsmenc.h:
+         * ext/ivorbis/vorbisenc.h:
+         * ext/libfame/gstlibfame.h:
+         * ext/nas/nassink.h:
+         * ext/neon/gstneonhttpsrc.h:
+         * ext/polyp/polypsink.h:
+         * ext/sdl/sdlaudiosink.h:
+         * ext/sdl/sdlvideosink.h:
+         * ext/shout/gstshout.h:
+         * ext/snapshot/gstsnapshot.h:
+         * ext/sndfile/gstsf.h:
+         * ext/swfdec/gstswfdec.h:
+         * ext/tarkin/gsttarkindec.h:
+         * ext/tarkin/gsttarkinenc.h:
+         * ext/theora/theoradec.h:
+         * ext/wavpack/gstwavpackdec.h:
+         * ext/wavpack/gstwavpackparse.h:
+         * ext/xine/gstxine.h:
+         * ext/xvid/gstxviddec.h:
+         * ext/xvid/gstxvidenc.h:
+         * gst/cdxaparse/gstcdxaparse.h:
+         * gst/cdxaparse/gstcdxastrip.h:
+         * gst/colorspace/gstcolorspace.h:
+         * gst/festival/gstfestival.h:
+         * gst/freeze/gstfreeze.h:
+         * gst/gdp/gstgdpdepay.h:
+         * gst/gdp/gstgdppay.h:
+         * gst/modplug/gstmodplug.h:
+         * gst/mpeg1sys/gstmpeg1systemencode.h:
+         * gst/mpeg1videoparse/gstmp1videoparse.h:
+         * gst/mpeg2sub/gstmpeg2subt.h:
+         * gst/mpegaudioparse/gstmpegaudioparse.h:
+         * gst/multifilesink/gstmultifilesink.h:
+         * gst/overlay/gstoverlay.h:
+         * gst/playondemand/gstplayondemand.h:
+         * gst/qtdemux/qtdemux.h:
+         * gst/rtjpeg/gstrtjpegdec.h:
+         * gst/rtjpeg/gstrtjpegenc.h:
+         * gst/smooth/gstsmooth.h:
+         * gst/smoothwave/gstsmoothwave.h:
+         * gst/spectrum/gstspectrum.h:
+         * gst/speed/gstspeed.h:
+         * gst/stereo/gststereo.h:
+         * gst/switch/gstswitch.h:
+         * gst/tta/gstttadec.h:
+         * gst/tta/gstttaparse.h:
+         * gst/videodrop/gstvideodrop.h:
+         * gst/xingheader/gstxingmux.h:
+         * sys/directdraw/gstdirectdrawsink.h:
+         * sys/directsound/gstdirectsoundsink.h:
+         * sys/dxr3/dxr3audiosink.h:
+         * sys/dxr3/dxr3spusink.h:
+         * sys/dxr3/dxr3videosink.h:
+         * sys/qcam/gstqcamsrc.h:
+         * sys/vcd/vcdsrc.h:
+         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
+
 2006-06-01 21:07:26 +0000  Stefan Kost <ensonic@users.sourceforge.net>
 
          Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
          Define GstElementDetails as const and also static (when defined as
          global)
 
+2006-04-25 21:56:38 +0000  Stefan Kost <ensonic@users.sourceforge.net>
+
+         Define GstElementDetails as const and also static (when defined as global)
+         Original commit message from CVS:
+         * ext/amrwb/gstamrwbdec.c:
+         * ext/amrwb/gstamrwbenc.c:
+         * ext/amrwb/gstamrwbparse.c:
+         * ext/arts/gst_arts.c:
+         * ext/artsd/gstartsdsink.c:
+         * ext/audiofile/gstafparse.c:
+         * ext/audiofile/gstafsink.c:
+         * ext/audiofile/gstafsrc.c:
+         * ext/audioresample/gstaudioresample.c:
+         * ext/bz2/gstbz2dec.c:
+         * ext/bz2/gstbz2enc.c:
+         * ext/cdaudio/gstcdaudio.c:
+         * ext/directfb/dfbvideosink.c:
+         * ext/divx/gstdivxdec.c:
+         * ext/divx/gstdivxenc.c:
+         * ext/dts/gstdtsdec.c: (gst_dtsdec_base_init):
+         * ext/faac/gstfaac.c: (gst_faac_base_init):
+         * ext/faad/gstfaad.c:
+         * ext/gsm/gstgsmdec.c:
+         * ext/gsm/gstgsmenc.c:
+         * ext/hermes/gsthermescolorspace.c:
+         * ext/ivorbis/vorbisfile.c:
+         * ext/lcs/gstcolorspace.c:
+         * ext/libfame/gstlibfame.c:
+         * ext/libmms/gstmms.c: (gst_mms_base_init):
+         * ext/musepack/gstmusepackdec.c: (gst_musepackdec_base_init):
+         * ext/musicbrainz/gsttrm.c: (gst_musicbrainz_base_init):
+         * ext/nas/nassink.c: (gst_nassink_base_init):
+         * ext/neon/gstneonhttpsrc.c:
+         * ext/sdl/sdlaudiosink.c:
+         * ext/sdl/sdlvideosink.c:
+         * ext/shout/gstshout.c:
+         * ext/snapshot/gstsnapshot.c:
+         * ext/sndfile/gstsf.c:
+         * ext/swfdec/gstswfdec.c:
+         * ext/tarkin/gsttarkindec.c:
+         * ext/tarkin/gsttarkinenc.c:
+         * ext/theora/theoradec.c:
+         * ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init):
+         * ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init):
+         * ext/xvid/gstxviddec.c:
+         * ext/xvid/gstxvidenc.c:
+         * gst/cdxaparse/gstcdxaparse.c: (gst_cdxa_parse_base_init):
+         * gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_base_init):
+         * gst/chart/gstchart.c:
+         * gst/colorspace/gstcolorspace.c:
+         * gst/deinterlace/gstdeinterlace.c:
+         * gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_base_init):
+         * gst/festival/gstfestival.c:
+         * gst/filter/gstbpwsinc.c:
+         * gst/filter/gstiir.c:
+         * gst/filter/gstlpwsinc.c:
+         * gst/freeze/gstfreeze.c:
+         * gst/games/gstpuzzle.c: (gst_puzzle_base_init):
+         * gst/librfb/gstrfbsrc.c:
+         * gst/mixmatrix/mixmatrix.c:
+         * gst/mpeg1sys/gstmpeg1systemencode.c:
+         * gst/mpeg1videoparse/gstmp1videoparse.c:
+         * gst/mpeg2sub/gstmpeg2subt.c:
+         * gst/mpegaudioparse/gstmpegaudioparse.c:
+         * gst/multifilesink/gstmultifilesink.c:
+         * gst/overlay/gstoverlay.c:
+         * gst/passthrough/gstpassthrough.c:
+         * gst/playondemand/gstplayondemand.c:
+         * gst/qtdemux/qtdemux.c:
+         * gst/rtjpeg/gstrtjpegdec.c:
+         * gst/rtjpeg/gstrtjpegenc.c:
+         * gst/smooth/gstsmooth.c:
+         * gst/smoothwave/gstsmoothwave.c:
+         * gst/spectrum/gstspectrum.c:
+         * gst/speed/gstspeed.c:
+         * gst/stereo/gststereo.c:
+         * gst/switch/gstswitch.c:
+         * gst/tta/gstttadec.c: (gst_tta_dec_base_init):
+         * gst/tta/gstttaparse.c: (gst_tta_parse_base_init):
+         * gst/vbidec/gstvbidec.c:
+         * gst/videocrop/gstvideocrop.c:
+         * gst/videodrop/gstvideodrop.c:
+         * gst/virtualdub/gstxsharpen.c:
+         * gst/xingheader/gstxingmux.c: (gst_xing_mux_base_init):
+         * gst/y4m/gsty4mencode.c:
+         * sys/cdrom/gstcdplayer.c:
+         * sys/directdraw/gstdirectdrawsink.c:
+         * sys/directsound/gstdirectsoundsink.c:
+         * sys/glsink/glimagesink.c:
+         * sys/qcam/gstqcamsrc.c:
+         * sys/v4l2/gstv4l2src.c:
+         * sys/vcd/vcdsrc.c: (gst_vcdsrc_base_init):
+         * sys/ximagesrc/ximagesrc.c:
+         Define GstElementDetails as const and also static (when defined as
+         global)
+
 2006-04-25 21:39:46 +0000  Stefan Kost <ensonic@users.sourceforge.net>
 
          Define GstElementDetails as const and also static (when defined as global)
          * sys/ximagesrc/ximagesrc.c: (gst_ximagesrc_class_init):
          Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
 
+2006-04-08 21:48:01 +0000  Stefan Kost <ensonic@users.sourceforge.net>
+
+         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
+         Original commit message from CVS:
+         * ext/amrwb/gstamrwbdec.c: (gst_amrwbdec_class_init):
+         * ext/amrwb/gstamrwbenc.c: (gst_amrwbenc_class_init):
+         * ext/amrwb/gstamrwbparse.c: (gst_amrwbparse_class_init):
+         * ext/arts/gst_arts.c: (gst_arts_class_init):
+         * ext/artsd/gstartsdsink.c: (gst_artsdsink_class_init):
+         * ext/audiofile/gstafsink.c: (gst_afsink_class_init):
+         * ext/audiofile/gstafsrc.c: (gst_afsrc_class_init):
+         * ext/audioresample/gstaudioresample.c:
+         * ext/cdaudio/gstcdaudio.c: (gst_cdaudio_class_init):
+         * ext/directfb/dfbvideosink.c: (gst_dfbvideosink_class_init):
+         * ext/divx/gstdivxdec.c: (gst_divxdec_class_init):
+         * ext/hermes/gsthermescolorspace.c:
+         (gst_hermes_colorspace_class_init):
+         * ext/ivorbis/vorbisfile.c: (gst_ivorbisfile_class_init):
+         * ext/jack/gstjack.c: (gst_jack_class_init):
+         * ext/jack/gstjackbin.c: (gst_jack_bin_class_init):
+         * ext/lcs/gstcolorspace.c: (gst_colorspace_class_init):
+         * ext/libfame/gstlibfame.c: (gst_fameenc_class_init):
+         * ext/musicbrainz/gsttrm.c: (gst_musicbrainz_class_init):
+         * ext/nas/nassink.c: (gst_nassink_class_init):
+         * ext/shout/gstshout.c: (gst_icecastsend_class_init):
+         * ext/snapshot/gstsnapshot.c: (gst_snapshot_class_init):
+         * ext/sndfile/gstsf.c: (gst_sf_class_init):
+         * ext/swfdec/gstswfdec.c: (gst_swfdecbuffer_class_init),
+         (gst_swfdec_class_init):
+         * ext/tarkin/gsttarkindec.c: (gst_tarkindec_class_init):
+         * ext/tarkin/gsttarkinenc.c: (gst_tarkinenc_class_init):
+         * gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_class_init):
+         * gst/chart/gstchart.c: (gst_chart_class_init):
+         * gst/colorspace/gstcolorspace.c: (gst_colorspace_class_init):
+         * gst/deinterlace/gstdeinterlace.c: (gst_deinterlace_class_init):
+         * gst/festival/gstfestival.c: (gst_festival_class_init):
+         * gst/filter/gstbpwsinc.c: (gst_bpwsinc_class_init):
+         * gst/filter/gstiir.c: (gst_iir_class_init):
+         * gst/filter/gstlpwsinc.c: (gst_lpwsinc_class_init):
+         * gst/librfb/gstrfbsrc.c: (gst_rfbsrc_class_init):
+         * gst/mixmatrix/mixmatrix.c: (gst_mixmatrix_class_init):
+         * gst/mpeg1sys/gstmpeg1systemencode.c:
+         (gst_system_encode_class_init):
+         * gst/mpeg1videoparse/gstmp1videoparse.c:
+         (gst_mp1videoparse_class_init):
+         * gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_class_init):
+         * gst/mpegaudioparse/gstmpegaudioparse.c:
+         (gst_mp3parse_class_init):
+         * gst/overlay/gstoverlay.c: (gst_overlay_class_init):
+         * gst/passthrough/gstpassthrough.c: (passthrough_class_init):
+         * gst/playondemand/gstplayondemand.c: (play_on_demand_class_init):
+         * gst/rtjpeg/gstrtjpegdec.c: (gst_rtjpegdec_class_init):
+         * gst/rtjpeg/gstrtjpegenc.c: (gst_rtjpegenc_class_init):
+         * gst/smooth/gstsmooth.c: (gst_smooth_class_init):
+         * gst/smoothwave/gstsmoothwave.c: (gst_smoothwave_class_init):
+         * gst/spectrum/gstspectrum.c: (gst_spectrum_class_init):
+         * gst/stereo/gststereo.c: (gst_stereo_class_init):
+         * gst/switch/gstswitch.c: (gst_switch_class_init):
+         * gst/tta/gstttadec.c: (gst_tta_dec_class_init):
+         * gst/tta/gstttaparse.c: (gst_tta_parse_class_init):
+         * gst/vbidec/gstvbidec.c: (gst_vbidec_class_init):
+         * gst/videocrop/gstvideocrop.c: (gst_video_crop_class_init):
+         * gst/virtualdub/gstxsharpen.c: (gst_xsharpen_class_init):
+         * gst/y4m/gsty4mencode.c: (gst_y4mencode_class_init):
+         * sys/cdrom/gstcdplayer.c: (cdplayer_class_init):
+         * sys/directsound/gstdirectsoundsink.c:
+         (gst_directsoundsink_class_init):
+         * sys/dxr3/dxr3audiosink.c: (dxr3audiosink_class_init):
+         * sys/dxr3/dxr3spusink.c: (dxr3spusink_class_init):
+         * sys/dxr3/dxr3videosink.c: (dxr3videosink_class_init):
+         * sys/qcam/gstqcamsrc.c: (gst_qcamsrc_class_init):
+         * sys/v4l2/gstv4l2colorbalance.c:
+         (gst_v4l2_color_balance_channel_class_init):
+         * sys/v4l2/gstv4l2tuner.c: (gst_v4l2_tuner_channel_class_init),
+         (gst_v4l2_tuner_norm_class_init):
+         * sys/ximagesrc/ximagesrc.c: (gst_ximagesrc_class_init):
+         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
+
 2006-04-08 21:21:45 +0000  Stefan Kost <ensonic@users.sourceforge.net>
 
          Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
 
 2006-04-01 10:09:11 +0000  Thomas Vander Stichele <thomas@apestaart.org>
 
+       * gst/audiofx/gststereo.c:
+         rework build; add translations for v4l2
+         Original commit message from CVS:
+         rework build; add translations for v4l2
+
+2006-04-01 10:09:11 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+
        * gst/equalizer/gstiirequalizer.c:
        * gst/qtdemux/qtdemux.c:
        * gst/spectrum/gstspectrum.c:
          * ext/lame/gstlame.h:
          Port lame plugin
 
+2005-07-05 10:51:49 +0000  Andy Wingo <wingo@pobox.com>
+
+         Way, way, way too many files: Remove crack comment from the 2000 era.
+         Original commit message from CVS:
+         2005-07-05  Andy Wingo  <wingo@pobox.com>
+         * Way, way, way too many files:
+         Remove crack comment from the 2000 era.
+
 2005-07-05 10:51:41 +0000  Andy Wingo <wingo@pobox.com>
 
          Way, way, way too many files: Remove crack comment from the 2000 era.
          * gst/monoscope/gstmonoscope.c: (gst_monoscope_class_init):
          debug info
 
+2004-07-27 21:51:30 +0000  Steve Lhomme <steve.lhomme@free.fr>
+
+       * gst/audiofx/gststereo.c:
+         fix local includes and 64 bits constants
+         Original commit message from CVS:
+         fix local includes and 64 bits constants
+
 2004-07-26 15:42:18 +0000  Benjamin Otte <otte@gnome.org>
 
          ext/lame/gstlame.c: add debugging category, add error checks like checking return values of setup calls, make sure it...
          Original commit message from CVS:
          don't trust lame_init to set good values as defaults
 
+2004-03-15 19:32:27 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+
+       * gst/audiofx/gststereo.c:
+         don't mix tabs and spaces
+         Original commit message from CVS:
+         don't mix tabs and spaces
+
 2004-03-15 19:32:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>
 
        * ext/lame/gstlame.c:
          Original commit message from CVS:
          don't mix tabs and spaces
 
+2004-03-15 16:32:54 +0000  Johan Dahlin <johan@gnome.org>
+
+         *.h: Revert indenting
+         Original commit message from CVS:
+         * *.h: Revert indenting
+
 2004-03-15 16:32:53 +0000  Johan Dahlin <johan@gnome.org>
 
          *.h: Revert indenting
          Original commit message from CVS:
          * *.h: Revert indenting
 
+2004-03-14 22:34:33 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+
+       * gst/audiofx/gststereo.c:
+       * gst/audiofx/gststereo.h:
+         gst-indent
+         Original commit message from CVS:
+         gst-indent
+
 2004-03-14 22:34:30 +0000  Thomas Vander Stichele <thomas@apestaart.org>
 
        * ext/lame/gstlame.c:
          Original commit message from CVS:
          Uses new tagging framework
 
+2003-12-04 10:37:38 +0000  Andy Wingo <wingo@pobox.com>
+
+       * gst/audiofx/gststereo.c:
+         remove copyright field from plugins
+         Original commit message from CVS:
+         remove copyright field from plugins
+
 2003-12-04 10:37:35 +0000  Andy Wingo <wingo@pobox.com>
 
        * ext/lame/gstlame.c:
          Original commit message from CVS:
          change _connect to _link
 
+2003-11-16 22:02:23 +0000  Leif Johnson <leif@ambient.2y.net>
+
+       * gst/audiofx/gststereo.c:
+         + checking in plugin category changes
+         Original commit message from CVS:
+         + checking in plugin category changes
+
+2003-11-07 12:47:02 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+
+       * gst/audiofx/gststereo.h:
+         Remove all config.h includes from header files, add it to each source file and remove duplicate config.h includes fro...
+         Original commit message from CVS:
+         Remove all config.h includes from header files, add it to each source file and remove duplicate config.h includes from several source files
+
 2003-11-07 12:46:51 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
 
        * ext/lame/gstlame.h:
          Original commit message from CVS:
          Remove all config.h includes from header files, add it to each source file and remove duplicate config.h includes from several source files
 
+2003-11-02 22:34:11 +0000  Benjamin Otte <otte@gnome.org>
+
+       * gst/audiofx/gststereo.c:
+         fix for new plugin system
+         Original commit message from CVS:
+         fix for new plugin system
+
 2003-11-02 00:13:26 +0000  Iain Holmes <iain@prettypeople.org>
 
        * ext/lame/gstlame.c:
          Original commit message from CVS:
          Fix typo in Andy's commit
 
+2003-10-08 16:08:19 +0000  Andy Wingo <wingo@pobox.com>
+
+       * gst/audiofx/gststereo.c:
+         /GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488.
+         Original commit message from CVS:
+         /GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488.
+
 2003-10-08 16:08:10 +0000  Andy Wingo <wingo@pobox.com>
 
        * ext/lame/gstlame.c:
          Original commit message from CVS:
          patch from hadess, modified
 
+2003-06-29 19:46:13 +0000  Benjamin Otte <otte@gnome.org>
+
+       * gst/audiofx/gststereo.c:
+         compatibility fix for new GST_DEBUG stuff.
+         Original commit message from CVS:
+         compatibility fix for new GST_DEBUG stuff.
+         Includes fixes for missing includes for config.h and unistd.h
+         I only ensured for plugins I can build that they work, so if some of them are still broken, you gotta fix them yourselves unfortunately.
+
 2003-06-29 19:46:09 +0000  Benjamin Otte <otte@gnome.org>
 
        * ext/lame/gstlame.c:
          Original commit message from CVS:
          api change
 
+2002-09-18 19:02:52 +0000  Christian Schaller <uraeus@gnome.org>
+
+       * gst/audiofx/gststereo.c:
+         plugins part of license field patch
+         Original commit message from CVS:
+         plugins part of license field patch
+
 2002-09-18 19:02:46 +0000  Christian Schaller <uraeus@gnome.org>
 
        * ext/lame/gstlame.c:
          Original commit message from CVS:
          reorder
 
+2002-04-20 21:42:51 +0000  Andy Wingo <wingo@pobox.com>
+
+       * gst/audiofx/gststereo.c:
+         a hack to work around intltool's brokenness a current check for mpeg2dec details->klass reorganizations an element br...
+         Original commit message from CVS:
+         * a hack to work around intltool's brokenness
+         * a current check for mpeg2dec
+         * details->klass reorganizations
+         * an element browser that uses details->klass
+         * separated cdxa parse out from the avi directory
+
+2002-04-11 20:42:26 +0000  Andy Wingo <wingo@pobox.com>
+
+       * gst/audiofx/gststereo.c:
+         GstPadTemplate <-> gst_pad_template <-> GST_PAD_TEMPLATE same with *factory and typefind.
+         Original commit message from CVS:
+         GstPadTemplate <-> gst_pad_template <-> GST_PAD_TEMPLATE
+         same with *factory and typefind.
+         also, some -Werror fixes.
+
 2002-04-11 20:42:25 +0000  Andy Wingo <wingo@pobox.com>
 
        * ext/lame/gstlame.c:
          * filter newlines out of GST_DEBUG statements to reflect new core behavior
          * fixes to adder's caps, again
 
+2002-03-20 21:45:04 +0000  Andy Wingo <wingo@pobox.com>
+
+       * gst/audiofx/gststereo.c:
+       * gst/audiofx/gststereo.h:
+         s/Gnome-Streamer/GStreamer/
+         Original commit message from CVS:
+         s/Gnome-Streamer/GStreamer/
+
 2002-03-20 21:45:03 +0000  Andy Wingo <wingo@pobox.com>
 
        * ext/lame/gstlame.c:
          Original commit message from CVS:
          fix compile error (untested)
 
+2002-03-19 04:10:06 +0000  Andy Wingo <wingo@pobox.com>
+
+       * gst/audiofx/gststereo.c:
+         removal of //-style comments don't link plugins to core libs -- the versioning is done internally to the plugins with...
+         Original commit message from CVS:
+         * removal of //-style comments
+         * don't link plugins to core libs -- the versioning is done internally to the plugins with the plugin_info struct,
+         and symbol resolution is lazy, so we can always know if a plugin can be loaded by the plugin_info data. in theory.
+
 2002-03-19 04:10:05 +0000  Andy Wingo <wingo@pobox.com>
 
        * ext/lame/Makefile.am:
          * link plugins to GST_LIBS
          * rearrange rules to a common format
 
+2001-12-22 23:26:33 +0000  Andy Wingo <wingo@pobox.com>
+
+       * gst/audiofx/gststereo.c:
+       * gst/audiofx/gststereo.h:
+         Initial revision
+         Original commit message from CVS:
+         Initial revision
+
 2001-12-21 12:47:09 +0000  Wim Taymans <wim.taymans@gmail.com>
 
        * ext/lame/gstlame.c: