=== release 1.24.1 ===

2024-03-21 21:47:53 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2024-03-18 15:07:28 +0100  Edward Hervey <edward@centricular.com>

	* ext/adaptivedemux2/hls/gsthlsdemux-playlist-loader.c:
	* ext/adaptivedemux2/hls/gsthlsdemux-preloader.c:
	* ext/adaptivedemux2/hls/gsthlsdemux-stream.c:
	* ext/adaptivedemux2/hls/gsthlsdemux-util.c:
	* ext/adaptivedemux2/hls/gsthlsdemux.c:
	* ext/adaptivedemux2/hls/m3u8.c:
	  adaptivedemux2: Don't use g_str_equal on potentially NULL strings
	  It is only meant to be used as a callback. The fallback macro uses strcmp which
	  doesn't handle NULL strings gracefully. Instead use g_strcmp0
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6410>

2024-03-18 15:02:29 +0100  Edward Hervey <edward@centricular.com>

	* ext/adaptivedemux2/hls/gsthlsdemux.c:
	  hlsdemux2: Avoid NULL pointer usage
	  The pending/current variant are both NULL when the demuxer is resetted.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6410>

2024-03-18 15:00:02 +0100  Edward Hervey <edward@centricular.com>

	* ext/adaptivedemux2/gstadaptivedemuxutils.c:
	  adaptivedemux2: Handle context going away
	  This issue can happen when the scheduler loop was stopped (and context went
	  away). We no longer want to push/pop main context threads.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6410>

2024-03-18 14:57:43 +0100  Edward Hervey <edward@centricular.com>

	* ext/adaptivedemux2/hls/gsthlsdemux-playlist-loader.c:
	  hlsdemux2: Improve detection of playlist updates
	  In the case we are not updating an existing playlist, we only want to reset the
	  download error count if the URI we are downloading was not the previous one we
	  were trying to load
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6410>

2024-03-13 13:39:21 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: remove 'deprecated' flag from the 'push-backchannel-sample' signal
	  It seems that it was added by accident when copying from push-backchannel-buffer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6363>

2024-03-11 10:39:27 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/mpg123/gstmpg123audiodec.c:
	  mpg123audiodec: Correctly handle the case of clipping all decoded samples
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3365
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6357>

2024-03-11 18:13:37 +0100  Piotr Brzeziński <piotr@centricular.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Fix wrapping temporary memory in buffers
	  That memory can disappear at any moment, doesn't cost much to just copy those few bytes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6339>

2024-01-31 00:32:22 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: Don't invoke close when stopping if we've started cleanup
	  When we're doing a state change from PLAYING to NULL, first we invoke
	  gst_rtspsrc_loop_send_cmd_and_wait (..., CMD_CLOSE, ...) during
	  PAUSED_TO_READY which will schedule a TEARDOWN to happen async on the
	  task thread.
	  The task thread will call gst_rtspsrc_close(), which will send the
	  TEARDOWN and once it's complete, it will call gst_rtspsrc_cleanup()
	  without taking any locks, which frees src->streams.
	  At the same time however, the state change in the app thread will
	  progress further and in READY_TO_NULL it will call gst_rtspsrc_stop()
	  which calls gst_rtspsrc_close() a second time, which accesses
	  src->streams (without a lock again), which leads to simultaneous
	  access of src->streams, and a segfault.
	  So the state change and the cleanup are racing, but they almost always
	  complete sequentially. Either the cleanup sets src->streams to NULL or
	  _stop() completes first. Very rarely, _stop() can start while
	  src->streams is being freed in a for loop. That causes the segfault.
	  This is unlocked access is unfixable with more locking, it just leads
	  to deadlocks. This pattern has been observed in rtspsrc a lot: state
	  changes and cleanup in the element are unfixably racy, and that
	  foundational issue is being addressed separately via a rewrite.
	  The bandage fix here is to prevent gst_rtspsrc_stop() from accessing
	  src->streams after it has already been freed by setting src->state to
	  INVALID.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6330>

2024-03-07 16:17:41 +0100  Michael Tretter <m.tretter@pengutronix.de>

	* meson_options.txt:
	  meson: Fix description in qt options
	  The qt-x11 description contains a copy/paste error from the qt-wayland option.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6313>

2024-02-16 18:11:07 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/rtp/gstrtpgstpay.c:
	  rtpgstpay: flush on EOS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6298>

