=== release 1.26.0 ===

2025-03-11 20:14:44 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-libav.doap:
	* meson.build:
	  Release 1.26.0

2025-02-23 23:52:57 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.25.90

=== release 1.25.90 ===

2025-02-23 23:44:10 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-libav.doap:
	* meson.build:
	  Release 1.25.90

2025-02-21 21:14:44 +0900  Seungha Yang <seungha@centricular.com>

	* ext/libav/gstavcodecmap.c:
	  libav: Fix build error 'AV_CODEC_ID_QOI undeclared'
	  Add version check define guard
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4243
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8535>

2025-02-15 16:59:31 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/gst_plugins_cache.json:
	  gst-libav: update docs for hap codec addition and other changes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7717>

2024-10-23 14:22:37 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/libav/gstavcodecmap.c:
	* ext/libav/gstavvidenc.c:
	  avcodecmap: add mapping for Hap video codec
	  Decoder works, encoder needs more work.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7717>

2025-02-13 11:47:51 +0400  Marc-André Lureau <marcandre.lureau@redhat.com>

	* docs/gst_plugins_cache.json:
	  gst-libav: update plugins cache
	  curl https://gitlab.freedesktop.org/elmarco/gstreamer/\
	  -/jobs/70876411/artifacts/raw//diffs/documentation_cache.diff | git apply -
	  Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8458>

2025-02-11 16:04:15 +0400  Marc-André Lureau <marcandre.lureau@redhat.com>

	* ext/libav/gstavcodecmap.c:
	  gst-libav: add QOI codec mime mappings
	  image/qoi is the recommended MIME type:
	  https://github.com/phoboslab/qoi?tab=readme-ov-file#mime-type-file-extension
	  Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8458>

2025-02-10 12:30:04 -0800  xizhen <xizhen@focusai.com>

	* ext/libav/gstavvidenc.c:
	  avvidenc: Fix typo in log
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8450>

2025-02-09 17:47:32 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.25.50

=== release 1.25.50 ===

2025-02-09 17:35:17 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-libav.doap:
	* meson.build:
	  Release 1.25.50

2025-01-29 16:34:33 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstavcodecmap.c:
	  avcodecmap: Use gst_value_list_append_and_take_value() in two places
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8379>

2025-01-29 14:44:05 +0200  Sebastian Dröge <sebastian@centricular.com>

	* docs/gst_plugins_cache.json:
	* ext/libav/gstavcodecmap.c:
	  avcodecmap: Use actually supported channel counts for S302M
	  Only 2/4/6/8 channels are supported. Also this makes sure that the correct
	  sample rate is enforced (48kHz) in the template caps instead of allow any sample
	  rate and failing at runtime.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8379>

2024-10-09 23:16:31 +0200  Carlos Bentzen <cadubentzen@igalia.com>

	* ext/libav/gstavcodecmap.c:
	* ext/libav/gstavviddec.c:
	  libav: add support for VVC/H.266 decoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7637>

2025-01-30 14:26:33 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* docs/gst_plugins_cache.json:
	* ext/libav/gstavcodecmap.c:
	  libav: map GST_VIDEO_FORMAT_GRAY10_LE16 to AV_PIX_FMT_GRAY10LE
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8388>

2025-01-21 00:43:01 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/avaudenc.c:
	  gst-libav: tests: fix build with older glib versions
	  g_newa0() is only available since 2.72.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8333>

2025-01-19 16:19:32 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/avaudenc.c:
	  avaudenc: add test for misaligned audio input buffers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8318>

2025-01-19 14:29:33 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/libav/gstavaudenc.c:
	  avaudenc: fix crash in avenc_ac3 if input buffers are insufficiently aligned
	  Memcpy if needed to ensure sufficient alignment, as some
	  SIMD instructions might require more alignment than we provide
	  by default (e.g. vmovaps requires 32 bytes, but gstreamer uses
	  malloc alignment by default which is 16 bytes here on x86_64).
	  And in any case buffers might be trimmed, so the only alignment
	  we can expect is sample frame alignment which might be even
	  smaller than 16 bytes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8318>

