Dear Arun, all

I've managed to update the audio processing library and module-echo-cancel with the code from upstream. My working version is currently synced to webrtc commit 3133857 (Mar 13), as used by Chromium 67.0.3370.0. It's based on Arun's previous updates and the very helpful UPDATING.md. It's already a bit out of date again, as I see that some more AEC-related work has been committed upstream since then.

The code is on GitHub. See branches "webrtc_update_3133857" in the
following repos. The commit history is currently a bit hairy, since
there was a lot of trial-and-error. I can make a set of clean patches.

https://github.com/avian2/webrtc-audio-processing

https://github.com/avian2/pulseaudio

From my initial tests (with default settings) it seems that the updated
module works significantly better than the old one - at least for my
specific use case in an embedded device. I've tested it on x86_64 and armhf. However, I cannot reliably test if all module options work. I haven't tested beamforming.

Some things that might still need work:

I see that existing Makefiles do some selection on what headers to
install and what not, but it was not clear to me how this selection was
made. I think upstream makes no distinction between "public" and
"private" headers. So far I've only made changes that were needed to
compile module-echo-cancel.

Package versioning. I've updated the libtool interface numbers, but left
autotools package version and Debian package numbers (the repos above
also have a "debian" branch that I used for testing). I've noticed that
the "pulseaudio" Debian package does not depend on any specific
"libwebrtc-audio-processing1" version. I'm not sure what is correct
approach here.

Best regards
Tomaž
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to