From 706ca0072bfab8a890e2101776f8c1021e5aad1c Mon Sep 17 00:00:00 2001 From: heitbaum Date: Tue, 16 Feb 2021 20:57:01 +0000 Subject: [PATCH] taglib: update to 1.12 update 1.11.1 (2016-10-24) to 1.12 (2021-02-15) release notes: https://github.com/taglib/taglib/releases remove incorporated patch --- packages/audio/taglib/package.mk | 4 +- ...ID3v2_tag_in_MPEG_files_with_garbage.patch | 72 ------------------- 2 files changed, 2 insertions(+), 74 deletions(-) delete mode 100644 packages/audio/taglib/patches/taglib-01-efficient_lookup_for_an_ID3v2_tag_in_MPEG_files_with_garbage.patch diff --git a/packages/audio/taglib/package.mk b/packages/audio/taglib/package.mk index 244a52fd82..9e0dae2336 100644 --- a/packages/audio/taglib/package.mk +++ b/packages/audio/taglib/package.mk @@ -2,8 +2,8 @@ # Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv) PKG_NAME="taglib" -PKG_VERSION="1.11.1" -PKG_SHA256="b6d1a5a610aae6ff39d93de5efd0fdc787aa9e9dc1e7026fa4c961b26563526b" +PKG_VERSION="1.12" +PKG_SHA256="7fccd07669a523b07a15bd24c8da1bbb92206cb19e9366c3692af3d79253b703" PKG_LICENSE="LGPL" PKG_SITE="http://taglib.github.com/" PKG_URL="http://taglib.github.io/releases/${PKG_NAME}-${PKG_VERSION}.tar.gz" diff --git a/packages/audio/taglib/patches/taglib-01-efficient_lookup_for_an_ID3v2_tag_in_MPEG_files_with_garbage.patch b/packages/audio/taglib/patches/taglib-01-efficient_lookup_for_an_ID3v2_tag_in_MPEG_files_with_garbage.patch deleted file mode 100644 index b31cf6a089..0000000000 --- a/packages/audio/taglib/patches/taglib-01-efficient_lookup_for_an_ID3v2_tag_in_MPEG_files_with_garbage.patch +++ /dev/null @@ -1,72 +0,0 @@ -From d2e0e5522308ce4c905c205c7bf5972ea71cd6e5 Mon Sep 17 00:00:00 2001 -From: Tsuda Kageyu -Date: Fri, 20 Jan 2017 21:14:38 +0900 -Subject: [PATCH] Efficient lookup for an ID3v2 tag in MPEG files with garbage. - -This looks for an ID3v2 tag until reaching the first valid MPEG frame in O(n) time. ---- - taglib/mpeg/mpegfile.cpp | 45 +++++++++++++++++++++++++++++---------------- - 1 file changed, 29 insertions(+), 16 deletions(-) - -diff --git a/taglib/mpeg/mpegfile.cpp b/taglib/mpeg/mpegfile.cpp -index af7253f..c634eeb 100644 ---- a/taglib/mpeg/mpegfile.cpp -+++ b/taglib/mpeg/mpegfile.cpp -@@ -488,28 +488,41 @@ long MPEG::File::findID3v2() - const ByteVector headerID = ID3v2::Header::fileIdentifier(); - - seek(0); -+ if(readBlock(headerID.size()) == headerID) -+ return 0; - -- const ByteVector data = readBlock(headerID.size()); -- if(data.size() < headerID.size()) -+ Header firstHeader(this, 0, true); -+ if(firstHeader.isValid()) - return -1; - -- if(data == headerID) -- return 0; -+ // Look for an ID3v2 tag until reaching the first valid MPEG frame. - -- if(firstSyncByte(data[0]) && secondSynchByte(data[1])) -- return -1; -+ char frameSyncBytes[2] = {}; -+ char tagHeaderBytes[4] = {}; -+ long position = 0; - -- // Look for the entire file, if neither an MEPG frame or ID3v2 tag was found -- // at the beginning of the file. -- // We don't care about the inefficiency of the code, since this is a seldom case. -+ while(true) { -+ seek(position); -+ const ByteVector buffer = readBlock(bufferSize()); -+ if(buffer.isEmpty()) -+ return -1; - -- const long tagOffset = find(headerID); -- if(tagOffset < 0) -- return -1; -+ for(unsigned int i = 0; i < buffer.size(); ++i) { -+ frameSyncBytes[0] = frameSyncBytes[1]; -+ frameSyncBytes[1] = buffer[i]; -+ if(firstSyncByte(frameSyncBytes[0]) && secondSynchByte(frameSyncBytes[1])) { -+ Header header(this, position + i - 1, true); -+ if(header.isValid()) -+ return -1; -+ } - -- const long frameOffset = firstFrameOffset(); -- if(frameOffset < tagOffset) -- return -1; -+ tagHeaderBytes[0] = tagHeaderBytes[1]; -+ tagHeaderBytes[1] = tagHeaderBytes[2]; -+ tagHeaderBytes[2] = buffer[i]; -+ if(headerID == tagHeaderBytes) -+ return position + i - 2; -+ } - -- return tagOffset; -+ position += bufferSize(); -+ } - }