refactor(desktop): replace the native voice engine with a standalone hardware encoder (#1677)

This commit is contained in:
Hampus authored and GitHub committed 2026-08-16 19:24:31 +02:00
1 parent 98c40c6979
commit ccdd85b099
893 files changed
+620 -371790

No files matched your search

+10 -29
View File
@@ -19,12 +19,6 @@ pub struct BuildDesktopNativeAddonArgs {
addon_root: Option<PathBuf>,
}
#[derive(Debug, Args, Clone)]
pub struct TestWebrtcSenderRustArgs {
#[arg(long)]
addon_root: Option<PathBuf>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
enum DesktopNativeSpecialBuild {
None,
@@ -63,6 +57,16 @@ const LINUX_AUDIO_CAPTURE_PKG_CONFIG: &[PkgConfigRequirement] = &[PkgConfigRequi
}];
const DESKTOP_NATIVE_ADDONS: &[DesktopNativeAddon] = &[
DesktopNativeAddon {
package_dir: "hardware-encoder",
package_name: "@fluxer/hardware-encoder",
crate_name: "fluxer_hardware_encoder",
node_file_stem: "hardware-encoder",
required_platform: None,
features: &[],
pkg_config: &[],
special: DesktopNativeSpecialBuild::None,
},
DesktopNativeAddon {
package_dir: "linux-audio-capture",
package_name: "@fluxer/linux-audio-capture",
@@ -213,16 +217,6 @@ const DESKTOP_NATIVE_ADDONS: &[DesktopNativeAddon] = &[
pkg_config: &[],
special: DesktopNativeSpecialBuild::Webauthn,
},
DesktopNativeAddon {
package_dir: "webrtc-sender",
package_name: "@fluxer/webrtc-sender",
crate_name: "fluxer_webrtc_sender",
node_file_stem: "webrtc-sender",
required_platform: None,
features: &["camera-native"],
pkg_config: &[],
special: DesktopNativeSpecialBuild::None,
},
DesktopNativeAddon {
package_dir: "win-clipboard",
package_name: "@fluxer/win-clipboard",
@@ -294,19 +288,6 @@ pub fn run_build_desktop_native_addon(args: BuildDesktopNativeAddonArgs) -> Resu
build_desktop_native_addon(&addon_root, addon)
}
pub fn run_test_webrtc_sender_rust(args: TestWebrtcSenderRustArgs) -> Result<()> {
let addon_root = args
.addon_root
.map(Ok)
.unwrap_or_else(|| env::current_dir().context("Failed to resolve current directory"))?;
run_command(
CommandSpec::new(resolve_cargo_bin())
.args(["test", "--features", "publisher,camera-native"])
.env("CARGO_INCREMENTAL", "0")
.current_dir(addon_root),
)
}
fn build_desktop_native_addon(addon_root: &Path, addon: &DesktopNativeAddon) -> Result<()> {
let platform = current_platform();
if let Some(required) = addon.required_platform {