=== release 1.24.9 ===

2024-10-30 20:33:30 +0000  Tim-Philipp Müller <tim@centricular.com>

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

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/7584>

2024-09-19 12:12:53 +0200  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.24.8 ===

2024-09-19 12:01:21 +0200  Tim-Philipp Müller <tim@centricular.com>

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

2024-08-21 12:33:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.24.7

=== release 1.24.7 ===

2024-08-21 12:25:15 +0100  Tim-Philipp Müller <tim@centricular.com>

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

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/7391>

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/7367>

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/7299>

2024-07-29 16:48:02 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.24.6

=== release 1.24.6 ===

2024-07-29 16:41:37 +0100  Tim-Philipp Müller <tim@centricular.com>

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

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/7222>

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/7184>

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/7148>

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/7148>

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/7148>

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/7148>

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/7148>

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/7148>

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/7148>

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/7148>

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/7148>

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/7148>

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/7148>

2024-06-20 13:02:19 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.24.5

=== release 1.24.5 ===

2024-06-20 12:54:15 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2024-05-29 13:51:27 +0300  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.24.4

=== release 1.24.4 ===

2024-05-29 13:44:50 +0300  Tim-Philipp Müller <tim@centricular.com>

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

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/6845>

2024-04-30 00:36:59 +0100  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.24.3 ===

2024-04-30 00:15:23 +0100  Tim-Philipp Müller <tim@centricular.com>

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

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/6632>

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/6632>

2024-04-10 00:04:02 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.24.2

=== release 1.24.2 ===

2024-04-09 21:48:55 +0100  Tim-Philipp Müller <tim@centricular.com>

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

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/6545>

2024-03-22 01:38:06 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development

=== release 1.24.1 ===

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

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

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/6375>

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/6375>

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/6331>

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/6331>

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/6297>

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:
	* RELEASE:
	* gst-libav.doap:
	* meson.build:
	  Release 1.24.0

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

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

=== release 1.23.90 ===

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

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

2024-02-23 11:00:36 +0200  Sebastian Dröge <sebastian@centricular.com>

	* meson.build:
	  libav: Don't add `-Werror=deprecated-declarations`
	  It will fail the build for anybody who has an older FFmpeg version
	  than 6.1 and doesn't use the FFmpeg subproject.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6199>

2024-02-22 23:13:53 +0900  Seungha Yang <seungha@centricular.com>

	* ext/libav/gstavviddec.c:
	  avviddec: Fix crash with FFmpeg n6.0
	  FFmpeg version 6.0 has an AV_CODEC_FLAG_COPY_OPAQUE related bug.
	  See https://github.com/FFmpeg/FFmpeg/commit/a3bf63c26e6197a9b6e490538667368530a9dcd3
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6184>

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-libav.doap:
	* meson.build:
	  Release 1.23.2

2024-02-08 15:50:43 +0100  Edward Hervey <edward@centricular.com>

	* docs/gst_plugins_cache.json:
	* ext/libav/gstavauddec.c:
	* ext/libav/gstavdemux.c:
	  musepack: Prefer using FFmpeg musepack decoder/demuxer
	  * Bump the rank of the musepack v7/v8 FFmpeg demuxers to SECONDARY
	  * Bump the rank of the musepack v7/v8 FFmpeg audio decoders to SECONDARY
	  * Demote the rank of the musepackdec element to MARGINAL
	  This is for two reasons:
	  * The musepack library is no longer maintained, whereas the FFmpeg
	  implementation can/will receive fixes
	  * The `musepackdec` implementation was a all-in-one "parsing and decoding" blob
	  which doesn't play nicely with decodebin3 and others
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3033
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6074>

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-libav.doap:
	* meson.build:
	  Release 1.23.1

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-17 17:24:49 +0100  Edward Hervey <edward@centricular.com>

	* ext/libav/gstavauddec.c:
	  avauddec: Use proper version guard
	  Just like we do with avviddec
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5931>

2023-08-14 23:19:01 -0300  L. E. Segovia <amy@centricular.com>

	* meson.build:
	  meson: Ensure FFmpeg deprecated APIs are rejected
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5186>

