diff --git a/base/comps/components-publish-channels.toml b/base/comps/components-publish-channels.toml index 93def6ad4c1..87b3d0a40bf 100644 --- a/base/comps/components-publish-channels.toml +++ b/base/comps/components-publish-channels.toml @@ -297,7 +297,6 @@ components = [ "fakeroot", "fapolicyd", "fcoe-utils", - "fdk-aac-free", "felix-parent", "felix-utils", "fence-agents", diff --git a/base/comps/components.toml b/base/comps/components.toml index 368a3b86f41..d49fe8b8588 100644 --- a/base/comps/components.toml +++ b/base/comps/components.toml @@ -426,7 +426,6 @@ includes = ["**/*.comp.toml", "component-check-disablement.toml", "component-min [components.fast_float] [components.fasterxml-oss-parent] [components.fcgi] -[components.fdk-aac-free] [components.fdupes] [components.fedora-bookmarks] [components.felix-parent] diff --git a/base/comps/firefox/firefox.comp.toml b/base/comps/firefox/firefox.comp.toml index 83729543aa7..007f649083d 100644 --- a/base/comps/firefox/firefox.comp.toml +++ b/base/comps/firefox/firefox.comp.toml @@ -22,8 +22,9 @@ release = { calculation = "manual" } # 2. 'fix(firefox): set manual release calculation' # 3. 'feat(firefox): add azl_release counter for independent rebuild # tracking' (introduces the azl_release counter mechanism) -# 4. This change (strip malware-flagged files from source tarball) -azl_release = "4" +# 4. 'feat(firefox): strip malware-flagged files from source tarball' +# 5. 'fix(firefox): drop fdk-aac-free-devel and Fedora fdk-aac patch' +azl_release = "5" # Firefox 148.0's mfbt/tests/TestIntegerRange.cpp uses uint8_t/uint16_t/uint32_t/uint64_t # without #include . GCC 15 (used in Azure Linux bootstrap) enforces stricter @@ -55,6 +56,65 @@ type = "spec-search-replace" regex = '%global enable_mozilla_crashreporter 1' replacement = '%global enable_mozilla_crashreporter 0' +# AZL does not ship fdk-aac-free. Four coordinated overlays are +# required: simply dropping the BR causes ./mach configure to hard-fail. +# +# Mechanism: the Fedora firefox-mozconfig (Source10) ships +# `ac_add_options --with-system-fdk-aac` unconditionally, and Fedora's +# mozilla-1667096.patch (Patch401) wires that into +# `pkg_check_modules('MOZ_FDK_AAC', 'fdk-aac', when='--with-system-fdk-aac')` +# in toolkit/moz.configure. Mozilla's pkg_check_modules defaults to +# `allow_missing=False`, so configure exits 1 if fdk-aac.pc is not in +# the buildroot — which it won't be once fdk-aac-free is dropped. +# +# Patch401 is fdk-aac-only — it touches exactly 4 files +# (toolkit/moz.configure to add the `--with-system-fdk-aac` option + +# pkg_check_modules; ffvpx moz.build / codec_list.c / libfdk-aacdec.c +# to wire `ff_libfdk_aac_decoder` into the ffvpx codec table). Nothing +# else depends on it. +# +# We therefore (a) skip the `%patch -P401` invocation in %prep, which +# removes the `--with-system-fdk-aac` configure option entirely AND +# removes the `ff_libfdk_aac_decoder` entry from ffvpx's codec table +# (otherwise the link of libmozavcodec.so fails with `undefined +# reference to ff_libfdk_aac_decoder` because the wrapper .c file isn't +# compiled); (b) drop the `Patch401:` source declaration so the +# now-unused mozilla-1667096.patch is also pruned from the rendered +# SRPM by azldev's render filter; (c) drop the now-stale +# `ac_add_options --with-system-fdk-aac` line from firefox-mozconfig +# (Source10), because once Patch401 is gone that option is +# unrecognized by ./mach configure and aborts the build; and (d) drop +# the now-unnecessary fdk-aac-free-devel BR. +# +# Update regexes on Fedora rebase if upstream renames Patch401 or +# reflows firefox-mozconfig; do NOT remove the overlays. + +[[components.firefox.overlays]] +description = "Skip Fedora's mozilla-1667096.patch (Patch401) in %prep. The patch is fdk-aac-only and (i) adds the `--with-system-fdk-aac` configure option and (ii) registers `ff_libfdk_aac_decoder` in ffvpx's codec_list.c. Without the wrapper .c file (libfdk-aacdec.c, also added by the patch) compiled in, that codec-table entry produces `undefined reference to ff_libfdk_aac_decoder` when linking libmozavcodec.so." +type = "spec-search-replace" +section = "%prep" +regex = '^%patch -P401 -p1 -b \.1667096$' +replacement = '# AZL: mozilla-1667096.patch (Patch401) skipped — adds fdk-aac support; see firefox.comp.toml' + +[[components.firefox.overlays]] +description = "Drop the Patch401 source declaration for the now-unused mozilla-1667096.patch. azldev's render filter prunes patch files not referenced in the rendered spec, so removing the declaration also retires the ~21KB .patch file from the SRPM." +type = "spec-remove-tag" +tag = "Patch401" +value = "mozilla-1667096.patch" + +[[components.firefox.overlays]] +description = "Drop the `ac_add_options --with-system-fdk-aac` line from firefox-mozconfig (Source10). Once Patch401 is skipped, toolkit/moz.configure no longer declares `--with-system-fdk-aac`, so leaving the mozconfig line in (or flipping it to `--without-`) aborts ./mach configure with 'unknown option'." +type = "file-search-replace" +file = "firefox-mozconfig" +regex = 'ac_add_options --with-system-fdk-aac' +replacement = '' + +[[components.firefox.overlays]] +description = "Drop BuildRequires: fdk-aac-free-devel (no longer needed once the mozconfig override above disables MOZ_FDK_AAC; fdk-aac-free is being removed from AZL anyway)" +type = "spec-remove-tag" +tag = "BuildRequires" +value = "fdk-aac-free-devel" + # Compose AZL release counter with upstream's Release integer. Uses RPM's # `%[ ... ]` expression syntax so the final Release tag stays a single # integer (Fedora-style). The literal "1" in the replacement MIRRORS the diff --git a/base/comps/freerdp/freerdp.comp.toml b/base/comps/freerdp/freerdp.comp.toml index b0c5d16a3c8..1e928e4a3c4 100644 --- a/base/comps/freerdp/freerdp.comp.toml +++ b/base/comps/freerdp/freerdp.comp.toml @@ -14,3 +14,19 @@ type = "spec-search-replace" section = "%build" regex = '-DWITH_OPUS=ON \\' replacement = '-DWITH_OPUS=OFF \' + +# AZL does not ship fdk-aac-free — disable AAC audio support in FreeRDP. +# Update regex on Fedora rebase; do NOT remove the overlays. + +[[components.freerdp.overlays]] +description = "Drop BuildRequires: pkgconfig(fdk-aac) (fdk-aac-free not available in AZL)" +type = "spec-remove-tag" +tag = "BuildRequires" +value = "pkgconfig(fdk-aac)" + +[[components.freerdp.overlays]] +description = "Disable AAC audio codec in FreeRDP (-DWITH_FDK_AAC=OFF)" +type = "spec-search-replace" +section = "%build" +regex = '-DWITH_FDK_AAC=ON \\' +replacement = '-DWITH_FDK_AAC=OFF \' diff --git a/base/comps/pipewire/pipewire.comp.toml b/base/comps/pipewire/pipewire.comp.toml index e4fcf8118a5..d47c997bece 100644 --- a/base/comps/pipewire/pipewire.comp.toml +++ b/base/comps/pipewire/pipewire.comp.toml @@ -14,7 +14,8 @@ build.without = ["v4l2", "roc"] # 4 - drop webrtc-audio-processing BR # 5 - disable v4l2 support # 6 - disable roc support -azl_release = "6" +# 7 - drop AAC bluetooth codec +azl_release = "7" [[components.pipewire.overlays]] description = "Add azl_release to upstream %{baserelease} so we can bump release independently of upstream while keeping a single-number Fedora-style Release schema" @@ -94,3 +95,27 @@ lines = [ "# Remove pw-v4l2 man page (generated even with -D pipewire-v4l2=disabled)", "rm -f %{buildroot}%{_mandir}/man1/pw-v4l2.1*", ] + +# AZL does not ship fdk-aac-free. Disable the bluez5 AAC codec module +# so the build doesn't require pkgconfig(fdk-aac); the other bluez5 +# codecs (SBC, lc3, ldac on non-s390x) remain enabled for Bluetooth +# audio streaming. +# +# Update regex on Fedora rebase; do NOT remove the overlays. + +[[components.pipewire.overlays]] +description = "Remove pkgconfig(fdk-aac) BuildRequires (fdk-aac-free not available in AZL)" +type = "spec-remove-tag" +tag = "BuildRequires" +value = "pkgconfig(fdk-aac)" + +# Narrowly anchor on the single `-D bluez5-codec-aptx=disabled` option +# (rather than a joint phrase like `-D volume=disabled -D bluez5-codec- +# aptx=disabled`) so this overlay survives upstream Fedora reordering +# of the meson options. +[[components.pipewire.overlays]] +description = "Inject -D bluez5-codec-aac=disabled into the %meson invocation (no fdk-aac-free in AZL). Anchored on the neighbouring bluez5-codec-aptx option so the overlay is resilient to upstream reordering of other -D flags." +type = "spec-search-replace" +section = "%build" +regex = '-D bluez5-codec-aptx=disabled' +replacement = '-D bluez5-codec-aac=disabled -D bluez5-codec-aptx=disabled' diff --git a/locks/fdk-aac-free.lock b/locks/fdk-aac-free.lock deleted file mode 100644 index 66330972f0f..00000000000 --- a/locks/fdk-aac-free.lock +++ /dev/null @@ -1,6 +0,0 @@ -# Managed by azldev component update. Do not edit manually. -version = 1 -import-commit = 'd49bcc30aae384a988426ad2f97e48e1d14d4b97' -upstream-commit = 'd49bcc30aae384a988426ad2f97e48e1d14d4b97' -input-fingerprint = 'sha256:5acb9e4e3fc087f77dabfb0c157af86d69f7104865dc298044cbb38b18f698b8' -resolution-input-hash = 'sha256:466421704711c4fd3c71f0b2ed715a0e61d49e3e26f3a2637fee755795849c8e' diff --git a/locks/firefox.lock b/locks/firefox.lock index fc64519a910..8be565737a1 100644 --- a/locks/firefox.lock +++ b/locks/firefox.lock @@ -2,5 +2,5 @@ version = 1 import-commit = 'e6f01c53ca35f9fbad3bf45f227275550935b9d9' upstream-commit = 'e6f01c53ca35f9fbad3bf45f227275550935b9d9' -input-fingerprint = 'sha256:36345bcfb73f664dd33a68077cbf4675fd87e17e8555d4d68d29084d18419364' +input-fingerprint = 'sha256:55ad1d0be4dafff74e28791ed3f44081c8cd20af3633969754d65d5062c2f1e1' resolution-input-hash = 'sha256:466421704711c4fd3c71f0b2ed715a0e61d49e3e26f3a2637fee755795849c8e' diff --git a/locks/freerdp.lock b/locks/freerdp.lock index 2f06173ed1d..4458df249a7 100644 --- a/locks/freerdp.lock +++ b/locks/freerdp.lock @@ -2,5 +2,5 @@ version = 1 import-commit = '4a5dcde00f546460d24a2adac8f286794b376847' upstream-commit = '4a5dcde00f546460d24a2adac8f286794b376847' -input-fingerprint = 'sha256:f097c4f6e1de67a3042c1b70eb4e03628d7d02a1ccebcb894f9b99ce2c891ad1' +input-fingerprint = 'sha256:5fd8edd82b4f57547016b0d227eca799b66d222b806241eb082d0f858374c608' resolution-input-hash = 'sha256:466421704711c4fd3c71f0b2ed715a0e61d49e3e26f3a2637fee755795849c8e' diff --git a/locks/pipewire.lock b/locks/pipewire.lock index cc07eafc128..99aa1a76649 100644 --- a/locks/pipewire.lock +++ b/locks/pipewire.lock @@ -2,5 +2,5 @@ version = 1 import-commit = 'f930436e78f3c6c32901254baf4979bab7c2710a' upstream-commit = 'f930436e78f3c6c32901254baf4979bab7c2710a' -input-fingerprint = 'sha256:1395e906bd9a8c81a3bda5bc6bb2ace2cb46a92e4c46d13f238342e2d67e0aa6' +input-fingerprint = 'sha256:1dc967243eeed7950f87593790183681e01b198c6c8177a44cf0d8d1c81148db' resolution-input-hash = 'sha256:466421704711c4fd3c71f0b2ed715a0e61d49e3e26f3a2637fee755795849c8e' diff --git a/specs/f/fdk-aac-free/fdk-aac-free.spec b/specs/f/fdk-aac-free/fdk-aac-free.spec deleted file mode 100644 index ec351b06511..00000000000 --- a/specs/f/fdk-aac-free/fdk-aac-free.spec +++ /dev/null @@ -1,152 +0,0 @@ -# This spec file has been modified by azldev to include build configuration overlays. -# Do not edit manually; changes may be overwritten. - -Name: fdk-aac-free -Version: 2.0.0 -Release: 17%{?dist} -Summary: Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android - -License: FDK-AAC -URL: https://cgit.freedesktop.org/~wtay/fdk-aac/log/?h=fedora -Source0: https://people.freedesktop.org/~wtay/fdk-aac-free-%{version}.tar.gz - -BuildRequires: gcc gcc-c++ -BuildRequires: automake libtool -BuildRequires: make - -%description -The Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library -for Android is software that implements part of the MPEG Advanced Audio Coding -("AAC") encoding and decoding scheme for digital audio. - - -%package devel -Summary: Development files for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} - -%description devel -The %{name}-devel package contains libraries and header files for -developing applications that use %{name}. - - - -%prep -%autosetup -autoreconf -vif - -%build -%configure \ - --disable-silent-rules \ - --disable-static - -%make_build - - -%install -%make_install INSTALL="install -p" -find %{buildroot} -name '*.la' -print -delete - -%ldconfig_scriptlets - -%files -%doc ChangeLog README.fedora -%license NOTICE -%{_libdir}/*.so.2 -%{_libdir}/*.so.2.0.0 - -%files devel -%doc documentation/*.pdf -%dir %{_includedir}/fdk-aac -%{_includedir}/fdk-aac/*.h -%{_libdir}/*.so -%{_libdir}/pkgconfig/fdk-aac.pc - - -%changelog -* Wed Jul 23 2025 Fedora Release Engineering - 2.0.0-16 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Thu Jan 16 2025 Fedora Release Engineering - 2.0.0-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Jul 17 2024 Fedora Release Engineering - 2.0.0-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Wed Jan 24 2024 Fedora Release Engineering - 2.0.0-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 2.0.0-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Jul 19 2023 Fedora Release Engineering - 2.0.0-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Thu Jan 19 2023 Fedora Release Engineering - 2.0.0-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Thu Jul 21 2022 Fedora Release Engineering - 2.0.0-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Thu Jan 20 2022 Fedora Release Engineering - 2.0.0-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Jul 21 2021 Fedora Release Engineering - 2.0.0-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue Jan 26 2021 Fedora Release Engineering - 2.0.0-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Mon Jul 27 2020 Fedora Release Engineering - 2.0.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Thu Jul 9 2019 Wim Taymans - 2.0.0-4 -- Use explicit SONAME in files list - -* Tue Jan 28 2020 Fedora Release Engineering - 2.0.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Jul 25 2019 Fedora Release Engineering - 2.0.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Tue Jun 25 2019 Wim Taymans - 2.0.0-1 -- Update to 2.0.0 - -* Thu Jan 31 2019 Fedora Release Engineering - 0.1.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Tue Sep 25 2018 Wim Taymans - 0.1.6-1 -- Update to 0.1.6 -- Fix url - -* Tue Sep 25 2018 Wim Taymans - 0.1.5-5 -- Use %ldconfig_scriptlets -- Remove Group - -* Thu Nov 02 2017 Wim Taymans - 0.1.5-4 -- Fix BuildRequires, fix libtool cleanup - -* Tue Oct 10 2017 Wim Taymans - 0.1.5-3 -- Build against stripped fdk-aac library - -* Thu Aug 31 2017 RPM Fusion Release Engineering - 0.1.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Mon Mar 20 2017 Leigh Scott - 0.1.5-1 -- Update to 1.5 - -* Wed Sep 07 2016 Nicolas Chauvet - 0.1.5-0.1.gita0bd8aa -- Update to github snapshot -- Spec file clean-up - -* Fri Nov 06 2015 Nicolas Chauvet - 0.1.4-1 -- Update to 1.4 - -* Sun Jan 26 2014 Nicolas Chauvet - 0.1.3-1 -- Update to 1.3.0 - -* Thu Aug 15 2013 Nicolas Chauvet - 0.1.2-1 -- Update to 0.1.2 - -* Thu Mar 28 2013 Nicolas Chauvet - 0.1.1-1 -- Initial spec - diff --git a/specs/f/fdk-aac-free/sources b/specs/f/fdk-aac-free/sources deleted file mode 100644 index 87a3fd15cdf..00000000000 --- a/specs/f/fdk-aac-free/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (fdk-aac-free-2.0.0.tar.gz) = 4324618b7deae1a786977bb6ab8264e5bf183bde5748fdd9b107701bde0d923883c61c45432a25b765a404552ea9eeeb7156bd9f8bf90cc7225a90101db1a697 diff --git a/specs/f/firefox/firefox-mozconfig b/specs/f/firefox/firefox-mozconfig index 2736abc96c5..213a0aa0e40 100644 --- a/specs/f/firefox/firefox-mozconfig +++ b/specs/f/firefox/firefox-mozconfig @@ -11,7 +11,7 @@ ac_add_options --without-system-icu ac_add_options --enable-release ac_add_options --update-channel=release ac_add_options --allow-addon-sideload -ac_add_options --with-system-fdk-aac + ac_add_options --enable-js-shell ac_add_options --with-unsigned-addon-scopes=app,system ac_add_options --disable-bootstrap diff --git a/specs/f/firefox/firefox.azl.macros b/specs/f/firefox/firefox.azl.macros index d235e1c54e4..0aa211138a9 100644 --- a/specs/f/firefox/firefox.azl.macros +++ b/specs/f/firefox/firefox.azl.macros @@ -1,3 +1,3 @@ # Macros file automatically generated by azldev. # Do not edit manually; changes will be overwritten. -%azl_release 4 +%azl_release 5 diff --git a/specs/f/firefox/firefox.spec b/specs/f/firefox/firefox.spec index 3778a743ead..10d130ab775 100644 --- a/specs/f/firefox/firefox.spec +++ b/specs/f/firefox/firefox.spec @@ -279,7 +279,6 @@ Patch242: 0026-Add-KDE-integration-to-Firefox.patch # Upstream patches Patch400: mozilla-1196777.patch -Patch401: mozilla-1667096.patch # Bug 1999029 - Wayland buffer transaction locking Patch402: D278446.patch Patch403: D278447.patch @@ -413,7 +412,6 @@ BuildRequires: libasan BuildRequires: libasan-static %endif BuildRequires: perl-interpreter -BuildRequires: fdk-aac-free-devel %if 0%{?launch_wayland_compositor} BuildRequires: mutter BuildRequires: gsettings-desktop-schemas @@ -606,7 +604,7 @@ cat %{SOURCE49} | sed -e "s|LIBCLANG_RT_PLACEHOLDER|`pwd`/wasi-sdk-25/build/sysr %patch -P231 -p1 -b .fedora-customization %patch -P400 -p1 -b .1196777 -%patch -P401 -p1 -b .1667096 +# AZL: mozilla-1667096.patch (Patch401) skipped — adds fdk-aac support; see firefox.comp.toml # Bug 1999029 - Wayland buffer transaction locking %patch -P402 -p1 -b .1999029-1 %patch -P403 -p1 -b .1999029-2 diff --git a/specs/f/firefox/mozilla-1667096.patch b/specs/f/firefox/mozilla-1667096.patch deleted file mode 100644 index d26be4d570a..00000000000 --- a/specs/f/firefox/mozilla-1667096.patch +++ /dev/null @@ -1,550 +0,0 @@ -diff -up firefox-127.0/media/ffvpx/libavcodec/codec_list.c.1667096 firefox-127.0/media/ffvpx/libavcodec/codec_list.c ---- firefox-127.0/media/ffvpx/libavcodec/codec_list.c.1667096 2024-06-06 23:33:57.000000000 +0200 -+++ firefox-127.0/media/ffvpx/libavcodec/codec_list.c 2024-06-10 12:42:39.353913204 +0200 -@@ -11,6 +11,9 @@ static const FFCodec * const codec_list[ - #if CONFIG_MP3_DECODER - &ff_mp3_decoder, - #endif -+#ifdef CONFIG_LIBFDK_AAC -+ &ff_libfdk_aac_decoder, -+#endif - #if CONFIG_LIBDAV1D - &ff_libdav1d_decoder, - #endif -diff -up firefox-127.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 firefox-127.0/media/ffvpx/libavcodec/libfdk-aacdec.c ---- firefox-127.0/media/ffvpx/libavcodec/libfdk-aacdec.c.1667096 2024-06-10 12:42:39.354913201 +0200 -+++ firefox-127.0/media/ffvpx/libavcodec/libfdk-aacdec.c 2024-06-10 16:28:30.332367814 +0200 -@@ -0,0 +1,498 @@ -+/* -+ * AAC decoder wrapper -+ * Copyright (c) 2012 Martin Storsjo -+ * -+ * This file is part of FFmpeg. -+ * -+ * Permission to use, copy, modify, and/or distribute this software for any -+ * purpose with or without fee is hereby granted, provided that the above -+ * copyright notice and this permission notice appear in all copies. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ */ -+ -+#include -+ -+#include "libavutil/channel_layout.h" -+#include "libavutil/common.h" -+#include "libavutil/opt.h" -+#include "libavutil/mem.h" -+#include "avcodec.h" -+#include "codec_internal.h" -+#include "decode.h" -+ -+#ifdef AACDECODER_LIB_VL0 -+#define FDKDEC_VER_AT_LEAST(vl0, vl1) \ -+ ((AACDECODER_LIB_VL0 > vl0) || \ -+ (AACDECODER_LIB_VL0 == vl0 && AACDECODER_LIB_VL1 >= vl1)) -+#else -+#define FDKDEC_VER_AT_LEAST(vl0, vl1) 0 -+#endif -+ -+#if !FDKDEC_VER_AT_LEAST(2, 5) // < 2.5.10 -+#define AAC_PCM_MAX_OUTPUT_CHANNELS AAC_PCM_OUTPUT_CHANNELS -+#endif -+ -+enum ConcealMethod { -+ CONCEAL_METHOD_SPECTRAL_MUTING = 0, -+ CONCEAL_METHOD_NOISE_SUBSTITUTION = 1, -+ CONCEAL_METHOD_ENERGY_INTERPOLATION = 2, -+ CONCEAL_METHOD_NB, -+}; -+ -+typedef struct FDKAACDecContext { -+ const AVClass *class; -+ HANDLE_AACDECODER handle; -+ uint8_t *decoder_buffer; -+ int decoder_buffer_size; -+ uint8_t *anc_buffer; -+ int conceal_method; -+ int drc_level; -+ int drc_boost; -+ int drc_heavy; -+ int drc_effect; -+ int drc_cut; -+ int album_mode; -+ int level_limit; -+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10 -+ int output_delay_set; -+ int flush_samples; -+ int delay_samples; -+#endif -+ AVChannelLayout downmix_layout; -+} FDKAACDecContext; -+ -+ -+#define DMX_ANC_BUFFSIZE 128 -+#define DECODER_MAX_CHANNELS 8 -+#define DECODER_BUFFSIZE 2048 * sizeof(INT_PCM) -+ -+#define OFFSET(x) offsetof(FDKAACDecContext, x) -+#define AD AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_DECODING_PARAM -+static const AVOption fdk_aac_dec_options[] = { -+ { "conceal", "Error concealment method", OFFSET(conceal_method), AV_OPT_TYPE_INT, { .i64 = CONCEAL_METHOD_NOISE_SUBSTITUTION }, CONCEAL_METHOD_SPECTRAL_MUTING, CONCEAL_METHOD_NB - 1, AD, "conceal" }, -+ { "spectral", "Spectral muting", 0, AV_OPT_TYPE_CONST, { .i64 = CONCEAL_METHOD_SPECTRAL_MUTING }, INT_MIN, INT_MAX, AD, "conceal" }, -+ { "noise", "Noise Substitution", 0, AV_OPT_TYPE_CONST, { .i64 = CONCEAL_METHOD_NOISE_SUBSTITUTION }, INT_MIN, INT_MAX, AD, "conceal" }, -+ { "energy", "Energy Interpolation", 0, AV_OPT_TYPE_CONST, { .i64 = CONCEAL_METHOD_ENERGY_INTERPOLATION }, INT_MIN, INT_MAX, AD, "conceal" }, -+ { "drc_boost", "Dynamic Range Control: boost, where [0] is none and [127] is max boost", -+ OFFSET(drc_boost), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 127, AD, NULL }, -+ { "drc_cut", "Dynamic Range Control: attenuation factor, where [0] is none and [127] is max compression", -+ OFFSET(drc_cut), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 127, AD, NULL }, -+ { "drc_level", "Dynamic Range Control: reference level, quantized to 0.25dB steps where [0] is 0dB and [127] is -31.75dB, -1 for auto, and -2 for disabled", -+ OFFSET(drc_level), AV_OPT_TYPE_INT, { .i64 = -1}, -2, 127, AD, NULL }, -+ { "drc_heavy", "Dynamic Range Control: heavy compression, where [1] is on (RF mode) and [0] is off", -+ OFFSET(drc_heavy), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 1, AD, NULL }, -+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10 -+ { "level_limit", "Signal level limiting", -+ OFFSET(level_limit), AV_OPT_TYPE_BOOL, { .i64 = -1 }, -1, 1, AD }, -+#endif -+#if FDKDEC_VER_AT_LEAST(3, 0) // 3.0.0 -+ { "drc_effect","Dynamic Range Control: effect type, where e.g. [0] is none and [6] is general", -+ OFFSET(drc_effect), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 8, AD, NULL }, -+#endif -+#if FDKDEC_VER_AT_LEAST(3, 1) // 3.1.0 -+ { "album_mode","Dynamic Range Control: album mode, where [0] is off and [1] is on", -+ OFFSET(album_mode), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 1, AD, NULL }, -+#endif -+ { "downmix", "Request a specific channel layout from the decoder", OFFSET(downmix_layout), AV_OPT_TYPE_CHLAYOUT, {.str = NULL}, .flags = AD }, -+ { NULL } -+}; -+ -+static const AVClass fdk_aac_dec_class = { -+ .class_name = "libfdk-aac decoder", -+ .item_name = av_default_item_name, -+ .option = fdk_aac_dec_options, -+ .version = LIBAVUTIL_VERSION_INT, -+}; -+ -+static int get_stream_info(AVCodecContext *avctx) -+{ -+ FDKAACDecContext *s = avctx->priv_data; -+ CStreamInfo *info = aacDecoder_GetStreamInfo(s->handle); -+ int channel_counts[0x24] = { 0 }; -+ int i, ch_error = 0; -+ uint64_t ch_layout = 0; -+ -+ if (!info) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to get stream info\n"); -+ return AVERROR_UNKNOWN; -+ } -+ -+ if (info->sampleRate <= 0) { -+ av_log(avctx, AV_LOG_ERROR, "Stream info not initialized\n"); -+ return AVERROR_UNKNOWN; -+ } -+ avctx->sample_rate = info->sampleRate; -+ avctx->frame_size = info->frameSize; -+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10 -+ if (!s->output_delay_set && info->outputDelay) { -+ // Set this only once. -+ s->flush_samples = info->outputDelay; -+ s->delay_samples = info->outputDelay; -+ s->output_delay_set = 1; -+ } -+#endif -+ -+ for (i = 0; i < info->numChannels; i++) { -+ AUDIO_CHANNEL_TYPE ctype = info->pChannelType[i]; -+ if (ctype <= ACT_NONE || ctype >= FF_ARRAY_ELEMS(channel_counts)) { -+ av_log(avctx, AV_LOG_WARNING, "unknown channel type\n"); -+ break; -+ } -+ channel_counts[ctype]++; -+ } -+ av_log(avctx, AV_LOG_DEBUG, -+ "%d channels - front:%d side:%d back:%d lfe:%d top:%d\n", -+ info->numChannels, -+ channel_counts[ACT_FRONT], channel_counts[ACT_SIDE], -+ channel_counts[ACT_BACK], channel_counts[ACT_LFE], -+ channel_counts[ACT_FRONT_TOP] + channel_counts[ACT_SIDE_TOP] + -+ channel_counts[ACT_BACK_TOP] + channel_counts[ACT_TOP]); -+ -+ switch (channel_counts[ACT_FRONT]) { -+ case 4: -+ ch_layout |= AV_CH_LAYOUT_STEREO | AV_CH_FRONT_LEFT_OF_CENTER | -+ AV_CH_FRONT_RIGHT_OF_CENTER; -+ break; -+ case 3: -+ ch_layout |= AV_CH_LAYOUT_STEREO | AV_CH_FRONT_CENTER; -+ break; -+ case 2: -+ ch_layout |= AV_CH_LAYOUT_STEREO; -+ break; -+ case 1: -+ ch_layout |= AV_CH_FRONT_CENTER; -+ break; -+ default: -+ av_log(avctx, AV_LOG_WARNING, -+ "unsupported number of front channels: %d\n", -+ channel_counts[ACT_FRONT]); -+ ch_error = 1; -+ break; -+ } -+ if (channel_counts[ACT_SIDE] > 0) { -+ if (channel_counts[ACT_SIDE] == 2) { -+ ch_layout |= AV_CH_SIDE_LEFT | AV_CH_SIDE_RIGHT; -+ } else { -+ av_log(avctx, AV_LOG_WARNING, -+ "unsupported number of side channels: %d\n", -+ channel_counts[ACT_SIDE]); -+ ch_error = 1; -+ } -+ } -+ if (channel_counts[ACT_BACK] > 0) { -+ switch (channel_counts[ACT_BACK]) { -+ case 3: -+ ch_layout |= AV_CH_BACK_LEFT | AV_CH_BACK_RIGHT | AV_CH_BACK_CENTER; -+ break; -+ case 2: -+ ch_layout |= AV_CH_BACK_LEFT | AV_CH_BACK_RIGHT; -+ break; -+ case 1: -+ ch_layout |= AV_CH_BACK_CENTER; -+ break; -+ default: -+ av_log(avctx, AV_LOG_WARNING, -+ "unsupported number of back channels: %d\n", -+ channel_counts[ACT_BACK]); -+ ch_error = 1; -+ break; -+ } -+ } -+ if (channel_counts[ACT_LFE] > 0) { -+ if (channel_counts[ACT_LFE] == 1) { -+ ch_layout |= AV_CH_LOW_FREQUENCY; -+ } else { -+ av_log(avctx, AV_LOG_WARNING, -+ "unsupported number of LFE channels: %d\n", -+ channel_counts[ACT_LFE]); -+ ch_error = 1; -+ } -+ } -+ -+ av_channel_layout_uninit(&avctx->ch_layout); -+ av_channel_layout_from_mask(&avctx->ch_layout, ch_layout); -+ if (!ch_error && avctx->ch_layout.nb_channels != info->numChannels) { -+ av_log(avctx, AV_LOG_WARNING, "unsupported channel configuration\n"); -+ ch_error = 1; -+ } -+ if (ch_error) -+ avctx->ch_layout.order = AV_CHANNEL_ORDER_UNSPEC; -+ -+ return 0; -+} -+ -+static av_cold int fdk_aac_decode_close(AVCodecContext *avctx) -+{ -+ FDKAACDecContext *s = avctx->priv_data; -+ -+ if (s->handle) -+ aacDecoder_Close(s->handle); -+ av_freep(&s->decoder_buffer); -+ av_freep(&s->anc_buffer); -+ -+ return 0; -+} -+ -+static av_cold int fdk_aac_decode_init(AVCodecContext *avctx) -+{ -+ FDKAACDecContext *s = avctx->priv_data; -+ AAC_DECODER_ERROR err; -+ -+ s->handle = aacDecoder_Open(avctx->extradata_size ? TT_MP4_RAW : TT_MP4_ADTS, 1); -+ if (!s->handle) { -+ av_log(avctx, AV_LOG_ERROR, "Error opening decoder\n"); -+ return AVERROR_UNKNOWN; -+ } -+ -+ if (avctx->extradata_size) { -+ if ((err = aacDecoder_ConfigRaw(s->handle, &avctx->extradata, -+ &avctx->extradata_size)) != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to set extradata\n"); -+ return AVERROR_INVALIDDATA; -+ } -+ } -+ -+ if ((err = aacDecoder_SetParam(s->handle, AAC_CONCEAL_METHOD, -+ s->conceal_method)) != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to set error concealment method\n"); -+ return AVERROR_UNKNOWN; -+ } -+ -+#if FF_API_OLD_CHANNEL_LAYOUT -+FF_DISABLE_DEPRECATION_WARNINGS -+ if (avctx->request_channel_layout) { -+ av_channel_layout_uninit(&s->downmix_layout); -+ av_channel_layout_from_mask(&s->downmix_layout, avctx->request_channel_layout); -+ } -+FF_ENABLE_DEPRECATION_WARNINGS -+#endif -+ if (s->downmix_layout.nb_channels > 0 && -+ s->downmix_layout.order != AV_CHANNEL_ORDER_NATIVE) { -+ int downmix_channels = -1; -+ -+ switch (s->downmix_layout.u.mask) { -+ case AV_CH_LAYOUT_STEREO: -+ case AV_CH_LAYOUT_STEREO_DOWNMIX: -+ downmix_channels = 2; -+ break; -+ case AV_CH_LAYOUT_MONO: -+ downmix_channels = 1; -+ break; -+ default: -+ av_log(avctx, AV_LOG_WARNING, "Invalid downmix option\n"); -+ break; -+ } -+ -+ if (downmix_channels != -1) { -+ if (aacDecoder_SetParam(s->handle, AAC_PCM_MAX_OUTPUT_CHANNELS, -+ downmix_channels) != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_WARNING, "Unable to set output channels in the decoder\n"); -+ } else { -+ s->anc_buffer = av_malloc(DMX_ANC_BUFFSIZE); -+ if (!s->anc_buffer) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to allocate ancillary buffer for the decoder\n"); -+ return AVERROR(ENOMEM); -+ } -+ if (aacDecoder_AncDataInit(s->handle, s->anc_buffer, DMX_ANC_BUFFSIZE)) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to register downmix ancillary buffer in the decoder\n"); -+ return AVERROR_UNKNOWN; -+ } -+ } -+ } -+ } -+ -+ if (s->drc_boost != -1) { -+ if (aacDecoder_SetParam(s->handle, AAC_DRC_BOOST_FACTOR, s->drc_boost) != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to set DRC boost factor in the decoder\n"); -+ return AVERROR_UNKNOWN; -+ } -+ } -+ -+ if (s->drc_cut != -1) { -+ if (aacDecoder_SetParam(s->handle, AAC_DRC_ATTENUATION_FACTOR, s->drc_cut) != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to set DRC attenuation factor in the decoder\n"); -+ return AVERROR_UNKNOWN; -+ } -+ } -+ -+ if (s->drc_level != -1) { -+ // This option defaults to -1, i.e. not calling -+ // aacDecoder_SetParam(AAC_DRC_REFERENCE_LEVEL) at all, which defaults -+ // to the level from DRC metadata, if available. The user can set -+ // -drc_level -2, which calls aacDecoder_SetParam( -+ // AAC_DRC_REFERENCE_LEVEL) with a negative value, which then -+ // explicitly disables the feature. -+ if (aacDecoder_SetParam(s->handle, AAC_DRC_REFERENCE_LEVEL, s->drc_level) != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to set DRC reference level in the decoder\n"); -+ return AVERROR_UNKNOWN; -+ } -+ } -+ -+ if (s->drc_heavy != -1) { -+ if (aacDecoder_SetParam(s->handle, AAC_DRC_HEAVY_COMPRESSION, s->drc_heavy) != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to set DRC heavy compression in the decoder\n"); -+ return AVERROR_UNKNOWN; -+ } -+ } -+ -+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10 -+ // Setting this parameter to -1 enables the auto behaviour in the library. -+ if (aacDecoder_SetParam(s->handle, AAC_PCM_LIMITER_ENABLE, s->level_limit) != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to set in signal level limiting in the decoder\n"); -+ return AVERROR_UNKNOWN; -+ } -+#endif -+ -+#if FDKDEC_VER_AT_LEAST(3, 0) // 3.0.0 -+ if (s->drc_effect != -1) { -+ if (aacDecoder_SetParam(s->handle, AAC_UNIDRC_SET_EFFECT, s->drc_effect) != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to set DRC effect type in the decoder\n"); -+ return AVERROR_UNKNOWN; -+ } -+ } -+#endif -+ -+#if FDKDEC_VER_AT_LEAST(3, 1) // 3.1.0 -+ if (s->album_mode != -1) { -+ if (aacDecoder_SetParam(s->handle, AAC_UNIDRC_ALBUM_MODE, s->album_mode) != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, "Unable to set album mode in the decoder\n"); -+ return AVERROR_UNKNOWN; -+ } -+ } -+#endif -+ -+ avctx->sample_fmt = AV_SAMPLE_FMT_S16; -+ -+ s->decoder_buffer_size = DECODER_BUFFSIZE * DECODER_MAX_CHANNELS; -+ s->decoder_buffer = av_malloc(s->decoder_buffer_size); -+ if (!s->decoder_buffer) -+ return AVERROR(ENOMEM); -+ -+ return 0; -+} -+ -+static int fdk_aac_decode_frame(AVCodecContext *avctx, AVFrame *frame, -+ int *got_frame_ptr, AVPacket *avpkt) -+{ -+ FDKAACDecContext *s = avctx->priv_data; -+ int ret; -+ AAC_DECODER_ERROR err; -+ UINT valid = avpkt->size; -+ UINT flags = 0; -+ int input_offset = 0; -+ -+ if (avpkt->size) { -+ err = aacDecoder_Fill(s->handle, &avpkt->data, &avpkt->size, &valid); -+ if (err != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, "aacDecoder_Fill() failed: %x\n", err); -+ return AVERROR_INVALIDDATA; -+ } -+ } else { -+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10 -+ /* Handle decoder draining */ -+ if (s->flush_samples > 0) { -+ flags |= AACDEC_FLUSH; -+ } else { -+ return AVERROR_EOF; -+ } -+#else -+ return AVERROR_EOF; -+#endif -+ } -+ -+ err = aacDecoder_DecodeFrame(s->handle, (INT_PCM *) s->decoder_buffer, -+ s->decoder_buffer_size / sizeof(INT_PCM), -+ flags); -+ if (err == AAC_DEC_NOT_ENOUGH_BITS) { -+ ret = avpkt->size - valid; -+ goto end; -+ } -+ if (err != AAC_DEC_OK) { -+ av_log(avctx, AV_LOG_ERROR, -+ "aacDecoder_DecodeFrame() failed: %x\n", err); -+ ret = AVERROR_UNKNOWN; -+ goto end; -+ } -+ -+ if ((ret = get_stream_info(avctx)) < 0) -+ goto end; -+ frame->nb_samples = avctx->frame_size; -+ -+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10 -+ if (flags & AACDEC_FLUSH) { -+ // Only return the right amount of samples at the end; if calling the -+ // decoder with AACDEC_FLUSH, it will keep returning frames indefinitely. -+ frame->nb_samples = FFMIN(s->flush_samples, frame->nb_samples); -+ av_log(s, AV_LOG_DEBUG, "Returning %d/%d delayed samples.\n", -+ frame->nb_samples, s->flush_samples); -+ s->flush_samples -= frame->nb_samples; -+ } else { -+ // Trim off samples from the start to compensate for extra decoder -+ // delay. We could also just adjust the pts, but this avoids -+ // including the extra samples in the output altogether. -+ if (s->delay_samples) { -+ int drop_samples = FFMIN(s->delay_samples, frame->nb_samples); -+ av_log(s, AV_LOG_DEBUG, "Dropping %d/%d delayed samples.\n", -+ drop_samples, s->delay_samples); -+ s->delay_samples -= drop_samples; -+ frame->nb_samples -= drop_samples; -+ input_offset = drop_samples * avctx->ch_layout.nb_channels; -+ if (frame->nb_samples <= 0) -+ return 0; -+ } -+ } -+#endif -+ -+ if ((ret = ff_get_buffer(avctx, frame, 0)) < 0) -+ goto end; -+ -+ memcpy(frame->extended_data[0], s->decoder_buffer + input_offset, -+ avctx->ch_layout.nb_channels * frame->nb_samples * -+ av_get_bytes_per_sample(avctx->sample_fmt)); -+ -+ *got_frame_ptr = 1; -+ ret = avpkt->size - valid; -+ -+end: -+ return ret; -+} -+ -+static av_cold void fdk_aac_decode_flush(AVCodecContext *avctx) -+{ -+ FDKAACDecContext *s = avctx->priv_data; -+ AAC_DECODER_ERROR err; -+ -+ if (!s->handle) -+ return; -+ -+ if ((err = aacDecoder_SetParam(s->handle, -+ AAC_TPDEC_CLEAR_BUFFER, 1)) != AAC_DEC_OK) -+ av_log(avctx, AV_LOG_WARNING, "failed to clear buffer when flushing\n"); -+} -+ -+const FFCodec ff_libfdk_aac_decoder = { -+ .p.name = "libfdk_aac", -+ CODEC_LONG_NAME("Fraunhofer FDK AAC"), -+ .p.type = AVMEDIA_TYPE_AUDIO, -+ .p.id = AV_CODEC_ID_AAC, -+ .priv_data_size = sizeof(FDKAACDecContext), -+ .init = fdk_aac_decode_init, -+ FF_CODEC_DECODE_CB(fdk_aac_decode_frame), -+ .close = fdk_aac_decode_close, -+ .flush = fdk_aac_decode_flush, -+ .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF -+#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10 -+ | AV_CODEC_CAP_DELAY -+#endif -+ , -+ .p.priv_class = &fdk_aac_dec_class, -+ .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, -+ .p.wrapper_name = "libfdk", -+}; -diff -up firefox-127.0/media/ffvpx/libavcodec/moz.build.1667096 firefox-127.0/media/ffvpx/libavcodec/moz.build ---- firefox-127.0/media/ffvpx/libavcodec/moz.build.1667096 2024-06-06 23:33:58.000000000 +0200 -+++ firefox-127.0/media/ffvpx/libavcodec/moz.build 2024-06-10 12:42:39.354913201 +0200 -@@ -151,6 +151,12 @@ else: - CXXFLAGS += CONFIG["MOZ_LIBVPX_CFLAGS"] - OS_LIBS += CONFIG["MOZ_LIBVPX_LIBS"] - -+if CONFIG['MOZ_FDK_AAC']: -+ SOURCES += [ -+ 'libfdk-aacdec.c', -+ ] -+ OS_LIBS += CONFIG['MOZ_FDK_AAC_LIBS'] -+ - SYMBOLS_FILE = 'avcodec.symbols' - NoVisibilityFlags() - -diff -up firefox-127.0/toolkit/moz.configure.1667096 firefox-127.0/toolkit/moz.configure ---- firefox-127.0/toolkit/moz.configure.1667096 2024-06-10 12:42:39.312913316 +0200 -+++ firefox-127.0/toolkit/moz.configure 2024-06-10 12:42:39.355913199 +0200 -@@ -2412,6 +2412,15 @@ with only_when(compile_environment): - - set_config("MOZ_SYSTEM_PNG", True, when="--with-system-png") - -+# FDK AAC support -+# ============================================================== -+option('--with-system-fdk-aac', -+ help='Use system libfdk-aac (located with pkgconfig)') -+ -+system_fdk_aac = pkg_check_modules('MOZ_FDK_AAC', 'fdk-aac', -+ when='--with-system-fdk-aac') -+ -+set_config('MOZ_FDK_AAC', depends(when=system_fdk_aac)(lambda: True)) - - # FFmpeg's ffvpx configuration - # ============================================================== diff --git a/specs/f/freerdp/freerdp.spec b/specs/f/freerdp/freerdp.spec index db3693f67cf..4075deb31e4 100644 --- a/specs/f/freerdp/freerdp.spec +++ b/specs/f/freerdp/freerdp.spec @@ -33,7 +33,7 @@ Name: freerdp Epoch: 2 Version: 3.22.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Free implementation of the Remote Desktop Protocol (RDP) # The effective license is Apache-2.0 but: @@ -85,7 +85,6 @@ BuildRequires: cmake(json-c) BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(krb5) -BuildRequires: pkgconfig(fdk-aac) BuildRequires: pkgconfig(fuse3) BuildRequires: pkgconfig(libpcsclite) BuildRequires: pkgconfig(libpulse) @@ -197,7 +196,7 @@ find . -name "*.c" -exec chmod 664 {} \; -DWITH_CLIENT_SDL=%{?_with_sdl_client:ON}%{?!_with_sdl_client:OFF} \ -DWITH_SDL_IMAGE_DIALOGS=%{?_with_sdl_client:ON}%{?!_with_sdl_client:OFF} \ -DWITH_DSP_FFMPEG=%{?_with_ffmpeg:ON}%{?!_with_ffmpeg:OFF} \ - -DWITH_FDK_AAC=ON \ + -DWITH_FDK_AAC=OFF \ -DWITH_FFMPEG=%{?_with_ffmpeg:ON}%{?!_with_ffmpeg:OFF} \ -DWITH_FUSE=ON \ -DWITH_GSM=ON \ diff --git a/specs/p/pipewire/pipewire.azl.macros b/specs/p/pipewire/pipewire.azl.macros index c1dee5fcb9b..825efdd9b66 100644 --- a/specs/p/pipewire/pipewire.azl.macros +++ b/specs/p/pipewire/pipewire.azl.macros @@ -2,4 +2,4 @@ # Do not edit manually; changes will be overwritten. %_without_roc 1 %_without_v4l2 1 -%azl_release 6 +%azl_release 7 diff --git a/specs/p/pipewire/pipewire.spec b/specs/p/pipewire/pipewire.spec index 39efa447f83..68de1242e01 100644 --- a/specs/p/pipewire/pipewire.spec +++ b/specs/p/pipewire/pipewire.spec @@ -107,7 +107,6 @@ BuildRequires: pkgconfig(gstreamer-allocators-1.0) >= 1.10.0 BuildRequires: pkgconfig(ldacBT-enc) BuildRequires: pkgconfig(ldacBT-abr) %endif -BuildRequires: pkgconfig(fdk-aac) BuildRequires: pkgconfig(bluez) BuildRequires: systemd BuildRequires: systemd-devel @@ -455,7 +454,7 @@ cp %{SOURCE1} subprojects/packagefiles/ -D docs=enabled -D man=enabled -D gstreamer=enabled -D systemd=enabled \ -D sdl2=disabled \ -D audiotestsrc=disabled -D videotestsrc=disabled \ - -D volume=disabled -D bluez5-codec-aptx=disabled \ + -D volume=disabled -D bluez5-codec-aac=disabled -D bluez5-codec-aptx=disabled \ -D bluez5-codec-lc3plus=disabled -D bluez5-codec-lc3=enabled \ %ifarch s390x -D bluez5-codec-ldac=disabled \