20#ifndef SAYONARA_PLAYER_CONVERTERFACTORY_H
21#define SAYONARA_PLAYER_CONVERTERFACTORY_H
23#include "Utils/Pimpl.h"
32 enum class ConvertType : uint8_t
39 enum class Bitrate : uint8_t
48 template<ConvertType t,
typename...Args>
49 typename std::enable_if<t == ConvertType::OggVorbis, Converter*>::type
50 createConverter(Args&& ...args)
52 return finalizeConverter(createOggConverter(args...));
55 template<ConvertType t,
typename...Args>
56 typename std::enable_if<t == ConvertType::Lame || t == ConvertType::OggOpus, Converter*>::type
57 createConverter(Args&& ...args)
59 if(t == ConvertType::Lame)
61 return finalizeConverter(createLameConverter(args...));
64 else if(t == ConvertType::OggOpus)
66 return finalizeConverter(createOpusConverter(args...));
76 Converter* createOggConverter(
int quality);
77 Converter* createLameConverter(Bitrate cbr,
int quality);
78 Converter* createOpusConverter(Bitrate cbr,
int quality);
Definition: ConverterFactory.h:28
Definition: Converter.h:33
Definition: PlaylistInterface.h:39