diff --git a/_service b/_service
new file mode 100644
index 0000000..f27b2a3
--- /dev/null
+++ b/_service
@@ -0,0 +1,20 @@
+
+
+
+ git
+ https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing.git
+ v1.3
+ 1.3
+
+
+
+
+ *.tar
+ xz
+
+
+
+
diff --git a/baselibs.conf b/baselibs.conf
index 9e92647..a6f31d9 100644
--- a/baselibs.conf
+++ b/baselibs.conf
@@ -1 +1,2 @@
-libwebrtc_audio_processing1
+libwebrtc_audio_processing1-3
+libwebrtc_audio_coding1-3
diff --git a/big_endian_support.patch b/big_endian_support.patch
index 26850f7..2a58630 100644
--- a/big_endian_support.patch
+++ b/big_endian_support.patch
@@ -2,26 +2,26 @@ diff -up webrtc-audio-processing-0.2/webrtc/common_audio/wav_file.cc.than webrtc
--- 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(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(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() {
diff --git a/fix-build.patch b/fix-build.patch
new file mode 100644
index 0000000..10f559f
--- /dev/null
+++ b/fix-build.patch
@@ -0,0 +1,60 @@
+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";
+ }
+ }
diff --git a/fix-i586.patch b/fix-i586.patch
new file mode 100644
index 0000000..50f568f
--- /dev/null
+++ b/fix-i586.patch
@@ -0,0 +1,126 @@
+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
+ 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>& 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>& 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 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 x);
+ void Sqrt(rtc::ArrayView 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(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(x.size());
+ const int vector_limit = x_size >> 2;
+@@ -173,7 +173,7 @@ class VectorMath {
+ void Accumulate(rtc::ArrayView x, rtc::ArrayView 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(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>& H2,
+ rtc::ArrayView erl) {
diff --git a/webrtc-audio-processing-0.3.1.tar.xz b/webrtc-audio-processing-0.3.1.tar.xz
deleted file mode 100644
index d35a51c..0000000
--- a/webrtc-audio-processing-0.3.1.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a0fdd938fd85272d67e81572c5a4d9e200a0c104753cb3c209ded175ce3c5dbf
-size 695920
diff --git a/webrtc-audio-processing-1.3.obscpio b/webrtc-audio-processing-1.3.obscpio
new file mode 100644
index 0000000..7416e78
--- /dev/null
+++ b/webrtc-audio-processing-1.3.obscpio
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d95e27e348b777c26f66b06842269ae418ccb6cd41330d3007ae6f876114d58a
+size 4396556
diff --git a/webrtc-audio-processing-1.3.tar.xz b/webrtc-audio-processing-1.3.tar.xz
new file mode 100644
index 0000000..b731d7a
--- /dev/null
+++ b/webrtc-audio-processing-1.3.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9f5fded08c76d4d540675b64a52d72d4274163ef3d38379e6915317affe7315b
+size 650276
diff --git a/webrtc-audio-processing.changes b/webrtc-audio-processing.changes
index 1d85831..201908d 100644
--- a/webrtc-audio-processing.changes
+++ b/webrtc-audio-processing.changes
@@ -1,3 +1,32 @@
+-------------------------------------------------------------------
+Fri Sep 08 10:40:12 UTC 2023 - alarrosa@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
+
-------------------------------------------------------------------
Mon Aug 17 15:30:03 UTC 2020 - Dirk Mueller
diff --git a/webrtc-audio-processing.obsinfo b/webrtc-audio-processing.obsinfo
new file mode 100644
index 0000000..6847668
--- /dev/null
+++ b/webrtc-audio-processing.obsinfo
@@ -0,0 +1,4 @@
+name: webrtc-audio-processing
+version: 1.3
+mtime: 1693927187
+commit: 8e258a1933d405073c9e6465628a69ac7d2a1f13
diff --git a/webrtc-audio-processing.spec b/webrtc-audio-processing.spec
index 0d5dbc7..11f81f6 100644
--- a/webrtc-audio-processing.spec
+++ b/webrtc-audio-processing.spec
@@ -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
#
# All modifications and additions to the file contributed by third parties
@@ -18,32 +18,37 @@
#
-%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 alarrosa@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
+BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: glibc-devel
BuildRequires: libtool
BuildRequires: make
+BuildRequires: meson >= 0.63
BuildRequires: pkgconfig
BuildRequires: xz
+BuildRequires: cmake(absl)
%description
WebRTC is an open source project that enables web browsers with Real-Time
@@ -52,11 +57,11 @@ 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%{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.
@@ -66,7 +71,7 @@ WebRTC implements the W3C's proposal for video conferencing on the web.
%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
WebRTC is an open source project that enables web browsers with Real-Time
@@ -87,40 +92,95 @@ 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.
+
+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
%build
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
-%configure
-%make_build
+%meson \
+ -Dc_std=gnu17 \
+ -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%{soname}
+%files -n libwebrtc_audio_processing%{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-processing-1.so.%{soname}*
%files -n libwebrtc_audio_processing-devel
-%{_includedir}/webrtc_audio_processing
-%{_libdir}/libwebrtc_audio_processing.so
-%{_libdir}/pkgconfig/webrtc-audio-processing.pc
+%{_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.a
+%{_libdir}/libwebrtc-audio-processing-1.a
+
+%files -n libwebrtc_audio_coding%{pkg_soname}
+%license COPYING
+%doc AUTHORS NEWS README.md UPDATING.md
+%{_libdir}/libwebrtc-audio-coding-1.so.%{soname}*
+
+%files -n libwebrtc_audio_coding-devel
+%{_libdir}/libwebrtc-audio-coding-1.so
+%{_libdir}/pkgconfig/webrtc-audio-coding-1.pc
+
+%files -n libwebrtc_audio_coding-devel-static
+%{_libdir}/libwebrtc-audio-coding-1.a
%changelog
diff --git a/webrtc-ppc64.patch b/webrtc-ppc64.patch
index 28dad72..7dab59c 100644
--- a/webrtc-ppc64.patch
+++ b/webrtc-ppc64.patch
@@ -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,5 +19,8 @@ Index: webrtc/typedefs.h
+#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__
diff --git a/webrtc-s390x.patch b/webrtc-s390x.patch
index 1ae3523..3dc7f44 100644
--- a/webrtc-s390x.patch
+++ b/webrtc-s390x.patch
@@ -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,5 +11,8 @@
+#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__