Xrdp: dynamic virtual channel improvements

Created on 4 Oct 2018  路  7Comments  路  Source: neutrinolabs/xrdp

Update and improve DVC(dynamic virtual channel) in xrdp. DVC is implemented over the static virtual channel drdynvc. MSDN doc MS-RDPEDYC
https://msdn.microsoft.com/en-us/library/cc241215.aspx

Future improvements to RDP is usually in dynamic channels. We need an easy to use and fast DVC API for internal use inside xrdp and chansrv. The GFX graphics pipeline is a DVC, video redirection and dynamic monitors are both DVCs.

All channels in drdynvc must be opened from the server, as the document states.

Using drdynvc in xrdp, these function are in libxrdp.h

  • Open a channel with libxrdp_drdynvc_open (Pass callbacks in struct xrdp_drdynvc)
  • Wait for callback open_response
  • Then you can call any of
    libxrdp_drdynvc_data_first
    libxrdp_drdynvc_data
    libxrdp_drdynvc_close
  • Then when done with the channel call
    libxrdp_drdynvc_close

Using drdynvc in chansrv, these functions are in chansrv.h

  • Open a channel with chansrv_drdynvc_open (Pass callbacks in struct chansrv_drdynvc)
  • Wait for callback open_response
  • Then you can call any of
    chansrv_drdynvc_data_first
    chansrv_drdynvc_data
    chansrv_drdynvc_close
  • Then when done with the channel call
    chansrv_drdynvc_close

Most helpful comment

All 7 comments

Yeeees! Ping @jterry75 and @cwilhit.

PR is here #1224

merged, until we start using it, hard to know what doesn't work. Let's create new issues when found.

Many thanks @jsorg71! I will get to this sometime in the near future and will update you what I find.

Awesome! Let me give it a test run today/tomorrow :)

Note, this does not mean dynamic monitors work, just that it should be easier to implement now.
To show how to use the new internal API, I'll add Mic support which is a Dynamic Virtual channel in chansrv and another one in xrdp, maybe dynamic monitors.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

MoonMoon1919 picture MoonMoon1919  路  5Comments

Jay991 picture Jay991  路  6Comments

Zer0CoolX picture Zer0CoolX  路  3Comments

joakim-tjernlund picture joakim-tjernlund  路  9Comments

Kaydub00 picture Kaydub00  路  8Comments