=== release 1.18.5 ===

2021-09-08 20:02:48 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* gst-plugins-good.doap:
	* meson.build:
	  Release 1.18.5

2021-08-03 19:12:11 +0900  Seungha Yang <seungha@centricular.com>

	* ext/jpeg/gstjpegdec.c:
	  jpegdec: Fix crash when interlaced field height is not DCT block size aligned
	  In case of interlaced JPEG file, we are doubling stride.
	  The scratch scan line should take account of it as well.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1042>

2021-04-13 09:23:12 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: Remove some dead code
	  stop is not used after this point, nor do we create a new segment
	  here since 84725d62b57bc74ce34abde755f35bf8f948f94d
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1076>

2021-04-10 02:53:51 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: Do not overwrite the known duration after a seek
	  This breaks the duration query and also the seeking query.
	  Broke in 5f1a732bc7b76a6f1b8aa5f26b6e76fbca0261c7
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1076>

2021-04-10 04:40:46 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: Just assign the segment instead of memcpy
	  Assignments copy by value, we don't need to memcpy...
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1076>

2021-04-10 03:09:44 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: De-dup seek event seqnums to avoid multiple seeks
	  Seek events are sent upstream on each sink, so if we receive multiple
	  seeks with the same seqnum, we must only perform one seek, not N seeks
	  where N = the number of sinks in the pipeline connected to rtspsrc.
	  This is the same thing done by demuxers like qtdemux or matrsokademux.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1075>

2021-07-08 02:22:20 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/multifile/gstsplitmuxsink.c:
	  splitmuxsink: always use factory property when set
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1074>

2021-09-02 08:38:54 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/avi/gstavidemux.c:
	  avidemux: Also detect 0x000001 as H264 byte-stream start code in codec_data
	  This works around some AVI files storing byte-stream data in the
	  codec_data. The previous workaround was only checking for
	  0x00000001 (4 bytes) instead of 0x000001 (3 bytes).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1073>

2021-08-27 14:32:45 +0200  Edward Hervey <edward@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Force stream-start push when re-using EOS'd streams
	  When re-using streams, we *do* need to push a `stream-start` event downstream if
	  we previously were EOS'd. Failure to do that would never remove the EOS status
	  on all downstream elements and cause weird issues.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1068>

2021-08-24 13:28:22 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: add depth for ProRes 4:4:4:4 variants if available
	  Might be 24bpp in case an alpha channel is coded but
	  the image is always opaque.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1062>

2021-08-22 23:16:26 +0000  Ruslan Khamidullin <ruslank@borisfx.com>

	* gst/isomp4/gstqtmux.c:
	  qtmux: for Apple ProRes, allow overriding pixel bit depth for 4:4:4:4 variants
	  e.g. when exporting an opaque image, yet with alpha channel.
	  Apple ProRes certification requires that, when a ProRes-writing
	  application *knows* that the entire frame is opaque, the application
	  writes only RGB without alpha even when the clip is RGBA. For that,
	  this tiny change allows the app to override pixel depth when writing ProRes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1062>

2021-06-16 16:30:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/rtp/gstrtph265depay.c:
	  rtph265depay: update codec_data in caps regardless of format
	  Updating of codec_data in the caps is important to propagate changes
	  in sps/pps/vps via NALs. Without this, downstream does not renegotiate
	  when upstream changes resolution.
	  The comment referring to rtph264pay is from 2015 and is out of date.
	  rtph264pay stopped doing that in 2017 with commit
	  dabeed52a995d27e16eba9e4617e61eb0bcd44c4
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1025>

2021-08-15 12:26:38 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/soup/gstsouphttpsrc.c:
	  souphttpsrc: Always use the content decoder but set `Accept-Encoding: identity` if no compression should be used
	  Some servers respond with gzip-encoded responses regardless of whether
	  the request allowed it to be used in the response. By always having the
	  content decoder enabled, these invalid responses can be decoded
	  correctly while for well-behaving servers the `compress` property
	  selects between allowing compressed responses or not.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/833
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1054>

2021-07-01 13:18:45 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtpmanager/gstrtpssrcdemux.c:
	  rtpssrcdemux: Remove pads and reset the element also in READY->NULL
	  Mostly for completeness.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1027>

2021-07-01 13:18:09 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtpmanager/gstrtpptdemux.c:
	  rtpptdemux: Remove pads also in PAUSED->READY
	  They're based on per-stream information and that should be reset
	  whenever going to READY state.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1027>

2021-06-26 20:00:03 +0900  Seungha Yang <seungha@centricular.com>

	* gst/udp/gstmultiudpsink.c:
	  multiudpsink: Fix broken SO_SNDBUF get/set on Windows
	  SO_SNDBUF has been undefined on Windows because of missing WinSock2.h
	  include. And don't use native socket functions (e.g., setsockopt())
	  if code is expected to be built on Windows. We don't link ws2_32.lib
	  for this plugin.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1026>

