Merge pull request #574 from TsudaKageyu/skip-dup-chunks

Skip duplicate chunks when reading AIFF/WAV files.
This commit is contained in:
Stephen F. Booth 2015-05-24 14:38:50 -04:00
commit 0aa75b2e8d
2 changed files with 24 additions and 6 deletions

View File

@ -150,8 +150,14 @@ void RIFF::AIFF::File::read(bool readProperties, Properties::ReadStyle propertie
debug("RIFF::AIFF::File::read() - Duplicate ID3v2 tag found.");
}
}
else if(name == "COMM" && readProperties)
formatData = chunkData(i);
else if(name == "COMM" && readProperties) {
if(formatData.isEmpty()) {
formatData = chunkData(i);
}
else {
debug("RIFF::AIFF::File::read() - Duplicate 'COMM' chunk found.");
}
}
}
if(!d->tag)

View File

@ -217,10 +217,22 @@ void RIFF::WAV::File::read(bool readProperties, Properties::ReadStyle properties
}
}
}
else if(name == "fmt " && readProperties)
formatData = chunkData(i);
else if(name == "data" && readProperties)
streamLength = chunkDataSize(i);
else if(name == "fmt " && readProperties) {
if(formatData.isEmpty()) {
formatData = chunkData(i);
}
else {
debug("RIFF::WAV::File::read() - Duplicate 'fmt ' chunk found.");
}
}
else if(name == "data" && readProperties) {
if(streamLength == 0) {
streamLength = chunkDataSize(i);
}
else {
debug("RIFF::WAV::File::read() - Duplicate 'data' chunk found.");
}
}
}
if(!d->tag[ID3v2Index])