From 453e29b2f5d656b016ba32544beddb86e3f3f3d7 Mon Sep 17 00:00:00 2001 From: Christopher Snowhill Date: Sun, 19 Jun 2022 18:26:18 -0700 Subject: [PATCH] [MAD Decoder] Patch a slight bug in libmad There was a slight bug with handling Xing/LAME headers with main data pointers indicating data preceding the header frame. This should allow decoding their information properly. Signed-off-by: Christopher Snowhill --- Plugins/MAD/MADDecoder.m | 3 ++ ThirdParty/libmad/README.md | 6 ++-- ThirdParty/libmad/lib/libmad.a | Bin 262896 -> 262184 bytes .../libmad/patches/libmad_ancdata.patch | 29 ++++++++++++++++++ 4 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 ThirdParty/libmad/patches/libmad_ancdata.patch diff --git a/Plugins/MAD/MADDecoder.m b/Plugins/MAD/MADDecoder.m index 7aa7b8f24..a909a758b 100644 --- a/Plugins/MAD/MADDecoder.m +++ b/Plugins/MAD/MADDecoder.m @@ -178,6 +178,8 @@ } free(tagBuffer); + } else if(stream.error == MAD_ERROR_BADDATAPTR) { + goto framedecoded; } continue; @@ -190,6 +192,7 @@ break; } } + framedecoded: framesDecoded++; if(framesDecoded == 1) { diff --git a/ThirdParty/libmad/README.md b/ThirdParty/libmad/README.md index 8e6dbd2e8..c23d5642d 100644 --- a/ThirdParty/libmad/README.md +++ b/ThirdParty/libmad/README.md @@ -1,6 +1,8 @@ -Built with the Homebrew defaults, sort of: +Built with the Homebrew defaults, sort of. Plus a patch to fix weird LAME/Xing +headers: ``` +patch -Np1 -i libmad_ancdata.patch touch NEWS touch AUTHORS touch ChangeLog @@ -9,4 +11,4 @@ autoreconf -fiv make -j8 CFLAGS="-Os -arch x86_64 -arch arm64 -mmacosx-version-min=10.12" LDFLAGS="-arch x86_64 -arch arm64 -mmacosx-version-min=10.12" ``` -Version 0.15.1b was used. +Version 0.15.1b was used, with the minor patch listed above. diff --git a/ThirdParty/libmad/lib/libmad.a b/ThirdParty/libmad/lib/libmad.a index 4122a9d1d746cef1fb248a30930cfcec2dfa5c42..38609e29475107bf22c83457535171268b490128 100644 GIT binary patch delta 39583 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 = 0; ++ if(stream->error != MAD_ERROR_BADDATAPTR) { ++ stream->anc_bitlen = 0; ++ } + return -1; + } + +diff -urN libmad-0.15.1b.orig/layer3.c libmad-0.15.1b.patched/layer3.c +--- libmad-0.15.1b.orig/layer3.c 2022-06-19 17:20:02.000000000 -0700 ++++ libmad-0.15.1b.patched/layer3.c 2022-06-19 18:18:47.000000000 -0700 +@@ -2656,6 +2656,11 @@ + stream->anc_ptr = ptr; + stream->anc_bitlen = md_len * CHAR_BIT - data_bitlen; + } ++ else { ++ /* Give it the rest of the frame */ ++ stream->anc_ptr = stream->ptr; ++ stream->anc_bitlen = frame_free * CHAR_BIT; ++ } + + # if 0 && defined(DEBUG) + fprintf(stderr,