Hacking manual ============== cybd is intended to be used and embedded into a greater software stack as part of a more complete HLS distribution system. The easiest way to use cybd is through the provided daemon/client command-line. Altough cybd is not a library per-say, it's nonetheless quite easy to import the client, the daemon, or even the internal streamer object into another program thanks to it's clean-cut architecture. The cybd layer (main.c, common.h) --------------------------------- cybd's main entry file, responsible of parsing commands arguments and dispatching calls to the daemon layer. The daemon layer (daemon.c, daemon.h) ------------------------------------- Code related to client/daemon communication via a unix domain socket, and code for the daemon itself which handles IPC calls by forwarding them to the streamer layer. The streamer layer (streamer.c/h, playlist.c/h, transmuxer.c/h) --------------------------------------------------------------- streamer.c/h - The 'brain' of the software, manage the song/media queue and stock the FFMPEG muxer with new songs. playlist.c/h - Used by streamer.c. Implements a thread-safe, indexed circular buffer. transmuxer.c/h - Used by streamer.c. Interface FFMPEG to implement muxing and demuxing. Happy hacking!