From 3a3bab26aea5c064c07c307d1e8ccf463edae568 Mon Sep 17 00:00:00 2001 From: Jon Bergli Heier Date: Mon, 3 Jan 2011 20:50:59 +0100 Subject: Decoder, encoder and transcoder-related classes and factories now uses boost::shared_ptr. --- encoder.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'encoder.cpp') diff --git a/encoder.cpp b/encoder.cpp index 9bea59b..d0566fb 100644 --- a/encoder.cpp +++ b/encoder.cpp @@ -3,16 +3,17 @@ #include -namespace encoder { - typedef boost::function EncoderFactory; - std::map encoder_factories; - -void init() { - encoder_factories["lame"] = boost::factory(); +EncoderFilter::EncoderFilter(EncoderBase::p encoder_) { + encoder = encoder_; } -EncoderBase *get_encoder(const std::string& name) { - return encoder_factories[name](); +typedef boost::function()> EncoderFactory; +std::map encoder_factories; + +void encoder::init() { + encoder_factories["lame"] = boost::factory >(); } -}; +EncoderFilter::p encoder::get_encoder(const std::string& name) { + return EncoderFilter::p(new EncoderFilter(EncoderBase::p(encoder_factories[name]()))); +} -- cgit v1.2.3