Some clarifications in the README.md
[deb_shairplay.git] / README.md
1 Shairplay
2 =========
3 Free portable AirPlay server implementation similar to [ShairPort](https://github.com/abrasive/shairport).
4
5 Currently only AirPort Express emulation is supported.
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
14 Related software
15 ----------------
16
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
19
20 Description
21 -----------
22
23 Short description about what each file in the main library does:
24
25 ```
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
41 ```
42
43 Short description about what each file in the Qt application does:
44
45 ```
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
51 ```
52