refactor: remove audio mode
This commit is contained in:
parent
45b93100d6
commit
a04980fa13
@ -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 {
|
||||
|
@ -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)),
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
_ => {}
|
||||
},
|
||||
|
@ -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())
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user