# A workspace of its own, so the root workspace never compiles a demo. Its # moq crates still come from this checkout. [workspace] [package] name = "moq-carla-bridge" description = "CARLA video bridge: encodes Unreal render targets on the GPU and hands compressed frames to the demo's worker." authors = ["Luke Curley "] repository = "https://github.com/moq-dev/moq" license = "MIT OR Apache-2.0" publish = false version = "0.1.0" edition = "2024" rust-version = "1.91" [lib] name = "carla_bridge" # cdylib: what the CARLA plugin loads through include/carla_bridge.h. # rlib: what the tests link. crate-type = ["cdylib", "rlib"] # Linux only: elsewhere the crate is empty, so it still builds on a Mac. [target.'cfg(target_os = "linux")'.dependencies] anyhow = "1" bytes = "1" moq-mux = { path = "../../../rs/moq-mux" } moq-net = { path = "../../../rs/moq-net" } # The NVIDIA encoder, which imports the plugin's Vulkan images. The encoder is # opened for the plugin's device, so no software fallback can take a frame. moq-video = { path = "../../../rs/moq-video", default-features = false, features = ["nvidia"] } parking_lot = "0.13" # Blocking on a slot's GPU completion when a source closes, which is the one # place the bridge waits on the GPU. pollster = "1.0" tracing = "0.1" [target.'cfg(target_os = "linux")'.dev-dependencies] # The stand-in producer: a native Vulkan renderer that hands the bridge # exportable slots exactly the way the CARLA plugin does. ash = "0.38" [lints.clippy] # Every suppression says why, so the next lint audit can judge it. allow_attributes_without_reason = "warn"