From 78571ed421e3fd3d5244cd76670e4e1bab69132f Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Fri, 27 May 2016 17:30:28 +0200 Subject: [PATCH 1/1] Fix nullpadding issue when reading certain id3v1 tags backported from upstream commit to master branch: https://github.com/xbmc/xbmc/commit/cdabf9dd9e82f4b2d639fb769db08227a7c52046 to fix problems with taglib-1.11: http://trac.kodi.tv/ticket/16454 https://github.com/taglib/taglib/issues/741#issuecomment-218059031 Signed-off-by: Bernd Kuhls --- xbmc/music/tags/TagLoaderTagLib.cpp | 21 --------------------- xbmc/music/tags/TagLoaderTagLib.h | 3 +++ 2 files changed, 3 insertions(+), 21 deletions(-) diff --git a/xbmc/music/tags/TagLoaderTagLib.cpp b/xbmc/music/tags/TagLoaderTagLib.cpp index b78a591..0fc346a 100644 --- a/xbmc/music/tags/TagLoaderTagLib.cpp +++ b/xbmc/music/tags/TagLoaderTagLib.cpp @@ -46,31 +46,12 @@ #include "utils/URIUtils.h" #include "utils/log.h" #include "utils/StringUtils.h" -#include "utils/CharsetConverter.h" #include "utils/Base64.h" #include "settings/AdvancedSettings.h" using namespace TagLib; using namespace MUSIC_INFO; -template -class TagStringHandler : public T -{ -public: - TagStringHandler() {} - virtual ~TagStringHandler() {} - virtual String parse(const ByteVector &data) const - { - std::string strSource(data.data(), data.size()); - std::string strUTF8; - g_charsetConverter.unknownToUTF8(strSource, strUTF8); - return String(strUTF8, String::UTF8); - } -}; - -static const TagStringHandler ID3v1StringHandler; -static const TagStringHandler ID3v2StringHandler; - CTagLoaderTagLib::CTagLoaderTagLib() { } @@ -824,8 +805,6 @@ bool CTagLoaderTagLib::Load(const std::string& strFileName, CMusicInfoTag& tag, return false; } - ID3v1::Tag::setStringHandler(&ID3v1StringHandler); - ID3v2::Tag::setLatin1StringHandler(&ID3v2StringHandler); TagLib::File* file = NULL; TagLib::APE::File* apeFile = NULL; TagLib::ASF::File* asfFile = NULL; diff --git a/xbmc/music/tags/TagLoaderTagLib.h b/xbmc/music/tags/TagLoaderTagLib.h index f83ea4f..0edb84f 100644 --- a/xbmc/music/tags/TagLoaderTagLib.h +++ b/xbmc/music/tags/TagLoaderTagLib.h @@ -44,6 +44,9 @@ #include #include "ImusicInfoTagLoader.h" +#include +#include + namespace MUSIC_INFO { class CMusicInfoTag; -- 2.8.1