2023-08-11 13:06:24 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtp/gstrtpgstpay.c:
	* gst/rtp/gstrtpgstpay.h:
	  rtpgstpay: Delay pushing of event packets until the next buffer
	  And also re-timestamp them with the current buffer's PTS.
	  Not doing so keeps the timestamps of event packets as
	  GST_CLOCK_TIME_NONE or the timestamp of the previous buffer, both of
	  which are bogus.
	  Making sure that (especially) the first packet has a valid timestamp
	  allows putting e.g. the NTP timestamp RTP header extension on it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6298>

2024-02-26 19:17:27 -0600  Elizabeth Figura <zfigura@codeweavers.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Do not set channel-mask to zero
	  Leave it uninitialized, so that the downstream decoder will initialize it appropriately. Setting it to zero is wrong.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6296>

2024-03-01 02:44:57 +1100  Jan Schmidt <jan@centricular.com>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: Parse Speed/Scale before Range in responses
	  Parse the speed and scale in the server's response
	  *before* the range, so that the range start/stop
	  are swapped (or not swapped) correctly based
	  on the server's actual chosen values. Otherwise,
	  the old rate from the segment is used - what the
	  last seek asked for, but not necessarily what
	  the server chooses.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6295>

2024-02-29 12:06:25 +1100  Jan Schmidt <jan@centricular.com>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: Handle queries and events with no manager
	  When doing direct output with no session manager, we still
	  want to respond to queries and events from downstream, so
	  install the handlers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6295>

2024-02-29 11:14:47 +1100  Jan Schmidt <jan@centricular.com>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: return NO_PREROLL on PLAYING->PAUSED too
	  When transitioning back to PAUSED and rtspsrc is live, return
	  NO_PREROLL so the pipeline knows to skip preroll here too.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6295>

2024-02-24 11:07:26 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: Consider 503 Service Not Available when handling broken control urls
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6267>

2024-03-05 13:45:27 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6264>

=== release 1.24.0 ===

2024-03-04 23:51:42 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* README.md:
	* RELEASE:
	* gst-plugins-good.doap:
	* meson.build:
	  Release 1.24.0

2024-02-27 14:22:58 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* docs/gst_plugins_cache.json:
	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: Increase rank to PRIMARY for autoplug purposes
	  This affects autoplug by gst_element_make_from_uri() in, for example,
	  uridecodebin. The element should've already been PRIMARY rank, but it
	  was NONE because gst_element_make_from_uri() doesn't ignore NONE rank
	  elements when searching for element factories, unlike decodebin.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/502
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6226>

2024-02-26 09:27:40 +0100  Edward Hervey <edward@centricular.com>

	* README.md:
	* RELEASE:
	  docs: Use Discourse and Matrix as prefered communication channels
	  Part of: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6220

2024-02-22 20:35:28 +0900  Seungha Yang <seungha@centricular.com>

	* ext/jpeg/gstjpegdec.c:
	  jpegdec: Fix progressive/interlaced detection
	  If input height and parsed one are identical, do not consider it as interlaced
	  Fixing below pipeline:
	  gst-launch-1.0 videotestsrc ! video/x-raw,format=I420,width=640,height=10 \
	  ! jpegenc ! jpegparse ! jpegdec ! videoconvert ! autovideosink
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6181>

2024-02-26 23:14:54 +0900  Seungha Yang <seungha@centricular.com>

	* ext/jpeg/gstjpegdec.c:
	  jpegdec: Remove trailing white space
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6181>

=== release 1.23.90 ===

2024-02-23 18:20:11 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2024-02-23 11:45:50 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/soup/meson.build:
	* meson_options.txt:
	  soup: Re-add soup-lookup-dep option
	  It's still useful on Linux since it ensures that the tests are going
	  to be built, since they use the same dep lookup as the plugin now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6197>

2024-02-21 19:13:45 +1100  Matthew Waters <matthew@centricular.com>

	* tests/examples/qt/qmlsink-multisink/main.cpp:
	  examples/qmlsinnk-multisink: allow running with leaks tracer
	  Include a gst_deinit() after the qml engine has been destroyed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6160>

2024-02-21 19:11:59 +1100  Matthew Waters <matthew@centricular.com>

	* tests/examples/qt/qmlsink-multisink/videoitem/videoitem.cpp:
	  examples/qml: fix some leaks in the multisink example
	  A GstPad was being leaked and possibly the qmlglsink element depending
	  on if Qt runs the scenegraph thread again when destroying the example
	  video item.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6160>

