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