From: Armin Novak Date: Tue, 30 Jul 2019 07:39:45 +0000 (+0200) Subject: Fixed loading of sound channel X-Git-Tag: 2.0.0~400^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fe6a4c5648585f9b80d3c1301a9f88e50afafb0f;p=platform%2Fupstream%2Ffreerdp.git Fixed loading of sound channel Ensure sound channel is loaded if settings require it in freerdp_client_load_addins --- diff --git a/client/common/cmdline.c b/client/common/cmdline.c index 6296bd8..4fb5680 100644 --- a/client/common/cmdline.c +++ b/client/common/cmdline.c @@ -3114,6 +3114,17 @@ BOOL freerdp_client_load_addins(rdpChannels* channels, rdpSettings* settings) UINT32 index; ADDIN_ARGV* args; + if (settings->AudioPlayback) + { + char* p[] = + { + "rdpsnd" + }; + + if (!freerdp_client_add_static_channel(settings, ARRAYSIZE(p), p)) + return FALSE; + } + if ((freerdp_static_channel_collection_find(settings, "rdpsnd")) || (freerdp_dynamic_channel_collection_find(settings, "tsmf"))) { diff --git a/client/common/file.c b/client/common/file.c index 6d4289e..39aa5d8 100644 --- a/client/common/file.c +++ b/client/common/file.c @@ -1218,21 +1218,27 @@ BOOL freerdp_client_populate_settings_from_rdp_file(rdpFile* file, rdpSettings* if (~file->AudioMode) { - if (file->AudioMode == AUDIO_MODE_REDIRECT) + switch(file->AudioMode) { - if (!freerdp_settings_set_bool(settings, FreeRDP_AudioPlayback, TRUE)) - return FALSE; - } - else if (file->AudioMode == AUDIO_MODE_PLAY_ON_SERVER) - { - if (!freerdp_settings_set_bool(settings, FreeRDP_RemoteConsoleAudio, TRUE)) - return FALSE; - } - else if (file->AudioMode == AUDIO_MODE_NONE) - { - if (!freerdp_settings_set_bool(settings, FreeRDP_AudioPlayback, FALSE) || - !freerdp_settings_set_bool(settings, FreeRDP_RemoteConsoleAudio, FALSE)) - return FALSE; + case AUDIO_MODE_REDIRECT: + if (!freerdp_settings_set_bool(settings, FreeRDP_RemoteConsoleAudio, FALSE)) + return FALSE; + if (!freerdp_settings_set_bool(settings, FreeRDP_AudioPlayback, TRUE)) + return FALSE; + break; + case AUDIO_MODE_PLAY_ON_SERVER: + if (!freerdp_settings_set_bool(settings, FreeRDP_RemoteConsoleAudio, TRUE)) + return FALSE; + if (!freerdp_settings_set_bool(settings, FreeRDP_AudioPlayback, FALSE)) + return FALSE; + break; + case AUDIO_MODE_NONE: + default: + if (!freerdp_settings_set_bool(settings, FreeRDP_AudioPlayback, FALSE)) + return FALSE; + if (!freerdp_settings_set_bool(settings, FreeRDP_RemoteConsoleAudio, FALSE)) + return FALSE; + break; } }