aboutsummaryrefslogtreecommitdiffstats
path: root/src/output/httpd_client.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add support for streaming to a DLNA clientSteven Blackburn2011-09-301-5/+35
| | | | | | | | | | | | | | | | | The Naim Uniti does not appear to support icecast-style streaming of FLAC music but does support the codec from a DLNA server. This change looks for "transferMode.dlna.org: Streaming" in the HTTP request header and responds with something the Uniti (and hopefully other DLNA clients) accepts. The only difference in the DLNA streaming mode is the reponse header and that icecast metadata is disabled. If a client request indicates both modes are supported, the DLNA mode is preferred (as the Uniti says it supports both but then rejects a FLAC ICY stream). Note: This change may be specific to Naim equipment (the only device it was tested on). E.g. the hardcoding of Content-Length which works but is not a logically correct value. The change should be backwards-compatible, so only those clients requesting a DLNA stream will see any difference.
* Merge branch 'v0.16.x'Max Kellermann2011-09-201-5/+2
|\
| * glib_socket.h: wrap g_io_channel_*_new() calls portablyMax Kellermann2011-09-201-5/+2
| | | | | | | | | | The server_socket library (used by the httpd output plugin) didn't check for WIN32, that's fixed now.
* | Merge branch 'v0.16.x'Max Kellermann2011-08-241-2/+25
|\|
| * output/httpd: add assertionsMax Kellermann2011-08-231-1/+17
| |
| * output/httpd: don't warn on client disconnectMax Kellermann2011-08-231-1/+8
| | | | | | | | | | | | This warning should only be logged when we really received something. When the client disconnects, G_IO_IN is triggered, and the read returns G_IO_STATUS_EOF.
* | copyright year 2011Max Kellermann2011-01-291-1/+1
|/
* Merge branch 'v0.15.x' into v0.16.xMax Kellermann2011-01-071-0/+3
|\ | | | | | | | | | | | | Conflicts: NEWS configure.ac src/directory.h
| * output/httpd: define G_LOG_DOMAIN in httpd_client.cMax Kellermann2011-01-071-0/+3
| |
* | output/httpd: added name/genre/website configurationJames Pike2010-04-051-5/+6
| |
* | Update copyright notices.Avuton Olrich2009-12-311-1/+1
| |
* | include config.h in all sourcesMax Kellermann2009-11-121-0/+1
| | | | | | | | | | | | After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue.
* | configure.ac: require GLib 2.12Max Kellermann2009-11-101-0/+1
| | | | | | | | | | | | Drop the required GLib version from 2.16 to 2.12, because many current systems still don't have GLib 2.16. This requires several new compatibility functions in glib_compat.h.
* | 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.