diff --git a/Cargo.toml b/Cargo.toml index cd983ca..d0b116c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "libfreemkv" -version = "0.19.0" +version = "0.19.1" edition = "2024" -rust-version = "0.19.0" +rust-version = "1.86" license = "AGPL-3.0-only" description = "Open source raw disc access library for optical drives" repository = "https://github.com/freemkv/libfreemkv" @@ -10,7 +10,7 @@ keywords = ["bluray", "uhd", "optical", "scsi", "disc"] categories = ["hardware-support", "multimedia"] [dependencies] -serde = { version = "0.19.0", features = ["derive"] } +serde = { version = "1", features = ["derive"] } serde_json = "1" sha1 = "0.10" sha2 = "0.10" @@ -22,7 +22,7 @@ num-traits = "0.2" num-integer = "0.1" rand = "0.8" cmac = "0.7" -zip = { version = "0.19.0", default-features = false, features = ["deflate"] } +zip = { version = "2", default-features = false, features = ["deflate"] } base64 = "0.22.1" # Trace-level instrumentation for Disc::copy + SgIoTransport::execute. Permitted # under CLAUDE.md ("Acceptable strings: debug/trace logging"). Consumers (autorip) diff --git a/src/mux/disc.rs b/src/mux/disc.rs index e2a2bcd..2d651f8 100644 --- a/src/mux/disc.rs +++ b/src/mux/disc.rs @@ -318,14 +318,13 @@ impl DiscStream { // on failure, advance on success. One 5s read attempt per try — no // retry loops, no sleeps. On size-1 failure, skip or error. // - // Halt is checked at the top of every iteration — in a dense bad zone + // Halt is checked at the top of every iteration — in a dense bad zone // this loop can spend minutes shrinking and skipping sectors; without // the check, Stop wouldn't take effect until the outer PES read() loop // finally emits a frame, which may never happen. - - let start_lba = lba; + let start_time = std::time::Instant::now(); - + loop { if self.is_halted() { return Err(crate::error::Error::Halted.into());