Paul LietarandJames Laird 3896909080 Reorganize mDNS advertisement
mDNS is now handled more or less in the same way audio is.
Multiple mDNS backends are available, shairport tries them all until one
works.

This makes it, IMHO, cleaner, and easier to add other mDNS backends in
the future, such as using tinysvcmdns or dns-sd library.
Also it will also allow to define mDNS backends as plugins, in a similar
way it is done in PR #230.
2013-10-22 10:33:41 +11:00
2013-06-21 11:57:57 +10:00
2013-04-01 23:04:54 +11:00
2013-04-01 23:04:54 +11:00
2013-06-20 18:30:42 +10:00
2013-06-20 01:06:08 +10:00
2013-06-20 01:06:08 +10:00
2013-09-05 04:13:15 +02:00
2013-04-01 21:43:24 +11:00
2013-10-14 19:50:48 +11:00
2013-10-14 19:50:48 +11:00
2013-09-05 16:34:02 +02:00
2013-06-20 00:28:17 +10:00
2013-10-22 10:33:41 +11:00
2013-10-22 10:33:41 +11:00
2013-10-22 10:33:41 +11:00
2013-10-22 10:33:41 +11:00
2013-10-22 10:33:41 +11:00
2013-04-08 19:58:16 +10:00
2013-06-07 01:47:27 +10:00
2013-04-02 21:32:56 +11:00
2013-08-25 22:27:51 +10:00
2013-04-01 18:57:08 +11:00
2013-10-22 10:33:41 +11:00
2013-06-20 18:30:42 +10:00

ShairPort

By James Laird (announcement)

What it is

This program emulates an AirPort Express for the purpose of streaming music from iTunes and compatible iPods and iPhones. It implements a server for the Apple RAOP protocol. ShairPort does not support AirPlay v2 (video and photo streaming).

Build Requirements

Required:

  • OpenSSL

Optionally:

  • libao
  • PulseAudio
  • avahi

Debian/Raspbian users can get the basics with apt-get install libssl-dev libavahi-client-dev libasound2-dev

Runtime Requirements

You must be running an mDNS (Bonjour) daemon. On a Mac, this will be running already. Otherwise, you must be running avahi-daemon or Howl.

How to get started

./configure
make
./shairport -a 'My Shairport Name'

The triangle-in-rectangle AirTunes (now AirPlay) logo will appear in the iTunes status bar of any machine on the network, or on iPod/iPhone play controls screen. Choose your access point name to start streaming to the ShairPort instance.

Audio Outputs

Shairport supports different audio backends. For a list of available backends and their options, run shairport -h. Note that options are supplied to backends at the end of the commandline, separated by --, for example:

shairport -o ao -- -d mydriver -o setting=thing

Thanks

Big thanks to David Hammerton for releasing an ALAC decoder, which is reproduced here in full. Thanks to everyone who has worked to reverse engineer the RAOP protocol - after finding the keys, everything else was pretty much trivial. Thanks also to Apple for obfuscating the private key in the ROM image, using a scheme that made the deobfuscation code itself stand out like a flare. Thanks to Ten Thousand Free Men and their Families for having a computer and stuff. Thanks to wtbw.

Contributors to version 1.x

Contributors to version 0.x

Known Ports and Tools

S
Description
No description provided
Readme
14 MiB
Languages
C 92.2%
C++ 3.7%
Shell 1.6%
M4 1.4%
Makefile 0.6%
Other 0.5%