Avoid writing an empty ID3v2 tag in an AIFF file.

This commit is contained in:
Tsuda Kageyu 2015-11-30 13:42:25 +09:00
parent f1b683b582
commit 8c424badad
2 changed files with 15 additions and 3 deletions

View File

@ -117,9 +117,12 @@ bool RIFF::AIFF::File::save()
removeChunk("ID3 ");
removeChunk("id3 ");
d->hasID3v2 = false;
setChunkData("ID3 ", d->tag->render());
d->hasID3v2 = true;
if(tag() && !tag()->isEmpty()) {
setChunkData("ID3 ", d->tag->render());
d->hasID3v2 = true;
}
return true;
}

View File

@ -64,14 +64,23 @@ public:
{
RIFF::AIFF::File f(newname.c_str());
CPPUNIT_ASSERT(!f.hasID3v2Tag());
f.tag()->setTitle(L"TitleXXX");
f.save();
CPPUNIT_ASSERT(f.hasID3v2Tag());
}
{
RIFF::AIFF::File f(newname.c_str());
CPPUNIT_ASSERT(f.hasID3v2Tag());
CPPUNIT_ASSERT_EQUAL(String(L"TitleXXX"), f.tag()->title());
f.tag()->setTitle("");
f.save();
CPPUNIT_ASSERT(!f.hasID3v2Tag());
}
{
RIFF::AIFF::File f(newname.c_str());
CPPUNIT_ASSERT(!f.hasID3v2Tag());
}
}