=== release 1.18.4 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* 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
	  When using python, signal parameter must match with function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/761>

2020-09-10 11:24:32 +0200  Jérôme Laheurte <jlaheurte@quividi.net>

	* ext/jpeg/gstjpegdec.c:
	  jpegdec: check buffer size before dereferencing. Fixes #541
	  Some cameras (Panacast) have buggy drivers/firmware which send
	  invalid JPEG frames, containing no data, which makes jpegdec
	  crash because it assumes the frame is at least 2 bytes long.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/760>

2020-09-10 11:11:00 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/flv/gstflvmux.c:
	  flvmux: Improve logging of gst_flv_mux_buffer_to_tag_internal
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/759>

2020-09-09 15:12:53 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/flv/gstflvmux.c:
	  flvmux: Move stream skipping to GstAggregatorPadClass.skip_buffer
	  Besides looking like the correct place to put this, it allows us to drop
	  the entire aggregator queue. The old implementation only dropped at most
	  one buffer for each call of aggregate.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/759>

2020-09-08 17:35:50 +0200  Havard Graff <havard@pexip.com>

	* sys/v4l2/gstv4l2object.c:
	  v4l2object: plug memory-leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/758>

2020-09-08 20:57:33 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/multifile/gstsplitmuxsink.c:
	  splitmuxsink: fix sink pad release while PLAYING
	  - Release the split mux lock while removing the probes
	  - Flush the sinkpad to unblock other pads
	  - Turn check_completed_gop into a do while statement, when
	  waking up we want to recheck whether the current GOP is
	  ready for sending
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/756>

2020-09-08 17:44:17 +0100  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.18.0 ===

2020-09-08 00:05:14 +0100  Tim-Philipp Müller <tim@centricular.com>

	* .gitlab-ci.yml:
	* ChangeLog:
	* NEWS:
	* README:
	* RELEASE:
	* docs/gst_plugins_cache.json:
	* gst-plugins-good.doap:
	* meson.build:
	  Release 1.18.0

2020-09-07 22:39:02 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	* scripts/dist-translations.py:
	* scripts/meson.build:
	  meson: dist pot file in tarballs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/716>

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

	* gst/isomp4/atoms.c:
	* gst/isomp4/qtdemux.c:
	* gst/matroska/matroska-demux.c:
	* gst/matroska/matroska-mux.c:
	  gst: Update for gst_video_transfer_function_*() function renaming
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/715>

2020-08-31 15:01:32 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/flv/gstflvmux.c:
	  flvmux: Avoid crash when best pad gets flushed
	  The 'best' pad might receive a flush event between us picking it and us
	  popping the buffer. In this case, the buffer will be missing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/711>

2020-08-31 13:43:42 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/flv/gstflvmux.c:
	  flvmux: Correct breaks in gst_flv_mux_find_best_pad
	  The code seems to use `continue` and `break` as if both refer to the
	  surrounding `while` loop. But because `break` breaks out of the
	  `switch`, they actually have the same effect.
	  This may have caused the loop not to terminate when it should. E.g. when
	  `skip_backwards_streams` drops a buffer we should abort the aggregation
	  and wait for all pads to be filled again. Instead, we might have just
	  selected a subsequent pad as our new "best".
	  Replace `break` with `done = TRUE; break`, and `continue` with `break`.
	  Then simplify the code a bit.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/710>

2020-05-13 11:31:38 +0200  Dmitriy Purgin <dpurgin@gmail.com>

	* ext/qt/README.md:
	* ext/qt/qtplugin.pro:
	  gstqmlgl: build on Windows with qmake without pkgconfig; update instructions on building for Windows
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/591>

2020-08-21 12:12:48 +0200  Philipp Zabel <philipp.zabel@gmail.com>

	* meson.build:
	  meson: fix build failure if orc is enabled but none of its users are
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/778
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/704>

2020-08-20 14:26:04 +0200  Zeid Bekli <zeidb@axis.com>

	* gst/rtp/gstrtpL16depay.c:
	  rtpL16depay: unref buffer on error
	  gst_rtp_L16_depay_process to unref buffer on wrong payload size or
	  reorder failure.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/702>