2024-01-14 15:47:15 -0300  L. E. Segovia <amy@centricular.com>

	* ext/libav/gstavviddec.c:
	* ext/libav/gstavvidenc.c:
	  libav: Port deprecated AVFrame fields to flags
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5186>

2024-01-14 15:46:17 -0300  L. E. Segovia <amy@centricular.com>

	* ext/libav/gstavaudenc.c:
	* ext/libav/gstavcodecmap.c:
	* ext/libav/gstavviddec.c:
	* ext/libav/gstavvidenc.c:
	  libav: Port AVCodecContext.ticks_per_frame to AV_CODEC_PROP_FIELDS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5186>

2023-08-14 23:17:59 -0300  L. E. Segovia <amy@centricular.com>

	* ext/libav/gstavviddec.c:
	  libav: Port reordered_opaque usage to ref-counted opaque_ref
	  Instead of passing along the system frame number, we pass along a reference to
	  the GstVideoCodecFrame.
	  In order for all internal cleanup to happen properly, this also requires
	  switching to the proper AVPacket creation/destruction methods (av_packet_alloc()
	  and av_packet_unref())
	  Fixes #2568
	  Co-authored-by: Edward Hervey <edward@centricular.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5186>

2023-08-14 22:32:19 -0300  L. E. Segovia <amy@centricular.com>

	* ext/libav/gstavauddec.c:
	  libav: Port frame counting to frame_num
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5186>

2023-08-14 22:28:00 -0300  L. E. Segovia <amy@centricular.com>

	* ext/libav/gstavauddec.c:
	* ext/libav/gstavaudenc.c:
	* ext/libav/gstavcodecmap.c:
	* ext/libav/gstavcodecmap.h:
	* ext/libav/gstavdemux.c:
	  libav: Port channel layout and counting to AVChannelLayout
	  Fixes #2833
	  Co-authored-by: Edward Hervey <edward@centricular.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5186>

2023-11-04 10:59:39 +0000  Philippe Normand <philn@igalia.com>

	* ext/libav/gstavviddec.c:
	  avviddec: Calculate latency only for fixed framerate
	  The framerate was checked correctly in _negotiate, but not in _set_format.
	  Also fix loss of precision in _negotiate when calculating the framerate.
	  Fixes #3093
	  Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5600>

2023-11-17 01:01:36 +0900  Seungha Yang <seungha@centricular.com>

	* ext/libav/gstavviddec.c:
	  avviddec: Unlock stream lock while waiting for decoded frame
	  FFmpeg might request buffer from other threads, it will result
	  in deadlock
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2558
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5681>

2023-11-02 00:03:28 +0900  Seungha Yang <seungha@centricular.com>

	* meson.build:
	  meson: Fix MSVC build with GST_DISABLE_GST_DEBUG
	  MSVC does not understand Wno-unused
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5585>

2023-10-22 08:06:29 +0300  Jordan Petridis <jordan@centricular.com>

	* meson.build:
	  meson: Fix typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5526>

2020-07-10 12:16:35 +0300  Jordan Petridis <jordan@centricular.com>

	* docs/gst_plugins_cache.json:
	  ci: switch the Fedora base image to f34
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1060>

2023-10-19 08:34:56 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* docs/gst_plugins_cache.json:
	* ext/libav/gstavcfg.c:
	  libav: expose fake booleans properties as enums
	  Some ffmpeg options claims to be booleans but are actually 3-values enums
	  with -1 as default instead of 1 or 0. Handle those using a custom enum
	  so we keep the same defaults as ffmpeg and users can properly configure them
	  if they need to.
	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3035
	  for an actual example of this problem. The GStreamer element was
	  automatically enabling a non-default option, leading to strange behavior
	  in the AAC encoder.
	  Fix #3035
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5507>

2023-09-21 08:43:19 +1200  Chris Wiggins <chris@chriswiggins.co.nz>

	* docs/gst_plugins_cache.json:
	* ext/libav/gstavcodecmap.c:
	  avcodecmap: Add MxPEG codec ID
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5361>

2023-07-05 18:46:25 -0600  Olivier Crête <olivier.crete@collabora.com>

	* scripts/gen-changelog.py:
	  gst-omx: Retire the whole package
	  The OpenMAX standard is long dead and even the Raspberry Pi OS
	  no longer supports it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4976>

