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*);
|
void*);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
bool use_cfg_file;
|
||||||
const char* cfg_path;
|
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_video_buffer;
|
||||||
OnReceiveBuffer on_receive_audio_buffer;
|
OnReceiveBuffer on_receive_audio_buffer;
|
||||||
OnReceiveBuffer on_receive_data_buffer;
|
OnReceiveBuffer on_receive_data_buffer;
|
||||||
|
|||||||
@@ -27,44 +27,66 @@ int PeerConnection::Init(PeerConnectionParams params,
|
|||||||
// Todo: checkout user_id unique or not
|
// Todo: checkout user_id unique or not
|
||||||
user_id_ = user_id;
|
user_id_ = user_id;
|
||||||
|
|
||||||
INIReader reader(params.cfg_path);
|
if (params.use_cfg_file) {
|
||||||
cfg_signal_server_ip_ = reader.Get("signal server", "ip", "-1");
|
INIReader reader(params.cfg_path);
|
||||||
cfg_signal_server_port_ = reader.Get("signal server", "port", "-1");
|
cfg_signal_server_ip_ = reader.Get("signal server", "ip", "-1");
|
||||||
cfg_stun_server_ip_ = reader.Get("stun server", "ip", "-1");
|
cfg_signal_server_port_ = reader.Get("signal server", "port", "-1");
|
||||||
cfg_stun_server_port_ = reader.Get("stun server", "port", "-1");
|
cfg_stun_server_ip_ = reader.Get("stun server", "ip", "-1");
|
||||||
cfg_turn_server_ip_ = reader.Get("turn server", "ip", "");
|
cfg_stun_server_port_ = reader.Get("stun server", "port", "-1");
|
||||||
cfg_turn_server_port_ = reader.Get("turn server", "port", "-1");
|
cfg_turn_server_ip_ = reader.Get("turn server", "ip", "");
|
||||||
cfg_turn_server_username_ = reader.Get("turn server", "username", "");
|
cfg_turn_server_port_ = reader.Get("turn server", "port", "-1");
|
||||||
cfg_turn_server_password_ = reader.Get("turn server", "password", "");
|
cfg_turn_server_username_ = reader.Get("turn server", "username", "");
|
||||||
cfg_hardware_acceleration_ =
|
cfg_turn_server_password_ = reader.Get("turn server", "password", "");
|
||||||
reader.Get("hardware acceleration", "turn_on", "false");
|
cfg_hardware_acceleration_ =
|
||||||
cfg_av1_encoding_ = reader.Get("av1 encoding", "turn_on", "false");
|
reader.Get("hardware acceleration", "turn_on", "false");
|
||||||
|
cfg_av1_encoding_ = reader.Get("av1 encoding", "turn_on", "false");
|
||||||
|
|
||||||
std::regex regex("\n");
|
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_);
|
||||||
|
|
||||||
signal_server_port_ = stoi(cfg_signal_server_port_);
|
hardware_acceleration_ =
|
||||||
stun_server_port_ = stoi(cfg_stun_server_port_);
|
cfg_hardware_acceleration_ == "true" ? true : false;
|
||||||
turn_server_port_ = stoi(cfg_turn_server_port_);
|
av1_encoding_ = cfg_av1_encoding_ == "true" ? true : false;
|
||||||
|
|
||||||
LOG_INFO("stun server ip [{}] port [{}]", cfg_stun_server_ip_,
|
} else {
|
||||||
stun_server_port_);
|
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_ &&
|
if (!cfg_turn_server_ip_.empty() && 0 != turn_server_port_ &&
|
||||||
!cfg_turn_server_username_.empty() &&
|
!cfg_turn_server_username_.empty() &&
|
||||||
!cfg_turn_server_password_.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_ip_, turn_server_port_, cfg_turn_server_username_,
|
||||||
cfg_turn_server_password_);
|
cfg_turn_server_password_);
|
||||||
}
|
}
|
||||||
|
|
||||||
hardware_acceleration_ = cfg_hardware_acceleration_ == "true" ? true : false;
|
|
||||||
LOG_INFO("Hardware accelerated codec [{}]",
|
LOG_INFO("Hardware accelerated codec [{}]",
|
||||||
hardware_acceleration_ ? "ON" : "OFF");
|
hardware_acceleration_ ? "ON" : "OFF");
|
||||||
|
LOG_INFO("AV1 encoding [{}]", av1_encoding_ ? "ON" : "OFF");
|
||||||
av1_encoding_ = cfg_av1_encoding_ == "true" ? true : false;
|
|
||||||
LOG_INFO("av1 encoding [{}]", av1_encoding_ ? "ON" : "OFF");
|
|
||||||
|
|
||||||
on_receive_video_buffer_ = params.on_receive_video_buffer;
|
on_receive_video_buffer_ = params.on_receive_video_buffer;
|
||||||
on_receive_audio_buffer_ = params.on_receive_audio_buffer;
|
on_receive_audio_buffer_ = params.on_receive_audio_buffer;
|
||||||
|
|||||||
@@ -24,7 +24,20 @@ typedef void (*NetStatusReport)(const unsigned short, const unsigned short,
|
|||||||
void *);
|
void *);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
bool use_cfg_file;
|
||||||
const char *cfg_path;
|
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_video_buffer;
|
||||||
OnReceiveBuffer on_receive_audio_buffer;
|
OnReceiveBuffer on_receive_audio_buffer;
|
||||||
OnReceiveBuffer on_receive_data_buffer;
|
OnReceiveBuffer on_receive_data_buffer;
|
||||||
|
|||||||
@@ -13,7 +13,21 @@ using nlohmann::json;
|
|||||||
PeerPtr *CreatePeer(const Params *params) {
|
PeerPtr *CreatePeer(const Params *params) {
|
||||||
PeerPtr *peer_ptr = new PeerPtr;
|
PeerPtr *peer_ptr = new PeerPtr;
|
||||||
peer_ptr->peer_connection = new PeerConnection();
|
peer_ptr->peer_connection = new PeerConnection();
|
||||||
peer_ptr->pc_params.cfg_path = params->cfg_path;
|
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_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_audio_buffer = params->on_receive_audio_buffer;
|
||||||
peer_ptr->pc_params.on_receive_data_buffer = params->on_receive_data_buffer;
|
peer_ptr->pc_params.on_receive_data_buffer = params->on_receive_data_buffer;
|
||||||
|
|||||||
Reference in New Issue
Block a user