=== release 1.17.90 ===

2020-08-20 16:11:58 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2020-08-18 10:27:52 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtp/gstrtputils.c:
	  rtputils: Don't call NULL GstMeta transform function
	  It's optional and if it does not exist then no transformation is
	  possible.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/701>

2020-08-13 15:27:25 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* gst/rtp/gstrtp.c:
	  rtp: Do not register rtpreddec and rtpredenc twice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/699>

2020-08-12 12:21:43 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtpmanager/gstrtpjitterbuffer.c:
	* gst/rtpmanager/gstrtpsession.c:
	* gst/rtpmanager/rtpsession.c:
	* gst/rtpmanager/rtpsource.c:
	  rtpmanager: Improve readability of "stats" docs by making the fields an actual list
	  Otherwise they end up all in the same line one after another.
	  Also add docs for the "avg-jitter" stats field of the jitterbuffer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/698>

2020-08-11 17:24:11 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2/gstv4l2h264codec.c:
	  v4l2h264codec: Map newly defined profile/levels
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/697>

2020-08-11 17:18:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2/ext/types-compat.h:
	* sys/v4l2/ext/v4l2-common.h:
	* sys/v4l2/ext/v4l2-controls.h:
	* sys/v4l2/ext/videodev2.h:
	  v4l2: Sync headers with kernel 5.9
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/697>

2020-08-06 13:15:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/v4l2/gstv4l2deviceprovider.c:
	* sys/v4l2/gstv4l2object.c:
	* sys/v4l2/gstv4l2object.h:
	* sys/v4l2/gstv4l2radio.c:
	* sys/v4l2/gstv4l2sink.c:
	* sys/v4l2/gstv4l2src.c:
	* sys/v4l2/gstv4l2transform.c:
	* sys/v4l2/gstv4l2videodec.c:
	* sys/v4l2/gstv4l2videoenc.c:
	* sys/v4l2/v4l2_calls.c:
	  v4l2: use GstV4l2Error in gst_v4l2_open()
	  gst_v4l2_open() is called by gst_v4l2_device_provider_probe_device(),
	  where the GstV4l2Object is created without an associated GstElement.
	  If gst_v4l2_open() fails, it raises a bus message, but without an
	  element, a precondition check fails on
	  gst_element_message_full_with_details() generating a crash if running
	  with fatal-warnings debug mode.
	  GstV4l2Error is a helper to raise error bus messages when it is
	  appropiated. This patch changes the direct bus messages to this
	  helper, and the elements will actually send the error message.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/694>

2020-08-10 20:20:53 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/flv/gstflvmux.c:
	  flvmux: Return NEED_DATA when we drop a buffer
	  When we are dropping a buffer in find_best_pad (e.g. waiting for a
	  keyframe, or skipping backwards timestamp), return
	  GST_AGGREGATOR_FLOW_NEED_DATA to make sure we have enough data at the
	  next run. Otherwise, a stream that accidentally fell behind (e.g.
	  relinking race, or just waiting for a keyframe) will never get the
	  opportunity to catch up to the other one, because the other one will
	  always keep advancing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/696>

2020-08-10 20:20:04 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/flv/gstflvmux.c:
	  flvmux: Return NEED_DATA when no best pad is found
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/696>

2020-08-10 20:17:38 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/flv/gstflvmux.c:
	  flvmux: Fix possible crash on GST_ITERATOR_RESYNC
	  Wrong pointer type
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/696>

2020-08-10 15:49:55 +1000  Matthew Waters <matthew@centricular.com>

	* ext/qt/qtglrenderer.cc:
	  qmlgloverlay: fix multiple elements with Qt 5.15
	  With Qt 5.15 multiple qmlgloverlay elements would produce:
	  ASSERT: "!m_gl->property(QSG_RENDERCONTEXT_PROPERTY).isValid()" in file /path/to/qt5/qtdeclarative/src/quick/scenegraph/qsgdefaultrendercontext.cpp, line 121
	  Workaround by setting the (seeminigly unused) property before
	  initialization.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/695>

