disable creation of unknown objects for wma files, because we've seen the cases when it could be as large as whole file, and we are greedy for the ram

CCMAIL:lalinsky@gmail.com


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1217775 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
This commit is contained in:
Nick Shaforostoff 2011-01-28 15:14:04 +00:00
parent c56c0a3d0c
commit a4f53d9b4a

View File

@ -320,18 +320,23 @@ void ASF::File::HeaderExtensionObject::parse(ASF::File *file, uint /*size*/)
while(dataPos < dataSize) {
ByteVector guid = file->readBlock(16);
long long size = file->readQWORD();
BaseObject *obj;
BaseObject *obj = 0;
if(guid == metadataGuid) {
obj = new MetadataObject();
}
else if(guid == metadataLibraryGuid) {
obj = new MetadataLibraryObject();
}
//FIXME this UnknownObject can be as large as whole file, so i disable it for now --Nick Shaforostoff <shafff@ukr.net>
/*
else {
obj = new UnknownObject(guid);
}
obj->parse(file, size);
objects.append(obj);
*/
if(obj) {
obj->parse(file, size);
objects.append(obj);
}
dataPos += size;
}
}
@ -360,6 +365,7 @@ ASF::File::File(FileName file, bool readProperties, Properties::ReadStyle proper
ASF::File::~File()
{
for(unsigned int i = 0; i < d->objects.size(); i++) {
d->objects[i]->data.clear();
delete d->objects[i];
}
if(d->tag) {