2025-01-15 17:36:00 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/meson.build:
	  docs: generate hotdoc configs for libraries with our helper script
	  With this patch, configure time is identical no matter whether doc is
	  enabled or not.
	  The configuration files also now contain explicitly-listed sources with
	  no wildcards.
	  For the four libraries where hotdoc needs to use clang to generate the
	  documentation (as opposed to the rest of the libraries where hotdoc uses
	  the gir), the script will call pkg-config to determine the appropriate
	  C flags.
	  This means a side effect of this patch is that pkg-config files are now
	  generated for the gstadaptivedemux and gstopencv libraries.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8312>

2025-01-17 16:51:22 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* meson.build:
	  meson: bump minimum version to 1.4 in every subprojects
	  36c01d05797ad9c7778939c54870f979bdcbba1f bumped to 1.4 for gst-devtools
	  and the root project, but we usually keep those in sync everywhere.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8312>

2025-01-14 15:00:43 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.25.1

=== release 1.25.1 ===

2025-01-14 14:52:48 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-libav.doap:
	* meson.build:
	  Release 1.25.1

2025-01-14 09:55:09 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstavcodecmap.c:
	  avcodecmap: Only use new channel positions when compiling against new enough ffmpeg
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4163
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8300>

2025-01-13 18:10:31 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/meson.build:
	* ext/libav/meson.build:
	* meson.build:
	  docs: port plugins to explicit sources
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8273>

2025-01-10 08:59:09 +0100  Edward Hervey <edward@centricular.com>

	* ext/libav/gstavdemux.c:
	* meson.build:
	  libav: Add more warning flags
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-06 14:46:24 +0100  Edward Hervey <edward@centricular.com>

	* ext/libav/gstavcodecmap.c:
	  libav/codecmap: Clarify fallthrough usages
	  And minor rewrite to avoid `return; break;` patterns
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2024-12-18 13:18:32 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/meson.build:
	  doc: Handle gst_dep.get_variable('libexecdir') failure
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8178>

2024-12-18 12:27:30 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/meson.build:
	  doc: Allow updating the plugins cache for all modules even if hotdoc is not present
	  This was possible for some modules but not all, for no good reason.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8178>

2024-12-18 12:21:15 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstavcodecmap.c:
	  avcodecmap: Add some more channel position mappings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8173>

2024-12-09 16:46:12 -0300  Thibault Saunier <tsaunier@igalia.com>

	* ext/libav/gstavviddec.c:
	* ext/libav/gstavviddec.h:
	  avviddec: Renegotiate srcpad caps on framerate change
	  We avoid resetting the internal FFmpeg decoder on framerate changes,
	  but in turn this means we were not updating the framerate on the srcpad,
	  which was clearly incorrect. This change keeps the optimization but ensures
	  that we renegotiate downstream when framerate changes occur.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8118>

2024-12-04 16:27:54 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/libav/gstavprotocol.c:
	  libav: free protocol info in gst_ffmpeg_pipe_close
	  When the media is not seekable, we are calling gst_ffmpeg_pipe_close
	  which does free the info.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8070>

2024-11-18 15:09:43 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/libav/gstavviddec.c:
	  libav: avviddec: log the old resolution when updating the pool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7913>

2024-11-15 11:34:07 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/libav/gstavviddec.c:
	  libav: viddec: provide details if meta has the wrong resolution
	  Will produce a more useful assert error message.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7913>

2024-11-15 11:46:14 -0300  Thibault Saunier <tsaunier@igalia.com>

	* meson.build:
	  meson: Bump minimum version to 1.3
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4025
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7899>

2024-11-04 10:37:14 +0200  Sebastian Dröge <sebastian@centricular.com>

	* docs/gst_plugins_cache.json:
	* ext/libav/gstavcodecmap.c:
	  avcodecmap: Add support for M101 Matrox uncompressed SD video codec
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7823>

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

	* ext/libav/gstavcodecmap.c:
	  avcodecmap: Use avcodec_get_supported_config() instead of struct fields
	  The struct fields are deprecated.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7824>

