Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package webrtc-audio-processing for openSUSE:Factory checked in at 2023-09-21 22:13:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/webrtc-audio-processing (Old) and /work/SRC/openSUSE:Factory/.webrtc-audio-processing.new.1770 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "webrtc-audio-processing" Thu Sep 21 22:13:13 2023 rev:13 rq:1112519 version:1.3 Changes: -------- --- /work/SRC/openSUSE:Factory/webrtc-audio-processing/webrtc-audio-processing.changes 2020-09-01 20:01:42.640433654 +0200 +++ /work/SRC/openSUSE:Factory/.webrtc-audio-processing.new.1770/webrtc-audio-processing.changes 2023-09-21 22:13:30.316085079 +0200 @@ -1,0 +2,50 @@ +Wed Sep 20 09:49:19 UTC 2023 - Antonio Larrosa <alarr...@suse.com> + +- Remove the tar.xz file. Having the obscpio file is enough + +------------------------------------------------------------------- +Wed Sep 20 09:38:21 UTC 2023 - Antonio Larrosa <alarr...@suse.com> + +- Use also dashes instead of underscores in the manual Requires + +------------------------------------------------------------------- +Wed Sep 20 09:04:13 UTC 2023 - Antonio Larrosa <alarr...@suse.com> + +- Rename the generated library package names to add a dash between + the name and soname (libwebrtc*-1-3 instead of libwebrtc*1-3) +- Rename the generated packages to use dashes instead of underscores +- Change baselibs.conf accordingly +- Add patch to reduce the required meson version so the package + builds in Leap 15.4/15.5: + * reduce-meson-dep.patch + +------------------------------------------------------------------- +Fri Sep 08 10:40:12 UTC 2023 - alarr...@suse.com + +- Update to version 1.3: + * build: Bump version to 1.3 + * meson: Fix generation of pkgconfig files + * build: Bump version to 1.2 + * meson: Update minimum version based on what abseil wrap needs + * build: Expose absl as a dependency of webrtc-audio-processing + * meson: Update to latest wrap, install required absl headers + * doc: Update tarball generation process + * file_utils.h: Fix build with gcc-13 + * meson: Fixes for MSVC build + * meson: Ensure that abseil is built with c++17 too + * More changes not listed by upstream. Check + the following link to see them: + https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/commits/v1.3 +- Add patch that fixes some compiler "control reaches end of + non-void function" errors: + * fix-build.patch +- Add patch that fixes i586 build: + * fix-i586.patch +- Disable patches until they're rebased to the current codebase: + * big_endian_support.patch + * big_endian_support_2.patch +- Rebased patches: + * webrtc-ppc64.patch + * webrtc-s390x.patch + +------------------------------------------------------------------- Old: ---- webrtc-audio-processing-0.3.1.tar.xz New: ---- _service fix-build.patch fix-i586.patch reduce-meson-dep.patch webrtc-audio-processing-1.3.obscpio webrtc-audio-processing.obsinfo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ webrtc-audio-processing.spec ++++++ --- /var/tmp/diff_new_pack.b5G3qX/_old 2023-09-21 22:13:32.032147360 +0200 +++ /var/tmp/diff_new_pack.b5G3qX/_new 2023-09-21 22:13:32.036147506 +0200 @@ -2,7 +2,7 @@ # # spec file for package webrtc-audio-processing # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2023 SUSE LLC # Copyright (c) 2012 Pascal Bleser <pascal.ble...@opensuse.org> # # All modifications and additions to the file contributed by third parties @@ -18,32 +18,39 @@ # -%define soname 1 +%define pkg_soname 1-3 +%define soname 3 # Please submit bugfixes or comments via http://bugs.opensuse.org/ Name: webrtc-audio-processing -Version: 0.3.1 +Version: 1.3 Release: 0 Summary: Real-Time Communication Library for Web Browsers License: BSD-3-Clause Group: System/Libraries URL: https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/ -Source: http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/webrtc-audio-processing-%{version}.tar.xz +Source: webrtc-audio-processing-%{version}.tar.xz Source1: baselibs.conf +# PATCH-FIX-UPSTREAM fix-build.patch alarr...@suse.com -- Fix a number of "control reaches end of non-void function" errors +Patch0: fix-build.patch # PATCH-FIX-UPSTREAN big_endian_support.patch https://bugs.freedesktop.org/show_bug.cgi?id=95738 Patch1: big_endian_support.patch # PATCH-FIX-UPSTREAN big_endian_support.patch https://bugs.freedesktop.org/show_bug.cgi?id=95738 Patch2: big_endian_support_2.patch +Patch3: fix-i586.patch # PATCH-FIX-OPENSUSE webrtc-(ppc64|s390x|aarch64).patch Patch100: webrtc-ppc64.patch Patch101: webrtc-s390x.patch -BuildRequires: autoconf -BuildRequires: automake +# PATCH-FIX-OPENSUSE reduce-meson-dep.patch +Patch102: reduce-meson-dep.patch +BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: glibc-devel BuildRequires: libtool BuildRequires: make +BuildRequires: meson >= 0.59.4 BuildRequires: pkgconfig BuildRequires: xz +BuildRequires: cmake(absl) %description WebRTC is an open source project that enables web browsers with Real-Time @@ -52,35 +59,70 @@ WebRTC implements the W3C's proposal for video conferencing on the web. -%package -n libwebrtc_audio_processing%{soname} +%package -n libwebrtc-audio-processing-%{pkg_soname} Summary: Real-Time Communication Library for Web Browsers Group: System/Libraries -%description -n libwebrtc_audio_processing%{soname} +%description -n libwebrtc-audio-processing-%{pkg_soname} WebRTC is an open source project that enables web browsers with Real-Time Communications (RTC) capabilities via simple Javascript APIs. The WebRTC components have been optimized to best serve this purpose. WebRTC implements the W3C's proposal for video conferencing on the web. -%package -n libwebrtc_audio_processing-devel +%package -n libwebrtc-audio-processing-devel Summary: Real-Time Communication Library for Web Browsers Group: Development/Libraries/C and C++ -Requires: libwebrtc_audio_processing%{soname} = %{version} +Requires: libwebrtc-audio-processing-%{pkg_soname} = %{version} -%description -n libwebrtc_audio_processing-devel +%description -n libwebrtc-audio-processing-devel WebRTC is an open source project that enables web browsers with Real-Time Communications (RTC) capabilities via simple Javascript APIs. The WebRTC components have been optimized to best serve this purpose. WebRTC implements the W3C's proposal for video conferencing on the web. -%package -n libwebrtc_audio_processing-devel-static +%package -n libwebrtc-audio-processing-devel-static Summary: Real-Time Communication Library for Web Browsers Group: Development/Libraries/C and C++ -Requires: libwebrtc_audio_processing-devel = %{version} +Requires: libwebrtc-audio-processing-devel = %{version} -%description -n libwebrtc_audio_processing-devel-static +%description -n libwebrtc-audio-processing-devel-static +WebRTC is an open source project that enables web browsers with Real-Time +Communications (RTC) capabilities via simple Javascript APIs. The WebRTC +components have been optimized to best serve this purpose. + +WebRTC implements the W3C's proposal for video conferencing on the web. + +%package -n libwebrtc-audio-coding-%{pkg_soname} +Summary: Real-Time Communication Library for Web Browsers +Group: System/Libraries + +%description -n libwebrtc-audio-coding-%{pkg_soname} +WebRTC is an open source project that enables web browsers with Real-Time +Communications (RTC) capabilities via simple Javascript APIs. The WebRTC +components have been optimized to best serve this purpose. + +WebRTC implements the W3C's proposal for video conferencing on the web. + +%package -n libwebrtc-audio-coding-devel +Summary: Real-Time Communication Library for Web Browsers +Group: Development/Libraries/C and C++ +Requires: libwebrtc-audio-coding-%{pkg_soname} = %{version} + +%description -n libwebrtc-audio-coding-devel +WebRTC is an open source project that enables web browsers with Real-Time +Communications (RTC) capabilities via simple Javascript APIs. The WebRTC +components have been optimized to best serve this purpose. + +WebRTC implements the W3C's proposal for video conferencing on the web. + +%package -n libwebrtc-audio-coding-devel-static +Summary: Real-Time Communication Library for Web Browsers +Group: Development/Libraries/C and C++ +Requires: libwebrtc-audio-coding-devel = %{version} + +%description -n libwebrtc-audio-coding-devel-static WebRTC is an open source project that enables web browsers with Real-Time Communications (RTC) capabilities via simple Javascript APIs. The WebRTC components have been optimized to best serve this purpose. @@ -88,38 +130,59 @@ WebRTC implements the W3C's proposal for video conferencing on the web. %prep -%setup -q -T -c "%{name}-%{version}" -xz --decompress --stdout "%{SOURCE0}" | tar xf - --strip-components=1 +%autosetup -p1 -N sed -i 's/\r$//' AUTHORS -%patch1 -p1 -%patch2 -p1 -%patch100 -%patch101 +%patch0 -p1 +#%%patch1 -p1 +#%%patch2 -p1 +%patch3 -p1 +%patch100 -p1 +%patch101 -p1 +%patch102 -p1 %build %global _lto_cflags %{_lto_cflags} -ffat-lto-objects -%configure -%make_build +%meson \ + -Dc_std=gnu11 \ + -Dcpp_std=gnu++17 \ + -Ddefault_library=both \ + -Dc_args="${CFLAGS} ${LDFLAGS}" \ + -Dcpp_args="${CXXFLAGS} ${LDFLAGS}" \ + %{nil} +%meson_build %install -%make_install +%meson_install find %{buildroot} -type f -name "*.la" -delete -print -%post -n libwebrtc_audio_processing%{soname} -p /sbin/ldconfig -%postun -n libwebrtc_audio_processing%{soname} -p /sbin/ldconfig +%post -n libwebrtc-audio-processing-%{pkg_soname} -p /sbin/ldconfig +%postun -n libwebrtc-audio-processing-%{pkg_soname} -p /sbin/ldconfig +%post -n libwebrtc-audio-coding-%{pkg_soname} -p /sbin/ldconfig +%postun -n libwebrtc-audio-coding-%{pkg_soname} -p /sbin/ldconfig + +%files -n libwebrtc-audio-processing-%{pkg_soname} +%license COPYING +%doc AUTHORS NEWS README.md UPDATING.md +%{_libdir}/libwebrtc-audio-processing-1.so.%{soname}* + +%files -n libwebrtc-audio-processing-devel +%{_includedir}/webrtc-audio-processing-1 +%{_libdir}/libwebrtc-audio-processing-1.so +%{_libdir}/pkgconfig/webrtc-audio-processing-1.pc + +%files -n libwebrtc-audio-processing-devel-static +%{_libdir}/libwebrtc-audio-processing-1.a -%files -n libwebrtc_audio_processing%{soname} +%files -n libwebrtc-audio-coding-%{pkg_soname} %license COPYING %doc AUTHORS NEWS README.md UPDATING.md -%{_libdir}/libwebrtc_audio_processing.so.%{soname} -%{_libdir}/libwebrtc_audio_processing.so.%{soname}.*.* +%{_libdir}/libwebrtc-audio-coding-1.so.%{soname}* -%files -n libwebrtc_audio_processing-devel -%{_includedir}/webrtc_audio_processing -%{_libdir}/libwebrtc_audio_processing.so -%{_libdir}/pkgconfig/webrtc-audio-processing.pc +%files -n libwebrtc-audio-coding-devel +%{_libdir}/libwebrtc-audio-coding-1.so +%{_libdir}/pkgconfig/webrtc-audio-coding-1.pc -%files -n libwebrtc_audio_processing-devel-static -%{_libdir}/libwebrtc_audio_processing.a +%files -n libwebrtc-audio-coding-devel-static +%{_libdir}/libwebrtc-audio-coding-1.a ++++++ _service ++++++ <?xml version="1.0"?> <services> <service name="obs_scm" mode="manual"> <param name="scm">git</param> <param name="url">https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing.git</param> <param name="revision">v1.3</param> <param name="versionformat">1.3</param> <!-- <param name="revision">master</param> <param name="versionformat">@PARENT_TAG@+git%cd.%h</param> --> </service> <service name="tar" mode="buildtime"/> <service name="recompress" mode="buildtime"> <param name="file">*.tar</param> <param name="compression">xz</param> </service> <service name="set_version" mode="manual" /> </services> ++++++ baselibs.conf ++++++ --- /var/tmp/diff_new_pack.b5G3qX/_old 2023-09-21 22:13:32.072148812 +0200 +++ /var/tmp/diff_new_pack.b5G3qX/_new 2023-09-21 22:13:32.076148957 +0200 @@ -1,2 +1,3 @@ -libwebrtc_audio_processing1 +libwebrtc-audio-processing-1-3 +libwebrtc-audio-coding-1-3 ++++++ big_endian_support.patch ++++++ --- /var/tmp/diff_new_pack.b5G3qX/_old 2023-09-21 22:13:32.088149393 +0200 +++ /var/tmp/diff_new_pack.b5G3qX/_new 2023-09-21 22:13:32.092149538 +0200 @@ -2,26 +2,26 @@ --- webrtc-audio-processing-0.2/webrtc/common_audio/wav_file.cc.than 2016-05-24 08:28:45.749940095 -0400 +++ webrtc-audio-processing-0.2/webrtc/common_audio/wav_file.cc 2016-05-24 08:50:30.361020010 -0400 @@ -64,9 +64,6 @@ WavReader::~WavReader() { - } - size_t WavReader::ReadSamples(size_t num_samples, int16_t* samples) { + size_t WavReader::ReadSamples(const size_t num_samples, + int16_t* const samples) { -#ifndef WEBRTC_ARCH_LITTLE_ENDIAN -#error "Need to convert samples to big-endian when reading from WAV file" -#endif - // There could be metadata after the audio; ensure we don't read it. - num_samples = std::min(rtc::checked_cast<uint32_t>(num_samples), - num_samples_remaining_); + + size_t num_samples_left_to_read = num_samples; + size_t next_chunk_start = 0; @@ -76,6 +73,12 @@ size_t WavReader::ReadSamples(size_t num - RTC_CHECK(read == num_samples || feof(file_handle_)); - RTC_CHECK_LE(read, num_samples_remaining_); - num_samples_remaining_ -= rtc::checked_cast<uint32_t>(read); + num_samples_left_to_read -= num_samples_read; + } + +#ifndef WEBRTC_ARCH_LITTLE_ENDIAN + //convert to big-endian + for(size_t idx = 0; idx < num_samples; idx++) { + samples[idx] = (samples[idx]<<8) | (samples[idx]>>8); + } +#endif - return read; + return num_samples - num_samples_left_to_read; } @@ -120,10 +123,17 @@ WavWriter::~WavWriter() { ++++++ fix-build.patch ++++++ Index: webrtc-audio-processing-1.3/webrtc/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc =================================================================== --- webrtc-audio-processing-1.3.orig/webrtc/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc +++ webrtc-audio-processing-1.3/webrtc/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc @@ -39,6 +39,7 @@ float GetLevel(const VadLevelAnalyzer::R return vad_level.rms_dbfs; break; case LevelEstimatorType::kPeak: + default: return vad_level.peak_dbfs; break; } Index: webrtc-audio-processing-1.3/webrtc/modules/audio_processing/audio_processing_impl.cc =================================================================== --- webrtc-audio-processing-1.3.orig/webrtc/modules/audio_processing/audio_processing_impl.cc +++ webrtc-audio-processing-1.3/webrtc/modules/audio_processing/audio_processing_impl.cc @@ -112,6 +112,7 @@ GainControl::Mode Agc1ConfigModeToInterf case Agc1Config::kAdaptiveDigital: return GainControl::kAdaptiveDigital; case Agc1Config::kFixedDigital: + default: return GainControl::kFixedDigital; } } @@ -1852,6 +1853,7 @@ void AudioProcessingImpl::InitializeNois return NsConfig::SuppressionLevel::k21dB; default: RTC_NOTREACHED(); + return NsConfig::SuppressionLevel::k21dB; // Just to keep the compiler happy } }; Index: webrtc-audio-processing-1.3/webrtc/modules/audio_processing/include/audio_processing.cc =================================================================== --- webrtc-audio-processing-1.3.orig/webrtc/modules/audio_processing/include/audio_processing.cc +++ webrtc-audio-processing-1.3/webrtc/modules/audio_processing/include/audio_processing.cc @@ -26,6 +26,7 @@ std::string NoiseSuppressionLevelToStrin case AudioProcessing::Config::NoiseSuppression::Level::kHigh: return "High"; case AudioProcessing::Config::NoiseSuppression::Level::kVeryHigh: + default: return "VeryHigh"; } } @@ -38,6 +39,7 @@ std::string GainController1ModeToString( case AudioProcessing::Config::GainController1::Mode::kAdaptiveDigital: return "AdaptiveDigital"; case AudioProcessing::Config::GainController1::Mode::kFixedDigital: + default: return "FixedDigital"; } } @@ -48,6 +50,7 @@ std::string GainController2LevelEstimato case AudioProcessing::Config::GainController2::LevelEstimator::kRms: return "Rms"; case AudioProcessing::Config::GainController2::LevelEstimator::kPeak: + default: return "Peak"; } } ++++++ fix-i586.patch ++++++ Index: webrtc-audio-processing-1.3/webrtc/third_party/pffft/src/pffft.c =================================================================== --- webrtc-audio-processing-1.3.orig/webrtc/third_party/pffft/src/pffft.c +++ webrtc-audio-processing-1.3/webrtc/third_party/pffft/src/pffft.c @@ -131,7 +131,7 @@ inline v4sf ld_ps1(const float *p) { v4s /* SSE1 support macros */ -#elif !defined(PFFFT_SIMD_DISABLE) && (defined(__x86_64__) || defined(_M_X64) || defined(i386) || defined(__i386__) || defined(_M_IX86)) +#elif !defined(PFFFT_SIMD_DISABLE) && (defined(__x86_64__) || defined(_M_X64) || defined(i386) || defined(__i386__) || defined(_M_IX86)) && defined(__SSE2__) #include <xmmintrin.h> typedef __m128 v4sf; Index: webrtc-audio-processing-1.3/webrtc/modules/audio_processing/aec3/adaptive_fir_filter.cc =================================================================== --- webrtc-audio-processing-1.3.orig/webrtc/modules/audio_processing/aec3/adaptive_fir_filter.cc +++ webrtc-audio-processing-1.3/webrtc/modules/audio_processing/aec3/adaptive_fir_filter.cc @@ -88,6 +88,7 @@ void ComputeFrequencyResponse_Neon( #if defined(WEBRTC_ARCH_X86_FAMILY) // Computes and stores the frequency response of the filter. +__attribute__((target("sse2"))) void ComputeFrequencyResponse_Sse2( size_t num_partitions, const std::vector<std::vector<FftData>>& H, @@ -207,9 +208,10 @@ void AdaptPartitions_Neon(const RenderBu } while (p < lim2); } #endif - + #if defined(WEBRTC_ARCH_X86_FAMILY) // Adapts the filter partitions. (SSE2 variant) +__attribute__((target("sse2"))) void AdaptPartitions_Sse2(const RenderBuffer& render_buffer, const FftData& G, size_t num_partitions, @@ -375,6 +377,7 @@ void ApplyFilter_Neon(const RenderBuffer #if defined(WEBRTC_ARCH_X86_FAMILY) // Produces the filter output (SSE2 variant). +__attribute__((target("sse2"))) void ApplyFilter_Sse2(const RenderBuffer& render_buffer, size_t num_partitions, const std::vector<std::vector<FftData>>& H, Index: webrtc-audio-processing-1.3/webrtc/modules/audio_processing/aec3/matched_filter.cc =================================================================== --- webrtc-audio-processing-1.3.orig/webrtc/modules/audio_processing/aec3/matched_filter.cc +++ webrtc-audio-processing-1.3/webrtc/modules/audio_processing/aec3/matched_filter.cc @@ -143,7 +143,7 @@ void MatchedFilterCore_NEON(size_t x_sta #endif #if defined(WEBRTC_ARCH_X86_FAMILY) - +__attribute__((target("sse2"))) void MatchedFilterCore_SSE2(size_t x_start_index, float x2_sum_threshold, float smoothing, Index: webrtc-audio-processing-1.3/webrtc/modules/audio_processing/aec3/fft_data.h =================================================================== --- webrtc-audio-processing-1.3.orig/webrtc/modules/audio_processing/aec3/fft_data.h +++ webrtc-audio-processing-1.3/webrtc/modules/audio_processing/aec3/fft_data.h @@ -48,7 +48,7 @@ struct FftData { rtc::ArrayView<float> power_spectrum) const { RTC_DCHECK_EQ(kFftLengthBy2Plus1, power_spectrum.size()); switch (optimization) { -#if defined(WEBRTC_ARCH_X86_FAMILY) +#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__) case Aec3Optimization::kSse2: { constexpr int kNumFourBinBands = kFftLengthBy2 / 4; constexpr int kLimit = kNumFourBinBands * 4; Index: webrtc-audio-processing-1.3/webrtc/modules/audio_processing/aec3/vector_math.h =================================================================== --- webrtc-audio-processing-1.3.orig/webrtc/modules/audio_processing/aec3/vector_math.h +++ webrtc-audio-processing-1.3/webrtc/modules/audio_processing/aec3/vector_math.h @@ -43,7 +43,7 @@ class VectorMath { void SqrtAVX2(rtc::ArrayView<float> x); void Sqrt(rtc::ArrayView<float> x) { switch (optimization_) { -#if defined(WEBRTC_ARCH_X86_FAMILY) +#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__) case Aec3Optimization::kSse2: { const int x_size = static_cast<int>(x.size()); const int vector_limit = x_size >> 2; @@ -123,7 +123,7 @@ class VectorMath { RTC_DCHECK_EQ(z.size(), x.size()); RTC_DCHECK_EQ(z.size(), y.size()); switch (optimization_) { -#if defined(WEBRTC_ARCH_X86_FAMILY) +#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__) case Aec3Optimization::kSse2: { const int x_size = static_cast<int>(x.size()); const int vector_limit = x_size >> 2; @@ -173,7 +173,7 @@ class VectorMath { void Accumulate(rtc::ArrayView<const float> x, rtc::ArrayView<float> z) { RTC_DCHECK_EQ(z.size(), x.size()); switch (optimization_) { -#if defined(WEBRTC_ARCH_X86_FAMILY) +#if defined(WEBRTC_ARCH_X86_FAMILY) && defined(__SSE2__) case Aec3Optimization::kSse2: { const int x_size = static_cast<int>(x.size()); const int vector_limit = x_size >> 2; Index: webrtc-audio-processing-1.3/webrtc/modules/audio_processing/agc2/rnn_vad/rnn.cc =================================================================== --- webrtc-audio-processing-1.3.orig/webrtc/modules/audio_processing/agc2/rnn_vad/rnn.cc +++ webrtc-audio-processing-1.3/webrtc/modules/audio_processing/agc2/rnn_vad/rnn.cc @@ -229,6 +229,7 @@ void ComputeFullyConnectedLayerOutput( #if defined(WEBRTC_ARCH_X86_FAMILY) // Fully connected layer SSE2 implementation. +__attribute__((target("sse2"))) void ComputeFullyConnectedLayerOutputSse2( size_t input_size, size_t output_size, Index: webrtc-audio-processing-1.3/webrtc/modules/audio_processing/aec3/adaptive_fir_filter_erl.cc =================================================================== --- webrtc-audio-processing-1.3.orig/webrtc/modules/audio_processing/aec3/adaptive_fir_filter_erl.cc +++ webrtc-audio-processing-1.3/webrtc/modules/audio_processing/aec3/adaptive_fir_filter_erl.cc @@ -57,6 +57,7 @@ void ErlComputer_NEON( #if defined(WEBRTC_ARCH_X86_FAMILY) // Computes and stores the echo return loss estimate of the filter, which is the // sum of the partition frequency responses. +__attribute__((target("sse2"))) void ErlComputer_SSE2( const std::vector<std::array<float, kFftLengthBy2Plus1>>& H2, rtc::ArrayView<float> erl) { ++++++ reduce-meson-dep.patch ++++++ Index: webrtc-audio-processing-1.3/meson.build =================================================================== --- webrtc-audio-processing-1.3.orig/meson.build +++ webrtc-audio-processing-1.3/meson.build @@ -1,6 +1,6 @@ project('webrtc-audio-processing', 'c', 'cpp', version : '1.3', - meson_version : '>= 0.63', + meson_version : '>= 0.59.4', default_options : [ 'warning_level=1', 'buildtype=debugoptimized', 'c_std=c11', ++++++ webrtc-audio-processing.obsinfo ++++++ name: webrtc-audio-processing version: 1.3 mtime: 1693927187 commit: 8e258a1933d405073c9e6465628a69ac7d2a1f13 ++++++ webrtc-ppc64.patch ++++++ --- /var/tmp/diff_new_pack.b5G3qX/_old 2023-09-21 22:13:32.164152151 +0200 +++ /var/tmp/diff_new_pack.b5G3qX/_new 2023-09-21 22:13:32.164152151 +0200 @@ -1,11 +1,17 @@ Index: webrtc/typedefs.h =================================================================== ---- webrtc/typedefs.h.org -+++ webrtc/typedefs.h -@@ -47,6 +47,12 @@ - #elif defined(__pnacl__) +--- a/webrtc/rtc_base/system/arch.h.orig ++++ b/webrtc/rtc_base/system/arch.h +@@ -57,6 +57,15 @@ +# #elif defined(__pnacl__) +# #define WEBRTC_ARCH_32_BITS +# #define WEBRTC_ARCH_LITTLE_ENDIAN + #elif defined(__EMSCRIPTEN__) #define WEBRTC_ARCH_32_BITS #define WEBRTC_ARCH_LITTLE_ENDIAN ++#elif defined(__powerpc64__) && defined(__LITTLE_ENDIAN__) ++#define WEBRTC_ARCH_LITTLE_ENDIAN ++#define WEBRTC_ARCH_64_BITS +#elif defined(__powerpc64__) +#define WEBRTC_ARCH_BIG_ENDIAN +#define WEBRTC_ARCH_64_BITS @@ -13,6 +19,9 @@ +#define WEBRTC_ARCH_BIG_ENDIAN +#define WEBRTC_ARCH_32_BITS #else - /* instead of failing, use typical unix defines... */ - #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ + #error Please add support for your architecture in rtc_base/system/arch.h + #endif +# #else +# /* instead of failing, use typical unix defines... */ +# #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ ++++++ webrtc-s390x.patch ++++++ --- /var/tmp/diff_new_pack.b5G3qX/_old 2023-09-21 22:13:32.176152587 +0200 +++ /var/tmp/diff_new_pack.b5G3qX/_new 2023-09-21 22:13:32.180152732 +0200 @@ -1,6 +1,6 @@ ---- webrtc/typedefs.h -+++ webrtc/typedefs.h -@@ -53,6 +53,12 @@ +--- a/webrtc/rtc_base/system/arch.h.orig ++++ b/webrtc/rtc_base/system/arch.h +@@ -63,6 +63,12 @@ #elif defined(__powerpc__) #define WEBRTC_ARCH_BIG_ENDIAN #define WEBRTC_ARCH_32_BITS @@ -11,6 +11,9 @@ +#define WEBRTC_ARCH_BIG_ENDIAN +#define WEBRTC_ARCH_32_BITS #else - /* instead of failing, use typical unix defines... */ - #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ + #error Please add support for your architecture in rtc_base/system/arch.h + #endif +# #else +# /* instead of failing, use typical unix defines... */ +# #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__