IceGStreamer/src/modules/config.h

43 lines
894 B
C++

#pragma once
#include <string>
namespace IceGStreamer {
namespace Config {
struct _config_playlist {
std::string path{};
std::string path_reload_when_touched{};
};
struct _config_icecastserver {
std::string address{"127.0.0.1"};
uint16_t port{8000};
std::string username{"source"};
std::string password{"password"};
};
struct _config_stream {
std::string mountpoint{"/test"};
uint16_t bitrate{192};
bool is_cbr{false};
bool use_track_metadata{false};
bool is_public{false};
std::string genre{};
std::string title_prefix{};
std::string title_suffix{};
std::string url{};
std::string name{};
std::string description{};
};
struct _config {
_config_playlist playlist;
_config_icecastserver icecast_server;
_config_stream stream;
bool log_debug{false};
};
const _config load(int &argc, char *argv[]);
} // namespace Config
} // namespace IceGStreamer