MattJackson
117a7823d6
Library disc API: Disc, Title, Stream with typed codec/hdr/color
...
Clean public API for disc scanning. CLI should only display,
never parse binary formats directly.
Disc::scan() → titles → streams with:
codec (Hevc/TrueHd/Ac3/Pgs/etc), pid, language,
resolution, frame_rate, channels, hdr, color_space,
secondary flag, label
2026-04-06 15:47:07 -07:00
MattJackson
7db4606038
Add disc format parsers: UDF, MPLS, CLPI
...
- udf.rs: read files from Blu-ray disc filesystem
- mpls.rs: parse playlists → titles with clips and timestamps
- clpi.rs: parse clip info → EP map with coarse/fine SPN entries
- disc.rs: high-level title scanning, sector extent mapping
- drive.rs: add read_disc() for unencrypted reads, scsi_execute()
- error.rs: add E6000 DiscError
Stage 1 of freemkv rip: identify titles and their sector ranges.
2026-04-06 14:27:48 -07:00
MattJackson
c26b6f6819
Refactor: Chipset architecture, remove supported/status gatekeeping
...
- PlatformType → Chipset enum (MediaTek, Renesas)
- unlock_mode + unlock_buf_id stored in profile, not derived from enum
- Removed ReadinessStatus, supported field, needs_flash — library is agnostic
- Removed DriveMatch/Flashable — if we have a profile, try unlock
- profiles.json: chipset + unlock_mode + unlock_buf_id, no program/supported
- mt1959.rs reads mode/buf_id from profile fields directly
- Tests: find_known_drive, find_unknown_drive
2026-04-06 11:21:27 -07:00
MattJackson
b9ea1d29dd
libfreemkv v0.1.0 — Open source 4K UHD / Blu-ray / DVD drive library
...
Features:
- Open drive identification via SPC-4 INQUIRY + MMC-6 GET CONFIGURATION
- 141 supported drives with bundled profiles
- MT1959 platform: unlock, calibrate, raw sector reads
- DriveSpeed enum: BD1x-BD12x, DVD1x-DVD16x
- Field names follow SPC-4 §6.4.2 and MMC-6 §5.3.10 standards
- No proprietary fingerprints — open matching by SCSI fields
- Zero config: profiles compiled into binary
Tested on real hardware: HL-DT-ST BD-RE BU40N 1.03
2026-04-06 10:00:00 -07:00