mirror of
https://github.com/kunkundi/crossdesk.git
synced 2025-10-26 20:25:34 +08:00
[fix] fix leave transmission error when exit program
This commit is contained in:
@@ -181,7 +181,7 @@ int Render::LocalWindow() {
|
||||
regenerate_password_ = true;
|
||||
password_inited_ = false;
|
||||
regenerate_password_start_time_ = ImGui::GetTime();
|
||||
LeaveConnection(peer_);
|
||||
LeaveConnection(peer_, client_id_);
|
||||
is_create_connection_ = false;
|
||||
}
|
||||
if (ImGui::GetTime() - regenerate_password_start_time_ > 0.3f) {
|
||||
|
||||
@@ -87,6 +87,8 @@ int Render::SaveSettingsIntoCacheFile() {
|
||||
fwrite(&cd_cache_, sizeof(cd_cache_), 1, cd_cache_file_);
|
||||
fclose(cd_cache_file_);
|
||||
|
||||
LOG_INFO("Save settings into cache file");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -114,6 +116,8 @@ int Render::LoadSettingsIntoCacheFile() {
|
||||
(ConfigCenter::VIDEO_ENCODE_FORMAT)video_encode_format_button_value_);
|
||||
config_center_.SetHardwareVideoCodec(enable_hardware_video_codec_);
|
||||
|
||||
LOG_INFO("Load settings into cache file");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -492,7 +496,8 @@ int Render::Run() {
|
||||
if (streaming_) {
|
||||
LOG_INFO("Return to main interface");
|
||||
streaming_ = false;
|
||||
LeaveConnection(peer_reserved_ ? peer_reserved_ : peer_);
|
||||
LOG_INFO("[{}] Leave connection [{}]", client_id_, remote_id_);
|
||||
LeaveConnection(peer_reserved_ ? peer_reserved_ : peer_, remote_id_);
|
||||
rejoin_ = false;
|
||||
memset(audio_buffer_, 0, 960);
|
||||
connection_established_ = false;
|
||||
@@ -579,7 +584,8 @@ int Render::Run() {
|
||||
|
||||
// Cleanup
|
||||
if (is_create_connection_) {
|
||||
LeaveConnection(peer_);
|
||||
LOG_INFO("[{}] Leave connection [{}]", client_id_, client_id_);
|
||||
LeaveConnection(peer_, client_id_);
|
||||
is_client_mode_ = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -235,7 +235,7 @@ void Render::NetStatusReport(int TransmissionId, TraversalMode mode,
|
||||
const unsigned short send,
|
||||
const unsigned short receive, void *user_data) {
|
||||
Render *render = (Render *)user_data;
|
||||
if (TransmissionId != 0) {
|
||||
if (TransmissionId != 0 && 0 == strcmp(render->client_id_, "")) {
|
||||
std::string client_id = std::to_string(TransmissionId);
|
||||
strncpy(render->client_id_, client_id.c_str(), sizeof(client_id));
|
||||
render->SaveSettingsIntoCacheFile();
|
||||
|
||||
2
thirdparty/projectx
vendored
2
thirdparty/projectx
vendored
Submodule thirdparty/projectx updated: 8dc96eeb4c...dd8ab05d0f
Reference in New Issue
Block a user