20#ifndef SAYONARA_PLAYER_CONVERTERFACTORY_H
21#define SAYONARA_PLAYER_CONVERTERFACTORY_H
23#include "Utils/Pimpl.h"
35 enum class ConvertType :
53 template<ConvertType t,
typename...Args>
54 typename std::enable_if<t == ConvertType::OggVorbis, Converter*>::type
55 createConverter(Args&& ...args)
57 return finalizeConverter(createOggConverter(args...));
60 template<ConvertType t,
typename...Args>
61 typename std::enable_if<t == ConvertType::Lame || t == ConvertType::OggOpus, Converter*>::type
62 createConverter(Args&& ...args)
64 if(t == ConvertType::Lame)
66 return finalizeConverter(createLameConverter(args...));
69 else if(t == ConvertType::OggOpus)
71 return finalizeConverter(createOpusConverter(args...));
81 Converter* createOggConverter(
int quality);
82 Converter* createLameConverter(Bitrate cbr,
int quality);
83 Converter* createOpusConverter(Bitrate cbr,
int quality);
Definition ConverterFactory.h:31
Definition Converter.h:33
Definition PlaylistInterface.h:43