mirror of
https://github.com/taglib/taglib.git
synced 2025-05-27 21:20:26 -04:00
Fixed ID3v1-style genre to string conversion in MP4 files
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1042312 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
This commit is contained in:
parent
e8281e1b9f
commit
76b6d4fc9e
1
NEWS
1
NEWS
@ -10,6 +10,7 @@ TagLib 1.6.1
|
||||
* Fixed a failing test on ppc64.
|
||||
* Support for binary 'covr' atom in MP4 files. TagLib 1.6 treated them
|
||||
as text atoms, which corrupted them in some cases.
|
||||
* Fixed ID3v1-style genre to string conversion in MP4 files.
|
||||
|
||||
TagLib 1.6
|
||||
==========
|
||||
|
@ -143,8 +143,8 @@ MP4::Tag::parseGnre(MP4::Atom *atom, TagLib::File *file)
|
||||
ByteVectorList data = parseData(atom, file);
|
||||
if(data.size()) {
|
||||
int idx = (int)data[0].toShort();
|
||||
if(!d->items.contains("\251gen")) {
|
||||
d->items.insert("\251gen", StringList(ID3v1::genre(idx)));
|
||||
if(!d->items.contains("\251gen") && idx > 0) {
|
||||
d->items.insert("\251gen", StringList(ID3v1::genre(idx - 1)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
BIN
tests/data/gnre.m4a
Normal file
BIN
tests/data/gnre.m4a
Normal file
Binary file not shown.
@ -19,6 +19,7 @@ class TestMP4 : public CppUnit::TestFixture
|
||||
CPPUNIT_TEST(testUpdateStco);
|
||||
CPPUNIT_TEST(testSaveExisingWhenIlstIsLast);
|
||||
CPPUNIT_TEST(test64BitAtom);
|
||||
CPPUNIT_TEST(testGnre);
|
||||
CPPUNIT_TEST(testCovrRead);
|
||||
CPPUNIT_TEST(testCovrWrite);
|
||||
CPPUNIT_TEST_SUITE_END();
|
||||
@ -147,6 +148,12 @@ public:
|
||||
deleteFile(filename);
|
||||
}
|
||||
|
||||
void testGnre()
|
||||
{
|
||||
MP4::File *f = new MP4::File("data/gnre.m4a");
|
||||
CPPUNIT_ASSERT_EQUAL(TagLib::String("Ska"), f->tag()->genre());
|
||||
}
|
||||
|
||||
void testCovrRead()
|
||||
{
|
||||
MP4::File *f = new MP4::File("data/has-tags.m4a");
|
||||
|
Loading…
Reference in New Issue
Block a user