2024-02-21 19:09:20 +1100  Matthew Waters <matthew@centricular.com>

	* ext/qt/qtitem.cc:
	* ext/qt6/qt6glitem.cc:
	  qml, qml6: Fix leak of QSGMaterial/Geometry (and therefore a possible GstBuffer)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6160>

2024-02-07 15:04:53 +1100  Matthew Waters <matthew@centricular.com>

	* ext/qt6/gstqsg6material.cc:
	  qml6: fix a leak of the wrapped QSGTextures
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6160>

2024-02-21 19:21:57 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtpmanager/gstrtphdrext-clientaudiolevel.c:
	  rtphdrext-clientaudiolevel: Fix typo in documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6175>

2024-02-21 13:45:47 +0100  Arnaud Vrac <avrac@freebox.fr>

	* ext/adaptivedemux2/meson.build:
	  adaptivedemux2: fix build with recent meson
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6168>

2024-02-20 11:55:25 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/gst_plugins_cache.json:
	* gst/rtp/gstrtppassthroughpay.c:
	  rtppassthroughpay: fix critical in gst-inspect
	  gst_segment_to_running_time() will fail noisily
	  if the segment has not been initialised yet.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6151>

2024-02-21 02:30:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/adaptivedemux2/gstadaptivedemuxelement.c:
	* ext/adaptivedemux2/meson.build:
	* ext/soup/gstsoupelement.c:
	* ext/soup/gstsouphttpsrc.c:
	* ext/soup/gstsouploader.c:
	* ext/soup/gstsouploader.h:
	* ext/soup/gstsouputils.h:
	* ext/soup/meson.build:
	* meson_options.txt:
	* tests/check/meson.build:
	  soup: Link to libsoup in all cases on non-Linux
	  We have unsolvable issues on macOS because of this, and the feature
	  was added specifically for issues that occur on Linux distros since
	  they ship both libsoup 2.4 and 3.0.
	  Everyone else should just pick one and use it, since you cannot mix
	  the two in a single process anyway.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1171
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6156>

2024-02-17 23:33:26 +1100  Jan Schmidt <jan@centricular.com>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: Reset combined flows after a seek before restarting
	  After a flushing seek, rtspsrc doesn't reset the last_ret value for
	  streams, so might immediately shut down again when it resumes pushing
	  buffers to pads due to a cached `GST_FLOW_FLUSHING` result
	  Prevent a stored flushing value from immediately stopping
	  playback again by resetting pad flows before (re)starting
	  playback.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6137>

2023-11-29 17:43:30 +0200  Maksym Khomenko <maksym.khomenko@skelia.partners>

	* sys/osxaudio/gstosxcoreaudiocommon.c:
	  osxaudio: add mapping for top/left/right surround channels
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5731>

2023-11-29 17:40:52 +0200  Maksym Khomenko <maksym.khomenko@skelia.partners>

	* sys/osxaudio/gstosxcoreaudiocommon.c:
	  osxaudio: correct mapping for left/right surround
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5731>

2024-02-12 09:55:24 +0100  Marc Leeman <m.leeman@televic.com>

	* ext/qt6/meson.build:
	  qt6: search in /usr/lib/qt6/bin/ for qsb
	  In Debian and possibly other distributions, qsb (qt6-shader-baker) is
	  not in the default path, but in a QT6 specific path. Search there too
	  Applied changes from Nirbheek
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6095>

2023-09-17 18:48:13 +0200  Jochen Henneberg <jh@henneberg-systemdesign.com>

	* gst/isomp4/gstrtpxqtdepay.c:
	  rtpxqtdepay: Enabled header extension aggregation
	  Because this depayloader may build several output buffers within one
	  process run we push them all into a GstBufferList and push them out at
	  once to make sure that each buffer gets notified about each header
	  extension.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5378>

2023-09-10 19:06:35 +0200  Jochen Henneberg <jh@henneberg-systemdesign.com>

	* gst/rtp/gstrtpmp4gdepay.c:
	* gst/rtp/gstrtpmp4gdepay.h:
	  rtpmp4gdepay: Enabled header extension aggregation
	  Because this depayloader may build several output buffers within one
	  process run we push them all into a GstBufferList and push them out at
	  once to make sure that each buffer gets notified about each header
	  extension.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5378>

2023-09-10 19:06:10 +0200  Jochen Henneberg <jh@henneberg-systemdesign.com>

	* gst/rtp/gstrtpsbcdepay.c:
	  rtpsbcdepay: Enabled header extension aggregation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5378>

