Commit Graph

1182 Commits

Author SHA1 Message Date
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
Julien BLACHE
f05a55e7fc Implement HTTP chunked streaming
Transcoding is not supported yet.

In the current state of affairs, we will crash if the client closes the
connection before the tranfser is done. This is a limitation of evhttp,
it is not possible to detect this condition. This will need to be fixed
in evhttp.
2009-04-28 18:00:21 +02:00
Julien BLACHE
5e8275a998 Wire up RSP support 2009-04-25 23:02:21 +02:00
Julien BLACHE
718631bab5 Introduce RSP protocol implementation
Lacks a couple of things:
 - actual streaming
 - transcoding
 - authentication
2009-04-25 23:02:15 +02:00
Julien BLACHE
21209bd040 Make sp_parse() second argument (term) const
The term (filter) argument is strdup()'d and that copy gets destroyed by
the parsing.
2009-04-25 16:27:59 +02:00
Julien BLACHE
6ed689d1c9 Move FILTER_TYPE_* definitions to smart-parser.h, where they belong 2009-04-25 16:27:59 +02:00
Julien BLACHE
29db6de1bb Fixup prototype for db_enum_fetch_row()
Second argument is actually a pointer to a pointer to a struct
db_media_file_info, and not a simple pointer.

That code sucks. Plain and simple. Will be taken out and shot at the
earliest occasion. Someone badly needs to take "Pointers 101", among
a lot of other 101 courses. Sigh.
2009-04-25 16:27:58 +02:00
Julien BLACHE
bdcb5b88dc Rename struct tag_packed_m3ufile and struct tag_packed_mp3file 2009-04-25 16:27:58 +02:00
Julien BLACHE
5fc698c94f Add L_RSP log domain 2009-04-25 16:27:58 +02:00
Julien BLACHE
9d1cd9117f Enable new HTTP server alongside the old webserver 2009-04-25 16:27:58 +02:00
Julien BLACHE
095350e6eb Introduce new evhttp-based HTTP server 2009-04-25 16:27:47 +02:00
Julien BLACHE
c9494a898e Add L_HTTPD for new evhttp-based HTTPd implementation 2009-04-24 15:45:44 +02:00
Julien BLACHE
7afc55307d Change prototype and return values for new file scanners 2009-04-24 15:45:44 +02:00
Julien BLACHE
92362068c6 Remove old file scanner (mp3-scanner) 2009-04-24 15:45:43 +02:00
Julien BLACHE
3a38e62f8a Remove/replace mp3-scanner.h include 2009-04-24 15:45:43 +02:00
Julien BLACHE
1a0e1731e4 Remove iTunes XML playlist parsing code 2009-04-24 15:45:43 +02:00
Julien BLACHE
69d6acad37 Remove support for iTunes XML playlist
No plans for OS X nor Windows in the near future, and those are most
probably useless on other platforms.
2009-04-24 15:45:43 +02:00
Julien BLACHE
831016bb05 Use new m3u scanner 2009-04-24 15:45:43 +02:00
Julien BLACHE
1a0f1317e2 Add rewritten scan_static_playlist() as scan_m3u_playlist()
Get rid of the I/O layer, better code.
2009-04-24 15:45:43 +02:00
Julien BLACHE
4a9d89c007 Rename struct tag_m3ufile into struct playlist_info 2009-04-24 15:45:43 +02:00
Julien BLACHE
bc5a3db08a Rename scan-url.c to filescanner_urlfile.c 2009-04-24 15:45:43 +02:00
Julien BLACHE
0a61b5a51d Rewrite .pls/.url file parser
Get rid of the I/O layer, ameliorate bitrate parsing, restructure code.
2009-04-24 15:45:33 +02:00
Julien BLACHE
1eaa3979e6 Add missing db_deinit() calls 2009-04-20 16:41:06 +02:00
Julien BLACHE
c4f8c7c254 Use new file scanner 2009-04-20 16:41:06 +02:00
Julien BLACHE
c0e3c1bc5f Introduce new file scanner
The new file scanner has inotify support and runs in its own thread, including
for performing the initial rescan.
2009-04-20 16:41:01 +02:00
Julien BLACHE
57c698fce9 Export scan_static_playlist() 2009-04-19 19:39:15 +02:00
Julien BLACHE
bbab963fe2 Use new conffile code in main.c; remove wrappers 2009-04-19 19:39:15 +02:00
Julien BLACHE
bacdddb82f Use -v for version information 2009-04-19 19:39:11 +02:00
Julien BLACHE
5e48a8bb6a Remove -k/kill_server option 2009-04-19 19:38:41 +02:00
Julien BLACHE
362db5003b Remove config file conversion code 2009-04-19 19:37:48 +02:00
Julien BLACHE
8e4b2db99e Export cfg structure 2009-04-19 19:37:47 +02:00
Julien BLACHE
e3ab6de328 Replace old config code, remove old code
Activate the new confuse-based config code, add compatibility functions
for the old config code.
2009-04-19 19:37:47 +02:00
Julien BLACHE
a17e23010a Introduce new confuse-based conffile support 2009-04-19 19:37:47 +02:00
Julien BLACHE
9f2e088d57 Add more .gitignore stuff 2009-04-19 19:37:47 +02:00
Julien BLACHE
e8c9a04376 Remove OS abstraction layer
Migrate daemon startup code in main.c, migrate functions with a single
callsite to that file. Remove setpgrp() usage in favor of setsid(), remove
configure check for setpgrp().
2009-04-19 19:37:42 +02:00
Julien BLACHE
9d026442b2 Remove alternate plugin load paths 2009-04-19 19:37:41 +02:00
Julien BLACHE
3ec2cc0f00 Stop the TXT record encoding madness
Use a proper string array to pass the TXT record fields, get rid of the
encoding stuff.

Changes the plugin API.
2009-04-19 19:37:41 +02:00
Julien BLACHE
2e2dbc6964 Free mDNS group entries in mdns_deinit() 2009-04-19 19:37:41 +02:00
Julien BLACHE
b3b66449bc Build the string list for the mDNS TXT record once in mdns_register
Instead of rebuilding the string list at every regitration, build it once
and for all in mdns_register().
2009-04-19 19:37:41 +02:00
Julien BLACHE
8718f856df Remove unused, unfinished, useless UPnP code 2009-04-19 19:37:41 +02:00
Julien BLACHE
6db32640ef Remove no-op os_deinit() 2009-04-19 19:37:41 +02:00
Julien BLACHE
54c01d3b57 Move signal processing to the main loop using signalfd 2009-04-19 19:37:41 +02:00
Julien BLACHE
0292b9c625 Fix memory leak 2009-04-19 19:37:41 +02:00
Julien BLACHE
39e5b11bec Remove old Avahi mDNS backend 2009-04-19 19:37:41 +02:00
Julien BLACHE
97faadf6dd Enable new mDNS backend 2009-04-19 19:37:35 +02:00