diff --git a/CHANGELOG.md b/CHANGELOG.md index 20d164edc..097ed6b3a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -66,6 +66,7 @@ All notable changes to this project will be documented in this file. - [#2464] SVG export - minimum stroke width of 1 px - [#2405] Incorrect saving tags after Cloning / Copy-pasting - [#1646] Scrolling in Error log frame inside log texts +- JLayer stripping last byte of MP3 data ## [23.0.1] - 2025-05-16 ### Fixed diff --git a/lib/jlayer-1.0.2.jar b/lib/jlayer-1.0.2.jar index 21d4188fc..d41c40a48 100644 Binary files a/lib/jlayer-1.0.2.jar and b/lib/jlayer-1.0.2.jar differ diff --git a/libsrc/ffdec_lib/lib/jlayer-1.0.2.jar b/libsrc/ffdec_lib/lib/jlayer-1.0.2.jar index 21d4188fc..d41c40a48 100644 Binary files a/libsrc/ffdec_lib/lib/jlayer-1.0.2.jar and b/libsrc/ffdec_lib/lib/jlayer-1.0.2.jar differ diff --git a/libsrc/jlayer-1.0.2/src/main/java/javazoom/jl/decoder/MarkingPushbackInputStream.java b/libsrc/jlayer-1.0.2/src/main/java/javazoom/jl/decoder/MarkingPushbackInputStream.java index 2e2f57e69..3637afccc 100644 --- a/libsrc/jlayer-1.0.2/src/main/java/javazoom/jl/decoder/MarkingPushbackInputStream.java +++ b/libsrc/jlayer-1.0.2/src/main/java/javazoom/jl/decoder/MarkingPushbackInputStream.java @@ -17,9 +17,7 @@ public class MarkingPushbackInputStream extends PushbackInputStream { public long getPosition() { return pos; } - - - + public MarkingPushbackInputStream(InputStream in, int size) { super(in, size); is = new PushbackInputStream(in, size); @@ -47,22 +45,29 @@ public class MarkingPushbackInputStream extends PushbackInputStream { @Override public int read() throws IOException { - pos++; - return is.read(); + int ret = is.read(); + if (ret > -1) { + pos++; + } + return ret; } @Override public int read(byte[] b, int off, int len) throws IOException { int ret = is.read(b, off, len); - pos += ret; + if (ret > -1) { + pos += ret; + } return ret; } @Override public int read(byte[] b) throws IOException { int ret = is.read(b); - pos += ret; + if (ret > -1) { + pos += ret; + } return ret; }