summaryrefslogtreecommitdiff
path: root/encoder.cpp
diff options
context:
space:
mode:
authorVegard Storheil Eriksen <zyp@jvnv.net>2011-01-06 05:29:39 +0100
committerVegard Storheil Eriksen <zyp@jvnv.net>2011-01-06 05:29:47 +0100
commit6f2fefdd9ff5f8561b3538efb5eb0765a9b4a141 (patch)
treede37cd2d500a777344b611321ac45bce66ad5c26 /encoder.cpp
parentffd8b5976af7e80425c7cf043528212528877b16 (diff)
Replaced iostream-based decoder-encoder chain with direct chain.
Diffstat (limited to 'encoder.cpp')
-rw-r--r--encoder.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/encoder.cpp b/encoder.cpp
index 0f2a5fe..9d352dc 100644
--- a/encoder.cpp
+++ b/encoder.cpp
@@ -6,18 +6,13 @@
#include <map>
-EncoderFilter::EncoderFilter(EncoderBase::p encoder_) {
- encoder = encoder_;
-}
-
-typedef boost::function<EncoderBase::p ()> EncoderFactory;
+typedef boost::function<Encoder::p (RawAudioSource::p)> EncoderFactory;
std::map<std::string, EncoderFactory> encoder_factories;
-void encoder::init() {
+void Encoder::init() {
encoder_factories["lame"] = boost::factory<boost::shared_ptr<EncoderLame> >();
}
-//! Construct a filter with the given encoder.
-EncoderFilter::p encoder::get_encoder(const std::string& name) {
- return EncoderFilter::p(new EncoderFilter(encoder_factories[name]()));
+Encoder::p Encoder::get(const std::string& name, RawAudioSource::p source) {
+ return encoder_factories[name](source);
}