[package]
name = "vnrit"
version = "0.2.21"
edition = "2024"
description = "Lightweight X11 desktop WebRTC streaming server (pure Rust, no GStreamer)"
license = "Apache-2.0"
repository = "https://github.com/nlsidf/vnrit.git"
[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 1
strip = "symbols"
[profile.dev]
opt-level = 1
[dependencies]
tokio = { version = "1", features = ["full"] }
tokio-util = "0.7"
axum = { version = "0.8.9", features = ["ws"] }
futures-util = "0.3"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
anyhow = "1"
clap = { version = "4", features = ["derive"] }
x11rb = { version = "0.13", features = ["xtest", "allow-unsafe-code", "shm", "xinput"] }
x11rb-protocol = "0.13"
webrtc = "0.20.0-rc.2"
rtc = "0.20.0-rc.2"
rtc-media = "0.20.0-rc.2"
ice = { package = "rtc-ice", version = "0.20.0-rc.2" }
async-trait = "0.1"
openh264 = { version = "0.9", features = ["source"] }
openh264-sys2 = "0.9"
vnrit-libyuv = { version = "0.1.4", features = ["source-build"] }
libpulse-binding = { version = "2.29", default-features = false }
opus = { version = "0.3", package = "vnrit-opus" }
bytes = "1"
rand = "0.9"
libc = "0.2"
crossbeam-queue = "0.3"
rayon = "1"
wide = "1"
flate2 = "1.0"
mimalloc = "0.1.52"
phf = { version = "0.11", features = ["macros"] }
libblur = { version = "0.24", default-features = false }
log = "0.4"
env_logger = "0.11"
if-addrs = "0.15"