Commit Graph

266 Commits

Author SHA1 Message Date
Julien BLACHE
e23f02c7c0 Replace AVL tree in DAAP by a static hash using gperf 2011-04-02 09:52:19 +02:00
Julien BLACHE
cbb1669ee1 Replace AVL tree in DACP by a static hash using gperf 2011-04-02 09:52:19 +02:00
Julien BLACHE
cc0555d986 Replace AVL tree in RSP query by a static hash using gperf 2011-04-02 09:52:19 +02:00
Julien BLACHE
303a3329eb Replace AVL tree in DAAP query by a static hash using gperf 2011-04-02 09:52:19 +02:00
Julien BLACHE
ac95530585 Check for gperf, add support to the build system 2011-04-02 09:52:18 +02:00
Julien BLACHE
4806b2c20c Link against librt for clock_gettime()
Reported by Dominic Evans <oldmanuk@gmail.com>.
2011-02-06 17:54:32 +01:00
Julien BLACHE
1110324000 Explicitely check for and link against libgpg-error
We use gpg-error directly, so we need to check for it and link against
it explicitely; so far it's been brought in by libgcrypt.

Reported by Dominic Evans <oldmanuk@gmail.com>.
2011-02-06 17:54:29 +01:00
Julien BLACHE
dfe65c07b7 Split out CFLAGS and CPPFLAGS 2011-02-06 17:53:47 +01:00
Julien BLACHE
43674f1d47 Break long lines 2011-02-06 17:29:39 +01:00
Julien BLACHE
da0011de3b Load our SQLite extension 2010-09-28 18:38:10 +02:00
Julien BLACHE
7ba3b23f63 Rename mdns_avahi.h to mdns.h 2010-09-18 17:24:34 +02:00
Julien BLACHE
0137b202f0 Allow use of pre-generated ANTLR3 parsers when antlr3 is not available 2010-09-04 12:57:10 +02:00
Julien BLACHE
dd6fd6ceec Use rm -f to clean up ANTLR-generated files 2010-09-04 12:01:30 +02:00
Julien BLACHE
65d365197a Use $(ANTLR) variable instead of substitution to invoke ANTLR
This makes it possible to override the value when calling make.
2010-06-26 12:20:49 +02:00
Julien BLACHE
b7aac26444 Check for GNU libunistring and use it 2010-06-21 17:50:09 +02:00
Julien BLACHE
33936bacfa Check for zlib and use it 2010-05-03 18:19:41 +02:00
Julien BLACHE
e49421b04b Integrate OSS4 local audio output 2010-05-02 11:45:16 +02:00
Julien BLACHE
87861b54ea Build audio player 2010-05-02 11:45:14 +02:00
Julien BLACHE
0eca9b4313 Add artwork handling routines
External artwork only, until ffmpeg supports embedded artwork.
2010-03-07 15:45:47 +01:00
Julien BLACHE
a1ef2ab243 FFmpeg "evbuffer:0x..." URLProtocol implementation
Implement a URL handler to output data to an evbuffer from ffmpeg.
2010-03-07 11:13:38 +01:00
Julien BLACHE
2f385bff2c Add libgcrypt, check for it and perform global initialization 2010-02-05 18:38:39 +01:00
Julien BLACHE
a52ff42697 Introduce stub DACP protocol implementation 2010-01-30 17:30:22 +01:00
Julien BLACHE
eca166feaa Move DMAP routines to a dedicated module 2010-01-30 17:30:22 +01:00
Julien BLACHE
4701817333 Replace strlcpy() with evutil_snprintf() in evhttp
Get rid of strlcpy() and its implementation entirely, it doesn't buy anything
over snprintf(). Use evutil_snprintf() so as to match the rest of the code.
2010-01-26 17:54:45 +01:00
Julien BLACHE
c191aff5cd Add remote_pairing.[ch] to sources 2010-01-17 10:52:58 +01:00
Julien BLACHE
3154416415 Integrate iTunes library scanner as an optional component 2009-11-28 10:55:43 +01:00
Julien BLACHE
1bd3b3a076 Fix paths and rename the project 2009-06-12 13:00:34 +02:00
Julien BLACHE
a200703393 Switch to the new database code 2009-06-10 19:04:18 +02:00
Julien BLACHE
2cc5f6928e Remove the unused smart parser 2009-06-07 19:06:58 +02:00
Julien BLACHE
f9d9964914 Add new ANTLR parser for RSP queries
This parser actually supports way more than is needed for RSP proper,
as mt-daapd was piggybacking on the RSP queries for its smart playlists.

