#include #include #include #include #include #include #include "logc/log.h" #include "tomlc99/toml.h" #include "capture.h" #define config_file_path "config.toml" int main(int argc, char **argv) { FILE *fp; char errbuf[200]; char config_path[200]; sprintf(config_path, "%s/%s", getcwd(NULL, 0), config_file_path); log_info("load config from %s", config_path); fp = fopen(config_path, "r"); if (!fp) { log_error("can not open conifg file"); return -1; } toml_table_t *conf = toml_parse_file(fp, errbuf, sizeof(errbuf)); fclose(fp); if (!conf) { log_error("cannot parse - %s", errbuf); } toml_table_t *server = toml_table_in(conf, "server"); if (!server) { log_error("missing [server]"); } toml_datum_t server_0_index = toml_int_in(server, "server_0_index"); toml_datum_t server_1_index = toml_int_in(server, "server_1_index"); // toml_datum_t server_2_index = toml_int_in(server, "server_2_index"); toml_datum_t server_0_port = toml_int_in(server, "server_0_port"); toml_datum_t server_1_port = toml_int_in(server, "server_1_port"); // toml_datum_t server_2_port = toml_int_in(server, "server_2_port"); capture cap0(server_0_index.u.i, server_0_port.u.i); capture cap1(server_1_index.u.i, server_1_port.u.i, 320, 240, 60, true); // capture cap2(server_2_index.u.i, server_2_port.u.i, 640, 480); cap0.start(); cap1.start(); // cap2.start(); cap1.thread_request->join(); return 0; }