Native implementation in PulseAudio

Hi,
I wrote the native PulseAudio support for Apple Airport Express devices and I think a logical extension of that is to have direct support for Airfoil Speakers as a PulseAudio module.
Is there any way that I can obtain specifications of the protocol (I'm guessing it's similar to RAOP used in airtunes but hopefully sans the encryption silliness) so that I could implement this?
cheers
Col
4
people like this idea
I like this idea!
Tell me when this idea gets some attention.
The more people who like this idea, the more it gets noticed.
The more people who like this idea, the more it gets noticed.
The company has not planned to implement this.
Create a customer community for your own organization
Plans starting at $19/month
-
Inappropriate?Unfortunately, Airfoil Speakers only supports AirTunes 2, not AirTunes 1.
-
Inappropriate?Hi Paul. Thanks for getting back to me.
I'm not sure I really understand what you are saying here tho'... I presume you have some kind of protocol for connecting Machine A to Machine B in terms of sharing their audio devices. Essentially, if I run Airfoil Speakers on my linux box (Machine B), this should show up as an available Speaker system if I run Airfoil on Machine A (a Mac)?
What I was proposing was to essentially replace the Airfoil Speakers application on Machine B with a native pulseaudio module. As most linux distros are now shipping pulseaudio by default, this would be a nicer option IMO and would help to make things "Just Work".
Please let me know if this would be at all possible? -
Inappropriate?Colin -
You are right that a PulseAudio module would provide a nicer interface (for some users, anyhow). That said, there are both business and technical reasons for us being hesitant about such a thing.
The technical reasons may be enough to show you why: Airfoil Speakers operates using the AirTunes 2 protocol. So although Airfoil can talk to it, PulseAudios RAOP support can not. AirTunes 2 is undocumented and rather much Not Fun to reverse engineer and implement.
Furthermore, AirfoilSpeakes/Linux is implemented in .NET/Mono. I doubt that would fit well in PulseAudio's pure C codebase. Thus a complete rewrite would be in order. -
Inappropriate?Hi Paul,
Thanks for the info. I wasn't actually aware there was an Airtunes 2 protocol. I presume that what I've implemented already in pulseaudios RAOP stuff is the Airtunes 1 protocol?
I can imagine it's not a fun job reverse engineering stuff :(
There would certainly need to be a rewrite in C to fit in with pulse. I'd be happy to work on this, but obviously there may be business reasons why you cannot share the relevant information to allow me to progress.
If you have any info you can share it would be greatly appreciated but only if it fits in with you corporate policy etc.
Anyway, I am always around on IRC (#pulseaudio) and various other places online, so if you guys ever want to go down this route, just let me know and I'll do my best to help out.
All the best
Col -
Inappropriate?There could be a decent business case for this.
* Mac users like things that 'just work'
* (Some) Mac users don't like .NET :)
* Mac users are willing to pay for software that 'just works', not software that causes headaches
* Development and Support for this module will be handled by the pulseaudio community, free of charge.
Another possible scenario could be to implement pulseaudio's audio stream protocol into the airfoil 'server'. That way you don't have to share the hard work you've done on reverse enginering the airtunes 2 protocol and airfoil and linux will be best friends,..Autoconfigure the client's protocol with zeroconf and voila everybody happy !
it's just an idea... think about it ! :)
I’m unsure
Loading Profile...



EMPLOYEE
