#ifndef ENCODER_H #define ENCODER_H #include "decoder.h" #include #include class Encoder { public: typedef boost::shared_ptr p; //! Virtual destructor. virtual ~Encoder() {} //! Initialize encoders. static void init(); //! Construct and return requested encoder. static p get(const std::string& name, RawAudioSource::p source); //! Read into provided buffer. virtual std::size_t read(char* buf, std::size_t buf_size) = 0; //! MIME type of output. virtual std::string get_mime_type() = 0; }; #endif