This website requires JavaScript.
9519628954
docs: 1.2.0 changelog — Pass-N handler chain, DVD drive-prep unlock fix, unlocker matrix
Matthew Jackson
2026-07-01 11:05:31 -07:00
21f8cec419
disc: unlocker_matrix reports 'did work this rip', not 'matched'
Matthew Jackson
2026-07-01 10:44:39 -07:00
d5d72c4e22
drive: disable FUA on READ(10) — the ~10x sequential-read regression
Matthew Jackson
2026-07-01 10:26:56 -07:00
c781fb7193
disc: Disc::unlocker_matrix() — registry-driven unlocker report
Matthew Jackson
2026-07-01 10:00:59 -07:00
541ca2139f
drive: run drive-prep unlock for EVERY disc, incl. DVD (fix riplock regression)
Matthew Jackson
2026-07-01 09:38:51 -07:00
2dd98c3e32
recovery: fresh-eyes audit fixes (handlers + Pass-N engine + sweep)
Matthew Jackson
2026-07-01 09:14:32 -07:00
ceaa1da369
drive: apply drive-features for every disc, incl. DVD (fix riplock)
Matthew Jackson
2026-07-01 08:56:19 -07:00
fe14a2d5e5
Pass-N: detect drive fast-fail wedge and abort instead of grinding
Matthew Jackson
2026-07-01 08:02:52 -07:00
8f6a92ccd4
Bisect: halve at dead boundary + exempt boundary probes from stall
Matthew Jackson
2026-06-30 22:06:04 -07:00
29f76aad68
section_recover: per-rip handler scorecard + Bisect-leads-scouts + proportional Jump
Matthew Jackson
2026-06-30 21:26:35 -07:00
840ba8390c
section_recover: per-rip handler scorecard + Bisect leads the scouts
Matthew Jackson
2026-06-30 21:25:39 -07:00
e803905265
section_recover: Jump starts at 8 MiB base to clear big dead spots faster
Matthew Jackson
2026-06-30 21:12:12 -07:00
11d4c33477
patch: single Jump-scout tier 0, expand-Bisect, live in-handler progress
Matthew Jackson
2026-06-30 20:57:36 -07:00
8d775cd341
patch: add Jump handler (lead fast tier) + recovery-based progress %
Matthew Jackson
2026-06-30 20:40:22 -07:00
bc07011bcb
patch: breadth-first two-tier recovery, largest ranges first
Matthew Jackson
2026-06-30 20:25:48 -07:00
d65b776a8e
patch: replace grind-until-wedge loop with bounded handler chain
Matthew Jackson
2026-06-30 19:55:37 -07:00
ff7f3028a5
drive: always set FUA on READ(10) to bypass the drive cache
Matthew Jackson
2026-06-30 18:49:14 -07:00
25a7b131b4
drive: Drive::spin_cycle() — soft un-wedge via START STOP UNIT (no eject)
Matthew Jackson
2026-06-30 17:54:51 -07:00
0cab32a08a
disc/patch: fast-capture reads fail-fast (no deep recovery)
Matthew Jackson
2026-06-30 17:08:26 -07:00
22f0f5eb6f
docs: 1.2.0 changelog — fast_capture breadth-first patch recovery
Matthew Jackson
2026-06-30 16:38:56 -07:00
2013ef8c44
disc/patch: fast_capture mode — breadth-first recovery (#50 )
Matthew Jackson
2026-06-30 16:37:59 -07:00
acaae3d0a4
docs: 1.2.0 changelog — PassProgress mapfile-free contract + located drilldown
Matthew Jackson
2026-06-30 16:13:05 -07:00
65c6835363
disc: add progress_snapshot_from_mapfile one-shot + locate_ranges test
Matthew Jackson
2026-06-30 16:09:28 -07:00
0f0c496a4d
progress: PassProgress carries the located drilldown (emit side)
Matthew Jackson
2026-06-30 15:26:49 -07:00
923b9edbf4
disc/patch: remove scatter-recovery (ruled out by live probing); add SubRanges
Matthew Jackson
2026-06-30 13:47:58 -07:00
caf1b03fd4
disc/patch: keep MAX speed on recovery reads + geometric batch re-grow
Matthew Jackson
2026-06-30 13:19:34 -07:00
9cc422bd00
disc/patch: drop cache-priming, bisect batch failures instead of count=1
Matthew Jackson
2026-06-30 11:20:44 -07:00
5b39a0af2b
disc/patch: add scatter-recovery for stuck bad sectors
Matthew Jackson
2026-06-30 10:29:55 -07:00
bd0a21bdb4
disc/patch: extract PatchCtx/patch_region orchestration + unify log taxonomy
Matthew Jackson
2026-06-30 10:04:51 -07:00
c8822ddea3
error: treat IoError/DeviceNotFound as SCSI transport failures (dead bus)
Matthew Jackson
2026-06-30 07:19:03 -07:00
7a7ab2c9d8
unlock_bridge: map non-SCSI transport faults (IoError/DeviceNotFound) to 0xFF
Matthew Jackson
2026-06-29 22:57:09 -07:00
7a0ef5412c
mux: add the B1 drop-to-keyframe resync gate to DiscStream
Matthew Jackson
2026-06-29 22:27:52 -07:00
8c38cb0918
unlock/patch: preserve SCSI sense across the bridge; init aborts on dead bus; slow-retry first patch failure
Matthew Jackson
2026-06-29 22:16:28 -07:00
b36896564f
disc: log adaptive patch speed transitions; issue SET CD SPEED max unconditionally
Matthew Jackson
2026-06-29 21:47:50 -07:00
e648bde94b
README: drop crates.io/docs.rs badges + stale plugin-model line (off crates.io now)
Matthew Jackson
2026-06-29 21:17:06 -07:00
c86fa9bfc6
Cargo: publish = false — off crates.io (git-deps the firmware crate)
Matthew Jackson
2026-06-29 21:04:05 -07:00
2ba6274eae
unlock: dispatch via freemkv-unlock; delete in-tree handshake/css-auth/registry
Matthew Jackson
2026-06-29 20:45:00 -07:00
3bdb6f8b1a
stage 4a: bridge libfreemkv to the freemkv-unlock crate
Matthew Jackson
2026-06-29 19:48:50 -07:00
80e8523db2
aacs: extract run_cert_handshake + collect_host_certs as shared primitives
Matthew Jackson
2026-06-29 17:33:26 -07:00
ab8f09645f
unlock: route_unlock returns a structured UnlockRoute; ctx carries opts
Matthew Jackson
2026-06-29 17:18:11 -07:00
326d17c2f4
unlock: Unlocked carries the bus-key gate nuance; route_unlock returns it
Matthew Jackson
2026-06-29 16:59:04 -07:00
bac105a022
css: CSS bus-auth becomes a uniform registry Unlocker
Matthew Jackson
2026-06-29 16:49:52 -07:00
cfcc524367
unlock: introduce UnlockCtx + DiscKind; trait keys off context
Matthew Jackson
2026-06-29 16:27:30 -07:00
03820c68f8
css: auth primitives operate on &mut dyn ScsiTransport; clean up bus_auth
Matthew Jackson
2026-06-29 16:01:07 -07:00
f682405973
aacs: handshake primitives operate on &mut dyn ScsiTransport
Matthew Jackson
2026-06-29 15:47:30 -07:00
93fbfac6f0
unlock: Unlocker::unlock returns Unlocked { vid, read_data_key }
Matthew Jackson
2026-06-29 15:09:17 -07:00
a7c8ee09b0
disc: credit firmware unlock in the bus-encryption gate
Matthew Jackson
2026-06-29 15:09:16 -07:00
263950622f
disc: make bus-key unavailability self-explaining in the log
Matthew Jackson
2026-06-29 13:33:09 -07:00
9e6af4a729
mux: harden audio discontinuity handling (audit follow-up)
Matthew Jackson
2026-06-29 12:50:52 -07:00
be08e3938b
mux: drop truncated partial audio frame on concealed gap
Matthew Jackson
2026-06-29 11:23:08 -07:00
cb7d78ac6a
disc: adaptive patch speed — enter each range fast, slow on first failure
Matthew Jackson
2026-06-29 10:34:18 -07:00
039a8f9f19
docs: 1.2.0 changelog date → 2026-06-29 (release prep); fix neither/nor grammar in 1.1.0 entry
Matthew Jackson
2026-06-29 09:57:29 -07:00
c5515d310f
mux/decrypt: audit-nit cleanup + defensive conceal fallback
Matthew Jackson
2026-06-29 09:51:28 -07:00
789b699f95
mux: make B1 concealment decode-clean on every gap shape
Matthew Jackson
2026-06-29 09:39:03 -07:00
71b4b09c93
docs: 1.2.0 CHANGELOG — document the breaking public-API changes
Matthew Jackson
2026-06-29 08:41:26 -07:00
067fd207d5
mux: conceal only genuinely-undecryptable units (padding-aware)
Matthew Jackson
2026-06-29 00:29:20 -07:00
e6180a429b
v1.2.0: bump version + reconcile CHANGELOG to [1.2.0]
Matthew Jackson
2026-06-28 23:34:19 -07:00
d715a0943a
mux: B1 drop-to-keyframe resync after a concealed gap
Matthew Jackson
2026-06-28 23:01:47 -07:00
9a7be7a1a5
1.2.0: mux loss-concealment read path (P3/Edit-2, A2 NULL-TS fill)
Matthew Jackson
2026-06-28 22:44:19 -07:00
a731e7b26b
1.2.0: single MKB framing walker + AACS resolve hardening
Matthew Jackson
2026-06-28 22:28:09 -07:00
4d6f5c0a98
1.2.0: unify hex parsing (one parser) + robust encrypted-unit sampling
Matthew Jackson
2026-06-28 22:12:06 -07:00
cad5929afe
1.1.1: unify AACS key-input path on Disc::inputs() + named constants
Matthew Jackson
2026-06-28 21:45:58 -07:00
59681dfd4b
1.1.1: AACS decrypt + key-resolution hardening
Matthew Jackson
2026-06-28 21:12:57 -07:00
eba34f4c20
v1.1.0: bump version
Matthew Jackson
2026-06-28 18:14:18 -07:00
49e5627a69
changelog: 1.1.0 (drop -beta.1 pre-release tag)
Matthew Jackson
2026-06-28 17:58:46 -07:00
fb8405385e
aacs: rustfmt verify-gate files + correct cert/unit-key test fixtures to libaacs-strict layout; 1.1.0-beta.1 changelog
Matthew Jackson
2026-06-28 16:49:16 -07:00
f23338b5dd
verify: container-kind seam (HD-DVD-ready) + skip units with unread sectors
Matthew Jackson
2026-06-28 16:05:25 -07:00
a7bd574c34
verify: post-read decrypt-verify gate + libaacs-strict verify + audit fixes
Matthew Jackson
2026-06-28 15:03:52 -07:00
f49ef023cf
changelog: enrich 1.1.0-beta.1 and rc.5.2 entries with concrete mechanisms (version label SoT, per-extent AACS anchor, E7017/E7022 no-key split, 3-sector unit grid)
Matthew Jackson
2026-06-26 22:26:15 -07:00
ba5e4fdafa
changelog: add 1.1.0-beta.1 version-stamp consistency, DTS-HD MA core-sync, and TrueHD DTS-monotonicity fixes
Matthew Jackson
2026-06-26 22:16:45 -07:00
ced89133cc
docs(fvi): standardize table headers and multi-line dense cells
Matthew Jackson
2026-06-26 21:42:31 -07:00
aefd6b6342
mux: single source of truth for the version label (VERSION_LABEL/MUX_APP)
Matthew Jackson
2026-06-26 21:33:19 -07:00
78f78d285e
docs(fvi): pretty-print JSON blocks in FVI format spec
Matthew Jackson
2026-06-26 21:21:26 -07:00
80ecb671fd
mux: allow build-time version label override (FREEMKV_BUILD_LABEL)
Matthew Jackson
2026-06-26 19:38:13 -07:00
c49a180ce7
mux: fix non-monotonic audio DTS (TrueHD + DTS-HD MA) and stamp builds with git hash
Matthew Jackson
2026-06-26 19:26:24 -07:00
afa218fc8f
Remove keydb download/save from the library
Matthew Jackson
2026-06-26 17:33:57 -07:00
835cc990ad
DVD vob_start absolute rebase + rc.5.3 audit fixes
Matthew Jackson
2026-06-26 16:53:39 -07:00
d8c323bf9f
Magic-number/taxonomy pass: central wire-format + sector + unit consts
Matthew Jackson
2026-06-26 13:20:21 -07:00
decb87a250
AACS pipeline reshape + TrueHD metadata + central consts + clippy/fmt clean
Matthew Jackson
2026-06-26 12:19:24 -07:00
05729f5dfe
fix(libfreemkv): rc6 hardening pass — mux timeline/colour/PCR, demux panic sentinel, parser robustness + doc accuracy
Matthew Jackson
2026-06-25 23:39:03 -07:00
dc1d05985b
feat(mux): emit HDR10 static metadata from HEVC SEI
Matthew Jackson
2026-06-25 21:59:43 -07:00
539b170f7e
test(disc): pin the -t 1 = main-feature contract (DVD); fix 2 test clippy nits
Matthew Jackson
2026-06-25 21:42:52 -07:00
998e21c544
test: real-executing coverage for mux codecPrivate/DefaultDuration, sweep damage-jump, patch watchdog clock seam, and AACS CBC KAT
Matthew Jackson
2026-06-25 21:37:20 -07:00
7f55271adb
mux: reconcile fvi:// video-index sink onto rc6
Matthew Jackson
2026-06-25 21:18:15 -07:00
e064bc7055
mux/vc1: measure coding type from progressive PTYPE; carry source
Matthew Jackson
2026-06-25 20:50:36 -07:00
6acc26a802
mux/hevc: measure coding type from slice_type; reuse shared BitReader
Matthew Jackson
2026-06-25 20:44:15 -07:00
534eca502c
mux/h264: measure coding type from slice_type; carry source provenance
Matthew Jackson
2026-06-25 20:38:09 -07:00
e3dbafcebd
mux: codec-agnostic PictureInfo + provenance; measure field order, never guess
Matthew Jackson
2026-06-25 20:13:55 -07:00
43fb97f71f
mux/mkv: spec-conformance fixes (field order, CICP, VobSub idx, SeekHead, AC-3)
Matthew Jackson
2026-06-25 18:40:30 -07:00
8e0797eab0
wip: rc6 VFR/DVD/CSS base (held for bulletproofing + split)
Matthew Jackson
2026-06-25 17:32:17 -07:00
9b6a48e9d9
demux: solidify sink — reuse canonical primitives, fix 3 bugs
Matthew Jackson
2026-06-25 17:58:49 -07:00
8e2e22af5c
mux: highway-level regression — DVD video keyframe + duration survive the pipelined path
Matthew Jackson
2026-06-25 16:58:04 -07:00
b2e1698b9a
mkv: regression test — DVD VFR/BlockGroup output gets per-cluster cues
Matthew Jackson
2026-06-25 16:32:32 -07:00
730af6b1d9
demux: add demux:// per-track elementary-stream sink
Matthew Jackson
2026-06-25 16:22:29 -07:00
52d2e85e3c
css: skip clear/uncrackable extra titles instead of failing the whole mux
Matthew Jackson
2026-06-25 13:43:04 -07:00
6b3014f3e8
progress: expose bytes_retryable so 'lost' counts only failed reads
Matthew Jackson
2026-06-25 13:04:37 -07:00
8f5968a18f
Resume plain disc->iso copy after interrupt
Matthew Jackson
2026-06-25 08:24:00 -07:00
62d2dfe96a
libfreemkv: align E7021→E7017 in comments/test-names (keys-but-no-VID is AacsVidUnavailable)
Matthew Jackson
2026-06-25 07:59:54 -07:00
3c42950ecd
libfreemkv: changelog — rc.6 entry (+ backfill rc.5.3, mark rc.5.2 released)
Matthew Jackson
2026-06-24 23:56:41 -07:00
0127c274d2
test: strengthen AACS resolve-reason + unlocker seam coverage (rc.6 WS3)
Matthew Jackson
2026-06-24 23:40:36 -07:00