2020-11-03 15:58:30 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/qt/gstqsgtexture.cc:
	* ext/qt/gstqsgtexture.h:
	* ext/qt/qtitem.cc:
	  qmlglsink: Keep old buffers around a bit longer if they were bound by QML
	  We don't know exactly when QML will stop using them but it should be
	  safe to unref them after at least 2 more buffers were bound.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1009>

2021-06-03 20:33:45 +1000  Matthew Waters <matthew@centricular.com>

	* ext/qt/qtitem.cc:
	  qtitem: don't potentially leak a large number of buffers
	  The only other place where these queued buffers are removed, is in
	  setCaps() but that is not called at all on shutdown so this list of
	  buffers could not be removed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1005>

2021-05-29 12:54:22 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/rtp/gstrtpjpegpay.c:
	  rtpjpegpay: fix image corruption when compiled with MSVC on Windows
	  On Windows with MSVC, jpeg_header_size would end up 2 bytes larger
	  than it should be. This then leads to the first 2 bytes of the
	  actual jpeg image data to be dropped, because we think those
	  belong to the header, which results in an undecodable image when
	  reconstructed in the depayloader.
	  What happens is that when the compiler evaluates
	  jpeg_header_size = mem.offset + read_u16_and_inc_offset_by_2(&mem);
	  it actually uses the mem.offset value after it has been increased
	  by the function call on the right hand size of the equation.
	  From section 6.5 of the C99 spec:
	  3. The grouping of operators and operands is indicated by the syntax [74].
	  Except as specified later (for the function-call (), &&, ||, ?:, and
	  comma operators), the order of evaluation of subexpressions and the
	  order in which side effects take place are both unspecified.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/889
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1003>

2021-05-26 00:23:56 +0900  Seungha Yang <seungha@centricular.com>

	* gst/deinterlace/gstdeinterlace.c:
	  deinterlace: Drop "field-order" field while transforming caps
	  Like other basetransform subclasses are doing, drop field
	  which can be converted by deinterlace.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1001>

2021-05-25 20:10:34 +0900  Seungha Yang <seungha@centricular.com>

	* gst/deinterlace/gstdeinterlace.c:
	  deinterlace: Drop field-order field if outputting progressive
	  Progressive with field-order doesn't make sense
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1001>

2021-05-23 15:14:11 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/wavparse/gstwavparse.c:
	  wavparse: use g_strndup() for copying text data
	  So we don't rely on NUL terminators inside the data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1000>

2021-05-23 13:29:07 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/wavparse/gstwavparse.c:
	  wavparse: clean up adtl/note/labl chunk parsing
	  We were passing the size of the adtl chunk to the note/labl
	  sub-chunk parsing function, which means we may memdup lots of
	  data after the chunk string's NUL terminator that doesn't
	  really belong to it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1000>

2021-05-23 13:24:21 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/wavparse/gstwavparse.c:
	  wavparse: guard against overflow when comparing chunk sizes
	  Could be rewritten as lsize > (size - 8) a well, but the
	  extra check seems clearer. Doesn't look like it was problematic,
	  lsize wasn't actually used when parsing the sub-chunks.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1000>

2021-05-07 11:16:47 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/udp/gstudpsrc.c:
	  udpsrc: Plug leaks of saddr in error cases
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/986>

2021-05-07 11:16:21 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/udp/gstudpsrc.c:
	  udpsrc: Whitespace
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/986>

2021-05-07 00:43:44 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/deinterlace/gstdeinterlace.c:
	  deinterlace: Plug a method subobject leak
	  Changing the method would leak the previous method.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/985>

2021-04-30 08:12:47 +1000  Jan Schmidt <jan@centricular.com>

	* gst/isomp4/atoms.c:
	* gst/isomp4/atoms.h:
	  qtmux: Make sure to write 64-bit STCO table when needed.
	  qtmux attempts to choose between writing a 32-bit stco chunk offset table
	  when it can, but switch to a 64-bit co64 table when file offsets go over
	  4GB.
	  This patch fixes a problem where the atom handling code was checking
	  mdat-relative offsets instead of the final file offset (computed by
	  adding the mdat position plus the mdat-relative offset) - leading to
	  problems where files with a size between 4GB and 4GB+offset-of-the-mdat
	  would write incorrect STCO tables with some samples having truncated
	  32-bit offsets.
	  Smaller files write STCO correctly, larger files would switch to
	  co64 and also output correctly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/972>

2021-04-22 15:01:32 +0800  Hou Qi <qi.hou@nxp.com>

	* sys/v4l2/gstv4l2object.c:
	  v4l2object: Add interlace-mode back to caps for camera
	  skip_try_fmt_probes is set to TRUE for v4l2src to skip interlace-mode and
	  colorimetry when probe caps. gst_v4l2_object_set_format_full() will add
	  colorimetry back to caps when iterating over the negotiated caps. There is
	  one case that v4l2src is first in preview state then starts recording.
	  v4l2src caps will change with an additional interlace-mode structure after
	  renegotiation, then v4l2src needs to reset. But this camera driver can't
	  orphan buffer pool, it causes require buffer failed as streaming is still
	  in active state.
	  To fix this, also need to add interlace-mode back to caps for camera to
	  avoid reset.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/971>

