]> granicus.if.org Git - taglib/commitdiff
disable creation of unknown objects for wma files, because we've seen the cases when...
authorNick Shaforostoff <shafff@ukr.net>
Fri, 28 Jan 2011 15:14:04 +0000 (15:14 +0000)
committerNick Shaforostoff <shafff@ukr.net>
Fri, 28 Jan 2011 15:14:04 +0000 (15:14 +0000)
CCMAIL:lalinsky@gmail.com

git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1217775 283d02a7-25f6-0310-bc7c-ecb5cbfe19da

taglib/asf/asffile.cpp

index 5c23ceb3f820d002b4eec8d4815253e17cd4fb5c..b7057c65e94d396ea62db4811a661f02311aceb9 100644 (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) {