[vlc-commits] [Git][videolan/vlc][master] contrib: Bump taglib to 2.0

Steve Lhomme (@robUx4) gitlab at videolan.org
Sun Feb 11 16:23:27 UTC 2024



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
e30871c7 by Vikram Kangotra at 2024-02-11T15:22:29+00:00
contrib: Bump taglib to 2.0

Changelog: https://github.com/taglib/taglib/releases/tag/v2.0

`VLC_PATCHED_TAGLIB_ID3V2_READSTYLE` removed
see: https://github.com/taglib/taglib/commit/c13a42021a78038d5a72c75645abf55261ed833e

- - - - -


4 changed files:

- − contrib/src/taglib/0001-Implement-ID3v2-readStyle-avoid-worst-case.patch
- contrib/src/taglib/SHA512SUMS
- contrib/src/taglib/rules.mak
- modules/meta_engine/taglib.cpp


Changes:

=====================================
contrib/src/taglib/0001-Implement-ID3v2-readStyle-avoid-worst-case.patch deleted
=====================================
@@ -1,148 +0,0 @@
-From be17e6084a151c901c3946ec7b37afabc3b84f5f Mon Sep 17 00:00:00 2001
-From: Francois Cartegnie <fcvlcdev at free.fr>
-Date: Tue, 11 Aug 2020 10:53:31 +0200
-Subject: [PATCH] Implement ID3v2 readStyle, avoid worst case
-
----
- taglib/mpeg/mpegfile.cpp | 22 +++++++++++++---------
- taglib/mpeg/mpegfile.h   | 13 ++++++++-----
- taglib/toolkit/taglib.h  |  3 +++
- 3 files changed, 24 insertions(+), 14 deletions(-)
-
-diff --git a/taglib/mpeg/mpegfile.cpp b/taglib/mpeg/mpegfile.cpp
-index 5f14e49d..30124e0d 100644
---- a/taglib/mpeg/mpegfile.cpp
-+++ b/taglib/mpeg/mpegfile.cpp
-@@ -132,30 +132,31 @@ bool MPEG::File::isSupported(IOStream *stream)
- // public members
- ////////////////////////////////////////////////////////////////////////////////
- 
--MPEG::File::File(FileName file, bool readProperties, Properties::ReadStyle) :
-+MPEG::File::File(FileName file,
-+                 bool readProperties, Properties::ReadStyle readStyle) :
-   TagLib::File(file),
-   d(new FilePrivate())
- {
-   if(isOpen())
--    read(readProperties);
-+    read(readProperties, readStyle);
- }
- 
- MPEG::File::File(FileName file, ID3v2::FrameFactory *frameFactory,
--                 bool readProperties, Properties::ReadStyle) :
-+                 bool readProperties, Properties::ReadStyle readStyle) :
-   TagLib::File(file),
-   d(new FilePrivate(frameFactory))
- {
-   if(isOpen())
--    read(readProperties);
-+    read(readProperties, readStyle);
- }
- 
- MPEG::File::File(IOStream *stream, ID3v2::FrameFactory *frameFactory,
--                 bool readProperties, Properties::ReadStyle) :
-+                 bool readProperties, Properties::ReadStyle readStyle) :
-   TagLib::File(stream),
-   d(new FilePrivate(frameFactory))
- {
-   if(isOpen())
--    read(readProperties);
-+    read(readProperties, readStyle);
- }
- 
- MPEG::File::~File()
-@@ -498,11 +499,11 @@ bool MPEG::File::hasAPETag() const
- // private members
- ////////////////////////////////////////////////////////////////////////////////
- 
--void MPEG::File::read(bool readProperties)
-+void MPEG::File::read(bool readProperties, Properties::ReadStyle readStyle)
- {
-   // Look for an ID3v2 tag
- 
--  d->ID3v2Location = findID3v2();
-+  d->ID3v2Location = findID3v2(readStyle);
- 
-   if(d->ID3v2Location >= 0) {
-     d->tag.set(ID3v2Index, new ID3v2::Tag(this, d->ID3v2Location, d->ID3v2FrameFactory));
-@@ -535,7 +536,7 @@ void MPEG::File::read(bool readProperties)
-   ID3v1Tag(true);
- }
- 
--long MPEG::File::findID3v2()
-+long MPEG::File::findID3v2(Properties::ReadStyle readStyle)
- {
-   if(!isValid())
-     return -1;
-@@ -558,6 +559,9 @@ long MPEG::File::findID3v2()
-   ByteVector tagHeaderBytes(3, '\0');
-   long position = 0;
- 
-+  if(readStyle < Properties::Accurate)
-+    return -1;
-+
-   while(true) {
-     seek(position);
-     const ByteVector buffer = readBlock(bufferSize());
-diff --git a/taglib/mpeg/mpegfile.h b/taglib/mpeg/mpegfile.h
-index 3fcb7272..22a282d9 100644
---- a/taglib/mpeg/mpegfile.h
-+++ b/taglib/mpeg/mpegfile.h
-@@ -76,7 +76,8 @@ namespace TagLib {
-        * Constructs an MPEG file from \a file.  If \a readProperties is true the
-        * file's audio properties will also be read.
-        *
--       * \note In the current implementation, \a propertiesStyle is ignored.
-+       * If \a propertiesStyle is Accurate, the file will be scanned
-+       * completely if no ID3v2 tag or MPEG sync code is found at the start.
-        *
-        * \deprecated This constructor will be dropped in favor of the one below
-        * in a future version.
-@@ -91,7 +92,8 @@ namespace TagLib {
-        * If this file contains and ID3v2 tag the frames will be created using
-        * \a frameFactory.
-        *
--       * \note In the current implementation, \a propertiesStyle is ignored.
-+       * If \a propertiesStyle is Accurate, the file will be scanned
-+       * completely if no ID3v2 tag or MPEG sync code is found at the start.
-        */
-       // BIC: merge with the above constructor
-       File(FileName file, ID3v2::FrameFactory *frameFactory,
-@@ -108,7 +110,8 @@ namespace TagLib {
-        * If this file contains and ID3v2 tag the frames will be created using
-        * \a frameFactory.
-        *
--       * \note In the current implementation, \a propertiesStyle is ignored.
-+       * If \a propertiesStyle is Accurate, the file will be scanned
-+       * completely if no ID3v2 tag or MPEG sync code is found at the start.
-        */
-       File(IOStream *stream, ID3v2::FrameFactory *frameFactory,
-            bool readProperties = true,
-@@ -375,8 +378,8 @@ namespace TagLib {
-       File(const File &);
-       File &operator=(const File &);
- 
--      void read(bool readProperties);
--      long findID3v2();
-+      void read(bool readProperties, Properties::ReadStyle);
-+      long findID3v2(Properties::ReadStyle);
- 
-       class FilePrivate;
-       FilePrivate *d;
-diff --git a/taglib/toolkit/taglib.h b/taglib/toolkit/taglib.h
-index ffce61f7..38fee5d1 100644
---- a/taglib/toolkit/taglib.h
-+++ b/taglib/toolkit/taglib.h
-@@ -54,6 +54,9 @@
- #define TAGLIB_DEPRECATED
- #endif
- 
-+/* VLC Specific patches implementations */
-+#define VLC_PATCHED_TAGLIB_ID3V2_READSTYLE
-+
- #include <string>
- 
- //! A namespace for all TagLib related classes and functions
--- 
-2.33.0
-


=====================================
contrib/src/taglib/SHA512SUMS
=====================================
@@ -1 +1 @@
-986231ee62caa975afead7e94630d58acaac25a38bc33d4493d51bd635d79336e81bba60586d7355ebc0670e31f28d32da3ecceaf33292e4bc240c64bf00f35b  taglib-1.13.1.tar.gz
+099d02b2eab033f5702a8cb03e70752d7523c6f8c2f3eebdd0bcd939eafbdca3f2a6c82452983904b5822cfa45f2707ed866c3419508df9d43bf5c0b3a476f6c  taglib-2.0.tar.gz


=====================================
contrib/src/taglib/rules.mak
=====================================
@@ -1,7 +1,9 @@
 # TagLib
 
-TAGLIB_VERSION := 1.13.1
+TAGLIB_VERSION := 2.0
 TAGLIB_URL := https://taglib.org/releases/taglib-$(TAGLIB_VERSION).tar.gz
+UTFCPP_GITURL := $(GITHUB)/nemtrif/utfcpp.git
+UTFCPP_GITVERSION := df857efc5bbc2aa84012d865f7d7e9cccdc08562
 
 PKGS += taglib
 ifeq ($(call need_pkg,"taglib >= 1.9"),)
@@ -15,7 +17,8 @@ $(TARBALLS)/taglib-$(TAGLIB_VERSION).tar.gz:
 
 taglib: taglib-$(TAGLIB_VERSION).tar.gz .sum-taglib
 	$(UNPACK)
-	$(APPLY) $(SRC)/taglib/0001-Implement-ID3v2-readStyle-avoid-worst-case.patch
+	cd $(UNPACK_DIR)/3rdparty && git clone -n $(UTFCPP_GITURL) utfcpp
+	cd $(UNPACK_DIR)/3rdparty/utfcpp && git checkout $(UTFCPP_GITVERSION)
 	$(MOVE)
 
 TAGLIB_CONF := -DBUILD_BINDINGS=OFF


=====================================
modules/meta_engine/taglib.cpp
=====================================
@@ -1022,13 +1022,7 @@ static int ReadMeta( vlc_object_t* p_this)
         p_stream = p_filter;
 
     VlcIostream s( p_stream );
-#ifndef VLC_PATCHED_TAGLIB_ID3V2_READSTYLE
-    uint64_t dummy;
-    if( vlc_stream_GetSize( p_stream, &dummy ) != VLC_SUCCESS )
-        s.setMaxSequentialRead( 2048 );
-    else
-        s.setMaxSequentialRead( 1024 * 2048 );
-#endif
+
     FileRef f( &s, false, AudioProperties::ReadStyle::Fast );
 
     if( f.isNull() )



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/e30871c7724d681d8028dd05b461246899d1ae1e

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/e30871c7724d681d8028dd05b461246899d1ae1e
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list