2020-08-05 10:41:33 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/gst_plugins_cache.json:
	* gst/rtp/gstrtph264pay.c:
	* gst/rtp/gstrtph265pay.c:
	* tests/check/elements/rtp-payloading.c:
	* tests/check/elements/rtph264.c:
	* tests/check/elements/rtph265.c:
	  rtph26[45]pay: Change default aggregate-mode to "none" for backwards compatibility
	  We didn't aggregate at all in previous versions and there are apparently
	  various RTP implementations that don't handle aggregation well at all.
	  As part of this also document that for RTSP it is recommended to keep it
	  set to "none" while for WebRTC it should be set to "zero-latency".
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/749
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/692>

2020-07-24 16:58:34 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gtk/meson.build:
	* ext/qt/meson.build:
	* meson.build:
	* tests/examples/gtk/meson.build:
	  build: update for gl pkg-config file split
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/680>

2020-07-31 13:50:13 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/multifile/gstsplitmuxsink.c:
	  splitmuxsink: Make sure flushing doesn't block
	  * Trying to disconnect a stream from a running splitmuxsink by flushing
	  it results in the FLUSH_START blocking in the stream queue's
	  gst_pad_pause_task because the flush did not unblock
	  complete_or_wait_on_out, so add a check for ctx->flushing there.
	  * Add a GST_SPLITMUX_BROADCAST_INPUT so check_completed_gop notices
	  flushing changed and the incoming push is unblocked.
	  * Pass the FLUSH_STOP along to the muxer without waiting.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/687>

2020-08-04 15:49:43 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/imagefreeze/gstimagefreeze.c:
	  imagefreeze: Wait until we have a clock
	  Otherwise it can happen that it tries to get the clock in PAUSED state
	  in live mode, which does not exist.
	  Thanks to Sebastian Dröge for helping debugging.
	  Fixes #775
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/691>

2020-07-31 11:05:02 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: extract bit depth from codec data for ALAC
	  The info in the sound sample description might not be
	  accurate if it's an older version atom.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/771
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/686>

