nv-runtime 0.1.0

Pipeline orchestration, feed lifecycle, output, provenance, and concurrency for the NextVision runtime.
Documentation
[package]
name = "nv-runtime"
description = "Pipeline orchestration, feed lifecycle, output, provenance, and concurrency for the NextVision runtime."
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
categories.workspace = true
keywords.workspace = true
readme = "../README.md"

[dependencies]
nv-core.workspace = true
nv-frame.workspace = true
nv-media = { workspace = true, default-features = false }
nv-perception.workspace = true
nv-temporal.workspace = true
nv-view.workspace = true
tokio.workspace = true
tracing.workspace = true
thiserror.workspace = true

[dev-dependencies]
criterion.workspace = true
nv-test-util.workspace = true

[[bench]]
name = "runtime_bench"
harness = false

[features]
## Wire the GStreamer backend in nv-media. Enabled by default so that
## `cargo build` gives you a fully functional runtime. Disable with
## `--no-default-features` for a gst-free check (CI, type-only crates).
default = ["gst-backend"]
gst-backend = ["nv-media/gst-backend"]
## Enable the built-in CUDA-resident frame pipeline in nv-media.
## Decoded frames stay on the GPU as device memory.
## Requires GStreamer >= 1.20 CUDA plugins at runtime.
## Usage: depend on nv-runtime with `features = ["cuda"]` and set
## `DeviceResidency::Cuda` via `FeedConfig::builder().device_residency(...)`.
## For platform-specific providers (e.g., Jetson NVMM), use
## `DeviceResidency::Provider(...)` instead — the `cuda` feature is
## not needed for provider-based GPU residency.
cuda = ["gst-backend", "nv-media/cuda"]