mirror of
https://github.com/kunkundi/crossdesk.git
synced 2025-10-27 04:35:34 +08:00
Support read configure params from input directly
This commit is contained in:
@@ -48,7 +48,20 @@ typedef void (*NetStatusReport)(const unsigned short, const unsigned short,
|
||||
void*);
|
||||
|
||||
typedef struct {
|
||||
bool use_cfg_file;
|
||||
const char* cfg_path;
|
||||
|
||||
const char* signal_server_ip;
|
||||
int signal_server_port;
|
||||
const char* stun_server_ip;
|
||||
int stun_server_port;
|
||||
const char* turn_server_ip;
|
||||
int turn_server_port;
|
||||
const char* turn_server_username;
|
||||
const char* turn_server_password;
|
||||
bool hardware_acceleration;
|
||||
bool av1_encoding;
|
||||
|
||||
OnReceiveBuffer on_receive_video_buffer;
|
||||
OnReceiveBuffer on_receive_audio_buffer;
|
||||
OnReceiveBuffer on_receive_data_buffer;
|
||||
|
||||
@@ -27,6 +27,7 @@ int PeerConnection::Init(PeerConnectionParams params,
|
||||
// Todo: checkout user_id unique or not
|
||||
user_id_ = user_id;
|
||||
|
||||
if (params.use_cfg_file) {
|
||||
INIReader reader(params.cfg_path);
|
||||
cfg_signal_server_ip_ = reader.Get("signal server", "ip", "-1");
|
||||
cfg_signal_server_port_ = reader.Get("signal server", "port", "-1");
|
||||
@@ -42,29 +43,50 @@ int PeerConnection::Init(PeerConnectionParams params,
|
||||
|
||||
std::regex regex("\n");
|
||||
|
||||
LOG_INFO("Read config success");
|
||||
|
||||
signal_server_port_ = stoi(cfg_signal_server_port_);
|
||||
stun_server_port_ = stoi(cfg_stun_server_port_);
|
||||
turn_server_port_ = stoi(cfg_turn_server_port_);
|
||||
|
||||
LOG_INFO("stun server ip [{}] port [{}]", cfg_stun_server_ip_,
|
||||
stun_server_port_);
|
||||
hardware_acceleration_ =
|
||||
cfg_hardware_acceleration_ == "true" ? true : false;
|
||||
av1_encoding_ = cfg_av1_encoding_ == "true" ? true : false;
|
||||
|
||||
} else {
|
||||
cfg_signal_server_ip_ = params.signal_server_ip;
|
||||
signal_server_port_ = params.signal_server_port;
|
||||
cfg_stun_server_ip_ = params.stun_server_ip;
|
||||
stun_server_port_ = params.stun_server_port;
|
||||
cfg_turn_server_ip_ = params.turn_server_ip;
|
||||
turn_server_port_ = params.turn_server_port;
|
||||
cfg_turn_server_username_ = params.turn_server_username;
|
||||
cfg_turn_server_password_ = params.turn_server_password;
|
||||
hardware_acceleration_ = params.hardware_acceleration;
|
||||
av1_encoding_ = params.av1_encoding;
|
||||
|
||||
cfg_signal_server_port_ = std::to_string(signal_server_port_);
|
||||
cfg_stun_server_port_ = std::to_string(stun_server_port_);
|
||||
cfg_turn_server_port_ = std::to_string(turn_server_port_);
|
||||
}
|
||||
|
||||
LOG_INFO("Read config success, use configure file [{}]", params.use_cfg_file);
|
||||
|
||||
LOG_INFO("Signal server ip [{}] port [{}]", cfg_signal_server_ip_,
|
||||
cfg_signal_server_port_);
|
||||
|
||||
LOG_INFO("Stun server ip [{}] port [{}]", cfg_stun_server_ip_,
|
||||
cfg_stun_server_port_);
|
||||
|
||||
if (!cfg_turn_server_ip_.empty() && 0 != turn_server_port_ &&
|
||||
!cfg_turn_server_username_.empty() &&
|
||||
!cfg_turn_server_password_.empty()) {
|
||||
LOG_INFO("turn server ip [{}] port [{}] username [{}] password [{}]",
|
||||
LOG_INFO("Turn server ip [{}] port [{}] username [{}] password [{}]",
|
||||
cfg_turn_server_ip_, turn_server_port_, cfg_turn_server_username_,
|
||||
cfg_turn_server_password_);
|
||||
}
|
||||
|
||||
hardware_acceleration_ = cfg_hardware_acceleration_ == "true" ? true : false;
|
||||
LOG_INFO("Hardware accelerated codec [{}]",
|
||||
hardware_acceleration_ ? "ON" : "OFF");
|
||||
|
||||
av1_encoding_ = cfg_av1_encoding_ == "true" ? true : false;
|
||||
LOG_INFO("av1 encoding [{}]", av1_encoding_ ? "ON" : "OFF");
|
||||
LOG_INFO("AV1 encoding [{}]", av1_encoding_ ? "ON" : "OFF");
|
||||
|
||||
on_receive_video_buffer_ = params.on_receive_video_buffer;
|
||||
on_receive_audio_buffer_ = params.on_receive_audio_buffer;
|
||||
|
||||
@@ -24,7 +24,20 @@ typedef void (*NetStatusReport)(const unsigned short, const unsigned short,
|
||||
void *);
|
||||
|
||||
typedef struct {
|
||||
bool use_cfg_file;
|
||||
const char *cfg_path;
|
||||
|
||||
const char *signal_server_ip;
|
||||
int signal_server_port;
|
||||
const char *stun_server_ip;
|
||||
int stun_server_port;
|
||||
const char *turn_server_ip;
|
||||
int turn_server_port;
|
||||
const char *turn_server_username;
|
||||
const char *turn_server_password;
|
||||
bool hardware_acceleration;
|
||||
bool av1_encoding;
|
||||
|
||||
OnReceiveBuffer on_receive_video_buffer;
|
||||
OnReceiveBuffer on_receive_audio_buffer;
|
||||
OnReceiveBuffer on_receive_data_buffer;
|
||||
|
||||
@@ -13,7 +13,21 @@ using nlohmann::json;
|
||||
PeerPtr *CreatePeer(const Params *params) {
|
||||
PeerPtr *peer_ptr = new PeerPtr;
|
||||
peer_ptr->peer_connection = new PeerConnection();
|
||||
peer_ptr->pc_params.use_cfg_file = params->use_cfg_file;
|
||||
if (params->use_cfg_file) {
|
||||
peer_ptr->pc_params.cfg_path = params->cfg_path;
|
||||
} else {
|
||||
peer_ptr->pc_params.signal_server_ip = params->signal_server_ip;
|
||||
peer_ptr->pc_params.signal_server_port = params->signal_server_port;
|
||||
peer_ptr->pc_params.stun_server_ip = params->stun_server_ip;
|
||||
peer_ptr->pc_params.stun_server_port = params->stun_server_port;
|
||||
peer_ptr->pc_params.turn_server_ip = params->turn_server_ip;
|
||||
peer_ptr->pc_params.turn_server_port = params->turn_server_port;
|
||||
peer_ptr->pc_params.turn_server_username = params->turn_server_username;
|
||||
peer_ptr->pc_params.turn_server_password = params->turn_server_password;
|
||||
peer_ptr->pc_params.hardware_acceleration = params->hardware_acceleration;
|
||||
peer_ptr->pc_params.av1_encoding = params->av1_encoding;
|
||||
}
|
||||
peer_ptr->pc_params.on_receive_video_buffer = params->on_receive_video_buffer;
|
||||
peer_ptr->pc_params.on_receive_audio_buffer = params->on_receive_audio_buffer;
|
||||
peer_ptr->pc_params.on_receive_data_buffer = params->on_receive_data_buffer;
|
||||
|
||||
Reference in New Issue
Block a user