mirror of
https://github.com/freemkv/libfreemkv.git
synced 2026-10-07 18:13:10 +00:00
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.
22 lines
950 B
Markdown
22 lines
950 B
Markdown
# bdnav — HDMV navigation resolver
|
|
|
|
Notes relocated from `src/bdnav/mod.rs` doc comments (kept out of the source
|
|
to respect the comment-guard's prose caps).
|
|
|
|
## No per-disc special-casing
|
|
|
|
There is no per-disc special-casing: one correctly-booted VM resolves
|
|
densely-branched dispatchers as well as simple ones. The honest boundary is
|
|
BD-J (the feature is chosen by a Java Xlet, not by the HDMV VM); there — and
|
|
on any malformed data or non-convergence — the resolver ABSTAINS (`None`)
|
|
and selection falls back to the structural/heuristic order.
|
|
|
|
## `resolve_feature`
|
|
|
|
Resolves the playlist id the disc's First-Play navigation plays as the
|
|
feature, restricted to ids the caller marks as feature candidates
|
|
(`is_feature_candidate` — typically video-bearing, non-trivial titles, so a
|
|
short logo/pre-roll `PlayPlayList` is skipped). Returns `None` for BD-J
|
|
discs, missing/malformed nav data, or when navigation does not converge on
|
|
a candidate.
|