2021-04-22 08:57:23 +0200  Edward Hervey <edward@centricular.com>

	* gst/rtpmanager/gstrtpjitterbuffer.c:
	  rtpjitterbuffer: Avoid generation of invalid timestamps
	  When updating timestamps and timer timeouts with a new offset, make sure that
	  the resulting value is valid (and not a negative (signed) value which ends up in
	  a massive (unsigned) value).
	  Fixes #571
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/963>

2021-04-19 01:29:33 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: Fix race saving seek event seqnum.
	  We need to save the seek seqnum before the flush stop event
	  since that will start the basesrc task which may send the segment
	  event before we're ready.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/957>

2021-04-13 11:30:51 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtpmanager/gstrtpjitterbuffer.c:
	  rtpjitterbuffer: Check srcresult before waiting on the condition variable too
	  It might've been set to FLUSHING between the last check and the waiting,
	  and in that case we'd be waiting here forever now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/948>

2021-04-10 01:55:28 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: Using multicast UDP has no relation to seekability
	  The transport has no relation to whether a media can be seeked. The
	  range response having a duration is the correct thing to check for.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/947>

2021-04-10 01:54:48 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: Add more logging for range parsing and seekable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/947>

2021-04-06 17:02:34 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/rtpmanager/rtpjitterbuffer.c:
	  rtpjitterbuffer: More logging when calculating rfc7273 timestamps
	  This code can be fragile, since it is very exacting in the timestamps
	  that it will accept. Add more logging so it's easier to debug issues
	  and figure out whether it's a bug in the calculation or something
	  wrong in the incoming buffers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/946>

2021-03-18 19:52:53 +1100  Matthew Waters <matthew@centricular.com>

	* ext/jack/gstjack.c:
	* ext/jack/gstjackaudiosink.c:
	* ext/jack/gstjackaudiosrc.c:
	* ext/pulse/pulsesink.h:
	* ext/qt/gstqsgtexture.cc:
	* ext/qt/gstqtglutility.cc:
	* ext/qt/qtglrenderer.cc:
	* ext/qt/qtitem.cc:
	* ext/qt/qtwindow.cc:
	* ext/vpx/gstvpxdec.c:
	* ext/vpx/gstvpxenc.c:
	* gst/audioparsers/gstac3parse.h:
	* sys/rpicamsrc/gstrpicamsrc.c:
	* sys/ximage/ximageutil.c:
	  gst: don't use volatile to mean atomic
	  volatile is not sufficient to provide atomic guarantees and real atomics
	  should be used instead.  GCC 11 has started warning about using volatile
	  with atomic operations.
	  https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
	  Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/941>

2021-03-26 16:26:22 +0800  Hou Qi <qi.hou@nxp.com>

	* sys/v4l2/gstv4l2object.c:
	  v4l2object: Use default colorimetry if that in caps is unknown
	  Some streams have unknown colorimetry in caps, but v4l2object sets
	  default values for each primaries. It will cause check colorimetry
	  fail when do gst_v4l2_video_colorimetry_matches().
	  To fix this, need to keep the unknown colorimetry in caps same as
	  the default value set by v4l2object.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/930>

2021-03-23 16:59:28 +0800  Hou Qi <qi.hou@nxp.com>

	* sys/v4l2/gstv4l2object.c:
	  v4l2object: Avoid colorimetry mismatch for streams with invalid colorimetry
	  video-info sets gst colorimetry to default value when colorimetry in caps
	  is unparsable or invalid. Then v4l2object uses this gst colorimetry to do
	  mapping with v4l2 colorimetry. This may cause colorimetry mismatch when
	  check mapped gst colorimetry with that read from caps directly.
	  To fix this, need to correct gst colorimetry as that parsed from video-info
	  when check gst_v4l2_video_colorimetry_matches().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/922>

2021-03-19 10:52:26 +0800  Hou Qi <qi.hou@nxp.com>

	* sys/v4l2/gstv4l2object.c:
	  v4l2object: Add support for hdr10 stream playback
	  Colorimetry of hdr10 video is bt2100-pq with transfer as
	  GST_VIDEO_TRANSFER_SMPTE2084. So map GST_VIDEO_TRANSFER_SMPTE2084
	  to V4L2_XFER_FUNC_SMPTE2084 to support hdr10 stream playback.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/921>

2021-03-18 17:42:02 +0000  Alba Mendez <me@alba.sh>

	* docs/gst_plugins_cache.json:
	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: Fix more signals
	  Behaviour change in GLib causes select-stream signal to discard
	  the value returned by handlers. See !909 for more info.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/920>