2023-07-12 09:27:22 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tests/check/meson.build:
	  meson: Always use forward slashes in defines with paths
	  Fixes the following build failure on MSYS2:
	  ```
	  ../subprojects/gstreamer/tests/check/elements/filesrc.c: In function 'test_seeking':
	  ../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: error: incomplete universal character name \U
	  107 |   g_object_set (G_OBJECT (src), "location", TESTFILE, NULL);
	  |                                                     ^
	  ../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\A'
	  ../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\g'
	  ../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\s'
	  ../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\g'
	  ../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\c'
	  ```
	  Due to: `-DTESTFILE=\"C:\\Users\\Administrator\[...]`
	  https://gitlab.freedesktop.org/nirbheek/gstreamer/-/jobs/45317733
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5018>

2023-02-05 11:15:44 +0100  Carlos Rafael Giani <crg7475@mailbox.org>

	* docs/gst_plugins_cache.json:
	* ext/libav/gstavcodecmap.c:
	* ext/libav/gstavdemux.c:
	  libav: Integrate FFmpeg's DSD support with GstDsd caps
	  Code is partially based on the DSD of Robert Tiemann <rtie@gmx.de>:
	  https://gitlab.freedesktop.org/rtiemann/gstreamer/-/tree/dsd
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3901>

2023-05-15 08:57:43 +0200  Edward Hervey <edward@centricular.com>

	* ext/libav/gstavviddec.c:
	  avvidec: Fix more deprecated symbol
	  We only used these fields for debugging anyway
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4635>

2023-05-15 08:49:06 +0200  Edward Hervey <edward@centricular.com>

	* ext/libav/gstavviddec.c:
	  avvidec: Fix usage of deprecated field
	  Since ffmpeg 6.0 frame_num is used instead of frame_number
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4635>

2023-03-07 14:05:54 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* tests/meson.build:
	  gstreamer-full: add full static support
	  Allow a project to use gstreamer-full as a static library
	  and link to create a binary without dependencies.
	  Introduce the option 'gst-full-target-type' to
	  select the build type, dynamic(default) or static.
	  In gstreamer-full/static build configuration gstreamer (gst.c)
	  needs the symbol gst_init_static_plugins which is defined
	  in gstreamer-full.
	  All the tests and examples are linking with gstreamer but the
	  symbol gst_init_static_plugins is only defined in the gstreamer-full
	  library. gstreamer-full can not be built first as it needs to know what plugins
	  will be built.
	  One option would be to build all the examples and tests after
	  gstreamer-full as the tools.
	  Disable tools build in subprojects too as it will be built at the end of
	  build process.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4128>

2023-05-12 09:50:04 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstavviddec.c:
	  avviddec: Temporarily unlock stream lock while flushing buffers
	  This can call into the decoder again from other threads and try to take
	  the stream lock from there, which would cause a deadlock.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2558
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4610>

2022-11-08 17:31:36 -0500  U. Artie Eoff <ullysses.a.eoff@intel.com>

	* docs/gst_plugins_cache.json:
	* ext/libav/gstav.c:
	* ext/libav/gstav.h:
	* ext/libav/gstavvidcmp.c:
	* ext/libav/meson.build:
	  gst-libav: add avvideocompare element
	  The avvideocompare element compares two incoming video buffers using
	  the specified comparison method (e.g. ssim or psnr).  The first
	  video buffer is passthrough, unchanged.
	  The comparison is calculated by using libav's ssim or psnr filters.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3366>

2023-03-23 10:32:09 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/libav/gstavmux.c:
	  libav: set the frame rate values in ffmpeg stream context
	  To avoid a default value to be used in mux.c+304, give the
	  frame rate detected from the caps.
	  Fix IVF header.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4248>

2023-03-22 12:52:08 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* docs/gst_plugins_cache.json:
	* ext/libav/gstavcodecmap.c:
	  libav: add av1 to gst_ffmpeg_caps_to_codecid
	  Restrict the stream-format to obu-stream
	  and the alignment to "tu" and "frame" as "obu"
	  is not properly supported by libav.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4248>

2023-03-19 15:35:29 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/meson.build:
	  doc: Avoid shelling out to hotdoc to generate plugins config files
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4479>

