summaryrefslogtreecommitdiffstats
path: root/meta-multimedia
diff options
context:
space:
mode:
authorKhem Raj <khem.raj@oss.qualcomm.com>2026-06-06 21:54:07 -0700
committerKhem Raj <khem.raj@oss.qualcomm.com>2026-06-08 16:35:51 -0700
commitf79aaeb8285f1b38b9193998f43baf74c43084ae (patch)
tree1d1567ba9a103f14b6ce0fa783fb8c294d913b97 /meta-multimedia
parent77e7f2433fa90f19f7577dc89be29ee3ee750be3 (diff)
downloadmeta-openembedded-f79aaeb8285f1b38b9193998f43baf74c43084ae.tar.gz
webrtc-audio-processing: drop obsolete 0.3.1 recipe
The 0.3.x series is long superseded. We already ships the maintained webrtc-audio-processing-1 (1.3) and webrtc-audio-processing-2 (2.1) recipes, and pipewire uses webrtc-audio-processing-2. Nothing depends on the bare 0.3.1 recipe. Drop it. Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Diffstat (limited to 'meta-multimedia')
-rw-r--r--meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch41
-rw-r--r--meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch28
-rw-r--r--meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch116
-rw-r--r--meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/riscv_support.patch33
-rw-r--r--meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.1.bb23
5 files changed, 0 insertions, 241 deletions
diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch
deleted file mode 100644
index c96f10ed97..0000000000
--- a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1From 0c332b7d94f8425c4f33344ddf406b6eea458861 Mon Sep 17 00:00:00 2001
2From: Tanu Kaskinen <tanuk@iki.fi>
3Date: Mon, 8 May 2017 17:01:49 +0300
4Subject: [PATCH 4/6] typedefs.h: add support for 64-bit and big endian MIPS
5
6The 64-bit check is taken from the upstream webrtc project, the big
7endian check is my own addition.
8
9Upstream-Status: Pending
10Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
11---
12 webrtc/typedefs.h | 11 ++++++++++-
13 1 file changed, 10 insertions(+), 1 deletion(-)
14
15diff --git a/webrtc/typedefs.h b/webrtc/typedefs.h
16index d875490..d1b2f54 100644
17--- a/webrtc/typedefs.h
18+++ b/webrtc/typedefs.h
19@@ -41,9 +41,18 @@
20 //#define WEBRTC_ARCH_ARMEL
21 #define WEBRTC_ARCH_32_BITS
22 #define WEBRTC_ARCH_LITTLE_ENDIAN
23-#elif defined(__MIPSEL__)
24+#elif defined(__MIPSEL__) || defined(__MIPSEB__)
25+#define WEBRTC_ARCH_MIPS_FAMILY
26+#if defined(__LP64__)
27+#define WEBRTC_ARCH_64_BITS
28+#else
29 #define WEBRTC_ARCH_32_BITS
30+#endif
31+#if defined(__MIPSEL__)
32 #define WEBRTC_ARCH_LITTLE_ENDIAN
33+#else
34+#define WEBRTC_ARCH_BIG_ENDIAN
35+#endif
36 #elif defined(__pnacl__)
37 #define WEBRTC_ARCH_32_BITS
38 #define WEBRTC_ARCH_LITTLE_ENDIAN
39--
402.11.0
41
diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch
deleted file mode 100644
index e16b57ecb5..0000000000
--- a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0005-typedefs.h-add-support-for-PowerPC.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1From db5f570e928c8ca5b0b8dc702e1af0a57277f092 Mon Sep 17 00:00:00 2001
2From: Tanu Kaskinen <tanuk@iki.fi>
3Date: Mon, 3 Jul 2017 16:20:08 +0300
4Subject: [PATCH 5/6] typedefs.h: add support for PowerPC
5
6Upstream-Status: Pending
7Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
8---
9 webrtc/typedefs.h | 3 +++
10 1 file changed, 3 insertions(+)
11
12diff --git a/webrtc/typedefs.h b/webrtc/typedefs.h
13index d1b2f54..6e34d9e 100644
14--- a/webrtc/typedefs.h
15+++ b/webrtc/typedefs.h
16@@ -53,6 +53,9 @@
17 #else
18 #define WEBRTC_ARCH_BIG_ENDIAN
19 #endif
20+#elif defined(__powerpc__)
21+#define WEBRTC_ARCH_32_BITS
22+#define WEBRTC_ARCH_BIG_ENDIAN
23 #elif defined(__pnacl__)
24 #define WEBRTC_ARCH_32_BITS
25 #define WEBRTC_ARCH_LITTLE_ENDIAN
26--
272.11.0
28
diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch
deleted file mode 100644
index 5826ab00da..0000000000
--- a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/0006-common_audio-implement-endianness-conversion-in-wav-.patch
+++ /dev/null
@@ -1,116 +0,0 @@
1From 7d31da8ef93987000f297d435dbacaf7d436107b Mon Sep 17 00:00:00 2001
2From: Tanu Kaskinen <tanuk@iki.fi>
3Date: Thu, 15 Jun 2017 18:38:30 +0300
4Subject: [PATCH 6/6] common_audio: implement endianness conversion in wav file
5 handling
6
7The code didn't build for big endian machines due to the missing
8endianness conversions.
9
10Upstream-Status: Pending
11Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
12---
13 webrtc/common_audio/wav_file.cc | 27 +++++++++++++++++++++------
14 webrtc/common_audio/wav_header.cc | 32 +++++++++++++++++++++++++++++++-
15 2 files changed, 52 insertions(+), 7 deletions(-)
16
17diff --git a/webrtc/common_audio/wav_file.cc b/webrtc/common_audio/wav_file.cc
18index b14b620..e2f7738 100644
19--- a/webrtc/common_audio/wav_file.cc
20+++ b/webrtc/common_audio/wav_file.cc
21@@ -64,9 +64,6 @@ WavReader::~WavReader() {
22 }
23
24 size_t WavReader::ReadSamples(size_t num_samples, int16_t* samples) {
25-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN
26-#error "Need to convert samples to big-endian when reading from WAV file"
27-#endif
28 // There could be metadata after the audio; ensure we don't read it.
29 num_samples = std::min(rtc::checked_cast<uint32_t>(num_samples),
30 num_samples_remaining_);
31@@ -76,6 +73,13 @@ size_t WavReader::ReadSamples(size_t num_samples, int16_t* samples) {
32 RTC_CHECK(read == num_samples || feof(file_handle_));
33 RTC_CHECK_LE(read, num_samples_remaining_);
34 num_samples_remaining_ -= rtc::checked_cast<uint32_t>(read);
35+
36+#ifdef WEBRTC_ARCH_BIG_ENDIAN
37+ // Convert the read samples from little-endian to big-endian.
38+ for (size_t i = 0; i < read; i++)
39+ samples[i] = ((uint16_t) samples[i] >> 8) | ((uint16_t) samples[i] << 8);
40+#endif
41+
42 return read;
43 }
44
45@@ -119,11 +123,22 @@ WavWriter::~WavWriter() {
46 }
47
48 void WavWriter::WriteSamples(const int16_t* samples, size_t num_samples) {
49-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN
50-#error "Need to convert samples to little-endian when writing to WAV file"
51-#endif
52+#ifdef WEBRTC_ARCH_BIG_ENDIAN
53+ // Convert the samples from big-endian samples to little-endian.
54+ int16_t* converted_samples = static_cast<int16_t*>(malloc(num_samples * sizeof(*samples)));
55+ RTC_CHECK(converted_samples) << "Out of memory.";
56+ for (int i = 0; i < num_samples; i++)
57+ converted_samples[i] =
58+ ((uint16_t) samples[i] >> 8) | ((uint16_t) samples[i] << 8);
59+
60+ const size_t written =
61+ fwrite(converted_samples, sizeof(*converted_samples), num_samples,
62+ file_handle_);
63+ free(converted_samples);
64+#else
65 const size_t written =
66 fwrite(samples, sizeof(*samples), num_samples, file_handle_);
67+#endif
68 RTC_CHECK_EQ(num_samples, written);
69 num_samples_ += static_cast<uint32_t>(written);
70 RTC_CHECK(written <= std::numeric_limits<uint32_t>::max() ||
71diff --git a/webrtc/common_audio/wav_header.cc b/webrtc/common_audio/wav_header.cc
72index 61cfffe..382bfc7 100644
73--- a/webrtc/common_audio/wav_header.cc
74+++ b/webrtc/common_audio/wav_header.cc
75@@ -129,7 +129,37 @@ static inline std::string ReadFourCC(uint32_t x) {
76 return std::string(reinterpret_cast<char*>(&x), 4);
77 }
78 #else
79-#error "Write be-to-le conversion functions"
80+static inline void WriteLE16(uint16_t* f, uint16_t x) {
81+ *f = x >> 8 | x << 8;
82+}
83+static inline void WriteLE32(uint32_t* f, uint32_t x) {
84+ *f = x >> 24
85+ | (x && 0xFF0000) >> 8
86+ | (x && 0xFF00) << 8
87+ | x << 24;
88+}
89+static inline void WriteFourCC(uint32_t* f, char a, char b, char c, char d) {
90+ *f = static_cast<uint32_t>(d)
91+ | static_cast<uint32_t>(c) << 8
92+ | static_cast<uint32_t>(b) << 16
93+ | static_cast<uint32_t>(a) << 24;
94+}
95+
96+static inline uint32_t ReadLE16(uint16_t x) {
97+ return x >> 8 | x << 8;
98+}
99+
100+static inline uint32_t ReadLE32(uint32_t x) {
101+ return x >> 24
102+ | (x && 0xFF0000) >> 8
103+ | (x && 0xFF00) << 8
104+ | x << 24;
105+}
106+
107+static inline std::string ReadFourCC(uint32_t x) {
108+ x = ReadLE32(x);
109+ return std::string(reinterpret_cast<char*>(&x), 4);
110+}
111 #endif
112
113 static inline uint32_t RiffChunkSize(uint32_t bytes_in_payload) {
114--
1152.11.0
116
diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/riscv_support.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/riscv_support.patch
deleted file mode 100644
index 576b9860a8..0000000000
--- a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing/riscv_support.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1Add support for RISC-V
2
3Upstream-Status: Pending
4Signed-off-by: Khem Raj <raj.khem@gmail.com>
5--- a/webrtc/base/basictypes.h
6+++ b/webrtc/base/basictypes.h
7@@ -29,6 +29,10 @@
8 #define CPU_ARM 1
9 #endif
10
11+#if defined(__riscv) || defined(_M_RISCV)
12+#define CPU_RISCV 1
13+#endif
14+
15 #if defined(CPU_X86) && defined(CPU_ARM)
16 #error CPU_X86 and CPU_ARM both defined.
17 #endif
18--- a/webrtc/typedefs.h
19+++ b/webrtc/typedefs.h
20@@ -56,6 +56,13 @@
21 #elif defined(__powerpc__)
22 #define WEBRTC_ARCH_32_BITS
23 #define WEBRTC_ARCH_BIG_ENDIAN
24+#elif defined(__riscv)
25+#if __riscv_xlen == 64
26+# define WEBRTC_ARCH_64_BITS
27+#else
28+# define WEBRTC_ARCH_32_BITS
29+#endif
30+#define WEBRTC_ARCH_LITTLE_ENDIAN
31 #elif defined(__pnacl__)
32 #define WEBRTC_ARCH_32_BITS
33 #define WEBRTC_ARCH_LITTLE_ENDIAN
diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.1.bb b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.1.bb
deleted file mode 100644
index 6e56c4409c..0000000000
--- a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.1.bb
+++ /dev/null
@@ -1,23 +0,0 @@
1DESCRIPTION = "Audio processing bits of the WebRTC reference implementation"
2HOMEPAGE = "https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/"
3SECTION = "audio"
4
5DEPENDS:append:libc-musl = " libexecinfo"
6
7LICENSE = "BSD-3-Clause"
8LIC_FILES_CHKSUM = "file://COPYING;md5=da08a38a32a340c5d91e13ee86a118f2 \
9 file://webrtc/common.h;beginline=1;endline=9;md5=41f7322d91deabaf0acbbd0b8d0bc548 \
10"
11
12SRC_URI = "http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/${BP}.tar.xz \
13 file://0004-typedefs.h-add-support-for-64-bit-and-big-endian-MIP.patch \
14 file://0005-typedefs.h-add-support-for-PowerPC.patch \
15 file://0006-common_audio-implement-endianness-conversion-in-wav-.patch \
16 file://riscv_support.patch \
17"
18
19SRC_URI[md5sum] = "6e10724ca34bcbc715a4c208273acb0c"
20SRC_URI[sha256sum] = "a0fdd938fd85272d67e81572c5a4d9e200a0c104753cb3c209ded175ce3c5dbf"
21
22LDFLAGS:append:libc-musl = " -lexecinfo"
23inherit autotools pkgconfig