問題描述: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共享屏幕黑屏的問題。