2023-09-10 19:05:11 +0200  Jochen Henneberg <jh@henneberg-systemdesign.com>

	* gst/rtp/gstrtpvorbisdepay.c:
	  rtpvorbisdepay: Enabled header extension aggregation
	  Because this depayloader may build several output buffers within one
	  process run we push them all into a GstBufferList and push them out at
	  once to make sure that each buffer gets notified about each header
	  extension.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5378>

2023-09-10 19:04:00 +0200  Jochen Henneberg <jh@henneberg-systemdesign.com>

	* gst/rtp/gstrtpmp4vdepay.c:
	  rtpmp4vdepay: Enabled header extension aggregation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5378>

2023-09-04 17:33:52 +0200  Jochen Henneberg <jh@henneberg-systemdesign.com>

	* gst/rtp/gstrtptheoradepay.c:
	  rtptheoradepay: Enabled header extension aggregation
	  Because this depayloader may build several output buffers within one
	  process run we push them all into a GstBufferList and push them out at
	  once to make sure that each buffer gets notified about each header
	  extension.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5378>

2023-09-04 17:33:34 +0200  Jochen Henneberg <jh@henneberg-systemdesign.com>

	* gst/rtp/gstrtpsv3vdepay.c:
	  rtpsv3vdepay: Enabled header extension aggregation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5378>

2023-09-04 17:31:57 +0200  Jochen Henneberg <jh@henneberg-systemdesign.com>

	* gst/rtp/gstrtpmp4adepay.c:
	  rtpmp4adepay: Enabled header extension aggregation
	  Because this depayloader may build several output buffers within one process
	  run we push them all into a GstBufferList and push them out at once to
	  make sure that each buffer gets notified about each header extension.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5378>

2023-09-04 17:31:41 +0200  Jochen Henneberg <jh@henneberg-systemdesign.com>

	* gst/rtp/gstrtpklvdepay.c:
	  rtpklvdepay: Enabled header extension aggregation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5378>

2023-09-04 17:31:20 +0200  Jochen Henneberg <jh@henneberg-systemdesign.com>

	* gst/rtp/gstrtpjpegdepay.c:
	  rtpjpegdepay: Enabled header extension aggregation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5378>

2023-09-04 17:30:48 +0200  Jochen Henneberg <jh@henneberg-systemdesign.com>

	* gst/rtp/gstrtpj2kdepay.c:
	  rtpj2kdepay: Enabled header extension aggregation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5378>

2023-09-04 17:30:31 +0200  Jochen Henneberg <jh@henneberg-systemdesign.com>

	* gst/rtp/gstrtph263pdepay.c:
	  rtph263pdepay: Enabled header extension aggregation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5378>

2023-09-04 17:29:32 +0200  Jochen Henneberg <jh@henneberg-systemdesign.com>

	* gst/rtp/gstrtph263depay.c:
	  rtph263depay: Enabled header extensions aggregation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5378>

2023-09-04 17:28:46 +0200  Jochen Henneberg <jh@henneberg-systemdesign.com>

	* gst/rtp/gstrtph261depay.c:
	  rtph261depay: Enabled header extension aggregation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5378>

2014-06-18 14:27:22 +0200  Priit Laes <plaes@plaes.org>

	* docs/gst_plugins_cache.json:
	* ext/libcaca/gstcacasink.c:
	* ext/libcaca/gstcacasink.h:
	  cacasink: add driver selection support from the pipeline
	  https://bugzilla.gnome.org/show_bug.cgi?id=599018
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5491>

2024-02-15 16:38:53 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6126>

=== release 1.23.2 ===

2024-02-15 15:37:17 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2024-02-14 15:49:43 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtp/dboolhuff.LICENSE:
	* gst/rtp/dboolhuff.c:
	* gst/rtp/dboolhuff.h:
	* gst/rtp/gstrtpvp8pay.c:
	* gst/rtp/meson.build:
	  Revert "rtpvp8pay: Use GstBitReader instead of dboolhuff implementation from libvpx"
	  This reverts commit b730e7a1b28ce4bcea90fbff7c5293fa2c0a76b2.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3300
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6116>

