[package] name = "oaktask" version = "0.1.0" edition = "2021" description = "Oak Video Editor task execution module (Rust)" license = "GPL-3.0-or-later" [lib] crate-type = ["staticlib", "rlib"] [features] # Link the real oakrender crate (dev-dependency) into the integration test # binary and drop the oakrender ticket stubs from tests/common, so # `tests/render_real_integration_test.rs` drives oaktask's render loop # against the actual oakrender ticket arena (CPU path, no GPU). # # Build it with: # cargo test --features real-oakrender --test render_real_integration_test # # The flag is per-binary: `cargo test --features real-oakrender` (without # `--test`) also compiles the stub-based tests, which cannot coexist with # the real oakrender exports in one binary (duplicate `#[no_mangle]` # symbols), so always pass the `--test` filter when the feature is on. real-oakrender = [] [dependencies] oakcore-rs = { path = "../oakcore" } oakundo = { path = "../oakundo" } oakcommon = { path = "../oakcommon" } oakcodec = { path = "../oakcodec" } oaknode = { path = "../oaknode" } oaktimeline = { path = "../oaktimeline" } # Pure-Rust OpenTimelineIO JSON binding (serde model of the OTIO JSON format # covering exactly the object graph the C++ loadotio/saveotio tasks use). # Registered in README decision #6: OTIO no longer stays on the C++ side — # LoadOTIOTask/SaveOTIOTask parse/serialize through this crate. oakotio = { path = "../oakotio" } # oakrender is a regular path dependency (single-lib: bridge/render.rs calls # its ffi directly). The `real-oakrender` marker feature keeps the # render-real integration test's cargo invocation working (it links the # real oakrender — now always — and skips the ticket stubs). oakrender = { path = "../oakrender" }