[package]
edition = "2021"
name = "xoq"
version = "0.3.6"
build = false
exclude = [
"js/",
"scripts/",
"packages/",
"examples/",
"api-baselines/",
".github/",
"*.jpg",
"*.png",
"*.npy",
"results*.json",
"benchmark_color.jpg",
".xoq_*",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "X-Embodiment over QUIC - P2P and relay communication for robotics"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/haixuantao/xoq"
[features]
audio = ["dep:cpal"]
audio-macos = ["audio"]
audio-remote = [
"iroh",
"audio",
]
camera = [
"dep:v4l",
"image",
]
camera-macos = [
"image",
"dep:objc2",
"dep:objc2-foundation",
"dep:objc2-av-foundation",
"dep:block2",
"dep:dispatch",
]
camera-remote = [
"iroh",
"image",
]
can = [
"dep:socketcan",
"dep:libc",
]
can-remote = ["iroh"]
chat = ["dep:serde_json"]
dav1d = ["dep:dav1d"]
default = []
image = ["dep:image"]
iroh = [
"dep:iroh",
"dep:iroh-quinn-proto",
]
nvenc = [
"camera",
"dep:nvidia-video-codec-sdk",
"dep:cudarc",
]
openh264 = ["dep:openh264"]
realsense = [
"dep:realsense-rust",
"dep:realsense-sys",
"nvenc",
]
realsense-remote = ["image"]
serial = ["dep:serialport"]
serial-remote = ["iroh"]
videotoolbox = [
"camera-remote",
"dep:video-toolbox-sys",
"dep:core-foundation",
"dep:core-foundation-sys",
"dep:core-media-sys",
"dep:libc",
]
vtenc = [
"camera-macos",
"dep:video-toolbox-sys",
"dep:core-foundation",
"dep:core-foundation-sys",
"dep:core-media-sys",
"dep:libc",
]
[lib]
name = "xoq"
path = "src/lib.rs"
[[bin]]
name = "audio-server"
path = "src/bin/audio_server.rs"
required-features = [
"iroh",
"audio",
]
[[bin]]
name = "camera-server"
path = "src/bin/camera_server.rs"
required-features = ["iroh"]
[[bin]]
name = "can-server"
path = "src/bin/can_server.rs"
required-features = [
"iroh",
"can",
]
[[bin]]
name = "fake-can-server"
path = "src/bin/fake_can_server.rs"
required-features = ["iroh"]
[[bin]]
name = "fake-serial-server"
path = "src/bin/fake_serial_server.rs"
required-features = ["iroh"]
[[bin]]
name = "realsense-server"
path = "src/bin/realsense_server.rs"
required-features = ["realsense"]
[[bin]]
name = "recorder"
path = "src/bin/recorder.rs"
[[bin]]
name = "serial-server"
path = "src/bin/serial_server.rs"
required-features = [
"iroh",
"serial",
]
[[test]]
name = "pubsub"
path = "tests/pubsub.rs"
[dependencies.anyhow]
version = "1"
[dependencies.block2]
version = "0.6"
optional = true
[dependencies.bytes]
version = "1"
[dependencies.core-foundation]
version = "0.9"
optional = true
[dependencies.core-foundation-sys]
version = "0.8"
optional = true
[dependencies.core-media-sys]
version = "0.1.0"
optional = true
[dependencies.cpal]
version = "0.15"
optional = true
[dependencies.cudarc]
version = "=0.16.4"
features = ["cuda-version-from-build-system"]
optional = true
[dependencies.dav1d]
version = "0.11"
optional = true
[dependencies.dispatch]
version = "0.2"
optional = true
[dependencies.image]
version = "0.25"
optional = true
[dependencies.iroh]
version = "0.96"
optional = true
[dependencies.iroh-quinn-proto]
version = "0.15"
optional = true
[dependencies.libc]
version = "0.2"
optional = true
[dependencies.moq-native]
version = "0.12"
features = ["ring"]
default-features = false
[dependencies.moq-token]
version = "0.5"
[dependencies.moq-transport]
version = "0.12"
[dependencies.nvidia-video-codec-sdk]
version = "0.4.0"
optional = true
[dependencies.objc2]
version = "0.6"
optional = true
[dependencies.objc2-av-foundation]
version = "0.3"
features = [
"AVCaptureDevice",
"AVCaptureSession",
"AVCaptureInput",
"AVCaptureOutput",
"AVMediaFormat",
]
optional = true
[dependencies.objc2-foundation]
version = "0.3"
features = [
"NSString",
"NSObject",
"NSDictionary",
"NSArray",
]
optional = true
[dependencies.openh264]
version = "0.6"
features = ["source"]
optional = true
[dependencies.quinn]
version = "0.11"
features = ["ring"]
[dependencies.rand]
version = "0.9"
[dependencies.realsense-rust]
version = "1"
optional = true
[dependencies.realsense-sys]
version = "2.56"
optional = true
[dependencies.rustls]
version = "0.23"
features = ["ring"]
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.serialport]
version = "4"
optional = true
[dependencies.socketcan]
version = "3.5"
optional = true
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tokio-util]
version = "0.7"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
[dependencies.url]
version = "2"
[dependencies.v4l]
version = "0.14"
optional = true
[dependencies.video-toolbox-sys]
version = "0.2.0"
optional = true
[dependencies.web-transport]
version = "0.3"
[dependencies.web-transport-quinn]
version = "0.3"
[dependencies.webpki-roots]
version = "0.26"
[dev-dependencies.ctrlc]
version = "3"
[dev-dependencies.rustypot]
version = "1.4.2"
[dev-dependencies.serde_json]
version = "1"