mirror of
https://github.com/kunkundi/crossdesk.git
synced 2025-10-26 12:15:34 +08:00
[feat] add SRTP switch in settings
This commit is contained in:
@@ -30,6 +30,11 @@ int ConfigCenter::SetTurn(bool enable_turn) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ConfigCenter::SetSrtp(bool enable_srtp) {
|
||||
enable_srtp_ = enable_srtp;
|
||||
return 0;
|
||||
}
|
||||
|
||||
ConfigCenter::LANGUAGE ConfigCenter::GetLanguage() { return language_; }
|
||||
|
||||
ConfigCenter::VIDEO_QUALITY ConfigCenter::GetVideoQuality() {
|
||||
@@ -42,4 +47,6 @@ ConfigCenter::VIDEO_ENCODE_FORMAT ConfigCenter::GetVideoEncodeFormat() {
|
||||
|
||||
bool ConfigCenter::IsHardwareVideoCodec() { return hardware_video_codec_; }
|
||||
|
||||
bool ConfigCenter::IsEnableTurn() { return enable_turn_; }
|
||||
bool ConfigCenter::IsEnableTurn() { return enable_turn_; }
|
||||
|
||||
bool ConfigCenter::IsEnableSrtp() { return enable_srtp_; }
|
||||
@@ -23,6 +23,7 @@ class ConfigCenter {
|
||||
int SetVideoEncodeFormat(VIDEO_ENCODE_FORMAT video_encode_format);
|
||||
int SetHardwareVideoCodec(bool hardware_video_codec);
|
||||
int SetTurn(bool enable_turn);
|
||||
int SetSrtp(bool enable_srtp);
|
||||
|
||||
public:
|
||||
LANGUAGE GetLanguage();
|
||||
@@ -30,6 +31,7 @@ class ConfigCenter {
|
||||
VIDEO_ENCODE_FORMAT GetVideoEncodeFormat();
|
||||
bool IsHardwareVideoCodec();
|
||||
bool IsEnableTurn();
|
||||
bool IsEnableSrtp();
|
||||
|
||||
private:
|
||||
// Default value should be same with parameters in localization.h
|
||||
@@ -38,6 +40,7 @@ class ConfigCenter {
|
||||
VIDEO_ENCODE_FORMAT video_encode_format_ = VIDEO_ENCODE_FORMAT::AV1;
|
||||
bool hardware_video_codec_ = false;
|
||||
bool enable_turn_ = false;
|
||||
bool enable_srtp_ = true;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -89,6 +89,9 @@ static std::vector<std::string> enable_hardware_video_codec = {
|
||||
static std::vector<std::string> enable_turn = {
|
||||
reinterpret_cast<const char*>(u8"启用中继服务:"), "Enable TURN Service:"};
|
||||
|
||||
static std::vector<std::string> enable_srtp = {
|
||||
reinterpret_cast<const char*>(u8"启用SRTP:"), "Enable SRTP:"};
|
||||
|
||||
static std::vector<std::string> ok = {reinterpret_cast<const char*>(u8"确认"),
|
||||
"OK"};
|
||||
static std::vector<std::string> cancel = {
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
#define INPUT_WINDOW_PADDING_EN 96
|
||||
#define SETTINGS_WINDOW_WIDTH_CN 181
|
||||
#define SETTINGS_WINDOW_WIDTH_EN 228
|
||||
#define SETTINGS_WINDOW_HEIGHT_CN 220
|
||||
#define SETTINGS_WINDOW_HEIGHT_EN 220
|
||||
#define SETTINGS_WINDOW_HEIGHT_CN 250
|
||||
#define SETTINGS_WINDOW_HEIGHT_EN 250
|
||||
#define LANGUAGE_SELECT_WINDOW_PADDING_CN 100
|
||||
#define LANGUAGE_SELECT_WINDOW_PADDING_EN 147
|
||||
#define VIDEO_QUALITY_SELECT_WINDOW_PADDING_CN 100
|
||||
@@ -32,6 +32,8 @@
|
||||
#define ENABLE_HARDWARE_VIDEO_CODEC_CHECKBOX_PADDING_EN 198
|
||||
#define ENABLE_TURN_CHECKBOX_PADDING_CN 151
|
||||
#define ENABLE_TURN_CHECKBOX_PADDING_EN 198
|
||||
#define ENABLE_SRTP_CHECKBOX_PADDING_CN 151
|
||||
#define ENABLE_SRTP_CHECKBOX_PADDING_EN 198
|
||||
#define SETTINGS_SELECT_WINDOW_WIDTH 73
|
||||
#define SETTINGS_OK_BUTTON_PADDING_CN 55
|
||||
#define SETTINGS_OK_BUTTON_PADDING_EN 78
|
||||
|
||||
@@ -190,6 +190,7 @@ int Render::SaveSettingsIntoCacheFile() {
|
||||
memcpy(&cd_cache_.enable_hardware_video_codec, &enable_hardware_video_codec_,
|
||||
sizeof(enable_hardware_video_codec_));
|
||||
memcpy(&cd_cache_.enable_turn, &enable_turn_, sizeof(enable_turn_));
|
||||
memcpy(&cd_cache_.enable_srtp, &enable_srtp_, sizeof(enable_srtp_));
|
||||
memcpy(&cd_cache_.key, &aes128_key_, sizeof(aes128_key_));
|
||||
memcpy(&cd_cache_.iv, &aes128_iv_, sizeof(aes128_iv_));
|
||||
|
||||
@@ -204,6 +205,7 @@ int Render::SaveSettingsIntoCacheFile() {
|
||||
(ConfigCenter::VIDEO_ENCODE_FORMAT)video_encode_format_button_value_);
|
||||
config_center_.SetHardwareVideoCodec(enable_hardware_video_codec_);
|
||||
config_center_.SetTurn(enable_turn_);
|
||||
config_center_.SetSrtp(enable_srtp_);
|
||||
|
||||
LOG_INFO("Save settings into cache file success");
|
||||
|
||||
@@ -225,6 +227,7 @@ int Render::LoadSettingsFromCacheFile() {
|
||||
video_encode_format_button_value_ = 1;
|
||||
enable_hardware_video_codec_ = false;
|
||||
enable_turn_ = false;
|
||||
enable_srtp_ = true;
|
||||
|
||||
config_center_.SetLanguage((ConfigCenter::LANGUAGE)language_button_value_);
|
||||
config_center_.SetVideoQuality(
|
||||
@@ -233,6 +236,7 @@ int Render::LoadSettingsFromCacheFile() {
|
||||
(ConfigCenter::VIDEO_ENCODE_FORMAT)video_encode_format_button_value_);
|
||||
config_center_.SetHardwareVideoCodec(enable_hardware_video_codec_);
|
||||
config_center_.SetTurn(enable_turn_);
|
||||
config_center_.SetSrtp(enable_srtp_);
|
||||
|
||||
thumbnail_.reset();
|
||||
thumbnail_ = std::make_unique<Thumbnail>(cache_path_ + "/thumbnails/");
|
||||
@@ -284,12 +288,14 @@ int Render::LoadSettingsFromCacheFile() {
|
||||
video_encode_format_button_value_ = cd_cache_.video_encode_format;
|
||||
enable_hardware_video_codec_ = cd_cache_.enable_hardware_video_codec;
|
||||
enable_turn_ = cd_cache_.enable_turn;
|
||||
enable_srtp_ = cd_cache_.enable_srtp;
|
||||
|
||||
language_button_value_last_ = language_button_value_;
|
||||
video_quality_button_value_last_ = video_quality_button_value_;
|
||||
video_encode_format_button_value_last_ = video_encode_format_button_value_;
|
||||
enable_hardware_video_codec_last_ = enable_hardware_video_codec_;
|
||||
enable_turn_last_ = enable_turn_;
|
||||
enable_srtp_last_ = enable_srtp_;
|
||||
|
||||
config_center_.SetLanguage((ConfigCenter::LANGUAGE)language_button_value_);
|
||||
config_center_.SetVideoQuality(
|
||||
@@ -298,6 +304,7 @@ int Render::LoadSettingsFromCacheFile() {
|
||||
(ConfigCenter::VIDEO_ENCODE_FORMAT)video_encode_format_button_value_);
|
||||
config_center_.SetHardwareVideoCodec(enable_hardware_video_codec_);
|
||||
config_center_.SetTurn(enable_turn_);
|
||||
config_center_.SetSrtp(enable_srtp_);
|
||||
|
||||
LOG_INFO("Load settings from cache file");
|
||||
|
||||
@@ -476,6 +483,7 @@ int Render::CreateConnectionPeer() {
|
||||
? true
|
||||
: false;
|
||||
params_.enable_turn = config_center_.IsEnableTurn();
|
||||
params_.enable_srtp = config_center_.IsEnableSrtp();
|
||||
params_.on_receive_video_buffer = nullptr;
|
||||
params_.on_receive_audio_buffer = OnReceiveAudioBufferCb;
|
||||
params_.on_receive_data_buffer = OnReceiveDataBufferCb;
|
||||
|
||||
@@ -248,6 +248,7 @@ class Render {
|
||||
int video_encode_format;
|
||||
bool enable_hardware_video_codec;
|
||||
bool enable_turn;
|
||||
bool enable_srtp;
|
||||
|
||||
unsigned char key[16];
|
||||
unsigned char iv[16];
|
||||
@@ -426,11 +427,13 @@ class Render {
|
||||
int video_encode_format_button_value_ = 0;
|
||||
bool enable_hardware_video_codec_ = false;
|
||||
bool enable_turn_ = false;
|
||||
bool enable_srtp_ = true;
|
||||
int language_button_value_last_ = 0;
|
||||
int video_quality_button_value_last_ = 0;
|
||||
int video_encode_format_button_value_last_ = 0;
|
||||
bool enable_hardware_video_codec_last_ = false;
|
||||
bool enable_turn_last_ = false;
|
||||
bool enable_srtp_last_ = true;
|
||||
bool settings_window_pos_reset_ = true;
|
||||
/* ------ main window property end ------ */
|
||||
|
||||
|
||||
@@ -161,6 +161,23 @@ int Render::SettingWindow() {
|
||||
ImGui::Checkbox("##enable_turn", &enable_turn_);
|
||||
}
|
||||
|
||||
ImGui::Separator();
|
||||
|
||||
{
|
||||
ImGui::SetCursorPosY(182);
|
||||
ImGui::Text(
|
||||
"%s",
|
||||
localization::enable_srtp[localization_language_index_].c_str());
|
||||
|
||||
if (ConfigCenter::LANGUAGE::CHINESE == localization_language_) {
|
||||
ImGui::SetCursorPosX(ENABLE_SRTP_CHECKBOX_PADDING_CN);
|
||||
} else {
|
||||
ImGui::SetCursorPosX(ENABLE_SRTP_CHECKBOX_PADDING_EN);
|
||||
}
|
||||
ImGui::SetCursorPosY(180);
|
||||
ImGui::Checkbox("##enable_srtp", &enable_srtp_);
|
||||
}
|
||||
|
||||
if (stream_window_inited_) {
|
||||
ImGui::EndDisabled();
|
||||
}
|
||||
@@ -170,7 +187,7 @@ int Render::SettingWindow() {
|
||||
} else {
|
||||
ImGui::SetCursorPosX(SETTINGS_OK_BUTTON_PADDING_EN);
|
||||
}
|
||||
ImGui::SetCursorPosY(190.0f);
|
||||
ImGui::SetCursorPosY(220.0f);
|
||||
ImGui::PopStyleVar();
|
||||
|
||||
// OK
|
||||
@@ -227,6 +244,14 @@ int Render::SettingWindow() {
|
||||
}
|
||||
enable_turn_last_ = enable_turn_;
|
||||
|
||||
// SRTP
|
||||
if (enable_srtp_) {
|
||||
config_center_.SetSrtp(true);
|
||||
} else {
|
||||
config_center_.SetSrtp(false);
|
||||
}
|
||||
enable_srtp_last_ = enable_srtp_;
|
||||
|
||||
SaveSettingsIntoCacheFile();
|
||||
settings_window_pos_reset_ = true;
|
||||
|
||||
|
||||
2
thirdparty/minirtc
vendored
2
thirdparty/minirtc
vendored
Submodule thirdparty/minirtc updated: 1d3a5f6724...ff1d1649ce
Reference in New Issue
Block a user