mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-17 04:55:42 +09:00
refactor(desktop): replace the native voice engine with a standalone hardware encoder (#1677)
This commit is contained in:
1 parent
98c40c6979
commit
ccdd85b099
893 files changed
+620
-371790
No files matched your search
@@ -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",
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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),
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user