2021-03-17 15:54:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* docs/gst_plugins_cache.json:
	* gst/rtsp/gstrtspsrc.c:
	  Update docs cache and fix before-send signal doc syntax
	  The docs for before-send were missing because of this
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/918>

2021-03-17 13:18:34 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: Fix accumulation of before-send signal return values
	  Since glib 2.62, the accumulated return values in RUN_CLEANUP override the
	  accumulated return values in RUN_FIRST. Since:
	  1. We have a default handler that always returns TRUE, and
	  2. User handlers are only run in RUN_FIRST, and
	  3. Our accumulator just takes the latest return value
	  We were discarding the return value from the user handler and always
	  sending messages even if the user handler said not to. See
	  https://gitlab.gnome.org/GNOME/glib/-/issues/2352 for more details.
	  This signal does not need RUN_CLEANUP or RUN_FIRST, so just change it
	  to RUN_LAST so that it's emitted exactly once and accumulated once.
	  With this fix, this signal can now be used to intercept PAUSE when
	  going to GST_STATE_NULL so that the server does a TEARDOWN (if
	  necessary) and not a PAUSE, which will confuse other RTSP clients when
	  playing shared media.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/918>

2021-03-16 19:25:36 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtpmanager/gstrtpjitterbuffer.c:
	  rtpjitterbuffer: Fix parsing of the mediaclk:direct= field
	  Due to an off-by-one when parsing the string, the most significant digit
	  or the clock offset was skipped when parsing the offset.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/910>

2021-03-15 19:49:05 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/gst_plugins_cache.json:
	* meson.build:
	  Back to development

=== release 1.18.4 ===

2021-03-15 17:48:28 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* docs/gst_plugins_cache.json:
	* gst-plugins-good.doap:
	* meson.build:
	  Release 1.18.4

2021-03-04 13:05:19 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/matroska/matroska-demux.c:
	* gst/matroska/matroska-ids.h:
	  matroskademux: Fix extraction of multichannel WavPack
	  The old code had a couple of issues that all lead to potential memory
	  safety bugs.
	  - Use a constant for the Wavpack4Header size instead of using sizeof.
	  It's written out into the data and not from the struct and who knows
	  what special alignment/padding requirements some C compilers have.
	  - gst_buffer_set_size() does not realloc the buffer when setting a
	  bigger size than allocated, it only allows growing up to the maximum
	  allocated size. Instead use a GstAdapter to collect all the blocks
	  and take out everything at once in the end.
	  - Check that enough data is actually available in the input and
	  otherwise handle it an error in all cases instead of silently
	  ignoring it.
	  Among other things this fixes out of bounds writes because the code
	  assumed gst_buffer_set_size() can grow the buffer and simply wrote after
	  the end of the buffer.
	  Thanks to Natalie Silvanovich for reporting.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/859
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/903>

2021-03-03 11:31:52 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/matroska/matroska-demux.c:
	  matroskademux: Initialize track context out parameter to NULL before parsing
	  Various error return paths don't set it to NULL and callers are only
	  checking if the pointer is NULL. As it's allocated on the stack this
	  usually contains random stack memory, and more often than not the memory
	  of a previously parsed track.
	  This then causes all kinds of memory corruptions further down the line.
	  Thanks to Natalie Silvanovich for reporting.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/858
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/903>

2021-01-18 15:54:43 +0100  Philipp Zabel <p.zabel@pengutronix.de>

	* sys/v4l2/gstv4l2object.c:
	  v4l2object: handle GST_VIDEO_TRANSFER_BT601
	  V4L2 makes no difference between the BT.601 and BT.709 transfer
	  functions [1], but GStreamer does since 1.18 [2].
	  Adapt gst_v4l2_object_get_colorspace() and
	  gst_v4l2_object_set_format_full().
	  [1] https://linuxtv.org/downloads/v4l-dvb-apis-new/userspace-api/v4l/colorspaces-details.html#colorspace-smpte-170m-v4l2-colorspace-smpte170m
	  [2] https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/724
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/900>

2021-03-07 21:25:01 +0000  Vladimir Menshakov <vladimir.menshakov@gmail.com>

	* docs/gst_plugins_cache.json:
	* ext/wavpack/gstwavpackdec.c:
	* ext/wavpack/gstwavpackdec.h:
	  wavpackdec: Add floating point format support
	  This commit negotiate F32 audio format if MODE_FLOAT used in wavpack file.
	  Wavpack float mode is always in 32-bit IEEE format.
	  The following pipeline plays distorted audio if source file is encoded in float mode:
	  gst-launch-1.0 filesrc ... ! wavpackparse ! wavpackdec ! pulsesink
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/896>

