aboutsummaryrefslogtreecommitdiffstats
path: root/taglib/asf/asffile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'taglib/asf/asffile.cpp')
-rw-r--r--taglib/asf/asffile.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/taglib/asf/asffile.cpp b/taglib/asf/asffile.cpp
index 8f395265..d5a80bca 100644
--- a/taglib/asf/asffile.cpp
+++ b/taglib/asf/asffile.cpp
@@ -27,6 +27,7 @@
#include <tbytevectorlist.h>
#include <tpropertymap.h>
#include <tstring.h>
+#include <tagutils.h>
#include "asffile.h"
#include "asftag.h"
@@ -474,6 +475,18 @@ void ASF::File::FilePrivate::CodecListObject::parse(ASF::File *file, unsigned in
}
////////////////////////////////////////////////////////////////////////////////
+// static members
+////////////////////////////////////////////////////////////////////////////////
+
+bool ASF::File::isSupported(IOStream *stream)
+{
+ // An ASF file has to start with the designated GUID.
+
+ const ByteVector id = Utils::readHeader(stream, 16, false);
+ return (id == headerGuid);
+}
+
+////////////////////////////////////////////////////////////////////////////////
// public members
////////////////////////////////////////////////////////////////////////////////