问题描述:freerdp支持远程桌面共享协议rdp,使用freerdp与skype终端进行远程桌面共享时。发送1080p 视频数据时 skype终端显示黑屏
经过分析,发现rdp协商参数大于一定值时,freerdp发送的共享数据,skype接收显示黑屏,
此参数值为MaxRequstSize, 含义是图像数据更新所有分节的最大值,这个值需要尽量大。
经测试当freerdp与skype的协商参数值大于
settings->MultifragMaxRequestSize = 0x3EFFFF; skype终端显示黑屏,估计是微软skype对此buffer大小做了限制。
因此需要手动修改freerdp服务器模式下的MaxRequestSize的协商值。
解决方案:
在shadow_server_new();调用之后主动设置MultifragMaxRequestSize的值,让其小于等于0x3EFFFF,
这里设置为settings->MultifragMaxRequestSize = 0x3EFFFF; 即可解决freerdp和skype共享屏幕黑屏的问题。