[package]
name = "livekit"
version = "0.9.3"
edition.workspace = true
license.workspace = true
description = "Rust Client SDK for LiveKit"
repository.workspace = true
readme = "README.md"
[features]
default = ["native"]
native = ["livekit-signaling/native"]
tokio = ["native"]
glib-main-loop = [ "libwebrtc/glib-main-loop" ]
native-tls = ["livekit-signaling/native-tls"]
native-tls-vendored = ["livekit-signaling/native-tls-vendored"]
rustls-tls-native-roots = ["livekit-signaling/rustls-tls-native-roots"]
rustls-tls-webpki-roots = ["livekit-signaling/rustls-tls-webpki-roots"]
__rustls-tls = ["livekit-signaling/__rustls-tls"]
__lk-internal = []
__lk-e2e-test = ["livekit-data-stream/test-utils"]
[package.metadata.feature-combinations]
mode = "curated"
check = [
["default"],
[],
["native"],
["native", "native-tls"],
["native", "native-tls-vendored"],
["native", "rustls-tls-native-roots"],
["native", "rustls-tls-webpki-roots"],
["native", "rustls-tls-webpki-roots", "glib-main-loop"],
["native", "__lk-internal"],
]
[dependencies]
livekit-signaling = { workspace = true }
libwebrtc = { workspace = true }
livekit-protocol = { workspace = true }
livekit-common = { workspace = true }
livekit-data-stream = { workspace = true }
livekit-datatrack = { workspace = true }
livekit-rpc = { workspace = true }
prost = { workspace = true }
serde = { version = "1", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1", default-features = false, features = ["sync", "macros", "fs", "time", "rt-multi-thread"] }
tokio-stream = { workspace = true, features = ["sync"] }
parking_lot = { version = "0.12" }
futures-util = { version = "0.3", default-features = false, features = ["sink"] }
thiserror = "1.0"
lazy_static = "1.4"
log = "0.4"
chrono = { workspace = true }
libloading = { version = "0.8.6" }
bytes = "1.10.1"
bmrng = "0.5.2"
[dev-dependencies]
livekit-token = { workspace = true }
livekit-api = { workspace = true, default-features = false, features = ["services"] }
livekit-data-stream = { workspace = true, features = ["test-utils"] }
tokio = { version = "1", features = ["rt", "macros", "time"] }
anyhow = "1.0.99"
test-log = "0.2.18"
test-case = "3.3"
serial_test = "3.0"
http = "1.1"
rand = { workspace = true }