libfreerdp-codec: RDVH may return more than one channels in TS_RFX_CHANNELS message.
This commit is contained in:
parent
20cacf5f29
commit
7b30f732f2
@ -266,7 +266,10 @@ static void rfx_process_message_channels(RFX_CONTEXT* context, STREAM* s)
|
||||
|
||||
stream_read_uint8(s, numChannels); /* numChannels (1 byte), must bet set to 0x01 */
|
||||
|
||||
if (numChannels != 1)
|
||||
/* In RDVH sessions, numChannels will represent the number of virtual monitors
|
||||
* configured and does not always be set to 0x01 as [MS-RDPRFX] said.
|
||||
*/
|
||||
if (numChannels < 1)
|
||||
{
|
||||
DEBUG_WARN("numChannels:%d, expected:1", numChannels);
|
||||
return;
|
||||
@ -277,6 +280,9 @@ static void rfx_process_message_channels(RFX_CONTEXT* context, STREAM* s)
|
||||
stream_read_uint16(s, context->width); /* width (2 bytes) */
|
||||
stream_read_uint16(s, context->height); /* height (2 bytes) */
|
||||
|
||||
/* Now, only the first monitor can be used, therefore the other channels will be ignored. */
|
||||
stream_seek(s, 5 * (numChannels - 1));
|
||||
|
||||
DEBUG_RFX("numChannels %d id %d, %dx%d.",
|
||||
numChannels, channelId, context->width, context->height);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user