ci: use 8 parallel jobs for the integration test suite
[platform/upstream/gstreamer.git] / subprojects / gst-libav / ChangeLog
index 164e891..c75d2e2 100644 (file)
@@ -1,3 +1,491 @@
+=== release 1.21.2 ===
+
+2022-11-07 23:53:59 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * NEWS:
+       * RELEASE:
+       * gst-libav.doap:
+       * meson.build:
+         Release 1.21.2
+
+2022-11-07 23:53:57 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+         Update ChangeLogs for 1.21.2
+
+2022-11-04 14:17:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * docs/gst_plugins_cache.json:
+       * ext/libav/gstavutils.c:
+         avutils: Add missing space in doc
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3330>
+
+2022-11-04 14:15:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * docs/gst_plugins_cache.json:
+       * ext/libav/gstavviddec.c:
+         avviddec: Initialize std_compliance to default
+         This was missed in the initial patch.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3330>
+
+2022-11-04 08:00:03 +0100  Edward Hervey <edward@centricular.com>
+
+       * ext/libav/gstavcfg.c:
+         libav: avcfg: Avoid brittle comparision
+         Subtracting a gint from another (or a guint from another) has no guarantees that
+         it will result in a gint.
+         Therefore do the actual comparision instead.
+         Also use the *actual* type for comparing flags (the field value types are different)
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319>
+
+2022-11-04 07:59:10 +0100  Edward Hervey <edward@centricular.com>
+
+       * ext/libav/gstavcfg.c:
+         libav: avcfg: Don't leak duplicate enumvalue entries
+         If we discard the duplicates, we also need to free the allocated strings.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319>
+
+2022-11-02 11:09:17 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * docs/gst_plugins_cache.json:
+         doc: avviddec: Update plugin cache
+         This is to add std-compliance property and GstFFMpegVidDec base class.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3311>
+
+2022-11-01 11:13:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/libav/gstav.c:
+       * ext/libav/gstav.h:
+       * ext/libav/gstavcodecmap.c:
+       * ext/libav/gstavcodecmap.h:
+       * ext/libav/gstavutils.h:
+       * ext/libav/gstavviddec.c:
+       * ext/libav/gstavviddec.h:
+         avviddec: Introduce a class for shared properties
+         Without a parent class,the documentation would need to be duplicated for
+         every CODECs. This patch adds an abstract class in between GstVideoDecoder
+         and the element.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3311>
+
+2022-11-01 09:35:11 -0400  Seungha Yang <seungha@centricular.com>
+
+       * ext/libav/gstavutils.c:
+       * ext/libav/gstavutils.h:
+       * ext/libav/gstavviddec.c:
+       * ext/libav/gstavviddec.h:
+         avviddec: Expose std-compliance option
+         Default compliance mode (i.e., FF_COMPLIANCE_NORMAL) might not
+         strictly follow specification. This property will allow user
+         to specifiy expected compliance mode.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3311>
+
+2022-10-26 16:30:31 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/libav/gstavviddec.c:
+         avdec_h265: Fix endless renegoation with alternate interlacing
+         The picture parameter picture->top_field_first is reused in this mode
+         to signal the TOP fields. As a side effect, it will change every frame
+         and current code assumed that if this changes then a renegotiation is
+         needed. Fixed this by ignoring that change whenever we are decoding one field
+         only.
+         Fixes #1523
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3276>
+
+2022-10-26 10:44:01 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/libav/gstavviddec.c:
+         avviddec: Avoid flushing on framerate changes
+         A framerate change does not require flushing the decoder and causes
+         issues with some specific fragmented files if the two fragments have
+         different framerate.
+         Fixes #1522
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3270>
+
+2022-10-18 11:37:30 +0000  Devin Anderson <danderson@microsoft.com>
+
+       * ext/libav/gstavdemux.c:
+         gst-libav: Fix synchronization issues and errors created by the forwarding of segment events by demuxer.
+         In order to play nicely with `ffmpeg`, demuxers in `gst-libav` have to make
+         buffers available to `ffmpeg` while taking the blocking I/O model in `ffmpeg`
+         into account, which results in buffers not being sent downstream until `ffmpeg`
+         has processed them in its separate thread.
+         In constrast, many `gstreamer` events are simply forwarded downstream.
+         Currently `GST_EVENT_SEGMENT` events are forwarded downstream without any
+         processing, which can potentially result in:
+         * `GST_EVENT_SEGMENT` events being out of sync with buffers
+         * `GST_EVENT_SEGMENT` events going out that are incorrect because they apply
+         to data seen by the demuxer, but not necessarily seen by downstream elements
+         I came across this bug when I was attempting to enable G723.1 demuxing/decoding
+         using the G723.1 demuxer and decoder provided by `ffmpeg`.  I wrote tests to
+         verify support for the functionality, and found that, in push mode,
+         `GST_EVENT_SEGMENT` events pushed to the demuxer by the upstream `filesrc`
+         element would be forwarded to the decoder without modification, resulting in
+         an internal data streaming error.  With this patch, tests work in both push and
+         pull mode.
+         This patch solves the problem by disabling the forwarding of
+         `GST_EVENT_SEGMENT` events downstream (an initial `GST_EVENT_SEGMENT` event is
+         still pushed downstream by the demuxer).  It's possible there's a better way to
+         do this, but, having looked at how a few different `gstreamer` demuxers deal
+         with `GST_EVENT_SEGMENT` events, it seems like the processing is somewhat
+         specific to the demuxer implementation, whereas `gst-libav` has one general way
+         of handling the situation for any `ffmpeg` demuxer.  Perhaps there's a better
+         way to solve this using the `ffmpeg` API to take advantage of specific demuxer
+         details.  IDK.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3218>
+
+2022-10-04 21:27:36 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * ext/libav/gstavauddec.c:
+         avauddec: address regression with WMA files ..
+         By outputting lead-in samples that FFmpeg now would like us to ignore,
+         and discarding trailing samples that it would now like us to output.
+         See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1474
+         Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1348
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3117>
+
+2022-10-04 03:57:31 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         Back to development
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3115>
+
+=== release 1.21.1 ===
+
+2022-10-04 01:14:01 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * gst-libav.doap:
+       * meson.build:
+         Release 1.21.1
+
+2022-10-04 01:13:59 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+         Update ChangeLogs for 1.21.1
+
+2022-09-29 12:42:21 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * ext/libav/gstavauddec.c:
+         avauddec: fix unnecessary reconfiguration if the audio layout isn't specified
+         It would constantly want to renegotiate (and spam the debug log) even
+         though the channel layout hasn't actually changed. We use the same
+         fallback in gst_ffmpegauddec_negotiate() already.
+         This happens with WMA files for example.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3103>
+
+2022-09-21 19:19:45 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * meson.build:
+         meson: Use implicit builtin dirs in pkgconfig generation
+         Starting with Meson 0.62, meson automatically populates the variables
+         list in the pkgconfig file if you reference builtin directories in the
+         pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
+         We need this, because ${prefix}/libexec is a hard-coded value which is
+         incorrect on, for example, Debian.
+         Bump requirement to 0.62, and remove version compares that retained
+         support for older Meson versions.
+         Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
+
+2022-08-26 08:43:34 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/gst_plugins_cache.json:
+         Build documentation for rust plugins
+         - Update the docker image we use, starting using the standard one adding
+         `gtk4-doc` as required by rust plugins
+         - Update the plugins_doc_caches as required, some more plugins are built
+         with the new image
+         - Install ninja from pip as the version from F31 is too old
+         - Avoid buildings all GSreamer plugins when building the doc as it takes
+         time and resources for no good reason
+         - Stop linking to `GInstanceInitFunc` as it is not present in latest GLib
+         documentation, leading to warnings in hotdoc.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2022-08-29 10:17:45 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/meson.build:
+         doc: Do not build plugins to build the doc
+         It is not actually necessary
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2021-03-24 14:20:18 -0500  Zebediah Figura <z.figura12@gmail.com>
+
+       * meson.build:
+         meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
+         GLib made the unfortunate decision to prevent libgobject from ever being
+         unloaded, which means that now any library which registers a static type
+         can't ever be unloaded either (and any library that depends on those,
+         ad nauseam).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778>
+
+2022-09-01 15:11:31 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * ext/libav/meson.build:
+         meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
+         Removing some copy pasted code
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-09-01 11:51:48 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * docs/meson.build:
+         meson: Namespace the plugins_doc_dep/libraries variables
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 18:44:14 -0400  Thibault Saunier <tsaunier@igalia.com>
+
+       * meson.build:
+         meson: Rename plugins list and make them "dependency" objects
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-05-31 15:18:03 +0200  Stéphane Cerveau <scerveau@collabora.com>
+
+       * docs/meson.build:
+       * meson.build:
+         docs: disable in static build
+         Following gst-plugins-base, disable docs if static_build
+         in:
+         - gstreamer
+         - gst-plugins-good
+         - gst-plugins-ugly
+         - gst-libav
+         - gstreamer-vaapi
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2529>
+
+2022-07-07 22:16:30 +0900  Seungha Yang <seungha@centricular.com>
+
+       * ext/libav/gstavcfg.c:
+         libav: Fix for APNG encoder property registration
+         The AVClass name of Animated PNG in FFmpeg 5.x is "(A)PNG"
+         and it will be converted to "-a-png" through
+         g_ascii_strdown() and g_strcanon(). But GLib disallow leading '-'
+         character for a GType name. Strip leading '-' to workaround it.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2724>
+
+2022-06-29 10:55:13 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         coding style: allow declarations after statement
+         See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
+         and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683>
+
+2022-06-08 19:18:48 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
+
+       * ext/libav/gstavviddec.c:
+         avviddec, video.c, h265parse: Workaround for broken field-based interlaced encoders
+         Some encoders (e.g. Makito) have H265 field-based interlacing, but then
+         also specify an 1:2 pixel aspect ratio. That makes it kind-of work with
+         decoders that don't properly support field-based decoding, but makes us
+         end up with the wrong aspect ratio if we implement everything properly.
+         As a workaround, detect 1:2 pixel aspect ratio for field-based
+         interlacing, and check if making that 1:1 would make the new display
+         aspect ratio common. In that case, we override it with 1:1.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2577>
+
+2022-04-15 16:38:46 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+       * ext/libav/gstavviddec.c:
+         libav: fix frame leak on negotiation error
+         The function owns a reference on the frame. Drop it if negotiation
+         failed as we are already doing for the other error cases.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2196>
+
+2022-04-04 23:32:56 +0200  Fabrice Fontaine <fontaine.fabrice@gmail.com>
+
+       * meson.build:
+         gst-libav: fix build on systems without C++ compiler
+         Fix the following build failure on systems without C++ compiler:
+         The following exception(s) were encountered:
+         Running "/nvmedata/autobuild/instance-9/output-1/host/bin/or1k-buildroot-linux-musl-g++ --version" gave "[Errno 2] No such file or directory: '/nvmedata/autobuild/instance-9/output-1/host/bin/or1k-buildroot-linux-musl-g++'"
+         Fixes:
+         - http://autobuild.buildroot.org/results/8ac0ba5eaaf7571857b4d8cfabf1488d640dc59a
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2112>
+
+2022-03-29 09:36:06 +0200  Edward Hervey <edward@centricular.com>
+
+       * ext/libav/gstavviddec.c:
+         avviddec: Remove vc1/wmv3 override
+         FFMPEG 5+ doesn't allow overriding the codec anymore (causes a segfault if you
+         attempt to do that). But the best part is ... that with the current caps
+         implementation in pad template and gst_ffmpeg_caps_to_codecid() we would never
+         replace it by anything different than the existing codec id.
+         Fixes #1054
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2052>
+
+2022-03-18 13:42:27 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * meson.build:
+         meson: Bump all meson requirements to 0.60
+         Lots of new warnings ever since
+         https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2021-10-05 13:43:50 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+       * ext/libav/gstavaudenc.c:
+         avaudenc: Add support for AV_PKT_DATA_SKIP_SAMPLES side data
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1028>
+
+2019-09-10 17:30:07 +0200  Carlos Rafael Giani <crg7475@mailbox.org>
+
+       * ext/libav/gstavauddec.c:
+         avauddec: Add clipping meta support for gapless playback
+         Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1028>
+
+2021-10-01 20:27:28 +0900  Seungha Yang <seungha@centricular.com>
+
+       * meson.build:
+         meson: Do hard build error for some MSVC warnings
+         Handle various MSVC warnings as errors for development version.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2022-02-04 11:15:47 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         Back to development
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
+
+=== release 1.20.0 ===
+
+2022-02-03 19:53:25 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * gst-libav.doap:
+       * meson.build:
+         Release 1.20.0
+
+2022-02-03 19:53:18 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+         Update ChangeLogs for 1.20.0
+
+2022-01-28 19:58:55 +0100  Mathieu Duponchelle <mathieu@centricular.com>
+
+       * docs/gst_plugins_cache.json:
+         docs: gst-libav: update cache and symbol index for FFmpeg 4.4
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1597>
+
+=== release 1.19.90 ===
+
+2022-01-28 14:28:35 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * gst-libav.doap:
+       * meson.build:
+         Release 1.19.90
+
+2022-01-28 14:28:28 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+         Update ChangeLogs for 1.19.90
+
+2022-01-17 01:33:47 +0800  Xi Ruoyao <xry111@mengyan1223.wang>
+
+       * ext/libav/gstavauddec.c:
+       * ext/libav/gstavaudenc.c:
+       * ext/libav/gstavcodecmap.c:
+       * ext/libav/gstavutils.c:
+       * ext/libav/gstavviddec.c:
+       * ext/libav/gstavvidenc.c:
+         gst-libav: fix build with ffmpeg-5.0.0
+         Latest ffmpeg has removed avcodec_get_context_defaults(), and its
+         documentation says a new AVCodecContext should be allocated for this
+         purpose.  The pointer returned by avcodec_find_decoder() is now
+         const-qualified so we also need to adjust for it.  And, AVCOL_RANGE_MPEG
+         is now rejected with strict_std_compliance > FF_COMPLIANCE_UNOFFICIAL.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1531>
+
+2022-01-05 02:07:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+       * docs/meson.build:
+       * meson.build:
+         meson: Add explicit check: kwarg to all run_command() calls
+         This is required since Meson 0.61.0, and causes a warning to be
+         emitted otherwise:
+         https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
+         https://github.com/mesonbuild/meson/issues/9300
+         This exposed a bunch of places where we had broken run_command()
+         calls, unnecessary run_command() calls, and places where check: true
+         should be used.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
+
+2021-11-03 18:44:03 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         Back to development
+
+=== release 1.19.3 ===
+
+2021-11-03 15:43:36 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
+       * gst-libav.doap:
+       * meson.build:
+         Release 1.19.3
+
+2021-11-03 15:43:32 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+       * ChangeLog:
+         Update ChangeLogs for 1.19.3
+
+2021-10-25 11:37:45 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         meson: require matching GStreamer dep versions for unstable development releases
+         Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/929
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1244>
+
+2021-10-18 15:47:00 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * tests/check/meson.build:
+         meson: update for meson.build_root() and .build_source() deprecation
+         -> use meson.project_build_root() or .global_build_root() instead.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
+
+2021-10-18 00:40:14 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * docs/meson.build:
+       * tests/check/meson.build:
+         meson: update for dep.get_pkgconfig_variable() deprecation
+         ... in favour of dep.get_variable('foo', ..) which in some
+         cases allows for further cleanups in future since we can
+         extract variables from pkg-config dependencies as well as
+         internal dependencies using this mechanism.
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
+
+2021-10-14 18:38:26 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         meson: bump meson requirement to >= 0.59
+         For monorepo build and ugly/bad, for advanced feature
+         option API like get_option('xyz').required(..) which
+         we use in combination with the 'gpl' option.
+         For rest of modules for consistency (people will likely
+         use newer features based on the top-level requirement).
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>
+
+2021-09-28 10:11:15 +1000  Brad Hards <bradh@frogmouth.net>
+
+       * RELEASE:
+         doc: update IRC links to OFTC
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/945>
+
+2021-09-26 01:07:02 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+       * meson.build:
+         Back to development
+         Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/925>
+
 === release 1.19.2 ===
 
 2021-09-23 01:35:17 +0100  Tim-Philipp Müller <tim@centricular.com>