Julien BLACHE
97cb82faf7
Add new Avahi mDNS backend with libevent integration.
2009-04-08 14:57:34 +02:00
Julien BLACHE
8a351e5bf8
Manage explicit event bases
2009-04-08 14:57:29 +02:00
Julien BLACHE
02f960b25b
Fix Avahi races
...
Switch from custom thread + SimplePoll to ThreadedPoll, ensuring proper
locking of the polling thread.
2009-04-07 14:03:13 +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
3b4e0d8f74
Add missing ;
2009-04-07 11:40:14 +02:00
Julien BLACHE
b3cffd491d
Add and use io_urlencode() to replace %U format spec for io_open()
...
Stopgap to replace the %U modifier until something happens with the whole
io_* stuff.
2009-04-05 22:42:03 +02:00
Julien BLACHE
687be1cbb6
Remove compat.[ch]
2009-04-05 19:15:44 +02:00
Julien BLACHE
7098dfbab3
Fix various trivial compiler warnings
2009-04-05 19:03:29 +02:00
Julien BLACHE
ea36855793
Fix format specifiers for 64bit integers
...
Use "%" PRIu64 from inttypes.h instead of "%lld" which is incorrect on 64bit
platforms.
2009-04-05 18:54:59 +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
081a13bbea
Fix ffmpeg API breakage
...
avcodec_audio_decode() has been removed in favor of avcodec_decode_audio2();
output buffer size must be passed to the function.
2009-04-05 18:54:59 +02:00
Julien BLACHE
888bf11d2f
Replace %U format by %s
...
%s format specifier means the string must be URL encoded. Replace it by a
simple %s for the time being until plans about the I/O layer become clearer.
2009-04-05 18:54:59 +02:00
Julien BLACHE
e318858d44
Fill in type & codectype for .url/.pls
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
d8a9772afc
Remove/replace non-gcc compiler-specific defines and pragmas
...
Remove MSVC-specific defines and pragmas, use __attribute__((packed)) where
needed.
2009-04-05 18:54:58 +02:00
Julien BLACHE
3dd76cf9e9
Remove unneeded prototypes
2009-04-05 18:54:58 +02:00
Julien BLACHE
625ffd2112
Work around ffmpeg bugs in metadata support for some formats
...
Fall back to the legacy format-specific scanners for WMA, FLAC and Musepack,
as ffmpeg doesn't report metadata for FLAC nor Musepack and has bugs with
some WMA variants.
2009-04-05 18:54:58 +02:00
Julien BLACHE
3a53a068af
Initialize ffmpeg in main()
...
ffmpeg needs to be initialized before scanning songs at startup. As a
consequence, the ffmpeg plugin does not need to call av_register_all()
itself anymore.
2009-04-05 18:54:58 +02:00
Julien BLACHE
c9107ed48c
Remove unneeded id3tag.h include
2009-04-05 18:54:58 +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
8dce7ee0f3
Add comments pertaining to the type, codectype and description fields
...
Better document the type, codectype and description fields, noting they
equivalent DAAP fields and usage/restrictions.
2009-04-05 10:24:10 +02:00
Julien BLACHE
10037ff7cf
Rename struct tag_mp3file
...
That struct is badly named, rename it to struct media_file_info and keep
the typedef as-is for now.
2009-04-05 10:10:24 +02:00
Julien BLACHE
0187b5d405
Make ffmpeg mandatory
2009-04-05 10:06:03 +02:00
Julien BLACHE
f5dd1bec13
Add an ffmpeg-based file scanner
...
Use ffmpeg's (starting with SVN 20090301) new metadata API to extract
metadata from virtually all formats supported by ffmpeg. That will allow
to get rid of some dependencies and some open-coded routines that aren't
maintainable.
2009-04-05 09:51:40 +02:00
Julien BLACHE
2cb11e8f42
Fix typos in help output
2009-04-02 13:24:09 +02:00
Julien BLACHE
1b98e3c036
Fix Avahi mDNS backend
...
Fix Avahi polling:
- use avahi_simple_poll_loop() in rend-avahi.c:rend_poll() instead
of reinventing yet another type of wheel;
- start RendezVous thread after daemonizing, so the thread actually
runs after we've daemonized.
Also handle Avahi daemon restarts, as it's good practice and easy to do.
... And /that/, my friends, is how we do that ...
2009-04-02 13:22:23 +02:00
Julien BLACHE
464bd414a1
Properly guard bytes_written against NULL
...
ws_copyfile() can be called with bytes_copied == NULL but did not
check for this condition before using bytes_copied after an IO error,
leading to a segfault.
2009-04-02 13:17:16 +02:00
Julien BLACHE
46acba0edb
Fix ilst atom parsing
...
Fix ilst children parsing; when parsing children, we're already 8 bytes
into the ilst atom, so take that into account.
2009-04-02 13:16:07 +02:00
Julien BLACHE
93a97956a0
Change return type to boolean
...
Use a boolean return type instead of returning -1 with an unsigned return type.
2009-04-02 13:14:54 +02:00
Neil Spring
7565b02229
Properly reset XML scanner state between scans
...
Fix indexing of multiple XML files by resetting path_found for each
XML file.
2009-04-02 13:10:19 +02:00
Chris Pitchford
54d441f57c
Fix handling of URIs in io_open()
...
Fix io_open()'s handling of options in URI, fixing the "filenames with a
question mark are not scanned" bug.
Patch by Chris Pitchford, cpitchford on the Firefly forum.
2009-04-02 13:07:36 +02:00
Jeremy Kerr
7c1752d871
Fix a bad return value in ws_addarg()
...
Fix a bad return value in ws_addarg() when updating a header value,
leading the caller to believe an out of memory condition happened.
2009-04-02 13:01:19 +02:00
Nico Golde
567bd3ee03
Fix integer overflow, CVE-2008-1771
...
Fix integer overflow leading to heap-based buffer overflow causing a
remote Denial of Service and possibly allows to execute arbitrary code.
2009-04-02 12:59:31 +02:00
Nico Golde
5d227e85c5
Fixup taglib_tab_free_strings() invocation
...
Fixup taglib_tab_free_strings() invocation; the function never took an
argument to start with, so fix that up as it now breaks the build.
2009-04-02 12:29: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
1c97e73351
Remove embedded copy of getopt
2009-04-02 11:08:41 +02:00
Julien BLACHE
cfdb37c07c
Remove Mac OS conditional code
2009-04-02 11:06:29 +02:00
Julien BLACHE
c3fb950737
Remove WIN32 conditional code
2009-04-02 11:04:33 +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
242d41fd0d
Remove unused uici code
2009-04-01 19:16:28 +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
7ce2e75859
Use pkg-config to check for libavcodec & libavformat
2009-04-01 19:16:20 +02:00
Julien BLACHE
2daa9835a3
Update includes for newer ffmpeg versions
2009-04-01 19:16:19 +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
c0d395b7f9
Remove unused NSLU2 flag
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
1d71d95332
Remove x bit
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
1ca30657ac
Remove unneeded script
2009-04-01 15:36:55 +02:00
Julien BLACHE
b4fe0300b4
Remove test drivers
2009-04-01 15:36:37 +02:00
Julien BLACHE
180cc2eb5a
Get rid of win32 code
2009-04-01 14:48:27 +02:00
Ron Pedde
f3d1caff93
Fix 3 large memory leaks
2007-10-29 05:48:42 +00:00
Ron Pedde
e842f38fce
fix windows blocking socket issue, work around problem with temp update table not being seen by fetch thread during db update
2007-10-24 05:44:35 +00:00
Ron Pedde
c8d09bc310
Make rsp update session status, to help kick off rescans
2007-10-24 04:06:52 +00:00
Ron Pedde
d75e1f8d48
Update playcounts for transcoded files
2007-10-24 03:59:34 +00:00
Ron Pedde
a8b6d93c07
Add count value to smart playlists, closing #150
2007-10-23 04:52:25 +00:00
Ron Pedde
fffe34e5eb
Fix bogus error messages on web config
2007-10-23 04:23:50 +00:00
Ron Pedde
60f8d1299f
Fix wav scanning for wav files with more than two blocks (wmp wav files with LIST/INFO blocks)
2007-10-23 03:57:20 +00:00
Ron Pedde
ad5718bb9c
Add DESCRIPTION tag as an alias for COMMENT in flac files
2007-10-23 03:43:17 +00:00
Ron Pedde
34a4bb998e
Fix duration scanning for wav files
2007-10-23 03:37:51 +00:00
Ron Pedde
1292992f6f
Fix for format string vulnerability, reported as UnprotectedHex.com advisory UPH-07-03 by nnp (no CVE yet)
2007-10-21 22:51:01 +00:00
Ron Pedde
e70f43e1ce
Fix for remote DOS, reported as UnprotectedHex.com advisory UPH-07-02 by nnp (no CVE yet)
2007-10-21 22:45:32 +00:00
Ron Pedde
eb7b49d848
Fix for remote DOS, reported as UnprotectedHex.com advisory UPH-07-01 by nnp (no CVE yet)
2007-10-21 22:13:37 +00:00
Ron Pedde
31bbea6109
Win32 performance fix (WSAEWOULDBLOCK hack issue)
2007-10-19 03:35:24 +00:00
Ron Pedde
43c234e666
Add per-thread db handles to guard against SQLITE_MISUSE
2007-10-13 22:03:52 +00:00
Ron Pedde
6df87878a5
increased logging to debug wav streaming problem on win32/vista
2007-10-07 04:48:19 +00:00
Ron Pedde
aa7b98f214
Fix for iTunes 7 password prompt on movie playback
2007-10-07 04:39:30 +00:00
Ron Pedde
3caf85e221
Fix for crash on os/arch without va_copy
2007-10-02 03:15:21 +00:00
Ron Pedde
a921916f30
Tune down logging a bit more
2007-09-25 07:50:48 +00:00
Ron Pedde
208ef6b1f2
minor signed/unsigned cleanups
2007-09-25 06:15:47 +00:00
Ron Pedde
01c7d18758
io.c: Fix rebuffering issue on win32 (fixing #235 )
...
webserver.c: Fix write error log messages. Possible fix for crash on mipsel (uninitialized heap issue).
2007-09-23 10:14:51 +00: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
854a99470c
Fix problem with password protected libraries
2007-09-13 04:52:18 +00:00
Ron Pedde
5864fd8a15
Fix problem with line endings on m3u files
2007-09-13 04:27:47 +00:00
Ron Pedde
b082328a4d
This should be the REAL freebsd socklen_t fix
2007-09-11 04:45:59 +00:00
Ron Pedde
196ac7b468
Version the plugins, to stop from loading old versions, plus fix up search paths for ipkg based installs
2007-09-11 04:29:52 +00:00
Ron Pedde
491d1038eb
Fix for EOF problem without trailing linefeed as reported by evans02472 on the forums
2007-09-09 06:02:03 +00:00
Ron Pedde
2734480212
Freebsd fix for socklen_t problem reported in forums
2007-09-09 05:56:56 +00:00
Ron Pedde
9d9ce5ba7a
fix win32 library loading issues.
2007-09-07 07:51:00 +00:00
Ron Pedde
effab02bc1
scan for new plugin path when not specified in config
2007-09-07 06:55:25 +00:00
Ron Pedde
06a107f116
Add debugging to try and find problems with EBADF on Sun Cobalt RaQ
2007-09-07 06:52:23 +00:00
Ron Pedde
64b8eb7e71
don't include iconv.h when building without iconv
2007-09-05 03:28:56 +00:00
Ron Pedde
9d9533a07a
Win32 iconv fixes.
2007-09-04 07:34:18 +00:00