summaryrefslogtreecommitdiff
path: root/encoder.cpp
diff options
context:
space:
mode:
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);
}