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

+1 -1
View File
@@ -1825,8 +1825,8 @@ const FLUXER_WINDOWS_SIGNER_COMMON_NAME: &str = "Fluxer Platform AB";
const THIRD_PARTY_PUBLISHER_ALLOWLIST: &[&str] = &[];
const KNOWN_OPTIONAL_WINDOWS_PE_INVENTORY: &[&str] = &["fluxer-vulkan-layer.win32-ia32-msvc.dll"];
const WINDOWS_NATIVE_ADDON_STEMS: &[&str] = &[
"hardware-encoder",
"webauthn",
"webrtc-sender",
"win-process-loopback",
"win-clipboard",
"win-shell",
+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 {
-2
View File
@@ -39,7 +39,6 @@ enum Command {
Gateway(gateway::GatewayArgs),
Release(release::ReleaseArgs),
ResolveCalver(calver::ResolveCalverArgs),
TestWebrtcSenderRust(desktop_native::TestWebrtcSenderRustArgs),
}
pub async fn run() -> Result<()> {
@@ -59,6 +58,5 @@ pub async fn run() -> Result<()> {
Command::Gateway(args) => gateway::run_gateway(args),
Command::Release(args) => release::run(args).await,
Command::ResolveCalver(args) => calver::run(args),
Command::TestWebrtcSenderRust(args) => desktop_native::run_test_webrtc_sender_rust(args),
}
}