Libshout is a library for communicating with and sending data to an icecast server. It handles the socket connection, the timing of the data, and prevents bad data from getting to the icecast server. With just a few lines of code, a programmer can easily turn any application into a streaming source for an icecast server. Libshout also allows developers who want a specific feature set (database access, request taking) to concentrate on that feature set, instead of worrying about how server communication works. Libshout optionally depends on speex.