=== 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 ===