refactor: remove audio mode

This commit is contained in:
Kingtous 2023-02-06 09:37:52 +08:00
parent 45b93100d6
commit a04980fa13
7 changed files with 0 additions and 119 deletions

View File

@ -444,11 +444,6 @@ enum ImageQuality {
Best = 4;
}
enum AudioMode {
GuestToHost = 0;
DualWay = 1;
}
message VideoCodecState {
enum PreferCodec {
Auto = 0;
@ -480,7 +475,6 @@ message OptionMessage {
BoolOption enable_file_transfer = 9;
VideoCodecState video_codec_state = 10;
int32 custom_fps = 11;
AudioMode audio_mode = 12;
}
message TestDelay {

View File

@ -1255,27 +1255,6 @@ impl LoginConfigHandler {
}
}
/// Parse the audio mode option.
/// Return [`AudioMode`] if the option is valid, otherwise return `None`.
///
/// # Arguments
///
/// * `q` - The audio mode option.
/// * `ignore_default` - Ignore the default value.
pub fn get_audio_mode_enum(q: &str, ignore_default: bool) -> Option<AudioMode> {
if q == "guest-to-host" {
Some(AudioMode::GuestToHost)
} else if q == "dual-way" {
Some(AudioMode::DualWay)
} else {
if ignore_default {
None
} else {
Some(AudioMode::GuestToHost)
}
}
}
/// Get the status of a toggle option.
///
/// # Arguments
@ -1362,24 +1341,6 @@ impl LoginConfigHandler {
res
}
pub fn save_audio_mode(&mut self, value: String) -> Option<Message> {
let mut res = None;
if let Some(q) = LoginConfigHandler::get_audio_mode_enum(&value, false) {
let mut misc = Misc::new();
misc.set_option(OptionMessage {
audio_mode: q.into(),
..Default::default()
});
let mut msg_out = Message::new();
msg_out.set_misc(misc);
res = Some(msg_out);
}
let mut config = self.load_config();
config.audio_mode = value;
self.save_config(config);
res
}
/// Create a [`Message`] for saving custom fps.
///
/// # Arguments
@ -1984,7 +1945,6 @@ pub enum Data {
RemovePortForward(i32),
AddPortForward((i32, String, i32)),
ToggleClipboardFile,
ChangeAudioMode(AudioMode),
NewRDP,
SetConfirmOverrideFile((i32, i32, bool, bool, bool)),
AddJob((i32, String, String, i32, bool, bool)),

View File

@ -387,24 +387,6 @@ impl<T: InvokeUiSession> Remote<T> {
Data::ToggleClipboardFile => {
self.check_clipboard_file_context();
}
Data::ChangeAudioMode(audio_mode) => {
match audio_mode {
AudioMode::GuestToHost => {
if let Some(sender) = self.stop_local_audio_sender.take() {
allow_err!(sender.send(()));
}
}
AudioMode::DualWay => {
// Start audio thread for playback.
// Cancel previous local audio session.
if let Some(sender) = self.stop_local_audio_sender.take() {
allow_err!(sender.send(()));
}
// Start client audio when connection is established.
self.stop_local_audio_sender = self.start_client_audio();
}
}
}
Data::Message(msg) => {
allow_err!(peer.send(&msg).await);
}
@ -905,24 +887,6 @@ impl<T: InvokeUiSession> Remote<T> {
if self.handler.is_file_transfer() {
self.handler.load_last_jobs();
}
// Start audio thread for playback if current audio mode is dual-way transmission.
if !self.handler.is_file_transfer() && !self.handler.is_port_forward() {
let audio_mode = LoginConfigHandler::get_audio_mode_enum(
self.handler.load_config().audio_mode.as_str(),
false,
)
.unwrap_or(AudioMode::GuestToHost);
log::debug!("current audio mode: {:?}", audio_mode);
if audio_mode == AudioMode::DualWay {
// Cancel previous local audio session.
if let Some(sender) = self.stop_local_audio_sender.take() {
allow_err!(sender.send(()));
}
// Start client audio when connection is established.
self.stop_local_audio_sender = self.start_client_audio();
}
}
}
_ => {}
},

View File

@ -233,20 +233,6 @@ pub fn session_set_image_quality(id: String, value: String) {
}
}
pub fn session_get_audio_mode(id: String) -> Option<String> {
if let Some(session) = SESSIONS.read().unwrap().get(&id) {
Some(session.get_audio_mode())
} else {
None
}
}
pub fn session_set_audio_mode(id: String, value: String) {
if let Some(session) = SESSIONS.write().unwrap().get_mut(&id) {
session.save_audio_mode(value);
}
}
pub fn session_get_keyboard_mode(id: String) -> Option<String> {
if let Some(session) = SESSIONS.read().unwrap().get(&id) {
Some(session.get_keyboard_mode())

View File

@ -183,9 +183,6 @@ class Header: Reactor.Component {
<li #balanced type="image-quality"><span>{svg_checkmark}</span>{translate('Balanced')}</li>
<li #low type="image-quality"><span>{svg_checkmark}</span>{translate('Optimize reaction time')}</li>
<li #custom type="image-quality"><span>{svg_checkmark}</span>{translate('Custom')}</li>
<div .separator />
<li #guest-to-host type="audio-mode"><span>{svg_checkmark}</span>{translate('Guest to Host')}</li>
<li #dual-way type="audio-mode"><span>{svg_checkmark}</span>{translate('Dual way')}</li>
{show_codec ? <div>
<div .separator />
<li #auto type="codec-preference"><span>{svg_checkmark}</span>Auto</li>
@ -394,8 +391,6 @@ class Header: Reactor.Component {
} else if (type == "codec-preference") {
handler.set_option("codec-preference", me.id);
handler.change_prefer_codec();
} else if (type == "audio-mode") {
handler.save_audio_mode(me.id);
}
toggleMenuState();
}

View File

@ -420,8 +420,6 @@ impl sciter::EventHandler for SciterSession {
fn supported_hwcodec();
fn change_prefer_codec();
fn restart_remote_device();
fn save_audio_mode(String);
fn get_audio_mode();
fn request_voice_call();
fn close_voice_call();
}

View File

@ -93,22 +93,6 @@ impl<T: InvokeUiSession> Session<T> {
self.lc.write().unwrap().save_keyboard_mode(value);
}
pub fn get_audio_mode(&self) -> String {
self.lc.read().unwrap().audio_mode.clone()
}
pub fn save_audio_mode(&self, value: String) {
let mode = LoginConfigHandler::get_audio_mode_enum(value.as_str(), false);
if let Some(mode)= mode {
self.send(Data::ChangeAudioMode(mode));
}
let msg = self.lc.write().unwrap().save_audio_mode(value);
// Notify remote guest that the audio mode has been changed.
if let Some(msg) = msg {
self.send(Data::Message(msg));
}
}
pub fn save_view_style(&mut self, value: String) {
self.lc.write().unwrap().save_view_style(value);
}