diff options
Diffstat (limited to 'audio/kid3-qt5/files/patch-src_plugins_mp4v2metadata_m4afile.cpp')
-rw-r--r-- | audio/kid3-qt5/files/patch-src_plugins_mp4v2metadata_m4afile.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/audio/kid3-qt5/files/patch-src_plugins_mp4v2metadata_m4afile.cpp b/audio/kid3-qt5/files/patch-src_plugins_mp4v2metadata_m4afile.cpp new file mode 100644 index 000000000000..c7c979f5ecba --- /dev/null +++ b/audio/kid3-qt5/files/patch-src_plugins_mp4v2metadata_m4afile.cpp @@ -0,0 +1,53 @@ +cmID and xid atoms only supported in mp4v2 >= 2.0.0 + +--- src/plugins/mp4v2metadata/m4afile.cpp.orig 2018-04-18 18:01:00 UTC ++++ src/plugins/mp4v2metadata/m4afile.cpp +@@ -136,6 +136,8 @@ static const struct { + { "geID", Frame::FT_Other }, + { "purl", Frame::FT_Other }, + { "egid", Frame::FT_Other }, ++#endif ++#if MPEG4IP_MAJOR_MINOR_VERSION >= 0x0200 + { "cmID", Frame::FT_Other }, + { "xid ", Frame::FT_Other }, + #endif +@@ -346,8 +348,11 @@ static QByteArray getValueByteArray(const char* name, + #if MPEG4IP_MAJOR_MINOR_VERSION >= 0x0109 + } else if (std::strcmp(name, "tvsn") == 0 || std::strcmp(name, "tves") == 0 || + std::strcmp(name, "sfID") == 0 || std::strcmp(name, "cnID") == 0 || +- std::strcmp(name, "atID") == 0 || std::strcmp(name, "geID") == 0 || +- std::strcmp(name, "cmID") == 0) { ++ std::strcmp(name, "atID") == 0 || std::strcmp(name, "geID") == 0 ++#if MPEG4IP_MAJOR_MINOR_VERSION >= 0x0200 ++ || std::strcmp(name, "cmID") == 0 ++#endif ++ ) { + if (size >= 4) { + uint val = value[3] + (value[2] << 8) + + (value[1] << 16) + (value[0] << 24); +@@ -712,11 +717,13 @@ bool M4aFile::writeTags(bool force, bool* renamed, boo + } else if (name == QLatin1String("geID")) { + uint32_t val = str.toULong(); + MP4TagsSetGenreID(tags, &val); ++#if MPEG4IP_MAJOR_MINOR_VERSION >= 0x0200 + } else if (name == QLatin1String("cmID")) { + uint32_t val = str.toULong(); + MP4TagsSetComposerID(tags, &val); + } else if (name == QLatin1String("xid ")) { + MP4TagsSetXID(tags, str); ++#endif + } else { + MP4ItmfItem* item; + if (name.length() == 4 && +@@ -1306,7 +1313,10 @@ QStringList M4aFile::getFrameIds(Frame::TagNumber tagN + QLatin1String("plID") << QLatin1String("purd") << QLatin1String("rtng") << QLatin1String("sfID") << + QLatin1String("sosn") << QLatin1String("stik") << QLatin1String("tven") << + QLatin1String("tves") << QLatin1String("tvnn") << QLatin1String("tvsh") << QLatin1String("tvsn") << +- QLatin1String("purl") << QLatin1String("egid") << QLatin1String("cmID") << QLatin1String("xid "); ++ QLatin1String("purl") << QLatin1String("egid"); ++#endif ++#if MPEG4IP_MAJOR_MINOR_VERSION >= 0x0200 ++ lst << QLatin1String("cmID") << QLatin1String("xid "); + #endif + return lst; + } |