Fixed loading of sound channel
Ensure sound channel is loaded if settings require it in freerdp_client_load_addins
This commit is contained in:
parent
4128c6741d
commit
fe6a4c5648
@ -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")))
|
||||
{
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user