diff options
Diffstat (limited to 'taglib/riff/aiff/aifffile.cpp')
-rw-r--r-- | taglib/riff/aiff/aifffile.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/taglib/riff/aiff/aifffile.cpp b/taglib/riff/aiff/aifffile.cpp index 1a29938c..4f9c868e 100644 --- a/taglib/riff/aiff/aifffile.cpp +++ b/taglib/riff/aiff/aifffile.cpp @@ -28,6 +28,7 @@ #include <id3v2tag.h> #include <tstringlist.h> #include <tpropertymap.h> +#include <tagutils.h> #include "aifffile.h" @@ -54,6 +55,18 @@ public: }; //////////////////////////////////////////////////////////////////////////////// +// static members +//////////////////////////////////////////////////////////////////////////////// + +bool RIFF::AIFF::File::isSupported(IOStream *stream) +{ + // An AIFF file has to start with "FORM????AIFF" or "FORM????AIFC". + + const ByteVector id = Utils::readHeader(stream, 12, false); + return (id.startsWith("FORM") && (id.containsAt("AIFF", 8) || id.containsAt("AIFC", 8))); +} + +//////////////////////////////////////////////////////////////////////////////// // public members //////////////////////////////////////////////////////////////////////////////// |