libfreerdp-core/server: put RemoteFX captureFlags into settings needed by some thin clients.
This commit is contained in:
parent
c48a7bc5f1
commit
80229557b2
@ -689,6 +689,7 @@ typedef struct _RDPDR_PARALLEL RDPDR_PARALLEL;
|
||||
#define FreeRDP_RemoteFxCodecId 3650
|
||||
#define FreeRDP_RemoteFxCodecMode 3651
|
||||
#define FreeRDP_RemoteFxImageCodec 3652
|
||||
#define FreeRDP_RemoteFxCaptureFlags 3653
|
||||
#define FreeRDP_NSCodec 3712
|
||||
#define FreeRDP_NSCodecId 3713
|
||||
#define FreeRDP_FrameAcknowledge 3714
|
||||
@ -1155,7 +1156,8 @@ struct rdp_settings
|
||||
ALIGN64 UINT32 RemoteFxCodecId; /* 3650 */
|
||||
ALIGN64 UINT32 RemoteFxCodecMode; /* 3651 */
|
||||
ALIGN64 BOOL RemoteFxImageCodec; /* 3652 */
|
||||
UINT64 padding3712[3712 - 3653]; /* 3653 */
|
||||
ALIGN64 UINT32 RemoteFxCaptureFlags; /* 3653 */
|
||||
UINT64 padding3712[3712 - 3654]; /* 3654 */
|
||||
|
||||
/* NSCodec */
|
||||
ALIGN64 BOOL NSCodec; /* 3712 */
|
||||
|
@ -2487,6 +2487,21 @@ BOOL rdp_read_bitmap_codecs_capability_set(wStream* s, UINT16 length, rdpSetting
|
||||
if (remainingLength < codecPropertiesLength)
|
||||
return FALSE;
|
||||
|
||||
if (settings->ServerMode)
|
||||
{
|
||||
if (UuidEqual(&codecGuid, &CODEC_GUID_REMOTEFX, &rpc_status))
|
||||
{
|
||||
stream_seek_UINT32(s); /* length */
|
||||
stream_read_UINT32(s, settings->RemoteFxCaptureFlags); /* captureFlags */
|
||||
stream_rewind(s, 8);
|
||||
|
||||
if (settings->RemoteFxCaptureFlags & CARDP_CAPS_CAPTURE_NON_CAC)
|
||||
{
|
||||
settings->RemoteFxOnly = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stream_seek(s, codecPropertiesLength); /* codecProperties */
|
||||
remainingLength -= codecPropertiesLength;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user