2021-03-01 14:32:40 +0800  Hou Qi <qi.hou@nxp.com>

	* sys/v4l2/gstv4l2videodec.c:
	  v4l2videodec: Do not expose profiles/levels in vp8/vp9 template caps
	  Vp8/vp9 supported profiles/levels are listed in decoder sink caps, but
	  there is no parser for these two formats and the demuxers also don't have
	  these information. It causes negotiation fail between demuxers and decoder
	  when check caps "accept = gst_caps_is_subset (caps, template_caps);".
	  To fix this, need to remove profiles/levels for vp8/vp9 formats in decoder
	  sink caps.
	  Fix #854
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/890>

2021-02-24 13:25:43 +0100  Philipp Zabel <p.zabel@pengutronix.de>

	* sys/v4l2/gstv4l2videodec.c:
	  v4l2videodec: fix src side frame rate negotiation
	  Negotiating v4l2h264dec ! v4l2h264enc transcoding pipelines fails in
	  case the encoder does not accept framerate=(fraction)0/1.
	  The acquired caps used for downstream negotiation are determined from
	  gst_v4l2_object_acquire_format(), which sets the GstVideoInfo::fps_n
	  and ::fps_d fields to 0.
	  To fix this, copy the frame rate from the sink side.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/884>

2021-02-16 16:20:05 +0200  Jordan Petridis <jpetridis@gnome.org>

	* sys/rpicamsrc/meson.build:
	  rpicamsrc: depend on posix threads and vchiq_arm
	  Could only test on rpi 3b+
	  Close #839
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/883>

2021-02-16 22:20:17 +1100  Ashley Brighthope <ashley.b@reddegrees.com>

	* gst/wavenc/gstwavenc.c:
	  wavenc: Fixed INFO chunk corruption, caused by odd sized data not being padded. Code style was updated.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/877>

2021-02-04 13:43:17 +0800  Bing Song <bing.song@nxp.com>

	* sys/v4l2/gstv4l2videoenc.c:
	  v4l2videoenc: support resolution change stream encode.
	  Resolution change stream transcoding will drain before send new video
	  frame buffer. Need encode video frame after process EOS.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/872>

2021-01-14 01:12:06 +0800  Bing Song <bing.song@nxp.com>

	* sys/v4l2/gstv4l2h265codec.c:
	  v4l2h265codec: fix HEVC profile string issue.
	  Keep HEVC profile compatible with other module.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/864>

2020-12-15 10:41:40 +0800  Bing Song <bing.song@nxp.com>

	* sys/v4l2/gstv4l2object.c:
	* sys/v4l2/gstv4l2object.h:
	  v4l2object: Need keep same transfer as input caps.
	  GST_VIDEO_TRANSFER_BT2020_12 and GST_VIDEO_TRANSFER_BT2020_10 will
	  be mapped to V4L2_XFER_FUNC_709. Need check input caps when map
	  V4L2_XFER_FUNC_709 back to GST_VIDEO_TRANSFER_BT2020_12 and
	  GST_VIDEO_TRANSFER_BT2020_10
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/816
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/861>

2021-01-14 02:17:10 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/gst_plugins_cache.json:
	* meson.build:
	  Back to development

=== release 1.18.3 ===

2021-01-13 21:08:50 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* docs/gst_plugins_cache.json:
	* gst-plugins-good.doap:
	* meson.build:
	  Release 1.18.3

2021-01-07 16:57:27 +0800  Hou Qi <qi.hou@nxp.com>

	* docs/gst_plugins_cache.json:
	* sys/v4l2/gstv4l2object.c:
	  v4l2object: Map correct video format for RGBA
	  Map V4L2_PIX_FMT_RGBA32 pixel format to GST_VIDEO_FORMAT_RGBA instead of
	  GST_VIDEO_FORMAT_RGB video format to support RGBA.
	  Fixes #823
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/851>

2020-12-09 20:20:18 +1100  Matthew Waters <matthew@centricular.com>

	* docs/gst_plugins_cache.json:
	* gst/videofilter/gstvideoflip.c:
	* gst/videofilter/gstvideoflip.h:
	* tests/check/elements/videoflip.c:
	  videoflip: fix possible crash when setting the video-direction while running
	  A classic case of not enough locking.
	  One interesting thing with this is the interaction between the
	  rotation value and caps negotiation.  i.e. the width/height of the caps
	  can be swapped depending on the video-direction property.  We can't lock
	  the entirety of the caps negotiation for obvious reasons so we need to
	  do something else.  This takes the approach of trying to use a single
	  rotation value throughout the entirety of the negotiation and then
	  subsequent output frame in a kind of latching sequence.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/792
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/847>

2020-12-09 19:49:47 +1100  Matthew Waters <matthew@centricular.com>

	* tests/check/elements/videoflip.c:
	* tests/check/meson.build:
	  tests: add tests for videoflip
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/847>

2020-12-30 13:38:46 +0100  Ignacio Casal Quinteiro <qignacio@amazon.com>

	* gst/deinterlace/meson.build:
	  deinterlace: force -DPREFIX on macos
	  This is due to a bug in meson where it will not detect properly
	  the compiler if the symbols need an undercore.
	  https://github.com/mesonbuild/meson/issues/5482
	  Fixes #821
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/846>

