iso-cenc
Status: early development (
0.x). Not recommended for production; public APIs may change without notice. Part of the Mediaway media stack.
Sans-IO sample encryption for ISO Common Encryption (ISO/IEC 23001-7): the AES-128-CTR
cenc scheme with subsample-aware crypto. Callers supply the keys — this is sample
crypto, not a DRM client (no CDM, no license acquisition).
Quick start
use ;
let key = ;
let iv = ; // 16-byte CTR init block
let mut sample = ;
let subsamples = &;
decrypt_cenc?;
Status
Status marks: ✅ first-class (tests for claimed scope) · ⚡ Zero-Copy path (no payload copy; implies ✅) · 🆗 best-effort / prototype · 🛠️ planned · ❌ attempted and genuinely blocked · 👻 not exercisable yet (no hardware / device / session available)
| Area | Status | Notes |
|---|---|---|
cenc AES-128-CTR, subsample-aware |
✅ | Clear ranges do not advance the CTR counter |
Used by iso-bmff demux (tenc / senc) |
✅ | |
cens / cbc1 / cbcs schemes |
🛠️ | When a concrete product need appears |
Docs
docs/roadmap.md— stages, deferred items, design decisionsiso-bmff— MP4 mux/demux with ClearKey wiring- Root README — container support matrix
Contributing
Contributions are welcome — open an issue or pull request at github.com/nyxways/mediaway.
License
MIT OR Apache-2.0.