diff options
author | Vegard Storheil Eriksen <zyp@jvnv.net> | 2011-01-06 05:29:39 +0100 |
---|---|---|
committer | Vegard Storheil Eriksen <zyp@jvnv.net> | 2011-01-06 05:29:47 +0100 |
commit | 6f2fefdd9ff5f8561b3538efb5eb0765a9b4a141 (patch) | |
tree | de37cd2d500a777344b611321ac45bce66ad5c26 /decoder.cpp | |
parent | ffd8b5976af7e80425c7cf043528212528877b16 (diff) |
Replaced iostream-based decoder-encoder chain with direct chain.
Diffstat (limited to 'decoder.cpp')
-rw-r--r-- | decoder.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/decoder.cpp b/decoder.cpp index c362745..9330c6e 100644 --- a/decoder.cpp +++ b/decoder.cpp @@ -6,19 +6,14 @@ #include <map> -DecoderFilter::DecoderFilter(DecoderBase::p decoder_) { - decoder = decoder_; -} - -typedef boost::function<DecoderBase::p ()> DecoderFactory; +typedef boost::function<Decoder::p (const std::string&)> DecoderFactory; std::map<std::string, DecoderFactory> decoder_factories; -void decoder::init() { +void Decoder::init() { mpg123_init(); // initialize the mpg123 library decoder_factories["mpg123"] = boost::factory<boost::shared_ptr<DecoderMpg123> >(); } -//! Construct a filter with the given decoder. -DecoderFilter::p decoder::get_decoder(const std::string& name) { - return DecoderFilter::p(new DecoderFilter(decoder_factories[name]())); +Decoder::p Decoder::get(const std::string& name, const std::string& filename) { + return decoder_factories[name](filename); } |