Commit Graph

1920 Commits

Author SHA1 Message Date
Julien BLACHE
2127aff906 Use a single log domain on DPRINTF() calls 2009-05-05 20:28:40 +02:00
Julien BLACHE
803ca7e59f Rename foreground to background and change logic accordingly 2009-05-05 17:54:20 +02:00
Julien BLACHE
10bb9dec57 Remove useless daapd.h 2009-05-05 16:22:11 +02:00
Julien BLACHE
d2999aafec Add missing stdint.h include to ff-dbstruct.h 2009-05-05 16:21:39 +02:00
Julien BLACHE
c85f9ed7dd Move main event base extern declaration to mdns_avahi.c where it's used 2009-05-05 16:10:49 +02:00
Julien BLACHE
524bdd3f0d Remove old config framwork include and wrappers 2009-05-05 16:10:44 +02:00
Julien BLACHE
9fce6d7abd Use new config framework in main.c 2009-05-05 15:53:36 +02:00
Julien BLACHE
c1a2bf6fcf Remove conf_*() usage in DB module 2009-05-05 15:45:48 +02:00
Julien BLACHE
ed0ff0c136 Unlink PID file on exit 2009-05-04 17:51:42 +02:00
Julien BLACHE
be4286b2e8 Remove -export-dynamic libtool flag now that we don't have plugins anymore 2009-05-04 17:48:31 +02:00
Julien BLACHE
8e14495bc2 Remove unused struct tag_stats (STATS) 2009-05-03 13:33:16 +02:00
Julien BLACHE
d1449a875b Get rid of the global struct tag_config (CONFIG) config 2009-05-03 13:32:00 +02:00
Julien BLACHE
2530c3512b Rename webface_cb() to httpd_gen_cb() 2009-05-03 12:26:01 +02:00
Julien BLACHE
cd6f87401a Rename struct stream_chunk to struct stream_ctx 2009-05-03 12:19:04 +02:00
Julien BLACHE
ed7c848702 Remove I/O layer 2009-05-03 12:10:17 +02:00
Julien BLACHE
07fb43ca8c Remove I/O layer init/deinit 2009-05-03 12:09:25 +02:00
Julien BLACHE
f0ca987d78 Replace io_* routines by standard I/O functions 2009-05-03 12:08:14 +02:00
Julien BLACHE
e8843a99aa Remove util.[ch] 2009-05-03 11:38:32 +02:00
Julien BLACHE
1e0ffb6808 Remove use of util_* routines, last user 2009-05-03 11:37:30 +02:00
Julien BLACHE
9ef8acfa28 Remove old webserver 2009-05-03 11:20:12 +02:00
Julien BLACHE
6aca074f82 Remove plugin infrastructure 2009-05-03 11:20:07 +02:00
Julien BLACHE
baf529dbf2 Remove plugins directory 2009-05-03 11:20:02 +02:00
Julien BLACHE
2be04db4d2 Remove RSP output plugin 2009-05-03 11:16:58 +02:00
Julien BLACHE
ef1c2b2b89 Remove DAAP output plugin 2009-05-03 11:16:58 +02:00
Julien BLACHE
89eead66f6 Remove ssc-ffmpeg plugin 2009-05-03 11:16:58 +02:00
Julien BLACHE
417b5e0ce3 Remove ssc-script plugin 2009-05-03 11:16:58 +02:00
Julien BLACHE
81cb0efa81 Stop loading plugins, we don't need plugins anymore 2009-05-03 11:16:58 +02:00
Julien BLACHE
2fb7537346 Register RSP and DAAP services in main() 2009-05-03 11:16:58 +02:00
Julien BLACHE
c76c8165ce Enable httpd on the configured port 2009-05-03 11:16:58 +02:00
Julien BLACHE
d46bb295c5 Disable old webserver 2009-05-03 11:16:58 +02:00
Julien BLACHE
a1afb0d390 Use evhttp_send_reply_chunk_with_cb() to stream files
This evhttp extension makes it possible to schedule chunks one after
the other when (part of) the previous chunk has been written to the
client.
2009-05-03 11:16:58 +02:00
Julien BLACHE
7a37732658 Add a variant of evhttp_send_reply_chunk() with a callback on evhttp_write_buffer()
evhttp_write_buffer() used by evhttp_send_reply_chunk() can take callback
executed when (part of) the buffer has been written. Using this callback to
schedule the next chunk avoids buffering large amounts of data in memory.
2009-05-03 11:16:58 +02:00
Julien BLACHE
1d152decf7 Use evhttp_request->fail_cb to stop streaming if the client closes the connection
This is an extension to evhttp. Without this, we cannot know that the client
closes the connection, and we keep pushing chunks while the underlying
evhttp_request has been freed, leading to a segfault.
2009-05-03 11:16:57 +02:00
Julien BLACHE
1ffcbdae27 Add a fail_cb to evhttp_request for connection failures
The callback will be executed if a failure (timeout, read error) is detected
on an incoming connection.

This can be used to detect a client closing the connection while engaged in a
chunked reply and actively pushing chunks to the client. Without this
notification, it is impossible to know if/when a connection gets closed and
react appropriately (ie. stop pushing chunks) resulting in a segfault.
2009-05-03 11:16:57 +02:00
Julien BLACHE
e4fe084619 Use embedded evhttp 2009-05-03 11:16:57 +02:00
Julien BLACHE
6bce4e08ca Import evhttp from libevent 1.4.10 2009-05-03 11:16:57 +02:00
Julien BLACHE
c9868175fd Implement URI encoding quirk for iTunes and Roku
iTunes and Roku devices do not encode + as %2B in the query string and
do not encode space as + either in the query string (though at least the
Roku encode space as %20 everywhere). This needs to be worked around or
browse queries fail to parse because + was decoded as space when the query
really needs a + character.
2009-05-03 11:16:57 +02:00
Julien BLACHE
09ef188d90 Add authentication to web interface, RSP and DAAP 2009-05-03 11:16:57 +02:00
Julien BLACHE
dc68de86dd Add HTTP Basic auth support 2009-05-03 11:16:57 +02:00
Julien BLACHE
cd636cf42d Add base64 decoding routine 2009-05-03 11:16:57 +02:00
Julien BLACHE
7a601d7daa Enable streaming of transcoded content 2009-05-03 11:16:57 +02:00
Julien BLACHE
2c2498b6b4 Add transcoding infrastructure 2009-05-03 11:16:57 +02:00
Julien BLACHE
22092f555b Add L_XCODE log domain
Log domain for anything transcoding-related.
2009-05-03 11:16:57 +02:00
Julien BLACHE
e5cc417e96 Add DJB hash function to misc.[ch] and use it 2009-05-03 11:16:51 +02:00
Julien BLACHE
0a1c4545dc Move safe_ato[il]() to misc.[ch] 2009-04-30 14:46:37 +02:00
Julien BLACHE
91414c10d7 Use a hashtable for dmap fields lookup
The hashtable is built around an AVL tree and the DJB hash function;
the AVL tree is built at init time and the init routine checks for
collisions.
2009-04-30 13:57:40 +02:00
Julien BLACHE
c071a58c3c Wire up DAAP support 2009-04-30 13:57:40 +02:00
Julien BLACHE
00876facde Introduce DAAP protocol implementation
Same restrictions as RSP at the moment:
 - no transcoding
 - no authentication
2009-04-30 13:57:34 +02:00
Julien BLACHE
f332f992aa Document HTTP client quirks known to mt-daapd 2009-04-28 18:00:27 +02:00
Julien BLACHE
651d946cc2 Implement RSP streaming. 2009-04-28 18:00:27 +02:00