2024-08-15 12:01:53 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstavdemux.c:
	  avdemux: Combine upstream and local tags
	  Otherwise whatever caps appear last are going to override the others instead of
	  extending them.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7366>

2024-08-15 11:52:23 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstavdemux.c:
	  avdemux: Set correct taglist scope for global vs. stream tags
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7366>

2024-11-03 17:30:40 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/meson.build:
	  meson: bail out earlier in docs subdir if docs are disabled
	  The gst_dep.get_variable('libexecdir') may fail in some scenarios
	  (e.g. building a module alone inside an uninstalled devenv) and
	  it shouldn't really be reached in the first place if docs are
	  disabled via options.
	  Also to avoid confusing meson messages when cross-compiling or
	  doing a static build.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7818>

2024-06-28 14:24:54 +0200  Edward Hervey <edward@centricular.com>

	* docs/gst_plugins_cache.json:
	  plugins_cache: Update for fedora 40 build
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-09-26 15:48:54 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstavviddec.c:
	  avviddec: Unlock video decoder stream lock temporarily while finishing frames
	  Temporarily release the video decoder stream lock so that other
	  threads can continue decoding (e.g. call get_frame()) while data
	  is being pushed downstream.
	  At this point it is locked twice, we release one, and then the base class
	  releases the last one just before pushing the data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7576>

2024-09-03 12:16:19 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstavviddec.c:
	  common: Use more efficient versions of GstCapsFeatures API where possible
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432>

2024-09-09 18:16:18 -0300  Thibault Saunier <tsaunier@igalia.com>

	* ext/libav/gstavviddec.c:
	  avvidec: Fix typo in error string
	  It was missing a space.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7483>

2024-09-09 13:42:57 -0400  Kevin Wang <kevmo314@gmail.com>

	* docs/gst_plugins_cache.json:
	* ext/libav/gstavviddec.c:
	  ffmpeg: Add valid values of AVDiscard
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7364>

2024-08-21 11:05:11 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstavprotocol.c:
	  avdemux: Never return 0 from read function
	  Instead return AVERROR_EOF. The read function must never ever return 0 according
	  to the documentation, and in practice this leads to infinite loops.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3369
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7390>

2024-08-15 11:42:47 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstavdemux.c:
	  avdemux: Fix deadlock when serialized events are received from upstream while opening
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3657
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7362>

2023-07-09 23:21:16 +0200  Jesper Jensen <jesper@jnsn.dev>

	* ext/libav/gstavprotocol.c:
	  avprotocol: Return EOF when stream is out of data
	  According to the ffmpeg documentation[1] the read_packet function should never
	  return 0. ffmpegdata_peek returns 0 when the stream is EOF causing us to fail
	  detecting EOF and never close the pipeline, continually spinning on more data.
	  ffmpeg instead wants an AVERROR_EOF code for to signal EOF.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4999>

2024-02-28 10:16:04 +0100  Edward Hervey <edward@centricular.com>

	* ext/libav/gstavauddec.c:
	* ext/libav/gstavaudenc.c:
	* ext/libav/gstavcodecmap.c:
	* ext/libav/gstavcodecmap.h:
	* ext/libav/gstavviddec.c:
	* ext/libav/gstavvidenc.c:
	  ffmpeg: Don't register elements for which we have no caps
	  We would previously register a whole bunch of encoder/decoder for which the caps
	  were ... "unknown/unknown".
	  Add a function to quickly check (without generating caps) whether a given
	  AVCodecID has a known mapping (which can include the {video|audio}/x-gst-av-*
	  ones) without generating the caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6237>

2024-07-12 17:09:15 +0200  Ruben Gonzalez <rgonzalez@fluendo.com>

	* ext/libav/gstavcodecmap.c:
	* ext/libav/gstavcodecmap.h:
	* ext/libav/gstavmux.c:
	  avmux: Fix crash when muxer doesn't get codecid
	  gst_ffmpeg_formatid_get_codecids from gst_ffmpegmux_base_init to gst_ffmpegmux_base_init
	  FFmpeg 7.0 included new muxer rcwt for Raw Captions with Time
	  (RCWT). Commit [1].  GStreamer couldn't get sink caps for muxer it.
	  Calling gst_ffmpeg_formatid_get_codecids in gst_ffmpegmux_register to
	  avoid create muxer without pad templates.
	  [1] https://github.com/FFmpeg/FFmpeg/commit/3525544e48
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7168>

