Initial implementation of Wayland AirPlay desktop sharing
This commit is contained in:
+60
@@ -0,0 +1,60 @@
|
||||
[package]
|
||||
name = "spielab"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
license = "GPL-2.0-only"
|
||||
description = "A native Wayland AirPlay sender built with Rust and GPUI"
|
||||
|
||||
[features]
|
||||
default = ["gui"]
|
||||
gui = ["dep:gpui"]
|
||||
|
||||
[dependencies]
|
||||
anyhow = "1"
|
||||
async-channel = "2"
|
||||
tokio = { version = "1", features = ["rt-multi-thread", "sync", "time", "net", "macros", "io-util", "process"] }
|
||||
gpui = { version = "=0.2.2", default-features = false, features = ["wayland"], optional = true }
|
||||
airplay-core = { git = "https://github.com/lmcgartland/airplay2-rs", rev = "a7f019fe6246ebd9701201a8a5c31e9a15243956" }
|
||||
airplay-discovery = { git = "https://github.com/lmcgartland/airplay2-rs", rev = "a7f019fe6246ebd9701201a8a5c31e9a15243956" }
|
||||
airplay-rtsp = { git = "https://github.com/lmcgartland/airplay2-rs", rev = "a7f019fe6246ebd9701201a8a5c31e9a15243956" }
|
||||
|
||||
ashpd = { version = "0.12.3", default-features = false, features = ["async-std"] }
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
serde_json = "1"
|
||||
uuid = { version = "1", features = ["v4"] }
|
||||
airplay-pairing = { git = "https://github.com/lmcgartland/airplay2-rs", rev = "a7f019fe6246ebd9701201a8a5c31e9a15243956" }
|
||||
airplay-crypto = { git = "https://github.com/lmcgartland/airplay2-rs", rev = "a7f019fe6246ebd9701201a8a5c31e9a15243956" }
|
||||
|
||||
plist = "1"
|
||||
hkdf = "0.12"
|
||||
sha2 = "0.10"
|
||||
chacha20poly1305 = "0.10"
|
||||
rand = "0.8"
|
||||
libc = "0.2"
|
||||
|
||||
[dev-dependencies]
|
||||
symphonia-codec-alac = "0.5.5"
|
||||
symphonia-core = "0.5.5"
|
||||
tempfile = "3"
|
||||
|
||||
[profile.dev]
|
||||
debug = 0
|
||||
|
||||
# The development runner is also used for live streaming. Keep per-frame
|
||||
# packet parsing and encryption optimized without rebuilding all GPUI deps.
|
||||
[profile.dev.package.spielab]
|
||||
opt-level = 2
|
||||
|
||||
[profile.dev.package.chacha20poly1305]
|
||||
opt-level = 3
|
||||
|
||||
[profile.dev.package.chacha20]
|
||||
opt-level = 3
|
||||
|
||||
[profile.dev.package.poly1305]
|
||||
opt-level = 3
|
||||
|
||||
[[bin]]
|
||||
name = "spielab"
|
||||
path = "src/main.rs"
|
||||
required-features = ["gui"]
|
||||
Reference in New Issue
Block a user