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__
 

Reply via email to