#include "encoder.h" #include "encoders/lame_encoder.h" #include "encoders/vorbis_encoder.h" #include #include #include typedef boost::function EncoderFactory; std::map encoder_factories; void Encoder::init() { encoder_factories["lame"] = boost::factory >(); encoder_factories["vorbis"] = boost::factory >(); } Encoder::p Encoder::get(const std::string& name, RawAudioSource::p source) { return encoder_factories[name](source); }