diff --git a/taglib/mpeg/id3v2/id3v2framefactory.cpp b/taglib/mpeg/id3v2/id3v2framefactory.cpp index 77bd85d5..e1850833 100644 --- a/taglib/mpeg/id3v2/id3v2framefactory.cpp +++ b/taglib/mpeg/id3v2/id3v2framefactory.cpp @@ -153,7 +153,7 @@ Frame *FrameFactory::createFrame(const ByteVector &origData, Header *tagHeader) // Text Identification (frames 4.2) - if(frameID.startsWith("T") || frameID == "IPLS") { + if(frameID.startsWith("T")) { TextIdentificationFrame *f = frameID != "TXXX" ? new TextIdentificationFrame(data, header) @@ -368,6 +368,7 @@ bool FrameFactory::updateFrame(Frame::Header *header) const convertFrame("TORY", "TDOR", header); convertFrame("TYER", "TDRC", header); + convertFrame("IPLS", "TIPL", header); break; } diff --git a/tests/test_id3v2.cpp b/tests/test_id3v2.cpp index 440e4f1e..8b8939b3 100644 --- a/tests/test_id3v2.cpp +++ b/tests/test_id3v2.cpp @@ -513,7 +513,7 @@ public: CPPUNIT_ASSERT(tf); CPPUNIT_ASSERT_EQUAL(TagLib::uint(1), tf->fieldList().size()); CPPUNIT_ASSERT_EQUAL(String("2012"), tf->fieldList().front()); - tf = dynamic_cast(bar.ID3v2Tag()->frameList("IPLS").front()); + tf = dynamic_cast(bar.ID3v2Tag()->frameList("TIPL").front()); CPPUNIT_ASSERT(tf); CPPUNIT_ASSERT_EQUAL(TagLib::uint(8), tf->fieldList().size()); CPPUNIT_ASSERT_EQUAL(String("Guitar"), tf->fieldList()[0]);