Commit | Line | Data |
---|---|---|
1a1958cf JVH |
1 | Shairplay |
2 | ========= | |
fb0fa0be JVH |
3 | Free portable AirPlay server implementation similar to [ShairPort](https://github.com/abrasive/shairport). |
4 | ||
5 | Currently only AirPort Express emulation is supported. | |
1a1958cf JVH |
6 | |
7 | Disclaimer | |
8 | ---------- | |
9 | All the resources in this repository are written using only freely available | |
10 | information from the internet. The code and related resources are meant for | |
11 | educational purposes only. It is up to the user to make sure all local laws are | |
12 | adhered to. | |
13 | ||
2fa77735 JVH |
14 | Related software |
15 | ---------------- | |
8095e42a | 16 | |
2fa77735 JVH |
17 | * [ShairPort](https://github.com/abrasive/shairport), original AirPort Express emulator |
18 | * [ALAC](http://craz.net/programs/itunes/alac.html), ALAC decoder by David Hammerton | |
ce17dc8d JVH |
19 | |
20 | Description | |
21 | ----------- | |
22 | ||
23 | Short description about what each file in the main library does: | |
24 | ||
fb0fa0be | 25 | ``` |
57bb5c6c JVH |
26 | src/lib/base64.* - base64 encoder/decoder |
27 | src/lib/dnssd.* - dnssd helper functions | |
28 | src/lib/http_parser.* - HTTP parser from joyent (nginx fork) | |
29 | src/lib/http_request.* - Request parser that uses http_parser | |
30 | src/lib/http_response.* - Extremely simple HTTP response serializer | |
31 | src/lib/httpd.* - Generic HTTP/RTSP server | |
32 | src/lib/logger.* - Logging related functions | |
33 | src/lib/netutils.* - Mostly socket related code | |
34 | src/lib/raop.* - Main RAOP handler, handles all RTSP stuff | |
35 | src/lib/raop_rtp.* - Handles the RAOP RTP related stuff (UDP/TCP) | |
36 | src/lib/raop_buffer.* - Parses and buffers RAOP packets, resend logic here | |
37 | src/lib/rsakey.* - Decrypts and parses the RSA key to bigints | |
38 | src/lib/rsapem.* - Converts the RSA PEM key to DER encoded bytes | |
39 | src/lib/sdp.* - Extremely simple RAOP specific SDP parser | |
40 | src/lib/utils.* - Utils for reading a file and handling strings | |
fb0fa0be | 41 | ``` |
ce17dc8d JVH |
42 | |
43 | Short description about what each file in the Qt application does: | |
44 | ||
fb0fa0be | 45 | ``` |
ce17dc8d JVH |
46 | AirTV-Qt/main.cpp - Initializes the application |
47 | AirTV-Qt/mainapplication.cpp - Creates the tray icon and starts RAOP | |
48 | AirTV-Qt/raopservice.cpp - Handles all communication with the library | |
49 | AirTV-Qt/raopcallbackhandler.cpp - Converts C callbacks to Qt callbacks | |
50 | AirTV-Qt/audiooutput.cpp - Takes care of the actual audio output | |
fb0fa0be | 51 | ``` |
ce17dc8d | 52 |