aboutsummaryrefslogtreecommitdiffstats
path: root/src/output/httpd_client.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* configure.ac: require GLib 2.16Max Kellermann2009-10-131-5/+0
| | | | | | | Accidently, MPD has been using several GLib 2.16 functions for a while, and nobody noticed yet. To simplify the code base, let's bump the minimum GLib version for MPD to 2.16. That version is old enough, and it's reasonable to expect users to have it.
* httpd_output: disable Icy-Metadata when encoder supports tagsMax Kellermann2009-05-051-2/+10
| | | | | | There's no reason to send both encoder tags and Icy-Metadata to the client. Let's disable Icy-Metadata when the encoder supports embedded tags.
* httpd: use C99 "bool" instead of GLib's gbooleanMax Kellermann2009-04-131-7/+7
| | | | Plain "bool" consumes only one byte instead of four.
* httpd: use g_ascii_strncasecmp() to compare headersMax Kellermann2009-04-131-1/+1
| | | | In HTTP, header names are case insensitive.
* Implemented basic icy support for the httpd outputHagen Schink2009-04-131-11/+176
| | | | | | [mk: folded with patch "Put icy related functions in extra source files"; moved icy_server.c from HAVE_CURL to ENABLE_HTTPD_OUTPUT; removed an unused variable]
* httpd_output: check client->write_source_id in handlerMax Kellermann2009-03-151-0/+7
| | | | | Due to a race condition, httpd_client_out_event() could be called even when its GLib event source was already removed. Check that case.
* httpd_output: clear the client's page queue on cancelMax Kellermann2009-03-151-1/+12
| | | | | | When the httpd output is cancelled, it freed all pages, but didn't remove them from the queue. Call g_queue_clear() and remove the write source id.
* httpd: new output plugin to replace "shout"Max Kellermann2009-03-151-0/+523
Let's get rid of the "shout" plugin, and the awfully complicated icecast daemon setup! MPD can do better if it's doing the HTTP server stuff on its own. This new plugin has several advantages: - easier to set up - only one daemon, no password settings, no mount settings - MPD controls the encoder and thus already knows the packet boundaries - icecast has to parse them - MPD doesn't bother to encode data while nobody is listening This implementation is very experimental (no header parsing, ignores request URI, no icy-metadata, ...). It should be able to suport several encoders in parallel in the future (with different bit rates, different codec, ...), to make MPD the perfect streaming server. Once MPD gets multi-player support, we can even mount several different radio stations on one server.