2024-02-13 18:57:05 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/rtpmanager/gstrtpbin.c:
	  webrtcbin, rtpbin: check before setting properties on jitterbuffer
	  In rtpbin we already systematically check for all property names
	  except latency, correct that.
	  In webrtcbin we need to check before trying to use the do-retransmission
	  property.
	  This is useful for the case where an element like identity gets passed
	  to rtpbin's request-jitterbuffer property, when the application wants
	  to use webrtcbin in an SFU situation, with no reordering and no added
	  latency
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6112>

2024-02-13 17:43:15 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtpmanager/gstrtpfunnel.c:
	  rtpfunnel: Handle NTP-64 RTP header extension in caps similar to TWCC
	  This is another header extension that is handled by rtpsession and needs
	  to be preserved in the caps that are created by rtpfunnel.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6109>

2024-02-14 00:37:38 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/lv.po:
	* po/ro.po:
	* po/tr.po:
	  gst-plugins-good: update translations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6113>

2024-02-13 18:07:52 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtpmanager/gstrtpfunnel.c:
	  rtpfunnel: Also write TWCC RTP header extension into buffer list buffers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6110>

2024-02-03 11:54:41 +0000  Philippe Normand <philn@igalia.com>

	* ext/adaptivedemux2/dash/gstdashdemux.c:
	  dashdemux2: Basic support for container-specific-track-id tag
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6041>

2024-02-03 11:53:36 +0000  Philippe Normand <philn@igalia.com>

	* gst/matroska/matroska-demux.c:
	  matroska-demux: Basic support for container-specific-track-id tag
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6041>

2024-02-03 11:52:42 +0000  Philippe Normand <philn@igalia.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Basic support for container-specific-track-id tag
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6041>

2024-02-09 11:13:16 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/qt6/meson.build:
	  meson: Don't use fs.copyfile() for qt6 resources
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3285
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6077>

2023-12-01 14:49:37 +0100  Ignazio Pillai <ignazp@amazon.com>

	* docs/gst_plugins_cache.json:
	* gst/cutter/gstcutter.c:
	* gst/cutter/gstcutter.h:
	  cutter: add audio-level-meta
	  Set GstAudioLevelMeta on buffers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5771>

2024-02-05 23:04:45 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/qt6/meson.build:
	  meson: Fix several warnings in the build
	  Deprecations, incorrect options, etc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6058>

2024-02-05 22:39:29 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tests/check/meson.build:
	  good/tests: Don't enable soup tests if soup is disabled
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3268
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6058>

2024-02-06 18:09:02 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6066>

=== release 1.23.1 ===

2024-02-06 16:37:19 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2024-02-05 09:27:54 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson_options.txt:
	  meson_options.txt: fix meson warning about default bool values being a string

2024-02-02 23:04:29 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/qt/meson.build:
	* ext/qt6/meson.build:
	  meson: Print a useful error message when qt windowing is not found
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6040>

2023-08-24 15:18:05 +0900  Hou Qi <qi.hou@nxp.com>

	* ext/adaptivedemux2/hls/m3u8.c:
	  hlsdemux2/m3u8: use GstClockTimeDiff to do timestamp comparison
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5234>

2023-12-13 20:43:14 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtp/dboolhuff.LICENSE:
	* gst/rtp/dboolhuff.c:
	* gst/rtp/dboolhuff.h:
	* gst/rtp/gstrtpvp8pay.c:
	* gst/rtp/meson.build:
	  rtpvp8pay: Use GstBitReader instead of dboolhuff implementation from libvpx
	  All compressed frame header values that are read as part of the
	  payloader are encoded as bits with 50:50 probability, and as such are
	  just the plain bits as they are.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5810>

2023-08-22 16:11:06 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: update rtsp url on redirect
	  - If a redirect took place on a GET when rtsp is tunneled we update the
	  rtsp url too.
	  - log source and final destination on redirect
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5222>

2024-01-29 16:10:21 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/matroska/matroska-read-common.c:
	  matroskademux: Lower verbosity of some often happenning warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6011>

2024-01-29 16:10:06 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/isomp4/qtdemux.c:
	* gst/isomp4/qtdemux_types.c:
	  qtdemux: Lower verbosity of some often happenning warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6011>

2024-01-28 11:15:01 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: bump Meson requirement to >= 1.1 for all modules
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6002>

2024-01-25 20:13:51 +0100  Jonas Kvinge <jonas@jkvinge.net>

	* ext/taglib/meson.build:
	  meson: Set cpp_std to c++17 for TagLib
	  TagLib uses C++17 as of version 2.0.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5995>

