From 0e9d26a06f926fb43b02b03ea6eec5654f13b43c Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Fri, 17 Mar 2023 13:27:11 +0100 Subject: [PATCH] WIP: pulseaudio: accept webrtc-audio-processing-1 This isn't complete still fails with: http://errors.yoctoproject.org/Errors/Details/698130/ and after fixing this include (by dropping webrtc prefix), the other 2 includes don't exist anymore as well and fails with: http://errors.yoctoproject.org/Errors/Details/698132/ FAILED: src/modules/echo-cancel/libwebrtc-util.so.p/webrtc.cc.o x86_64-oe-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot -Isrc/modules/echo-cancel/libwebrtc-util.so.p -Isrc/modules/echo-cancel -I../pulseaudio-16.1/src/modules/echo-cancel -I. -I../pulseaudio-16.1 -Isrc -I../pulseaudio-16.1/src -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++11 -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/pulseaudio-16.1=/usr/src/debug/pulseaudio/16.1-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/pulseaudio-16.1=/usr/src/debug/pulseaudio/16.1-r0 -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/build=/usr/src/debug/pulseaudio/16.1-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/build=/usr/src/debug/pulseaudio/16.1-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot= -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot= -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot-native= -fvisibility-inlines-hidden -fPIC -DWEBRTC_LIBRARY_IMPL -DWEBRTC_POSIX -DNOMINMAX -DHAVE_CONFIG_H -D_GNU_SOURCE -D__INCLUDED_FROM_PULSE_AUDIO -MD -MQ src/modules/echo-cancel/libwebrtc-util.so.p/webrtc.cc.o -MF src/modules/echo-cancel/libwebrtc-util.so.p/webrtc.cc.o.d -o src/modules/echo-cancel/libwebrtc-util.so.p/webrtc.cc.o -c ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc In file included from TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/base/config.h:86, from TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/types/optional.h:38, from TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:26, from ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:37: TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/base/policy_checks.h:79:2: error: #error "C++ versions less than C++14 are not supported." 79 | #error "C++ versions less than C++14 are not supported." | ^~~~~ In file included from TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:58, from TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1/api/array_view.h:18, from TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:27: TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h: In member function 'constexpr void absl::string_view::remove_prefix(size_type) const': TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:340:10: error: assignment of member 'absl::string_view::ptr_' in read-only object 340 | ptr_ += n; | ~~~~~^~~~ TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:341:13: error: assignment of member 'absl::string_view::length_' in read-only object 341 | length_ -= n; | ~~~~~~~~^~~~ TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h: In member function 'constexpr void absl::string_view::remove_suffix(size_type) const': TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:350:13: error: assignment of member 'absl::string_view::length_' in read-only object 350 | length_ -= n; | ~~~~~~~~^~~~ TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h: In member function 'constexpr void absl::string_view::swap(absl::string_view&) const': TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:358:13: error: passing 'const absl::string_view' as 'this' argument discards qualifiers [-fpermissive] 358 | *this = s; | ^ TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:161:7: note: in call to 'absl::string_view& absl::string_view::operator=(const absl::string_view&)' 161 | class string_view { | ^~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: In function 'int routing_mode_from_string(const char*)': ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:84:24: error: 'webrtc::EchoControlMobile' has not been declared 84 | return webrtc::EchoControlMobile::kQuietEarpieceOrHeadset; | ^~~~~~~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:86:24: error: 'webrtc::EchoControlMobile' has not been declared 86 | return webrtc::EchoControlMobile::kEarpiece; | ^~~~~~~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:88:24: error: 'webrtc::EchoControlMobile' has not been declared 88 | return webrtc::EchoControlMobile::kLoudEarpiece; | ^~~~~~~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:90:24: error: 'webrtc::EchoControlMobile' has not been declared 90 | return webrtc::EchoControlMobile::kSpeakerphone; | ^~~~~~~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:92:24: error: 'webrtc::EchoControlMobile' has not been declared 92 | return webrtc::EchoControlMobile::kLoudSpeakerphone; | ^~~~~~~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: At global scope: ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:97:60: error: expected class-name before '{' token 97 | class PaWebrtcTraceCallback : public webrtc::TraceCallback { | ^ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:98:24: error: 'webrtc::TraceLevel' has not been declared 98 | void Print(webrtc::TraceLevel level, const char *message, int length) | ^~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: In member function 'void PaWebrtcTraceCallback::Print(int, const char*, int)': ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:100:29: error: 'kTraceError' is not a member of 'webrtc' 100 | if (level & webrtc::kTraceError || level & webrtc::kTraceCritical) | ^~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:100:60: error: 'kTraceCritical' is not a member of 'webrtc' 100 | if (level & webrtc::kTraceError || level & webrtc::kTraceCritical) | ^~~~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:102:34: error: 'kTraceWarning' is not a member of 'webrtc' 102 | else if (level & webrtc::kTraceWarning) | ^~~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:104:34: error: 'kTraceInfo' is not a member of 'webrtc' 104 | else if (level & webrtc::kTraceInfo) | ^~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: At global scope: ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:165:79: error: 'Point' is not a member of 'webrtc' 165 | static bool parse_mic_geometry(const char **mic_geometry, std::vector& geometry) { | ^~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:165:79: error: 'Point' is not a member of 'webrtc' ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:165:84: error: template argument 1 is invalid 165 | static bool parse_mic_geometry(const char **mic_geometry, std::vector& geometry) { | ^ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:165:84: error: template argument 2 is invalid ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: In function 'bool parse_mic_geometry(const char**, int&)': ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:202:30: error: request for member 'size' in 'geometry', which is of non-class type 'int' 202 | for (i = 0; i < geometry.size(); i++) { | ^~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:209:27: error: request for member 'size' in 'geometry', which is of non-class type 'int' 209 | if (i != geometry.size() - 1) { | ^~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:220:17: error: invalid types 'int[long unsigned int]' for array subscript 220 | geometry[i].c[0] = f[0]; | ^ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:221:17: error: invalid types 'int[long unsigned int]' for array subscript 221 | geometry[i].c[1] = f[1]; | ^ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:222:17: error: invalid types 'int[long unsigned int]' for array subscript 222 | geometry[i].c[2] = f[2]; | ^ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: In function 'bool pa_webrtc_ec_init(pa_core*, pa_echo_canceller*, pa_sample_spec*, pa_channel_map*, pa_sample_spec*, pa_channel_map*, pa_sample_spec*, pa_channel_map*, uint32_t*, const char*)': ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:358:28: error: 'ExtendedFilter' is not a member of 'webrtc' 358 | config.Set(new webrtc::ExtendedFilter(true)); | ^~~~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:358:28: error: 'ExtendedFilter' is not a member of 'webrtc' ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:358:48: error: expected type-specifier 358 | config.Set(new webrtc::ExtendedFilter(true)); | ^~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:371:17: error: 'webrtc::Trace' has not been declared 371 | webrtc::Trace::CreateTrace(); | ^~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:372:17: error: 'webrtc::Trace' has not been declared 372 | webrtc::Trace::set_level_filter(webrtc::kTraceAll); | ^~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:372:49: error: 'kTraceAll' is not a member of 'webrtc' 372 | webrtc::Trace::set_level_filter(webrtc::kTraceAll); | ^~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:374:17: error: 'webrtc::Trace' has not been declared 374 | webrtc::Trace::SetTraceCallback((PaWebrtcTraceCallback *) ec->params.webrtc.trace_callback); | ^~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:381:29: error: 'Point' is not a member of 'webrtc' 381 | std::vector geometry(rec_ss->channels); | ^~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:381:29: error: 'Point' is not a member of 'webrtc' ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:381:34: error: template argument 1 is invalid 381 | std::vector geometry(rec_ss->channels); | ^ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:381:34: error: template argument 2 is invalid ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:382:17: error: 'SphericalPointf' is not a member of 'webrtc' 382 | webrtc::SphericalPointf direction(0.0f, 0.0f, 0.0f); | ^~~~~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:415:13: error: 'direction' was not declared in this scope; did you mean 'sigaction'? 415 | direction.s[0] = f[0]; | ^~~~~~~~~ | sigaction ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:421:32: error: 'Beamforming' is not a member of 'webrtc' 421 | config.Set(new webrtc::Beamforming(true, geometry)); | ^~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:421:32: error: 'Beamforming' is not a member of 'webrtc' ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:421:49: error: expected type-specifier 421 | config.Set(new webrtc::Beamforming(true, geometry)); | ^~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:423:32: error: 'Beamforming' is not a member of 'webrtc' 423 | config.Set(new webrtc::Beamforming(true, geometry, direction)); | ^~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:423:32: error: 'Beamforming' is not a member of 'webrtc' ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:423:49: error: expected type-specifier 423 | config.Set(new webrtc::Beamforming(true, geometry, direction)); | ^~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:426:36: error: 'Create' is not a member of 'webrtc::AudioProcessing' 426 | apm = webrtc::AudioProcessing::Create(config); | ^~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:440:14: error: 'class webrtc::AudioProcessing' has no member named 'high_pass_filter' 440 | apm->high_pass_filter()->Enable(true); | ^~~~~~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:443:14: error: 'class webrtc::AudioProcessing' has no member named 'echo_cancellation' 443 | apm->echo_cancellation()->enable_drift_compensation(ec->params.drift_compensation); | ^~~~~~~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:444:14: error: 'class webrtc::AudioProcessing' has no member named 'echo_cancellation' 444 | apm->echo_cancellation()->Enable(true); | ^~~~~~~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:446:14: error: 'class webrtc::AudioProcessing' has no member named 'echo_control_mobile' 446 | apm->echo_control_mobile()->set_routing_mode(static_cast(rm)); | ^~~~~~~~~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:446:74: error: 'EchoControlMobile' in namespace 'webrtc' does not name a type; did you mean 'EchoControl'? 446 | apm->echo_control_mobile()->set_routing_mode(static_cast(rm)); | ^~~~~~~~~~~~~~~~~ | EchoControl ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:446:91: error: expected '>' before '::' token 446 | apm->echo_control_mobile()->set_routing_mode(static_cast(rm)); | ^~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:446:91: error: expected '(' before '::' token 446 | apm->echo_control_mobile()->set_routing_mode(static_cast(rm)); | ^~ | ( ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:446:93: error: '::RoutingMode' has not been declared 446 | apm->echo_control_mobile()->set_routing_mode(static_cast(rm)); | ^~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:447:14: error: 'class webrtc::AudioProcessing' has no member named 'echo_control_mobile' 447 | apm->echo_control_mobile()->enable_comfort_noise(cn); | ^~~~~~~~~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:448:14: error: 'class webrtc::AudioProcessing' has no member named 'echo_control_mobile' 448 | apm->echo_control_mobile()->Enable(true); | ^~~~~~~~~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:452:14: error: 'class webrtc::AudioProcessing' has no member named 'noise_suppression' 452 | apm->noise_suppression()->set_level(webrtc::NoiseSuppression::kHigh); | ^~~~~~~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:452:53: error: 'webrtc::NoiseSuppression' has not been declared 452 | apm->noise_suppression()->set_level(webrtc::NoiseSuppression::kHigh); | ^~~~~~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:453:14: error: 'class webrtc::AudioProcessing' has no member named 'noise_suppression' 453 | apm->noise_suppression()->Enable(true); | ^~~~~~~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:457:37: error: 'webrtc::EchoControlMobile' has not been declared 457 | if (mobile && rm <= webrtc::EchoControlMobile::kEarpiece) { | ^~~~~~~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:459:18: error: 'class webrtc::AudioProcessing' has no member named 'gain_control' 459 | apm->gain_control()->set_mode(webrtc::GainControl::kFixedDigital); | ^~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:459:51: error: 'webrtc::GainControl' has not been declared 459 | apm->gain_control()->set_mode(webrtc::GainControl::kFixedDigital); | ^~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:462:18: error: 'class webrtc::AudioProcessing' has no member named 'gain_control' 462 | apm->gain_control()->set_mode(webrtc::GainControl::kAdaptiveDigital); | ^~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:462:51: error: 'webrtc::GainControl' has not been declared 462 | apm->gain_control()->set_mode(webrtc::GainControl::kAdaptiveDigital); | ^~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:465:18: error: 'class webrtc::AudioProcessing' has no member named 'gain_control' 465 | apm->gain_control()->set_mode(webrtc::GainControl::kAdaptiveAnalog); | ^~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:465:51: error: 'webrtc::GainControl' has not been declared 465 | apm->gain_control()->set_mode(webrtc::GainControl::kAdaptiveAnalog); | ^~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:466:22: error: 'class webrtc::AudioProcessing' has no member named 'gain_control' 466 | if (apm->gain_control()->set_analog_level_limits(0, WEBRTC_AGC_MAX_VOLUME) != | ^~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:474:14: error: 'class webrtc::AudioProcessing' has no member named 'gain_control' 474 | apm->gain_control()->Enable(true); | ^~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:478:14: error: 'class webrtc::AudioProcessing' has no member named 'voice_detection' 478 | apm->voice_detection()->Enable(true); | ^~~~~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:500:17: error: 'webrtc::Trace' has not been declared 500 | webrtc::Trace::ReturnTrace(); | ^~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: In function 'void pa_webrtc_ec_record(pa_echo_canceller*, const uint8_t*, uint8_t*)': ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:541:14: error: 'class webrtc::AudioProcessing' has no member named 'gain_control' 541 | apm->gain_control()->set_stream_analog_level(old_volume); | ^~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:556:31: error: 'class webrtc::AudioProcessing' has no member named 'gain_control' 556 | new_volume = apm->gain_control()->stream_analog_level(); | ^~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: In function 'void pa_webrtc_ec_set_drift(pa_echo_canceller*, float)': ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:569:10: error: 'class webrtc::AudioProcessing' has no member named 'echo_cancellation' 569 | apm->echo_cancellation()->set_stream_drift_samples(drift * ec->params.webrtc.blocksize); | ^~~~~~~~~~~~~~~~~ ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: In function 'void pa_webrtc_ec_done(pa_echo_canceller*)': ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:581:17: error: 'webrtc::Trace' has not been declared 581 | webrtc::Trace::ReturnTrace(); | ^~~~~ Signed-off-by: Martin Jansa --- ...ild-accept-webrtc-audio-processing-1.patch | 25 +++++++++++++++++++ .../pulseaudio/pulseaudio_16.1.bb | 1 + 2 files changed, 26 insertions(+) create mode 100644 meta/recipes-multimedia/pulseaudio/pulseaudio/0001-meson.build-accept-webrtc-audio-processing-1.patch diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-meson.build-accept-webrtc-audio-processing-1.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-meson.build-accept-webrtc-audio-processing-1.patch new file mode 100644 index 00000000000..34325487343 --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-meson.build-accept-webrtc-audio-processing-1.patch @@ -0,0 +1,25 @@ +From 6856e2e6964cb56d44457b653698eb6b3ca0d34f Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Fri, 17 Mar 2023 13:25:01 +0100 +Subject: [PATCH] meson.build: accept webrtc-audio-processing-1 + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index d4cdbd6..2138e64 100644 +--- a/meson.build ++++ b/meson.build +@@ -717,7 +717,7 @@ if get_option('daemon') + cdata.set('HAVE_SOXR', 1) + endif + +- webrtc_dep = dependency('webrtc-audio-processing', version : '>= 0.2', required : get_option('webrtc-aec')) ++ webrtc_dep = dependency('webrtc-audio-processing-1', required : get_option('webrtc-aec')) + if webrtc_dep.found() + cdata.set('HAVE_WEBRTC', 1) + endif diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio_16.1.bb b/meta/recipes-multimedia/pulseaudio/pulseaudio_16.1.bb index 64002cd1cc0..42b3ed3405a 100644 --- a/meta/recipes-multimedia/pulseaudio/pulseaudio_16.1.bb +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio_16.1.bb @@ -5,6 +5,7 @@ SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \ file://0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch \ file://volatiles.04_pulse \ file://0001-doxygen-meson.build-remove-dependency-on-doxygen-bin.patch \ + file://0001-meson.build-accept-webrtc-audio-processing-1.patch \ " SRC_URI[sha256sum] = "8eef32ce91d47979f95fd9a935e738cd7eb7463430dabc72863251751e504ae4" UPSTREAM_CHECK_REGEX = "pulseaudio-(?P\d+(\.(?!99)\d+)+)\.tar" -- 2.47.2