2023-04-19 12:54:45 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>

	* docs/gst_plugins_cache.json:
	* ext/libav/gstavcodecmap.c:
	  gst-libav: map P010, VUYA, Y410, P012, Y212, and Y412
	  P010 has been around for a long time.
	  VUYX introduced in:
	  https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/cc5a5c986047d38b53c0f12a227b04487624e7cb
	  P012, Y212, XV30 (Y410), and XV36 (Y412) introduced in:
	  https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/d75c4693fef51e8f0a1b88798530f4c5147ea906
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4454>

2023-04-10 18:06:17 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/libav/gstavmux.c:
	  avmux: fix element leak
	  Fixes #2473
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4384>

2023-04-10 17:59:21 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/libav/gstavdeinterlace.c:
	  avdeinterlace: fix element leak
	  Fixes #2473
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4384>

2023-03-22 15:48:18 +0100  Tobias Rapp <t.rapp@noa-archive.com>

	* docs/gst_plugins_cache.json:
	* ext/libav/gstavcodecmap.c:
	  gst-libav: Update codec mapping for FFVHuff video
	  Replaces the ad-hoc type string 'video/x-gst-av-ffvhuff' with
	  'video/x-ffvhuff' for the avdec_ffvhuff and avenc_ffvhuff elements.
	  Related to #2389.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4250>

2023-03-15 18:59:56 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/libav/gstavcodecmap.c:
	* ext/libav/gstavdemux.c:
	* ext/libav/gstavviddec.c:
	  gst-libav: re-indent with GNU indent 2.2.12
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4182>

2023-03-14 14:27:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/libav/gstavviddec.c:
	  avviddec: Drop decoder stream lock when calling send_packet
	  This is already done for every other calls to send_packet. The deadlock occures
	  since FFMPeg 6.0. The decoder tries to get a buffer from a thread during
	  the draining process, and blocks trying to get the video decoder stream lock
	  already heald by the drain function.
	  Fixes #2383
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4171>

2023-02-28 14:00:26 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstavauddec.c:
	* ext/libav/gstavviddec.c:
	  ffmpeg: avauddec/avviddec: Free packet side data after usage
	  As we don't use proper refcounting with AVPacket we have to manage this
	  ourselves.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2006
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4076>

2023-02-13 17:02:01 -0500  U. Artie Eoff <ullysses.a.eoff@intel.com>

	* ext/libav/gstavviddec.c:
	  avviddec: change AV_CODEC_CAP_AUTO_THREADS->AV_CODEC_CAP_OTHER_THREADS
	  This fixes a compile error with recent upstream FFmpeg.
	  The AV_CODEC_CAP_AUTO_THREADS was deprecated and renamed to
	  AV_CODEC_CAP_OTHER_THREADS in FFmpeg upstream commit
	  7d09579190de (lavc 58.132.100).
	  The AV_CODEC_CAP_AUTO_THREADS was finally removed in FFmpeg upstream
	  commit 10c9a0874cb3 (lavc 59.63.100).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3951>

2023-01-24 20:19:06 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/libav/gstavaudenc.c:
	* ext/libav/gstavviddec.c:
	* ext/libav/gstavvidenc.c:
	  gst-libav: drop use of GSlice allocator
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3784>

2023-01-24 15:38:20 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstavvidenc.c:
	  avvidenc: Don't take ffmpeg timestamps verbatim but only use them to calculate DTS
	  The ffmpeg timestamps are inaccurate and only in framerate granularity.
	  To avoid generating inaccurate output timestamps, especially with
	  variable framerate streams, only use the ffmpeg timestamps for
	  calculating the DTS.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1544
	  again.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3780>

2023-01-24 15:28:17 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/libav/gstavcodecmap.c:
	* ext/libav/gstavvidenc.c:
	  Revert "avvidenc: Set timebase in the ffmpeg context to nanoseconds and set framerate"
	  This reverts commit 50db59449e9cdb637c5f0c1b7c5dccd582fac4ee.
	  This broke the MPEG-1 video encoder as it requires the framerate to be
	  used for the timebase.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1734
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3780>

2023-01-23 23:04:53 +0000  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.22.0 ===

