Julien BLACHE
68c74e6a88
Replace the mxml RSP root element hack by a better one
...
There's no proper way to add attributes to the root XML element in mxml;
the best way to do that is to create the root element like we would
create any other element and put the whole "? ... ?" stuff in there.
2009-06-07 19:06:51 +02:00
Julien BLACHE
4872077319
Make the file scanner non-recursive
2009-06-07 19:06:51 +02:00
Julien BLACHE
ffb5a2fb06
Make wd2path static
2009-06-07 19:06:51 +02:00
Julien BLACHE
977afbbc5e
Add workaround for empty XML tags in RSP replies
...
The SoundBridge does not support empty XML tags (<foo/>) and treats anything
containing such tags as invalid. Adding an empty string to the element works
around that, in that mxml won't produce empty tags in this case.
Hackish, but dealing with a hackish implementation on the other side :)
2009-06-07 19:06:51 +02:00
Julien BLACHE
28350ae9a6
Look for a query or filter parameter in DAAP queries
...
The filter is passed in the query parameter if it's a search, but if it's
a browse it's in the filter parameter.
2009-06-07 19:06:51 +02:00
Julien BLACHE
7642b1c6d7
Use the new ANTLR parser for DAAP queries
2009-06-07 19:06:50 +02:00
Julien BLACHE
68db2ae7c2
Add new ANTLR parser for DAAP queries
2009-06-07 19:06:46 +02:00
Julien BLACHE
cefd3f3d1d
Make dmap_fields_hash static
2009-06-01 18:01:24 +02:00
Julien BLACHE
512731c9dc
Turn DPRINTF into a wrapper to a generic logging function
...
DPRINTF() made a generic logging function taking a va_list called
vlogger() and reimplemented as a wrapper on top of vlogger().
2009-06-01 16:01:47 +02:00
Julien BLACHE
c3a5222f84
Log libevent errors through our own logger
2009-05-09 17:14:07 +02:00
Julien BLACHE
11f18eaf6f
Remove unneeded log.c from evhttp copy
2009-05-09 17:14:07 +02:00
Julien BLACHE
be0ac2b103
Add missing cleanup calls
2009-05-09 17:14:07 +02:00
Julien BLACHE
7b3b538ea6
Rename L_REND to L_MDNS
2009-05-09 17:14:07 +02:00
Julien BLACHE
d384f3c395
Rename E_INF to E_INFO
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
11fd038d16
Use new logger facility
2009-05-09 17:14:06 +02:00
Julien BLACHE
3a2a218a0f
Introduce new logger
2009-05-09 17:14:01 +02:00
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
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
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
Ron Pedde
0be8f98a40
Allow --disable-iconv
2007-09-04 07:26:50 +00:00
Ron Pedde
9246bfe59e
iconv fixes for linux
2007-09-04 05:11:43 +00:00
Ron Pedde
5e69ba1a35
add ff-plugin-events.h to dist package
2007-09-04 02:40:22 +00:00
Ron Pedde
9aaff066d3
Add codepage translation for non-utf8 id3v1 tags
2007-09-03 21:39:20 +00:00
Ron Pedde
00cbda5e95
deprecate general/playlist
2007-09-03 17:50:56 +00:00
Ron Pedde
839f500358
Fix re-write of config file by preserving line endings
2007-09-03 17:48:56 +00:00
Ron Pedde
cab9a1ecd0
Fix utf-16 problems in win32 and unix.
2007-08-31 05:23:16 +00:00
Ron Pedde
2f83ecb3fc
fix stupid pointer bug
2007-08-30 05:42:59 +00:00
Ron Pedde
9d222abd4b
Fix sys/time requirement in upnp.c
2007-08-30 05:36:06 +00:00
Ron Pedde
153e874bef
Patch from Stephane Moreau to make apache rewrites easier
2007-08-27 00:57:47 +00:00
Ron Pedde
f2174b3173
Patch from Ian Burrell to move plugins from sysconfdit to libdir, as it Should Be
2007-08-27 00:55:17 +00:00
Ron Pedde
1ca5cef013
Fix windows open for non-latin files
2007-08-27 00:43:33 +00:00
Ron Pedde
d88132f6c9
use iconv for utf8/utf16 conversion, in preparation for codepage id3tags and file system conversion
2007-08-23 03:55:10 +00:00
Ron Pedde
f2be31595f
add io_ functions for plugins
2007-08-18 01:15:51 +00:00
Ron Pedde
40956ee0f9
fix VA_COPY
2007-08-12 08:43:27 +00:00
Ron Pedde
17afc25676
linux fixes for new plugin arch
2007-08-12 06:30:00 +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
f40c75773a
win32 fixes for new plugin model
2007-08-10 00:48:31 +00:00
Ron Pedde
57dded49f9
oops, forgot the plugin interface
2007-08-09 07:10:35 +00:00
Ron Pedde
0429230d00
remove function backpointers for dll plugins
2007-08-09 06:33:41 +00:00
Ron Pedde
366ae9913c
Fix problems with ascii log files, also problems with WSAEWOULDBLOCK on send buffer/receive window full.
2007-08-06 05:18:01 +00:00
Ron Pedde
5cf869342b
avoid re-entrant error logging to avoid deadlocks
2007-08-06 03:18:44 +00:00
Ron Pedde
a806dde1da
Implement ascii line-ending conversion for windows
2007-08-05 04:43:25 +00:00
Ron Pedde
b108edbc52
fix excessive logging in mdns, and remove rdar tags
2007-08-05 04:09:12 +00:00
Ron Pedde
4f0b1f24e0
cleanups for io_ on win32. still not quite working right, some read or write errors when streaming files, but a strong "mostly works"
2007-08-01 06:32:15 +00:00
Ron Pedde
ca7beedde3
convert scan-wma to io_ functions
2007-08-01 06:21:53 +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
f1cc5ca6fb
Fix for missing upnp_uuid()
2007-05-18 02:27:29 +00:00
Ron Pedde
3ac4048b0d
Fix wav scanner to allow both 16 and 18 byte 'fmt ' chunks, also allow for out-of-order WAVE chunks
2007-05-10 06:24:50 +00:00
Ron Pedde
7f5e364954
Add enough more UPnP discovery that it shows up on SoundBridge
2007-05-05 04:35:50 +00:00
Ron Pedde
648297e253
Finish (mostly) upnp discovery
2007-05-04 21:31:05 +00:00
Ron Pedde
0eba96d92a
More UPnP work. Almost finished with discovery.
2007-05-03 03:30:30 +00:00
Ron Pedde
0115887492
Move split functions from conf to util
2007-05-03 00:28:14 +00:00
Ron Pedde
61f5e96ea7
Force a full rescan when the database version is too new
2007-05-03 00:18:25 +00:00
Ron Pedde
f3d5caedb1
Missing header
2007-05-03 00:10:10 +00:00
Ron Pedde
9ba5a51fdd
Fix small race in registerhandler
2007-05-02 23:49:42 +00:00
Ron Pedde
360c7f945e
Fix for win32 playlist dissapearing issue
2007-04-30 00:18:04 +00:00
Ron Pedde
29c4e25425
Minor auth fixes
2007-04-27 12:31:42 +00:00
Ron Pedde
0ade4784ff
Fix stupid password bug
2007-04-19 03:46:40 +00:00
Ron Pedde
eedf20f7f2
More password handling
2007-04-19 03:19:57 +00:00
Ron Pedde
e9a08a6951
upnp updates, plus some password fixes
2007-04-19 03:00:00 +00:00
Ron Pedde
5be4c9d8a4
More simple upnp updates
2007-04-19 02:58:56 +00:00
Ron Pedde
c6a9009550
Oops, thinko on the playlist thing
2007-04-18 03:34:03 +00:00
Ron Pedde
a15eabbd76
Crank up debug a bit for handlers to help track down wl500g errors
2007-04-18 03:12:42 +00:00
Ron Pedde
5b38bc6d6c
Solve the case of the missing playlists\! D'oh\!
2007-04-18 03:07:25 +00:00
Ron Pedde
d8ad7c7ebc
Tune down auth logging a bit, increase debugging in ws handler to try and find wl500g problem
2007-04-16 21:31:56 +00:00
Ron Pedde
e8ff234550
Minor win32 fixes for S_ISDIR
2007-04-16 05:30:10 +00:00
Ron Pedde
fb86538d79
Add centralized auth handler for different user roles (currently admin and user), closing #225 and #220
2007-04-15 23:57:00 +00:00
Ron Pedde
29478fcca1
Remove regex functions from webserver, instead preferring path from root - fixes problems with bad regex in uclibc
2007-04-15 23:27:16 +00:00
Ron Pedde
096975abfe
More UPnP work. Still doesn't show up in network neighborhood. Not quite sure why not, though. :)
2007-04-15 23:20:13 +00:00
Ron Pedde
a6b9099e01
Use S_ISDIR to determine file directoryishness
2007-04-15 20:36:00 +00:00
Ron Pedde
e991d1ec08
logging for bad passwords as suggested by mas
2007-04-13 23:31:57 +00:00
Ron Pedde
69ec57328e
ifdef the upnp stuff in main
2007-04-13 23:31:22 +00:00
Ron Pedde
5e9d9a3f20
forgot upnp files
2007-04-13 21:38:05 +00:00
Ron Pedde
1f640234f5
start of UPnP functions
2007-04-13 21:37:42 +00:00
Ron Pedde
9ccc48eac9
uninitialized string error, found by Ron (the *other* ron) on the forums.
2007-04-12 18:34:09 +00:00
Ron Pedde
245e062530
Fix for tzset/putenv in compat, to help build on wl500g
2007-04-11 02:33:47 +00:00
Ron Pedde
914cd2d54d
include config guards for headers in plugin.c, remove dynamic-art from vc project.
2007-04-10 01:39:08 +00:00
Ron Pedde
4d323f2729
Fix headers
2007-04-09 06:50:58 +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
751afbf285
header fixes for fbsd, as reported by oliver in the forums
2007-04-07 22:32:26 +00:00
Ron Pedde
00ded64dab
Add a simple config migrator to move config items around at load. I've used it
...
to move general/process_m3u to scanning/process_playlists, scanning/process_xml
to scanning/process_itunes, and make scanning/process_m3u actually control just
m3u file rather than all playlists. In addition, scan/correct_order has been
moved to daap/correct_order. This closes long-standing bug #172 .
2007-04-06 05:05:50 +00:00
Ron Pedde
e6d550dd49
rename lock_t to ff_lock_t to prevent solaris breakage
2007-04-06 02:57:06 +00:00
Ron Pedde
a4dea03121
Try to automatically locate plugins, show loaded plugins on web interface
2007-04-04 20:34:29 +00:00
Ron Pedde
ec9ab04b40
xmbc fixes
2007-01-29 06:45:21 +00:00
Ron Pedde
55014d0a71
Fix signal handling on linuxthreads/NSLU2
2007-01-28 05:36:06 +00:00
Ron Pedde
c9e70fb47f
Add signal handling for nslu2, make -k send SIGTERM, not SIGSTOP
2007-01-20 14:20:59 +00:00
Ron Pedde
fb66541657
Use pthread_sigmask over sigprocmask in an attempt to fix signals on linuxthreads machines
2007-01-19 07:11:40 +00:00
Ron Pedde
0d72198594
Get wrong pid when daemonizing
2007-01-19 06:20:12 +00:00
Ron Pedde
5383d1c1ca
Fix double-free problems reported in forums
2007-01-18 06:07:26 +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
b23f0d226b
update usage() to reflect new -k and -V options, as reminded by Steve in the forums
2007-01-11 01:28:18 +00:00
Ron Pedde
1d01c02296
Fix -V to exit after displaying version
2007-01-10 06:19:41 +00:00
Ron Pedde
d2e5b45bd9
Move signal handling to parent thread, add -V and -k options, closing #219 , and fixing problems with daemontools
2007-01-09 18:12:39 +00:00
Ron Pedde
5f922b44d8
Fix problem with adding playlists as reported in forums
2007-01-09 05:55:41 +00:00
Ron Pedde
cc535d234f
consolidate mutex locking to better debug deadlocks
2006-12-31 21:28:47 +00:00
Ron Pedde
f7b2e3204e
Don't delete hand-crafted static playlists (type 0) on full reload
2006-12-31 21:22:46 +00:00
Ron Pedde
eb92a4b99b
automatically shorten the rendezvous name if it's too long
2006-12-19 05:06:42 +00:00
Ron Pedde
a3d3c21b65
try to better detect successful transcoding in order to update play counts - #191
2006-12-19 01:48:27 +00:00
Ron Pedde
da77bb850a
expand tabs
2006-12-18 06:31:13 +00:00
Ron Pedde
c4c823affb
add avahi support to trunk
2006-11-28 22:11:18 +00:00
Ron Pedde
23e567a94b
Add more logging for duplicate playlist
2006-11-27 00:17:12 +00:00
Ron Pedde
9239e0ad36
Reference iTunes playlist by name hash rather than native playlist id
2006-11-27 00:00:00 +00:00
Ron Pedde
e0098e20fa
Fix rendezvous registration problem on win32 where sometimes rendezvous names wouldn't get registered.
2006-11-22 06:04:23 +00:00
Ron Pedde
36bc5951e5
include sys/select.h for freebsd, courtesy of Denis
2006-11-22 04:10:29 +00:00
Ron Pedde
d5506fc46f
Fix db upgrade from 12 -> 13
2006-11-19 18:58:03 +00:00
Ron Pedde
4d8e618f75
iTunes updates, courtesy of Shish
2006-11-16 04:13:57 +00:00
Ron Pedde
758c0c6245
stdint fixes
2006-11-14 05:29:32 +00:00