2020-12-10 14:27:49 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/multifile/gstsplitmuxsink.c:
	* gst/multifile/gstsplitmuxsink.h:
	  splitmuxsink: Avoid deadlock when releasing a pad from a running muxer
	  Might not drain correctly
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/843>

2020-12-12 03:28:56 +1100  Jan Schmidt <jan@centricular.com>

	* tests/check/elements/splitmuxsink.c:
	  splitmuxsink: Unit test - check format/opened/closed sequence
	  Check the sequence of format-location/fragment-opened/fragment-closed
	  events is respected. There should be 1 format-location call for each
	  fragment-opened message, and 1 fragment-closed for each.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/840>

2020-12-09 00:40:52 +1100  Jan Schmidt <jan@centricular.com>

	* gst/multifile/gstsplitmuxsink.c:
	* gst/multifile/gstsplitmuxsink.h:
	  splitmuxsink: Fix for 'reference bytes muxed' check.
	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/798
	  introduced a check in the need-new-fragment logic to avoid starting a
	  new fragment unless there has been some data on the reference stream,
	  but the check is done against the number of bytes that have been
	  received on the input, not the number that were released for output
	  into the current fragment.
	  Fix the check to remember and test against bytes that have been sent
	  for output.
	  This also fixes a problem where starting a new fragment fails to
	  request a new filename from the format-location signal.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/840>

2020-09-15 00:27:24 +1000  Jan Schmidt <jan@centricular.com>

	* gst/multifile/gstsplitmuxsink.c:
	  splitmuxsink: Add debug for fragment opened/closed msgs
	  When posting fragment-opened and fragment-closed messages,
	  put a debug statement in the logs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/840>

2020-08-18 16:06:14 +1000  Jan Schmidt <jan@centricular.com>

	* gst/multifile/gstsplitmuxsink.c:
	  splitmuxsink: Convert asserts into element errors.
	  Change some g_assert into element errors so that they can be
	  caught and the pipeline shut down.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/840>

2020-12-06 23:56:49 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/gst_plugins_cache.json:
	* meson.build:
	  Back to development

=== release 1.18.2 ===

2020-12-06 13:22:58 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* docs/gst_plugins_cache.json:
	* gst-plugins-good.doap:
	* meson.build:
	  Release 1.18.2

2020-11-15 11:30:07 +0000  Jose Quaresma <quaresma.jose@gmail.com>

	* sys/rpicamsrc/meson.build:
	  rpicamsrc: add vchostif library as it is required to build successful
	  fix: undefined reference to `vc_gencmd'
	  /usr/src/debug/gstreamer1.0-plugins-good/1.18.1-r0/build/../gst-plugins-good-1.18.1/sys/rpicamsrc/RaspiCamControl.c:1440: undefined reference to `vc_gencmd'
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/829>

2020-11-24 22:11:50 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/deinterlace/meson.build:
	* meson.build:
	  deinterlace: Enable x86 assembly with nasm on MSVC
	  We need to remove x86inc.asm from the list of compiled assembly files
	  because it is not supposed to be compiled separately. It is directly
	  included by yadif.asm, and it exports no symbols.
	  The object file was getting ignored on all platforms except on msvc
	  where it was causing a linker hang when building with debugging
	  enabled because the object file had no debug symbols (or similar).
	  We've seen this before in FFmpeg too, which uses nasm:
	  https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg/-/merge_requests/46
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/826>

2020-10-29 02:38:16 +1100  Jan Schmidt <jan@centricular.com>

	* gst/isomp4/gstqtmux.c:
	  qtmux: Chain up when releasing pad, and fix some locking.
	  Release pads by calling up into aggregator so it can do the right
	  things. Don't clean up the pad until after that.
	  Add some missing locks around some accesses to shared pad state.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/800>

2020-11-12 09:32:30 +0800  Bing Song <bing.song@nxp.com>

	* docs/gst_plugins_cache.json:
	* sys/v4l2/gstv4l2object.c:
	  v4l2: caps negotiate wrong as interlace feature
	  gst_caps_simplify() will move interlace format before normal video
	  format. It will cause caps negotiate prefer interlaced caps which
	  isn't expected. Seperate normal caps and interlaced caps and then
	  merge it will keep prefer progress video format.
	  Add ARGB/BGRA for interlaced caps.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/802
	  Part-of <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/813>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/821>

2020-11-13 14:58:44 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/audioparsers/gstaacparse.c:
	  aacparse: Fix caps change handling
	  In baseparse we set the fixed caps flag on all src pads, therefore the
	  source pad caps query in get_allowed_caps will return the current caps.
	  Current caps won't necessarily intersect with the new caps (e.g. sample
	  rate change). Replace get_allowed_caps with peer_query_caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/819>

