Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
mediaway-decoder
Status: early development (
0.x). Not recommended for production; public APIs may change without notice. Part of the Mediaway media stack.
Hardware-accelerated video and audio decoding: the VideoDecoder trait plus per-platform
backends — Windows WMF (H.264/HEVC/AV1/VP9 hardware decode with DX11 Zero-Copy output,
plus the inbox Opus decoder MFT), Vulkan Video decode, and WebCodecs (wasm, planned).
Streaming push_packet / poll_frame shape; GPU frames stay on the GPU until the
session recycles the surface.
Quick start
use ;
use ;
use WindowsVideoDecoder;
let config = VideoDecoderConfig ;
let mut decoder = open?; // WMF hardware session
decoder.push_packet?;
while let Some = decoder.poll_frame?
decoder.flush?;
For CPU output frames set output: VideoOutputPreference::CpuFramesOk.
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 |
|---|---|---|
VideoDecoder trait |
✅ | Streaming push/poll API |
| Windows WMF H.264 decode | ✅ | Hardware MFT, DX11 Zero-Copy output |
| Windows WMF HEVC / AV1 / VP9 decode | ✅ | Same DXGI path; MFT may be absent on a machine |
Windows Opus decode (WmfOpusDecoder) |
✅ | Verified end-to-end (ffmpeg-produced Opus → exact PCM) |
| Vulkan Video decode | ✅ | H.264 general-GOP hardware-verified; HEVC GPU path unresolved; AV1 follow-up |
| CPU frame output path | 🛠️ | CpuFramesOk policy recognized, backend pending |
| WebCodecs decode (wasm32) | 🛠️ | Planned |
| Linux VA-API decode | 🛠️ | Planned |
Docs
docs/roadmap.md— stages, deferred items, design decisionsmediaway— convenience pipeline (platform::AutoDecoder)- Root README — codec support matrices (OS / GPU / vendor)
Contributing
Contributions are welcome — open an issue or pull request at github.com/nyxways/mediaway.
License
MIT OR Apache-2.0.