+++ /dev/null
-#ifndef MSP_AL_MP3DECODER_H_
-#define MSP_AL_MP3DECODER_H_
-
-#include <stdexcept>
-#include "sounddecoder.h"
-
-namespace Msp {
-namespace AL {
-
-class mp3_error: public std::runtime_error
-{
-public:
- mp3_error(const std::string &, int);
- virtual ~mp3_error() throw() { }
-
-private:
- static std::string get_message(int);
-};
-
-
-/**
-Decoder for MPEG-2 audio files, a.k.a. MP2 and MP3 files. Normally you should
-use one of the SoundDecoder::open_* functions to create a decoder.
-*/
-class Mp3Decoder: public SoundDecoder
-{
-private:
- struct Private;
-
- Private *priv;
- IO::Seekable ∈
- unsigned in_buf_size;
- char *in_buffer;
- unsigned read_pos;
-
-public:
- Mp3Decoder(IO::Seekable &);
- virtual ~Mp3Decoder();
-
- static bool detect(const std::string &);
-
- virtual void seek(unsigned);
- virtual unsigned read(char *, unsigned);
-
-private:
- bool fill_input();
- bool try_decode(bool);
- bool decode(bool);
-};
-
-} // namespace AL
-} // namespace Msp
-
-#endif