Files
libfreemkv/docs
Matthew Jackson 6e14fc0c0c libfreemkv: 1.7.0 groundwork — sector-recycle soundness + CI hardening
Security
- Remove the unsafe Vec::set_len over recycled sector buffers — UB reachable
  from safe code (GHSA-j8ww-f5fg-9pmh, low). Uses Vec::resize; pooling unchanged.

CI / tooling
- clippy on stable with the MSRV single-sourced from Cargo.toml; cargo-deny
  dependency-audit gate with first-party git sources allowed (#15); audience-based
  comment-guard (#17).

Docs
- README (keydb ownership, BD-J parser count), drive-access transport/reset
  notes, mux timeline module-doc links.
2026-09-02 12:40:55 -07:00
..

libfreemkv Documentation

Technical documentation for libfreemkv, the open source optical drive library.

Start Here

Disc to Rip: End-to-End Flow — How the library goes from a disc in the drive to decrypted content. Read this first.

Reference

Document What it covers
Architecture Module map, design principles, error codes, platform support
Drive Access Drive, SCSI transport, profiles, unlock, why raw mode is needed
Rip Recovery What this crate owns of the recovery model: single-shot Drive::read, SenseFamily, DiscStream batch halving (the strategy itself moved to freemkv-engine in 1.6.0)
AACS Encryption Key resolution (4 paths), content decryption, bus encryption, SCSI handshake
UDF Filesystem UDF 2.50 with metadata partitions, pointer chain, how files are read from disc
MPLS Playlists Playlist format, play items, STN stream table, coding types
CLPI Clip Info EP map (coarse + fine entries), timestamp-to-sector mapping, extent calculation
API Design Stream API design, PES pipeline, input/output resolution

Reading Order

If you want to understand the whole library:

  1. Disc to Rip — the big picture
  2. Architecture — how modules fit together
  3. Drive Access — how we talk to hardware
  4. UDF → MPLS → CLPI — how disc content is structured
  5. AACS — how encryption works and how we break it

API Documentation

Generated API docs are on docs.rs/libfreemkv.