2020-11-10 18:18:12 +0000  ChrisDuncanAnyvision <chrisd@anyvision.co>

	* gst/rtsp/gstrtspsrc.c:
	* gst/rtsp/gstrtspsrc.h:
	  rtspsrc: Ensure same group-id used for both TCP/UDP stream-start events
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/814>

2020-11-10 16:17:23 +0000  ChrisDuncanAnyvision <chrisd@anyvision.co>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: Use consistent URI hashed stream-id for UDP and TCP/Interleaved streams
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/814>

2020-11-01 10:30:27 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/flv/gstflvmux.c:
	  flvmux: Release pads via GstAggregator
	  See https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/797
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/803>

2020-10-31 12:52:04 +1100  Jan Schmidt <jan@centricular.com>

	* tests/check/elements/splitmuxsrc.c:
	  splitmuxsrc: Fix comment in a test
	  Fix a comment in the splitmuxsrc robust muxing test so it
	  describes the test properly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/799>

2020-10-31 12:49:08 +1100  Jan Schmidt <jan@centricular.com>

	* gst/multifile/gstsplitmuxsink.c:
	* gst/multifile/gstsplitmuxsink.h:
	  splitmuxsink: Change EOS catching logic.
	  Add a new state for ending the overall stream, and use it to decide
	  whether to pass the final EOS message up the bus instead of dropping
	  it. Fixes a small race that makes the testsuite sometimes not generate
	  the last fragment(s) sometimes because the wrong EOS gets
	  allowed through too early.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/799>

2020-10-31 02:19:07 +1100  Jan Schmidt <jan@centricular.com>

	* gst/multifile/gstsplitmuxsink.c:
	* gst/multifile/gstsplitmuxsink.h:
	  splitmuxsink: Don't use the element state lock
	  Using the element state lock to avoid splitmuxsink shutting
	  down while doing element manipulations can lead to a deadlock on
	  shutdown if a fragment switch happens at exactly the wrong moment.
	  Use a private mutex and a shutdown boolean instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/799>

2020-10-30 03:38:15 +1100  Jan Schmidt <jan@centricular.com>

	* gst/multifile/gstsplitmuxsink.c:
	  splitmuxsink: Don't busy loop on a non-ready pad.
	  If a pad gets into the check_completed_gop method and then
	  the underlying conditions change on the reference context,
	  things could get stuck in a busy loop when the context should
	  instead jump back out and wait for more data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/799>

2020-10-30 03:36:51 +1100  Jan Schmidt <jan@centricular.com>

	* gst/multifile/gstsplitmuxsrc.c:
	  splitmuxsrc: Mark running=false on shutdown.
	  Make sure that any late gst_element_call_async() callbacks
	  know that the elements is shutting down and bail out instead
	  of operating on the element we're trying to stop.
	  Fixes a spurious test failure in elements_splitmuxsrc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/799>

2020-10-29 02:36:35 +1100  Jan Schmidt <jan@centricular.com>

	* gst/multifile/gstsplitmuxsink.c:
	  splitmuxsink: Forward EOS messages from async fragments.
	  Re-enable forwarding EOS messages from fragments that are completing
	  asynchronously, so that splitmuxsink itself won't go EOS until they
	  are complete. This was disabled to work around a bug in core that
	  is fixed in
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/683
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/799>

2020-09-17 22:56:01 +1000  Jan Schmidt <jan@centricular.com>

	* gst/multifile/gstsplitmuxsink.c:
	* gst/multifile/gstsplitmuxsink.h:
	  splitmuxsink: Never start a new fragment with no reference buffers
	  If there has been no bytes from the reference stream muxed into
	  the current fragment, then time can't have advanced, there's no
	  GOP... this fragment would be broken or empty, so wait for some
	  data on the reference buffer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/799>

2020-10-27 23:43:49 +1100  Jan Schmidt <jan@centricular.com>

	* gst/matroska/matroska-mux.c:
	  matroska-mux: Fix sparse stream crash
	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/656
	  introduced an invalid memory access when debug is enabled, by casting
	  the wrong pointer to a GstCollectPad. Fixing that showed the original
	  change was incorrect and leads to an infinite loop in the
	  testsuite. This patch fixes both problems.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/793>

2020-10-27 12:34:19 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/gst_plugins_cache.json:
	* meson.build:
	  Back to development

=== release 1.18.1 ===

2020-10-26 11:12:10 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* docs/gst_plugins_cache.json:
	* gst-plugins-good.doap:
	* meson.build:
	  Release 1.18.1

2020-10-23 10:32:18 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2/gstv4l2object.c:
	  Revert "v4l2object: Only offer inactive pools and if needed"
	  This reverts commit 85b9893e963ea5d342289e318daeefba35ff4a07.
	  This change caused a regression reported in #796. Basically the pool get
	  deactivated by basesrc and the encoder does not recover. Recovering with
	  current design would cause insertion of an unwanted keyframe.
	  This is being reverted in 1.18 only, a proper solution is wanted for 1.20.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/785>

