COOLJAPAN
← All posts

OxiMedia 0.1.7 Released — Issue Sweep, Cross-Platform Hardening, and Reproducible Temp Files

OxiMedia 0.1.7 — patent-free, memory-safe FFmpeg + OpenCV replacement in pure Rust. A focused stability release fixing five tracked issues: Theora plane copy, Windows/WASM gating for IPC sockets, globally-unique temp filenames, an AVC SPS doctest, and collision-free scope temp files. 109 crates, 84,064 tests, zero C/Fortran in default builds.

release oximedia ffmpeg opencv computer-vision video-processing theora pure-rust wasm stability

A tight, no-nonsense stability release: five tracked issues fixed, regression-tested, and locked down across platforms.

Today we released OxiMedia 0.1.7 — the pure-Rust, patent-free reconstruction of FFmpeg (multimedia processing) and OpenCV (computer vision), now hardened against a batch of real-world correctness and portability bugs.

No C. No C++. No FFmpeg binaries. No OpenCV Python bindings. No system libraries, no patent royalties. OxiMedia compiles to a single static binary (or to wasm32-unknown-unknown for the browser) and runs everywhere with one cargo add.

Why 0.1.7 matters

FFmpeg and OpenCV are powerful but carry chronic memory-safety risk, heavy build systems, and patent-encumbered codecs. OxiMedia replaces both in pure Rust — and that means the bugs that matter are the ordinary kind: a frame buffer written to the wrong place, a Unix-only socket that breaks the Windows build, two parallel jobs racing on the same temp file. 0.1.7 closes five of them, each with a regression test so they stay closed.

At 0.1.7 the workspace is 109 crates and ~2.75M lines of pure Rust, with 84,064 tests passing (0 failures, 245 skipped, cargo nextest run --workspace --all-features).

Technical Deep Dive: where the fixes land

The changes touch four layers of the 109-crate workspace:

  1. Codecs (oximedia-codec) — the Theora decoder now copies plane data into the live VideoFrame rather than a soon-dropped clone; the AVC/H.264 bitstream docs match the spec’s bit layout.

  2. Synchronization & I/O (oximedia-timesync, temp-file management) — Unix-domain IPC sockets are cleanly cfg-gated so Windows and wasm32 targets compile, and temp-file naming is made race-proof with atomic counters plus PID and nanosecond entropy.

  3. Scopes & Analysis (oximedia-scopes) — waveform/vectorscope/histogram tooling no longer collides on shared temp paths under parallel invocation, and all scratch files route through std::env::temp_dir().

  4. Build prerequisites — the root README.md and crates/oximedia-accel/README.md now document the protoc (tonic-build), cmake, and shaderc toolchain needed for the optional acceleration paths.

Workspace guarantees are unchanged: unsafe_code = "deny", single-binary deployment, WASM + WebGPU support, and zero C/Fortran in default features — the math layer is the pure-Rust OxiFFT and SciRS2.

Getting Started

cargo add oximedia

Decoding a Theora/OGG stream — now correct thanks to the Issue #9 fix — looks like this:

use oximedia::prelude::*;

fn main() -> oximedia::Result<()> {
    let input = MediaReader::open("clip.ogv")?;

    for frame in input.video_frames() {
        let frame = frame?;
        // Plane data is now copied into the live VideoFrame correctly.
        println!("frame {}x{} ({} planes)", frame.width(), frame.height(), frame.plane_count());
    }

    Ok(())
}

What’s New in 0.1.7

Tips

This is the foundation

OxiMedia is the pure-Rust media and computer-vision layer of the COOLJAPAN ecosystem, built on its siblings:

Repository: https://github.com/cool-japan/oximedia

Star the repo if you’re tired of FFmpeg/OpenCV build hell and patent worries.

Pure Rust media and computer vision is here — fast, safe, patent-free, and sovereign.

KitaSan at COOLJAPAN OÜ May 22, 2026

↑ Back to all posts