webrtc-audio-processing icon indicating copy to clipboard operation
webrtc-audio-processing copied to clipboard

Update to v2.1

Open jacksongoode opened this issue 1 year ago • 6 comments

This brings us from 0.5 to 2.0 and now builds from the PulseAudio upstream directly.

New configs are added and depreciated ones have been removed. There are quite a lot of changes here, and most comments regarding each field has just been ported over.

jacksongoode avatar Apr 09 '25 05:04 jacksongoode

@jacksongoode I squashed this and added https://github.com/tonarino/webrtc-audio-processing/pull/50/commits/fecf8652f0d52700fc33178dfef784b68b3f1b92. Looking into the CI status now.

skywhale avatar Dec 08 '25 09:12 skywhale

The CI is green now 🎉

skywhale avatar Dec 08 '25 10:12 skywhale

This currently doesn't build unless you pass the derive_serde feature flag, which should not be required:

brian webrtc-audio-processing $ cargo build --release --features bundled
   Compiling webrtc-audio-processing-sys v2.0.1 (/Users/brian/projects/tonari/webrtc-audio-processing/webrtc-audio-processing-sys)
   Compiling webrtc-audio-processing v2.0.1 (/Users/brian/projects/tonari/webrtc-audio-processing)
error: cannot find attribute `serde` in this scope
   --> src/config.rs:697:7
    |
697 |     #[serde(default)]
    |       ^^^^^

error: cannot find attribute `serde` in this scope
   --> src/config.rs:693:7
    |
693 |     #[serde(default)]
    |       ^^^^^

error: cannot find attribute `serde` in this scope
   --> src/config.rs:689:7
    |
689 |     #[serde(default)]
    |       ^^^^^

error: cannot find attribute `serde` in this scope
   --> src/config.rs:685:7
    |
685 |     #[serde(default)]
    |       ^^^^^

error: cannot find attribute `serde` in this scope
   --> src/config.rs:681:7
    |
681 |     #[serde(default)]
    |       ^^^^^

error: cannot find attribute `serde` in this scope
   --> src/config.rs:677:7
    |
677 |     #[serde(default)]
    |       ^^^^^

error: cannot find attribute `serde` in this scope
   --> src/config.rs:673:7
    |
673 |     #[serde(default)]
    |       ^^^^^

error: cannot find attribute `serde` in this scope
   --> src/config.rs:669:7
    |
669 |     #[serde(default)]
    |       ^^^^^

error: could not compile `webrtc-audio-processing` (lib) due to 8 previous errors

bschwind avatar Dec 09 '25 07:12 bschwind

We likely need to guard them with feature = "derive_serde".

Matěj edit: Yup, with #[cfg_attr(...

jacksongoode avatar Dec 09 '25 07:12 jacksongoode

Sorry for the off-topic comment but so excited for this, thank you @jacksongoode for doing this and also @skywhale @bschwind ❤️

morajabi avatar Dec 18 '25 08:12 morajabi

@jacksongoode if you had a spare moment, could you take a look at https://github.com/tonarino/webrtc-audio-processing/pull/64 and merge it if you think it makes sense? That will make the review of this PR easier. I think we should come back to defining an idiomatic API for EchoCancellar3Config only after we've had a bit more grasp of what each parameter do, and which ones are worth exposing.

skywhale avatar Dec 19 '25 15:12 skywhale

thank you @strohel. I agree with you it'd be good to make the unsafe wrapper as dumb as possible. I appreciate any progress you can make on this today, so that @jacksongoode and I can bring a closure to it tomorrow at the shinkansen. Please proactively defer a large-scale refactoring to another PR, which will be easier to review on its own.

skywhale avatar Jan 22 '26 09:01 skywhale

@jacksongoode @skywhale I've resolved all applicable threads, so the ones still open are relevant and should be actionable. One bigger one could be good topic for a mini-sprint.

strohel avatar Jan 22 '26 22:01 strohel

I've also added TODO section to PR description.

strohel avatar Jan 22 '26 22:01 strohel

Are there any final conversations to wrap up before this gets a green light?

jacksongoode avatar Jan 31 '26 11:01 jacksongoode

Oh shoot, I've merged using rebase instead of squashing. :scream:

Thinking about it, it may not be that bad, this was more an integration branch with mostly atomic commits, so preserving that (and varied authorship) in history isn't that bad.

strohel avatar Jan 31 '26 15:01 strohel