As I don't have (yet?) the RSP specs, better safe than sorry here. This
will be revisited at some point. Or not.
2009-06-07 19:06:51 +02:00
Julien BLACHE
68db2ae7c2 Add new ANTLR parser for DAAP queries 2009-06-07 19:06:46 +02:00
Julien BLACHE
11f18eaf6f Remove unneeded log.c from evhttp copy 2009-05-09 17:14:07 +02:00
Julien BLACHE
b6f23a8273 Remove old error logging facility 2009-05-09 17:14:07 +02:00
Julien BLACHE
3a2a218a0f Introduce new logger 2009-05-09 17:14:01 +02:00
Julien BLACHE
10bb9dec57 Remove useless daapd.h 2009-05-05 16:22:11 +02:00
Julien BLACHE
524bdd3f0d Remove old config framwork include and wrappers 2009-05-05 16:10:44 +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
ed7c848702 Remove I/O layer 2009-05-03 12:10:17 +02:00
Julien BLACHE
e8843a99aa Remove util.[ch] 2009-05-03 11:38:32 +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
e4fe084619 Use embedded evhttp 2009-05-03 11:16:57 +02:00
Julien BLACHE
2c2498b6b4 Add transcoding infrastructure 2009-05-03 11:16:57 +02:00
Julien BLACHE
0a1c4545dc Move safe_ato[il]() to misc.[ch] 2009-04-30 14:46:37 +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
718631bab5 Introduce RSP protocol implementation
Lacks a couple of things:
 - actual streaming
 - transcoding
 - authentication