2020-07-28 18:46:30 +0300  Jordan Petridis <jordan@centricular.com>

	* gst/auparse/gstauparse.c:
	  auparse: fix compiler warnings
	  GCC 10 was complaining like following. It really is complaining about default cases returning
	  with potentially unitialized *desval, but those cases in the switch should never be hit.
	  ```
	  ../subprojects/gst-plugins-good/gst/auparse/gstauparse.c: In function 'gst_au_parse_chain':
	  ../subprojects/gst-plugins-good/gst/auparse/gstauparse.c:481:37: error: 'timestamp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
	  481 |       GST_BUFFER_TIMESTAMP (outbuf) = timestamp;
	  ../subprojects/gst-plugins-good/gst/auparse/gstauparse.c:482:36: error: 'duration' may be used uninitialized in this function [-Werror=maybe-uninitialized]
	  482 |       GST_BUFFER_DURATION (outbuf) = duration;
	  ../subprojects/gst-plugins-good/gst/auparse/gstauparse.c:480:34: error: 'offset' may be used uninitialized in this function [-Werror=maybe-uninitialized]
	  480 |       GST_BUFFER_OFFSET (outbuf) = offset;
	  cc1: all warnings being treated as errors
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/671>

2020-07-29 14:06:55 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: drop stream-start message posted by the internal udp sink(s)
	  See #1368
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/685>

2020-07-22 16:24:15 +0900  Hosang Lee <hosang10.lee@lge.com>

	* tests/check/elements/qtdemux.c:
	  tests: qtdemux: test correct pad names are created
	  Test correct pad names are created in accordance to their media type
	  in mss mode.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/628>

2020-06-16 17:23:44 +0900  Hosang Lee <hosang10.lee@lge.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: create correct pad names in encrypted streams
	  Refer to "original-media-type" when setting stream's subtype
	  for encrypted streams in mss mode.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/628>

2020-07-22 14:31:13 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/matroska/matroska-mux.c:
	  matroskamux: Do caps renegotiation when it only adds fields
	  Matroskamux can accept caps renegotiation if the new caps is a
	  superset of the old one, meaning upstream added new info to
	  the caps.
	  Same logic as a5f22f03aa25b04726f78ae619f40b3b648f7d48 in qtmux.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/678>

2020-07-24 14:02:26 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/rtpmanager/gstrtpfunnel.c:
	  rtpfunnel: protect internal srccaps with lock
	  These are modified from sink pad event handlers, so
	  could be accessed from multiple threads at the same
	  time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/681>

2020-02-23 23:44:16 +0100  Havard Graff <havard@pexip.com>

	* gst/rtpmanager/gstrtpfunnel.c:
	  rtpfunnel: copy caps before sending them in a caps-event
	  Reason being we don't want downstream to own a ref to our
	  internal caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/681>

2020-07-27 15:41:26 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/rtpmanager/gstrtpjitterbuffer.c:
	* gst/rtpmanager/gstrtpsession.c:
	* gst/rtpmanager/rtpsession.c:
	* gst/rtpmanager/rtpsource.c:
	  rtpmanager: fix various documentation issues
	  Improper naming of properties, improper links, misc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/684>

2020-07-24 17:13:04 +0100  Tim-Philipp Müller <tim@centricular.com>

	* sys/rpicamsrc/RaspiCapture.c:
	  rpicamsrc: hypothetical fix for data pointer calculation
	  mmal buffer header docs say data is valid for length bytes
	  from offset. In practice offset always seems to be 0 so
	  far though.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/682>

2020-07-24 16:35:43 +0100  Tim-Philipp Müller <tim@centricular.com>

	* sys/rpicamsrc/RaspiCapture.c:
	  rpicamsrc: mark buffers as header and keyframe/delta-unit
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/682>

2020-07-24 16:14:00 +0100  Tim-Philipp Müller <tim@centricular.com>

	* sys/rpicamsrc/RaspiCapture.c:
	* sys/rpicamsrc/RaspiCapture.h:
	* sys/rpicamsrc/gstrpicamsrc.c:
	  rpicamsrc: fix nal alignment of output buffers
	  We claim output buffers are nal-aligned, but that wasn't
	  actually true: We would push out a partial nal in case
	  the nal doesn't fit into the max encoder-selected output
	  buffer size, and then the next buffer would not start
	  with a sync marker. That's not right and makes h264parse
	  unhappy.
	  Instead accumulate buffers until we have a full frame
	  (we can't rely on the NAL_END flag, it's always set).
	  Fixes #768
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/682>

2020-07-13 23:43:48 +0100  Tim-Philipp Müller <tim@centricular.com>

	* sys/rpicamsrc/meson.build:
	  rpicamsrc: fix "Could not find component vc.ril.camera" on recent raspios
	  Make extra sure all the required mmal libs such as libmmal_vc_client.so
	  actually get linked and stay linked. Otherwise the above error happens
	  it seems.
	  buster (10.4) with meson 0.55 and pi ref 2020-05-27
	  pi-gen, 825107f04027269db77426046f5085475b1ea22f, stage5
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/682>

2020-07-13 17:01:42 +0100  Tim-Philipp Müller <tim@centricular.com>

	* po/POTFILES:
	* sys/rpicamsrc/gstrpicamsrcdeviceprovider.c:
	  rpicamsrc: deviceprovider: hook up i18n properly
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/682>

2020-07-13 16:55:48 +0100  Tim-Philipp Müller <tim@centricular.com>

	* sys/rpicamsrc/gstrpicamsrcdeviceprovider.c:
	  rpicamsrc: deviceprovider: advertise (M)JPEG as well
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/682>

2020-07-13 16:50:58 +0100  Tim-Philipp Müller <tim@centricular.com>

	* sys/rpicamsrc/gstrpicamsrcdeviceprovider.c:
	  rpicamsrc: deviceprovider: also advertise constrained-baseline profile
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/682>

2020-07-23 16:58:00 +0200  Stéphane Cerveau <scerveau@collabora.com>

