]> git.tdb.fi Git - libs/al.git/blobdiff - source/oggdecoder.h
Add signature detection for sound files
[libs/al.git] / source / oggdecoder.h
index a3f5504c4c00bac79a4d46f61ea703c13e6eabc0..aab8f5c8da6b06c7b66049e90d1687e2fe4ee4bc 100644 (file)
@@ -1,11 +1,23 @@
 #ifndef MSP_AL_OGGDECODER_H_
 #define MSP_AL_OGGDECODER_H_
 
+#include <stdexcept>
 #include "sounddecoder.h"
 
 namespace Msp {
 namespace AL {
 
+class ogg_error: public std::runtime_error
+{
+public:
+       ogg_error(const std::string &, int);
+       virtual ~ogg_error() throw() { }
+
+private:
+       static std::string get_message(int);
+};
+
+
 class OggDecoder: public SoundDecoder
 {
 private:
@@ -17,6 +29,8 @@ public:
        OggDecoder(IO::Seekable &);
        ~OggDecoder();
 
+       static bool detect(const std::string &);
+
        virtual void rewind();
        virtual unsigned read(char *, unsigned);
 };