2009-04-25 23:02:15 +02:00
Julien BLACHE
095350e6eb Introduce new evhttp-based HTTP server 2009-04-25 16:27:47 +02:00
Julien BLACHE
92362068c6 Remove old file scanner (mp3-scanner) 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
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
bc5a3db08a Rename scan-url.c to filescanner_urlfile.c 2009-04-24 15:45:43 +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
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
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
8718f856df Remove unused, unfinished, useless UPnP code 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
Julien BLACHE
df0013a166 Introduce libevent for running the main loop
Start the gradual libevent conversion.
2009-04-07 12:53:04 +02:00
Julien BLACHE
687be1cbb6 Remove compat.[ch] 2009-04-05 19:15:44 +02:00
Julien BLACHE
f4721a6cec Add explicit -export-dynamic
mt-daapd needs an explicit -export-dynamic so its symbols are made visible
to the plugins at load time.
2009-04-05 18:54:59 +02:00
Julien BLACHE
c2ffed5e2b Remove unused iconv-dependent code.
The code was mainly used by the MP3 scanner.
2009-04-05 18:54:59 +02:00
Julien BLACHE
f14ba228ec Remove Ogg Vorbis file scanner 2009-04-05 18:54:58 +02:00
Julien BLACHE
056f788c99 Remove MP3 file scanner 2009-04-05 18:54:58 +02:00
Julien BLACHE
9f45181bb3 Remove AAC file scanner 2009-04-05 18:54:58 +02:00
Julien BLACHE
84a132d166 Remove WAV file scanner 2009-04-05 18:54:58 +02:00
Julien BLACHE
23802f1866 Remove AIFF file scanner 2009-04-05 18:54:58 +02:00
Julien BLACHE
a3e83775b3 Enable ffmpeg file scanner
Replace all file scanners with the new ffmpeg file scanner. Keep pls and
url exceptions.
2009-04-05 18:54:49 +02:00
Julien BLACHE
b80b81adae Don't clobber LIBS with -ldl 2009-04-02 12:18:53 +02:00
Julien BLACHE
3a55c153b8 Move wavstreamer to tools 2009-04-02 12:18:47 +02:00
Julien BLACHE
023e034020 Don't clobber LDFLAGS with iconv 2009-04-02 11:42:39 +02:00
Julien BLACHE
b59f936390 Remove barely-used bsd-snprintf.[ch] 2009-04-01 19:26:19 +02:00
Julien BLACHE
fc8038de6b Get rid of unused restart.[ch] 2009-04-01 19:17:05 +02:00
Julien BLACHE
d3b4d80284 Remove SVN keywords 2009-04-01 19:16:21 +02:00
Julien BLACHE
36a0217199 Use pkg-config for TagLib 2009-04-01 19:16:20 +02:00
Julien BLACHE
b4deba68b6 Use pkg-config for libFLAC
Don't use FLAC_CFLAGS because it contains -I/usr/lib/FLAC which breaks
anything using assert(), due to FLAC's own assert.h.
2009-04-01 19:16:20 +02:00
Julien BLACHE
22e646099a Use pkg-config for Ogg/Vorbis 2009-04-01 19:16:20 +02:00
Julien BLACHE
2fd4b744a7 Use pkg-config for id3tag 2009-04-01 19:16:20 +02:00
Julien BLACHE
5f682ca276 Remove unused SSL support
Unused, and anyway OpenSSL is not compatible with the GPL.
2009-04-01 19:16:20 +02:00
Julien BLACHE
098ab7d736 Make SQL mandatory and sqlite3 the default (and only) backend 2009-04-01 19:16:19 +02:00
Julien BLACHE
eb5cccca06 Make MDNS mandatory and Avahi the default (and only) backend 2009-04-01 19:16:19 +02:00
Julien BLACHE
185864e799 Remove custom memory debug facility 2009-04-01 19:16:19 +02:00
Julien BLACHE
ca1c461419 Remove gdbm database backend 2009-04-01 19:16:19 +02:00
Julien BLACHE
e2a31b40a2 Remove obsolete sqlite v2 SQL backend 2009-04-01 19:16:19 +02:00
Julien BLACHE
a278c5998c Remove non-Avahi mDNS backends 2009-04-01 19:16:13 +02:00
Julien BLACHE
3a8c7b3c41 Get rid of Apple's RendezVous mDNS implementation 2009-04-01 15:36:55 +02:00
Julien BLACHE
180cc2eb5a Get rid of win32 code 2009-04-01 14:48:27 +02:00
Ron Pedde
4966f4213e Fold the mp4 scanner into the aac scanner, fix the playlist issue, and the aac metadata parsing issue 2007-09-16 02:03:25 +00:00
Ron Pedde
5e69ba1a35 add ff-plugin-events.h to dist package 2007-09-04 02:40:22 +00:00
Ron Pedde
a90bb2ab10 Add io-errors.h and io-plugin.h to make dist 2007-08-11 04:41:21 +00:00
Ron Pedde
0429230d00 remove function backpointers for dll plugins 2007-08-09 06:33:41 +00:00
Ron Pedde
4b9b1fe177 merge ron-ssl branch back to trunk in preparation for windows cleanups, merge setup tweaks and credits language as well as update rend-posix from stable-aspl-free 2007-07-31 04:34:33 +00:00
Ron Pedde
1f640234f5 start of UPnP functions 2007-04-13 21:37:42 +00:00
Ron Pedde
6f1f6d8ece Add always_transcode, first pass at a fix for the hifidelio/olive, something like the one offered by Matthias Schmidt 2007-04-09 04:23:51 +00:00
Ron Pedde
363210ebcc Update Apple's mDNS to 107.6, the Apache/BSD licenced version, to remove aspl taint. This is high in autoconf hackery, though 2007-04-08 04:43:22 +00:00
Ron Pedde
14fe9f9c6c Add memory debugging (--enable-mem-debug), find and fix several small (and not so small) memory leaks 2007-01-17 01:06:16 +00:00
Ron Pedde
c4c823affb add avahi support to trunk 2006-11-28 22:11:18 +00:00
Ron Pedde
5509a8cffd redist ff-dbstruct.h 2006-10-03 14:41:24 +00:00
Ron Pedde
8e23eb9e1d Move daap to an external output module 2006-09-25 03:20:22 +00:00
Ron Pedde
7a3a5ce3af Fix memory leak in scan-xml, closing #173 2006-07-12 04:10:21 +00:00
Ron Pedde
554c72e1a6 Add db auto-upgrade back in 2006-06-29 06:21:41 +00:00
Ron Pedde
fc0cea1d49 first pass at aif support. Doesn't honor the ID3 block, but should get merged by the iTunes XML file. Closes #141 2006-06-12 05:41:36 +00:00
Ron Pedde
7f84afb786 get rid of mtd-plugins.h in favor of combined plugin header file ff-plugins.h 2006-05-29 11:58:23 +00:00
Ron Pedde
0f64686356 add ffmpeg-based transcoding 2006-05-28 04:06:14 +00:00
Ron Pedde
e60d1f75ec invert the sense of the -s switch, default skipping intial scan 2006-05-01 08:06:19 +00:00
Ron Pedde
433a2ce666 More plugin work 2006-04-21 06:43:41 +00:00
Ron Pedde
fd0d5cbbd9 start plugin infrastructure 2006-04-19 08:32:18 +00:00
Ron Pedde
6979a7a67e Fixes for compiling on solaris -- fixes #66 and #5 2006-04-15 08:53:56 +00:00
Ron Pedde
bb5866fd21 make mtd-update not depend on sqlite 2006-04-10 07:38:26 +00:00
Ron Pedde
c7cc788a1d add external database update program (mtd-update) 2006-04-10 04:18:38 +00:00
Ron Pedde
476ee42faf starting simple gdbm backend 2006-03-27 01:48:43 +00:00
Ron Pedde
ebe7f7a861 Get rid of query.c and query.h, as they are now done via smart-parser.c 2006-03-16 08:02:44 +00:00
Ron Pedde
73636a5a4c add ini style config handling 2006-02-27 22:48:42 +00:00
Ron Pedde
9a133dcbdc Merged win32-branch 2006-02-26 08:46:24 +00:00
Ron Pedde
8dfea7dee3 Add video support for m4v files 2006-01-12 08:10:48 +00:00
Ron Pedde
3a6ec603a1 add sqlite3 support 2006-01-06 17:43:38 +00:00
Ron Pedde
86b45a028e abstract database somewhat, improve error handling 2006-01-04 20:30:44 +00:00
Ron Pedde
a82c564426 move the thread status stuff into the webserver, add status info to xml-rpc 2005-11-07 05:58:05 +00:00
Ron Pedde
0821b9ce9d musepack support from slomo 2005-11-02 04:45:25 +00:00
Ron Pedde
283261585d Fix dist files 2005-10-24 06:14:36 +00:00
Ron Pedde
8d3d31d119 integrate smart playlist parsing into the database 2005-10-23 07:33:24 +00:00
Ron Pedde
9c48844586 separate out mp3 and url scanning 2005-06-01 14:40:28 +00:00
Ron Pedde
443afc5a76 abstract out wav scanning 2005-06-01 02:54:20 +00:00
Ron Pedde
5915acfa81 Refactoring scanning -- split aac scanning from mp3-scanner 2005-05-29 23:44:23 +00:00
Ron Pedde
9ae132a127 Add iTunes playlist support 2005-05-21 05:53:11 +00:00
Ron Pedde
e80fc585c9 Remove ezxml in favor of home-built saxish parser 2005-05-17 04:26:59 +00:00
Ron Pedde
a42cb7549d missing some files in extra_dist 2005-05-01 05:09:02 +00:00
Ron Pedde
27a7426bc2 First cut of itunes xml parsing -- this should augment song info. Still no playlist info 2005-04-27 06:13:26 +00:00
Ron Pedde
2762f6730b hook wma scanner into mp3-scanner, add more metainfo 2005-04-14 06:23:05 +00:00
Ron Pedde
d4aaf09700 Get rid of some configure verbosity, include dbs-sqlite.h 2005-03-20 01:24:17 +00:00
Ron Pedde
5eb03dae42 Remove old files 2005-03-11 06:43:26 +00:00
Ron Pedde
847d10b361 First pass of sqlite backend 2005-03-11 06:39:40 +00:00
Ron Pedde
c86be33245 initial support for sqlite 2005-03-01 04:19:27 +00:00
Ron Pedde
f43da69cf7 Add Timo's wavstreamer 2005-02-27 03:34:07 +00:00
Ron Pedde
9afb28a4ab Add Tim's ogg and flac patches, plus convert the existing ogg metainfo reading
stuff to use vorbisfile.
2005-02-27 00:41:55 +00:00
Ron Pedde
bdd5ba39da integrate server-side conversion patches, -Wall cleanups, AMD64 fixes, and xml-rpc cleanups 2005-02-21 08:10:37 +00:00
Ron Pedde
f2ff609742 start framework for xml-rpc calls. 2005-02-17 04:24:16 +00:00
Ron Pedde
1ea0bce3b3 re-fix the atoll thing 2005-02-05 20:54:55 +00:00
Ron Pedde
b8e421d8df Fix for "my libc doesn't have atoll" bug. 2005-01-09 20:34:12 +00:00
Paul Kim
7aa6aa0062 configure.in:
- Added support for optional Ogg/Vorbis support via the --enable-oggvorbis
flag.