2024-01-02 16:18:05 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* ext/vpx/gstvpxenc.c:
	  vpxenc: fix warning about decreasing PTS on first frame
	  The fields used to track this state should be initialized when
	  codec->inited is FALSE on set_format, not TRUE
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3200
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5876>

2024-01-17 15:59:15 +0100  Jonas K Danielsson <jonas.danielsson@spiideo.com>

	* gst/multifile/gstsplitutils.c:
	  splitmuxsrc: Use natural ordering to find files
	  Today when using the `splitmuxsrc` on a collection of files named as:
	  ```
	  item0.mkv
	  item1.mkv
	  item2.mkv
	  [...]
	  item10.mkv
	  item11.mkv
	  [...]
	  ```
	  You will get a continuous stream made in the order of:
	  ```
	  item0.mkv -> item1.mkv -> item10.mkv -> item11.mkv -> [...]
	  ```
	  You can fix this by having smarter names of the items:
	  ```
	  item000.mkv
	  item001.mkv
	  item002.mkv
	  [...]
	  item010.mkv
	  item011.mkv
	  [...]
	  ```
	  Will get you:
	  ```
	  item000.mkv -> item001.mkv -> item003.mkv -> item004.mkv -> [...]
	  ```
	  But, we could also "fix" the former case by using natural ordering when
	  comparing the files in gstsplitutils.c.
	  Fixes #2523
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4491>

2024-01-22 17:01:19 -0500  Dan Searles <Dan.Searles@garmin.com>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: fix ttl setting for udpsink[1]
	  Fix ttl setting being incorrectly applied to udpsink[0] rather
	  than to udpsink[1].
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5955>

2024-01-22 12:18:25 -0500  Dan Searles <Dan.Searles@garmin.com>

	* gst/rtsp/gstrtspsrc.c:
	  rtspsrc: set multicast-iface on udpsinks
	  Copy rtspsrc property multicast-iface to its udpsinks to
	  allow messages over those sinks back to the server to work (and
	  prevent 'Network unreachable' warnings).
	  Closes: #3239
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5955>

2024-01-18 16:54:22 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/flv/gstflvdemux.c:
	  flvdemux: don't re-use segment from one stream if the other has buffer earlier
	  Fix first audio buffers being out of segment because the audio stream
	  is starting earlier than the video one which was the first demuxed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5940>

2024-01-18 16:50:20 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/flv/gstflvdemux.c:
	  flvdemux: factor out ensure_new_segment()
	  - Use the pad instead of the element for logs, so it's clearer on which
	  pad this segment will be pushed.
	  - One copy was checking for invalid seq num, the other was not.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5940>

2024-01-11 14:29:49 +0900  Hou Qi <qi.hou@nxp.com>

	* gst/rtpmanager/rtpjitterbuffer.c:
	  rtpjitterbuffer: Fix build warning in rtp_jitter_buffer_append_query()
	  This is to fix build warnings when using [-Wmaybe-uninitialized]
	  ../gst/rtpmanager/rtpjitterbuffer.c:1237:10: warning: 'head' may be used uninitialized [-Wmaybe-uninitialized]
	  1237 |   return head;
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5907>

2024-01-12 12:51:27 +0000  Philippe Normand <philn@igalia.com>

	* ext/vpx/gstvpxdec.c:
	  vpxdec: Use appropriate domain and code for decoding errors
	  STREAM domain and DECODE error is commonly used in other decoders. ENCODE is for
	  encoders.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5916>

2024-01-10 19:10:55 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/soup/gstsouploader.c:
	  soup: Avoid using GUri before GLib 2.66
	  Let's use gpointer for now
	  Fixes: #3169
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5906>

2024-01-08 11:04:22 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtpmanager/rtpsession.c:
	* gst/rtpmanager/rtpsession.h:
	  rtpsession: Remove some unused fields
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5899>

2023-11-16 11:42:27 +0530  Sanchayan Maity <sanchayan@asymptotic.io>

	* gst/rtpmanager/gstrtphdrext-clientaudiolevel.c:
	  rtphdrext-clientaudiolevel: Fix level value being written by the extension
	  When level value is greater than 127, it was being clamped but this clamped
	  value was not the one being actually used. For level values greater than 127
	  this resulted in an incorrect value being used. As an example, a level value
	  of 187, after and'ed with 0x7F, it would result in 0x3B being reported as the
	  level value.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5893>

