Shairplay
=========
-Free portable AirPlay server implementation.
+Free portable AirPlay server implementation similar to [ShairPort](https://github.com/abrasive/shairport).
+
+Currently only AirPort Express emulation is supported.
Disclaimer
----------
educational purposes only. It is up to the user to make sure all local laws are
adhered to.
-Licenses
---------
-
-Following licenses apply:
-
-src/lib/alac/* - MIT License
-src/lib/crypto/* - New BSD License
-src/lib/http_parser.* - MIT License
-src/lib/bindings/* - MIT License
-src/lib/* - LGPLv2.1+ License
-AirTV-Qt/* - LGPLv2.1+ License
-
-Also the following files are used, although not necessary:
+Related software
+----------------
-AirTV-Qt/qtsingleapplication/src/* - New BSD License
+* [ShairPort](https://github.com/abrasive/shairport), original AirPort Express emulator
+* [ALAC](http://craz.net/programs/itunes/alac.html), ALAC decoder by David Hammerton
Description
-----------
Short description about what each file in the main library does:
+```
src/lib/base64.* - base64 encoder/decoder
src/lib/dnssd.* - dnssd helper functions
src/lib/http_parser.* - HTTP parser from joyent (nginx fork)
src/lib/rsapem.* - Converts the RSA PEM key to DER encoded bytes
src/lib/sdp.* - Extremely simple RAOP specific SDP parser
src/lib/utils.* - Utils for reading a file and handling strings
+```
Short description about what each file in the Qt application does:
+```
AirTV-Qt/main.cpp - Initializes the application
AirTV-Qt/mainapplication.cpp - Creates the tray icon and starts RAOP
AirTV-Qt/raopservice.cpp - Handles all communication with the library
AirTV-Qt/raopcallbackhandler.cpp - Converts C callbacks to Qt callbacks
AirTV-Qt/audiooutput.cpp - Takes care of the actual audio output
+```