[pulseaudio-discuss] xrdp pulse sink

David Henningsson david.henningsson at canonical.com
Tue Jul 23 01:57:41 PDT 2013


On 07/23/2013 10:31 AM, Jay Sorg wrote:
> Hi David,
>
>> Hi, it's always nice to see new contributors wanting to do great stuff with
>> PA :-)
>>
>> But could we have a little overview of the greater picture so we're sure we
>> choose the best solution here?
>>
>> First, is this for Linux clients talking to Windows servers, the other way
>> around, or both?
>
> It's for RDP clients(Linux, Windows, Mac, Andriod) connecting to Linux
> xrdp servers.
> RDP defines the audio within the protocol so this sink is just used with IPC.
> MS opened the protocol, here is the audio part.
> http://msdn.microsoft.com/en-us/library/cc240933.aspx
> In the case of xrdp, there is no MS code on the server side, all open source.
>
>> Second, how is the xrdp sink connected to other applications and libraries?
>> Does it mean more build dependencies for PA? How is it synchronised with
>> video?
>
> I use a unix domain socket with a simple message API.  No added dependencies.
> This is just audio, can be used with video but this level is unaware.
>
> Here is the sink, it's really simple.
> You guys will find this familiar.
> https://github.com/FreeRDP/xrdp/blob/master/sesman/chansrv/pulse/module-xrdp-sink.c

Thanks, I had a look. Is this a correct understanding:

  - the xrdp server will call something like "pacmd load-module 
module-xrdp-sink format=x rate=y" and thereby sets up the connection 
between PulseAudio and xrdp.

  - the xrdp sink just talks to the xrdp server over the unix socket. 
It's the xrdp server that then combines this with video/display output 
and sends to the client.

>> Third, we talk about an xrdp sink, will there also be an xrdp source, or is
>> this not needed, for what reason?
>
> Yes, we need a source too.  Again, no dependency.  Just a domain socket API.
>
> If you don't want to label it xrdp, it could be a generic unix domain
> socket sink / source.
> Maybe other remote desktop projects can use it.

In short, I don't mind this code going in (after a more detailed review, 
perhaps). I however suspect that we're going to get bug report about 
missing A/V synchronisation quite soon, and then we should tell people 
that this needs to be resolved in xrdp rather than PA. Does that seem 
reasonable?


-- 
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic


More information about the pulseaudio-discuss mailing list