Commit Graph

1833 Commits

Author SHA1 Message Date
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
1a3ff0dd55 Add check for sys/signalfd.h 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
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
311eb19cb5 Add -Wall to default CFLAGS 2009-04-05 18:54:59 +02:00
Julien BLACHE
9d9a4a0ea2 Initialize libtool with disable-static 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
59ac95cfae Remove x bit 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
d0d9e9dbfc Update .gitignore 2009-04-05 10:10:01 +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
22ac226f77 Update default config file 2009-04-02 15:05:18 +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