Files
libfreemkv/docs/dvdnav-mod.md
T
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

1.0 KiB

src/dvdnav/mod.rs

Module rationale

Byte layout follows the DVD-Video specification (VMGI/VTSI headers, PGC/cell tables, PCI/HLI button packets); the VM command decoder is verified against real discs.

Current contents: vmcmd — the VM command decoder; nav — the First-Play navigation executor that resolves which title the disc's own navigation selects as the feature.

resolve_feature_start — parked status (issue #40)

PARKED (issue #40, USE_NAV_RESOLVER=false): this is intentionally a stub, not an accidental dead one. It unconditionally returns None and ignores reader/udf on purpose — the IFO/PCI parsing + nav executor (built on vmcmd) land incrementally behind that flag. Until wired in, calling this is behaviour-neutral (the caller always falls back); improvements to the resolver take effect here without touching the call site. Do not delete.

reader/udf are the seam inputs the nav executor will consume to read VIDEO_TS.IFO + the VTS IFOs/menu VOBs. Reserved until that lands.