35 lines
1.2 KiB
C++
35 lines
1.2 KiB
C++
#include <map>
|
|
#include <string>
|
|
|
|
#include "json.h"
|
|
|
|
///\brief A typedef to simplify accessing all codecs
|
|
typedef std::map<std::string, std::string> codecInfo;
|
|
///\brief A typedef to simplify accessing all encoders
|
|
typedef std::map<std::string, codecInfo> converterInfo;
|
|
|
|
///\brief A namespace containing all functions for handling the conversion API
|
|
namespace Converter {
|
|
|
|
///\brief A class containing the basic conversion API functionality
|
|
class Converter {
|
|
public:
|
|
Converter();
|
|
converterInfo & getCodecs();
|
|
JSON::Value getEncoders();
|
|
JSON::Value queryPath(std::string myPath);
|
|
void startConversion(std::string name, JSON::Value parameters);
|
|
void updateStatus();
|
|
JSON::Value getStatus();
|
|
void clearStatus();
|
|
JSON::Value parseFFMpegStatus(std::string statusLine);
|
|
private:
|
|
void fillFFMpegEncoders();
|
|
///\brief Holds a list of all current known codecs
|
|
converterInfo allCodecs;
|
|
///\brief Holds a list of all the current conversions
|
|
std::map<std::string, JSON::Value> allConversions;
|
|
///\brief Stores the status of all conversions, and the history
|
|
std::map<std::string, std::string> statusHistory;
|
|
};
|
|
}
|