Update to v2.1
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 I squashed this and added https://github.com/tonarino/webrtc-audio-processing/pull/50/commits/fecf8652f0d52700fc33178dfef784b68b3f1b92. Looking into the CI status now.
The CI is green now 🎉
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
We likely need to guard them with feature = "derive_serde".
Matěj edit: Yup, with #[cfg_attr(...
Sorry for the off-topic comment but so excited for this, thank you @jacksongoode for doing this and also @skywhale @bschwind ❤️
@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.
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.
@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.
I've also added TODO section to PR description.
Are there any final conversations to wrap up before this gets a green light?
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.