Makefile.am:
- Added conditional compilation of ogg.c dependant on whether Ogg/Vorbis
support is enabled.

mp3-scanner.c:
- Added hook for Ogg/Vorbis support.
- Commented out code which set the "item_kind" of ogg files differently.
It now sets it the same as other audio files. They show up in iTunes
now but they will not stream.

ogg.c:
- Initial check-in.
- Code adapted from 'ogginfo' program. Does parsing of Ogg/Vorbis tags.
2004-12-06 03:06:12 +00:00
Ron Pedde
31ff9fc39c add --disable-mdns configure option, in prep for win32 build 2004-10-30 16:42:20 +00:00
Ron Pedde
078c1e98e1 Since newest autotools automatically add the .c files to the DIST_COMMON, might as well add the parser.h too 2004-09-19 05:13:58 +00:00
Ron Pedde
71d3892c89 Last OPT_QUERY reference 2004-09-18 17:13:14 +00:00
Ron Pedde
537233256b Default browse/query 2004-09-18 04:12:43 +00:00
David W. Berry
9492a64846 1. Implement browse and query. These are both still somewhat experimental
pending further verification against iTunes.  --enable-browse and
    --enable-query must be specified to configure to enable both options.
    browse support requires query support.
2.  Database iteration is now sorted and the database is not kept locked
    as long during iteration.
2004-06-14 19:01:06 +00:00
Ron Pedde
3e31ccf1d2 Add experimental dynamic art code by Hiren Joshi 2004-04-14 06:17:22 +00:00
Ron Pedde
543e8c1ee1 make gdbm the default 2004-04-06 15:26:46 +00:00
Ron Pedde
a2d9dfec41 Make gdbm the default 2004-04-06 14:06:16 +00:00
Ron Pedde
1c590645be more compatible automake 2004-04-04 08:23:34 +00:00