2024-07-16 20:49:13 +0900  Seungha Yang <seungha@centricular.com>

	* ext/libav/gstavauddec.c:
	  avauddec: Fix crash on stop()
	  GstFFMpegAudDec.context can be nullptr if decoder got closed
	  without opening new context. Note that we don't need to clear
	  AVCodecContext.extradata there since avcodec_free_context()
	  will do clear the data if needed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7180>

2024-05-01 18:05:35 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/gst_plugins_cache.json:
	* ext/libav/gstavcodecmap.c:
	  typefind: Add typefinders for formats that were previously available via ffmpeg
	  Co-Authored-By: Matthew Waters <matthew@centricular.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6505>

2024-05-01 17:02:38 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstavvidenc.c:
	* ext/libav/gstavvidenc.h:
	  avvidenc: Make sure to pass always increasing PTS to the encoder
	  All MPEG1/2/4-based encoders at least are ignoring input frames if
	  backwards PTS or PTS that are equal to the previous one are passed in.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6505>

2024-05-01 16:50:30 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstavviddec.c:
	  avviddec: Only use 2 ticks per frame if decoding interlaced video
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6505>

2024-05-01 16:39:00 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstavvidenc.c:
	  avvidenc: Set the DTS to 0 if it is negative, not the PTS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6505>

2024-05-01 16:32:16 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstavvidenc.c:
	  avvidenc: Only use 2 ticks per frame if encoding interlaced video
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3518
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6505>

2024-05-01 14:12:25 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstavmux.c:
	  avmux: Reset input context to NULL after closing in the muxer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6505>

2024-05-01 14:10:59 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstavdemux.c:
	  avdemux: Fix leak of demuxer input context in error cases
	  Also simplify context lifetime management a bit.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6505>

2024-05-01 13:56:56 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstav.c:
	* ext/libav/gstav.h:
	* ext/libav/gstavauddec.c:
	* ext/libav/gstavauddec.h:
	* ext/libav/gstavaudenc.c:
	* ext/libav/gstavaudenc.h:
	* ext/libav/gstavcfg.c:
	* ext/libav/gstavdeinterlace.c:
	* ext/libav/gstavviddec.c:
	* ext/libav/gstavviddec.h:
	* ext/libav/gstavvidenc.c:
	* ext/libav/gstavvidenc.h:
	  libav: Update AVCodecContext lifetime to work properly with ffmpeg 7
	  avcodec_close() is deprecated and it's not supported anymore to re-open
	  a codec, so we only ever allocate the codec in set_format() now and
	  always free it after usage.
	  As part of this, also fix various memory leaks in related code paths.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6505>

2024-05-01 12:24:08 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstavprotocol.c:
	  libav: Fix signature of avprotocol write function for ffmpeg 7
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6505>

2024-04-02 10:17:56 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstavdemux.c:
	  avdemux: Remove typefinder implementation
	  Direct access to AVInputFormat::read_probe() is not possible anymore
	  with ffmpeg 7.0, and the usefulness of this typefinder seems limited
	  anyway. An alternative implementation around av_probe_input_format3() or
	  similar would be possible but it would be going over all possible ffmpeg
	  probes at once.
	  Having a typefinder here means that basically every application will
	  load the gst-libav plugin when typefinding is necessary, which has
	  unnecessary performance impacts. If a typefinder from here was indeed
	  missing from typefindfunctions in gst-plugins-base then it would be
	  better to add it there directly.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3378
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6505>

2024-05-14 10:27:36 +0200  Edward Hervey <edward@centricular.com>

	* ext/libav/gstavviddec.c:
	  avviddec: Rename variables and fuse function
	  * gst_ffmpegviddec_frame() is the only caller of gst_ffmpegviddec_video_frame()
	  and has the same signature. Just move the checks into a single function and
	  use that.
	  * Make it clear which frames are the input and output ones in
	  gst_ffmpegviddec_video_frame() to make issues like the one fixed in the previous
	  commit more obvious.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6851>