2020-10-22 15:29:01 -0300  Thibault Saunier <tsaunier@igalia.com>

	* ext/vpx/gstvpxenc.c:
	  vpx: Fix the check to unfixed/unknown framerate to set bitrate
	  0/1 means unknown framerate not X/0 (which is illegal).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/783>

2020-10-16 16:05:45 -0700  Bastien Reboulet <bastien.reboulet@gmail.com>

	* ext/qt/qtitem.cc:
	  qmlglsink: fix crash when created/destroyed in quick succession
	  The crash is caused by a race condition where the render thread
	  calls a method on the QtGLVideoItem instance that was
	  previously destroyed by the main thread.
	  Also, less frequently, QtGLVideoItem::onSceneGraphInitialized
	  is called when QQuickItem::window is null, also causing a crash.
	  Fixes #798
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/781>

2020-10-22 09:17:26 -0400  Arun Raghavan <arun@asymptotic.io>

	* gst/rtp/gstrtputils.c:
	  rtputils: Count metas with an empty tag list for copying/keeping
	  The GstMetaInfos registered in core do not set their tags to NULL, but
	  instead use an empty list (non-NULL list with a single NULL value).
	  Let's check explicitly for that so as to not miss some metas.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/780>

2020-09-23 15:25:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/rtpmanager/gstrtpbin.c:
	  rtpbin: Remove the rtpjitterbuffer with the stream
	  Since !348, the jitterbuffer was only removed with the session. This restores
	  the original behaviour and removes the jitterbuffer when the stream is
	  removed. This avoid accumulating jitterbuffer objects into the bin when a
	  session is reused.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/765>

2020-09-23 13:26:51 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/rtpmanager/gstrtpbin.c:
	  rtpbin: Cleanup dead code
	  The rtpjitterbuffer is now part of the session elements, we no longer need
	  to do the ref_sink dance when signalling it. It is already owned by the bin
	  when signalled. Also, the code that handles generic session elements already
	  handle the ref_sink() calls since:
	  03dc22951bacb6fdc3868c8f801e6a52c33a745f
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/765>

2020-09-18 16:09:20 +1000  Matthew Waters <matthew@centricular.com>

	* gst/rtp/gstrtph264depay.c:
	* gst/rtp/gstrtph264depay.h:
	* gst/rtp/gstrtph265depay.c:
	* gst/rtp/gstrtph265depay.h:
	* tests/check/elements/rtph264.c:
	  rtph26*depay: drop FU's without a corresponding start bit
	  If we have not received a FU with a start bit set, any subsequent FU
	  data is not useful at all and would result in an invalid stream.
	  This case is constructed from multiple requirements in
	  RFC 3984 Section 5.8 and RFC 7798 Section 4.4.3.  Following are excerpts
	  from RFC 3984 but RFC 7798 contains similar language.
	  The FU in a single FU case is forbidden:
	  A fragmented NAL unit MUST NOT be transmitted in one FU; i.e., the
	  Start bit and End bit MUST NOT both be set to one in the same FU
	  header.
	  and dropping is possible:
	  If a fragmentation unit is lost, the receiver SHOULD discard all
	  following fragmentation units in transmission order corresponding to
	  the same fragmented NAL unit.
	  The jump in seqnum case is supported by this from the specification
	  instead of implementing the forbidden_zero_bit mangling:
	  If a fragmentation unit is lost, the receiver SHOULD discard all
	  following fragmentation units in transmission order corresponding to
	  the same fragmented NAL unit.
	  A receiver in an endpoint or in a MANE MAY aggregate the first n-1
	  fragments of a NAL unit to an (incomplete) NAL unit, even if fragment
	  n of that NAL unit is not received.  In this case, the
	  forbidden_zero_bit of the NAL unit MUST be set to one to indicate a
	  syntax violation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/764>

2020-09-20 21:06:19 +0900  Seungha Yang <seungha@centricular.com>

	* gst/imagefreeze/gstimagefreeze.c:
	  imagefreeze: Response caps query from srcpad
	  ... and chain up to default query handler for unhandled query types.
	  Unhandled query shouldn't be returned with FALSE if there's no special needs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/763>

2020-09-14 10:15:35 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/gst_plugins_cache.json:
	* gst/rtp/gstrtpmp4gdepay.c:
	  rtpmp4gdepay: Allow lower-case "aac-hbr" instead of correct "AAC-hbr"
	  Various live555 based products are using the wrong "mode" string or
	  seem to assume case-insensitive matching, which is wrong.
	  Examples for this are the Yuan SC6C0N1 mini and the Kiloview E2.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/762>

2020-09-07 23:20:58 +0800  Ricky Tang <ricky@deepsentinel.com>

	* docs/gst_plugins_cache.json:
	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: Fix push-backchannel-buffer parameter mismatch