2023-12-23 11:03:51 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/gst_plugins_cache.json:
	* ext/vpx/plugin.c:
	  vpx: fix plugin description
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5864>

2023-12-22 12:56:33 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtpmanager/gstrtpsession.c:
	  rtpsession: Only warn once if configured latency needs to be known but isn't yet
	  Otherwise we would warn about this once for every single packet until
	  the LATENCY event is received.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5854>

2023-12-25 18:36:44 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/gst_plugins_cache.json:
	* gst/rtp/gstrtpvrawdepay.c:
	  rtpvrawdepay: only announce supported formats in sink template
	  For most video formats we currently just assume that they
	  have a depth of 8 bits, whilst advertising that we can
	  handle 8/10/12/16 bit depth.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5866>

2023-12-15 21:52:03 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtp/gstrtpvp8pay.c:
	  rtpvp8pay: Also set partition IDs in the packets if meta exists but without temporal_scalability
	  Encoders will add the meta to every single buffer, but we only cannot set
	  partition IDs properly when the meta has temporal_scalability set
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5814>

2023-12-19 13:57:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* docs/gst_plugins_cache.json:
	  video-format: Fix format order once again
	  RGBA should be before RBGA. Both the Python script and the gstreamer-rs
	  tests agree on that, but somehow this is not caught by the CI.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5837>

2023-12-18 11:03:57 +0900  Chao Guo <chao.guo@nxp.com>

	* sys/v4l2/gstv4l2object.c:
	  v4l2object: clear old fds in poll when closing v4l2object
	  When reopening a v4l2 device, the v4l2object->poll will include some old fds,
	  which was assigned to this device before. If the pipeline opens multiple v4l2
	  devices, the old fd may been assigned to other v4l2 devices when reopening
	  devices.
	  This will cause the timing of the pipeline become confusing when polling devices,
	  leading functional abnormalities.
	  Therefore, when closing v4l2object, remove the old fds in poll to ensure that the
	  pipeline timing is normal.
	  Signed-off-by: Chao Guo <chao.guo@nxp.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5820>

2023-12-15 15:19:35 -0500  Arun Raghavan <arun@asymptotic.io>

	* gst/rtp/gstrtpchannels.c:
	  rtp: Fix incorrect RTP channel order lookup by name
	  The g_ascii_strcasecmp() logic is inverted, since it returns 0 on equality.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5815>

2023-12-11 10:49:39 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* docs/gst_plugins_cache.json:
	* ext/gtk/gstgtkglsink.c:
	  gtkglsink: template caps to only 2D & rectangle texture targets
	  Apparently external-oes is not supported by the plugin as texture target,
	  while DMABuf uploading prefers it because it's zero copy.
	  This patch enables DMABuf uploading and rendering by using either 2D or
	  rectangle texture targets.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5795>

2023-12-06 11:24:35 -0600  Olivier Crête <olivier.crete@collabora.com>

	* ext/adaptivedemux2/downloadhelper.c:
	* ext/soup/gstsouploader.c:
	* ext/soup/gstsouploader.h:
	* ext/soup/stub/soup.h:
	  adaptivedemux2: Parse cookies in downloadhelper
	  We need to parse any cookie headers, otherwise we end up
	  sending back attributes likes "Secure" and "httponly" which break
	  some servers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5776>

2023-12-09 13:15:38 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtp/gstrtpvp9pay.c:
	  rtpvp9pay: Don't include unused dboolhuff.h header
	  It's only used by the VP8 payloader.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5784>

2023-12-06 20:42:32 -0800  Xavier Claessens <xavier.claessens@collabora.com>

	* sys/v4l2/gstv4l2src.c:
	  v4l2src: Consider framerate during caps selection
	  This simplifies the way it picks the closest caps to preference and take into
	  consideration the framerate to avoid picking high resolution at 5fps or so.
	  Simply calculate a "distance" of caps A and B from the preference and put
	  closest first, sorting by framerate first.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5777>

2023-12-05 09:25:22 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/isomp4/qtdemux_tags.c:
	* meson.build:
	  qtdemux: fix bug report URL
	  Using PACKAGE_BUGREPORT as in other modules.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5762>

2023-11-28 11:43:53 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Do not update `demux->offset` when droping data on EOS
	  The offset is updated right after and we were breaking it by updating it
	  twice.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5724>