2024-05-14 09:52:30 +0200  Edward Hervey <edward@centricular.com>

	* ext/libav/gstavviddec.c:
	  avvidec: Fix dropping wrong "ghost" frames
	  This fixes the code regarding dropping "ghost frames", that is to say input
	  frames which ended up not producing any decoded frame.
	  The iteration itself makes sense.. but it was stopping at the "input" frame and
	  not the decoded frame we just got back.
	  When dealing with I-frame codecs, ffmpeg will decode frames in separate frames,
	  so there is no guarantee that they are decoding in order.
	  Fixes playback issues with such codecs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6842>

2024-04-05 02:28:53 +0900  Seungha Yang <seungha@centricular.com>

	* ext/libav/gstavviddec.c:
	  avviddec: Fix AVPacket leak
	  av_packet_unref() does not release allocated memory.
	  av_packet_free() is the correct free function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6544>

2024-03-12 12:14:57 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>

	* ext/libav/gstavcfg.c:
	  libav: guard dropped AV_OPT_TYPE_CHANNEL_LAYOUT
	  The FF_API_OLD_CHANNEL_LAYOUT api was dropped in upstream:
	  https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/65ddc7498824
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6341>

2024-03-12 12:04:01 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>

	* ext/libav/gstavviddec.c:
	* ext/libav/gstavvidenc.c:
	  libav: guard dropped AV_CODEC_ID_AYUV api
	  The FF_API_AYUV_CODECID api was dropped in upstream:
	  https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/9ee59b63f5ea
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6341>

2024-03-14 19:05:06 +0100  Piotr Brzeziński <piotr@centricular.com>

	* tests/check/elements/avaudenc.c:
	  avaudenc: Add simple 16 channel encoding test
	  Used to be crashing because of a double-free introduced years ago and never really noticed, so let's add a test to
	  make sure it doesn't happen again.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6373>

2024-03-14 13:30:24 +0100  Piotr Brzeziński <piotr@centricular.com>

	* ext/libav/gstavaudenc.c:
	  avaudenc: Avoid double-freeing frame's extended data
	  This occured when attempting to encode 16 channel audio, would crash on the first buffer.
	  We only need to store ext_data, old ext_data_array (frame->extended_data) is already freed by `av_frame_unref`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6359>

2024-03-12 12:18:50 +0100  Piotr Brzeziński <piotr@centricular.com>

	* docs/gst_plugins_cache.json:
	* ext/libav/gstavcodecmap.c:
	  avcodecmap: Increase max AAC channels to 16
	  This is the maximum amount supported by aacenc. 8-channel output fully works.
	  16-channel also encodes fine, but codec-utils isn't able to parse its channel config,
	  so output level will not be shown in caps. For that to work, GASpecificConfig parsing
	  needs to be implemented. It's not a critical issue and can be worked on at a later date.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6359>

2024-03-08 10:53:16 +0100  Edward Hervey <edward@centricular.com>

	* ext/libav/gstavviddec.c:
	  avviddec: Fix how we get back the codec frame
	  With the new copy_opaque system, the corresponding frame is stored in the
	  picture opaque ref.
	  This also handles the case where the "regular" opaque might be empty in the
	  case of "DECODE_ONLY" frames, since it that field is set in `get_buffer2()`
	  which might not be called for those frames
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6301>

2024-03-08 10:50:25 +0100  Edward Hervey <edward@centricular.com>

	* ext/libav/gstavviddec.c:
	  avviddec: Improve debug statements
	  Add SFN to better track what is going on
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6301>

2024-03-07 20:45:45 +0900  Seungha Yang <seungha@centricular.com>

	* ext/libav/gstavviddec.c:
	  avviddec: Fix interlaced mode detection
	  Fixing regression introduced by the commit b46559102bf5934986da20f895920401dcc28237
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6285>

2024-03-05 12:58:57 +0000  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.24.0 ===