2023-11-28 11:28:58 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Do not mark stream as EOS only if all streams are EOS
	  The `GstFlowCombiner` is responsible for tracking the flow of each
	  stream and handle the overal flow return value. Without that, we
	  can end up with the following scenario:
	  - Audio+video stream
	  - Only the video stream is linked downstream
	  - The audio stream goes EOS, video doesn't yet
	  -> We update the Flow in the combiner with OK as all streams are not EOS
	  - Video goes EOS because downstream returned EOS
	  -> `qtdemux` returns `FLOW_OK` forever because the unlinked audio pad
	  has `last_flowret==FLOW_OK`
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5724>

2023-11-28 11:27:45 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Determine EOS based on the stream segment
	  Depending on the stream segment might vary (because of edts for example)
	  leading to EOS being sent at the wrong time (too early for example).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5724>

2023-12-01 14:51:49 +0900  Hosang Lee <hosang10.lee@lge.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Don't overflow sample index
	  Don't reduce sample index if it is already at 0.
	  Assigning -1 to a guint32 variable causes unexpected behavior.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5743>

2023-12-01 15:05:41 +0900  Hosang Lee <hosang10.lee@lge.com>

	* gst/isomp4/qtdemux.c:
	  qtdemux: Fix reverse playback for pcm audio stream
	  Some raw lpcm or adpcm may have larger sample sizes than the max
	  buffer size value set.
	  Trimming the buffer causes bogus size error on reverse playback.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5742>

2023-11-22 00:07:57 +0900  Seungha Yang <seungha@centricular.com>

	* docs/gst_plugins_cache.json:
	  video: Add RBGA format
	  This new format is intended to be used by hardware decoders
	  where VUYA is only supported 4:4:4 decoding surface but
	  stream is encoded with GBR color space, HEVC and VP9 GBR streams
	  for example.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5703>

2023-11-24 15:43:15 +0000  Philippe Normand <philn@igalia.com>

	* ext/adaptivedemux2/dash/gstdashdemux.c:
	  dashdemux2: Fix a couple leaks and a use-after-move
	  The tags and caps were leaked for unknown streams, I'm not sure they'd be valid
	  in that case, but better safe than sorry.
	  The tags ownership is transfered when calling `gst_adaptive_demux_track_new()`
	  so unreffing those afterwards was a mistake.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5714>

2023-06-07 14:38:18 +0200  Robin Gustavsson <robin.gustavsson@spiideo.com>

	* gst/rtp/gstrtpklvdepay.c:
	* tests/check/elements/rtp-payloading.c:
	  rtpklvdepay: Recover after invalid fragmented KLV unit
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4816>

2023-11-13 15:51:44 +0200  Sebastian Dröge <sebastian@centricular.com>

	* docs/gst_plugins_cache.json:
	* gst/rtpmanager/gstrtpjitterbuffer.c:
	* gst/rtpmanager/rtpjitterbuffer.c:
	* gst/rtpmanager/rtpjitterbuffer.h:
	  rtpjitterbuffer: Add new "rfc7273-reference-timestamp-meta-only" property
	  If this property is enabled then the jitterbuffer will do the normal PTS
	  calculations according to the configured mode instead of making use of
	  the RFC7273 media clock.
	  The timestamp calculated from the RFC7273 media clock will only be
	  stored in the reference timestamp meta, if addition of that meta is enabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5512>

2023-10-19 20:45:09 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/gst_plugins_cache.json:
	* gst/rtpmanager/gstrtpjitterbuffer.c:
	* gst/rtpmanager/rtpjitterbuffer.c:
	* gst/rtpmanager/rtpjitterbuffer.h:
	  rtpjitterbuffer: Add new rfc7273-use-system-clock property
	  When this property is used, it is assumed that the system clock is
	  synced close enough to the media clock used by an RFC7273 stream.
	  As long as both clocks are at most a few seconds from each other this
	  will give the correct results and avoids having to create an actual
	  network clock that has to sync first.
	  If the system clock is actually synchronized to the media clock then
	  everything will behave exactly the same, otherwise the reference
	  timestamp meta will be correct but the buffer timestamps will be off by
	  the difference between the two clocks.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5512>

2023-10-19 20:17:04 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtpmanager/rtpjitterbuffer.c:
	  rtpjitterbuffer: Improve handling of media clocks
	  Do more checks for clock equality than just checking pointers. The same
	  NTP/PTP clock might be used as pipeline clock but a new instance, so
	  instead also check what clock they are synced to.
	  Also handling setting / resetting of the media clock and pipeline clock
	  correctly by resetting the media clock's state accordingly.
