Max Kellermann
302972e9fc
output/httpd: fix throttling bug after resuming playback
...
Reset the timer when paused and no client is connected.
This fixes Mantis ticket 0003527.
2012-08-14 21:39:33 +02:00
Max Kellermann
31b380b266
output/httpd: move code to _has_clients()
2012-08-14 20:22:32 +02:00
Max Kellermann
a869dfea85
timer: use monotonic clock if available
2012-08-14 19:07:31 +02:00
Max Kellermann
12838c6294
input/ffmpeg: remove fallback AV_VERSION_INT definition
...
This is part of libavutil.
2012-08-14 19:07:27 +02:00
Wieland Hoffmann
49c7102547
mpd.conf(5): Document the existence of musicbrainz_ tags
...
Additionally, update mpdconf.example to refer to mpd.conf(5) for the
complete list of tags instead of trying to repeat it.
2012-08-14 09:43:18 +02:00
Max Kellermann
5cc3338267
Merge branch 'v0.17.x'
...
Conflicts:
src/mapper.h
2012-08-14 02:39:03 +02:00
Max Kellermann
1ae8972859
mapper: fix non-UTF8 music directory name
...
Duplicate the music_dir variable: one encoded in UTF-8, and another
one using the configured filesystem character set. This fixes an
ancient MPD bug.
2012-08-14 02:28:04 +02:00
Max Kellermann
adcd2c8eac
playlist_song: use map_to_relative_path()
2012-08-14 02:25:19 +02:00
Max Kellermann
45ff355835
playlist_song: improve const-correctness
2012-08-14 02:24:16 +02:00
Max Kellermann
f8bf3afeae
playlist_song: move code to playlist_check_load_song()
2012-08-14 02:17:25 +02:00
Max Kellermann
f703da1516
valgrind.suppressions: suppressions for GStaticMutex and more
2012-08-14 01:58:17 +02:00
Max Kellermann
a582deee2c
input_stream, main: remove obsolete GLib version checks
...
MPD requires GLib 2.16.
2012-08-14 01:57:53 +02:00
Max Kellermann
3047bdf653
Merge branch 'v0.17.x'
...
Conflicts:
NEWS
configure.ac
src/client_file.h
2012-08-13 07:59:19 +02:00
Anton Khirnov
12be9e818f
client_file: remove pure attribute from client_allow_file().
...
That function is not pure, it writes to error.
When marked as pure, the compiler is allowed to assume it does not do
anything to error, so it can remain NULL, which would result in an
invalid read in print_error().
2012-08-13 07:55:40 +02:00
Max Kellermann
a0478f98af
Directory: move code to directory_allocate()
2012-08-09 21:04:07 +02:00
Max Kellermann
5e2c62db2f
valgrind.suppressions: suppressions for GStaticMutex and more
2012-08-09 20:59:48 +02:00
Max Kellermann
d488d796f4
player_control: add GError attribute
...
Rewrite of the pc_get_error_message() function, now using a GError
object instead of the complicated "errored_song" attribute.
2012-08-08 22:54:49 +02:00
Max Kellermann
f794b1e1aa
output_all: add basic GError support
2012-08-08 22:48:59 +02:00
Max Kellermann
8c425c758c
decoder_control: add GError attribute
2012-08-08 22:38:16 +02:00
Max Kellermann
0b9e912297
player_control: rename attribute "error" to "error_type"
2012-08-08 22:29:09 +02:00
Max Kellermann
d35d2b269f
player_control: rename player_error enum values
2012-08-08 22:28:59 +02:00
Max Kellermann
fa84ed412d
player_control: remove unused enum player_error values
2012-08-08 22:28:49 +02:00
Max Kellermann
16951099d1
player_control: inline trivial functions
2012-08-08 22:27:00 +02:00
Max Kellermann
050ba302cb
song: use C++ compiler
2012-08-08 21:08:37 +02:00
Max Kellermann
c1f90a99f4
tag_pool: use GStaticMutex
...
Eliminates explicit global initialisation.
2012-08-08 21:01:25 +02:00
Max Kellermann
510097cc37
song: include cleanup
2012-08-08 20:14:24 +02:00
Max Kellermann
6a83721c55
directory: use gcc.h macros, not GLib
2012-08-08 20:07:47 +02:00
Max Kellermann
ca9795c30a
conf: add a "database" block
...
The new block overrides the "db_file" setting, and allows configuring
any database plugin.
2012-08-08 09:28:13 +02:00
Max Kellermann
dc2fa246a9
DatabaseGlue: look up the database plugin
...
No more hard-coded "simple" plugin.
2012-08-08 09:28:13 +02:00
Max Kellermann
b46bb611b3
DatabaseGlue: pass block to db_init()
...
Let the caller take care for legacy conversion.
2012-08-08 09:28:13 +02:00
Max Kellermann
aa55d759f5
DatabaseGlue: add function db_is_simple()
...
Preparing for non-"simple" database plugins.
2012-08-08 09:28:13 +02:00
Max Kellermann
2043579f71
main: don't call db_init() without database
...
Useless call.
2012-08-08 09:28:13 +02:00
Max Kellermann
346e31efa0
ProxyDatabasePlugin: obey the "recursive" flag
2012-08-08 09:28:13 +02:00
Max Kellermann
b504d63117
ProxyDatabasePlugin: use an artificial "root" directory
...
Fixes assertion failures in the Directory library.
2012-08-08 09:27:42 +02:00
Max Kellermann
b4b1728b6f
DatabasePrint: don't print Last-Modified if unknown
2012-08-08 09:27:42 +02:00
Max Kellermann
21792386d8
time_print: new library, function time_print()
...
Implements error checking for the gmtime_r() call, which was missing
in two code locations.
2012-08-08 09:27:12 +02:00
Max Kellermann
63a2ac21e1
ProxyDatabasePlugin: new database plugin using libmpdclient
...
Implementation incomplete, but sort-of-works. DumpDatabase works, but
MPD is still hard-coded on the "simple" plugin.
2012-08-08 01:20:45 +02:00
Max Kellermann
c42b206292
DatabaseCommands: allow empty criteria for "list"
...
Fixes regression.
2012-08-08 01:16:47 +02:00
Max Kellermann
733d6a6b16
DatabaseSelection: add "match" attribute
...
Let the database plugin do the match.
2012-08-08 00:55:02 +02:00
Max Kellermann
8d2725234e
DatabaseCommands: merge duplicate search/find code
2012-08-08 00:49:07 +02:00
Max Kellermann
0823711106
locate: add a per-item "fold_case" flag
...
Merge locate_song_search() and locate_song_match().
2012-08-08 00:47:45 +02:00
Max Kellermann
860e9eb8c9
locate: make "tag" unsigned
2012-08-08 00:45:46 +02:00
Max Kellermann
3d2092ee23
locate: make the structs opaque
2012-08-07 23:52:11 +02:00
Max Kellermann
8855efebc0
locate: don't allow empty list
2012-08-07 23:45:00 +02:00
Max Kellermann
7725577a53
locate: pass unsigned integer to _parse()
2012-08-07 23:44:43 +02:00
Max Kellermann
668e3f664f
locate: add "pure" attributes
2012-08-07 23:43:36 +02:00
Max Kellermann
9e51733c71
DatabaseCommands: remove stray locate_item_list_parse() call
2012-08-07 23:41:35 +02:00
Max Kellermann
6b39a5621d
locate: add "casefold" flag to parser
...
Fold the case during construction, without having to create another
copy.
2012-08-07 23:27:23 +02:00
Max Kellermann
0d46e11826
locate: remove unused function locate_item_free()
2012-08-07 23:27:08 +02:00
Max Kellermann
ff58207034
db_selection: rename to DatabaseSelection
2012-08-07 23:12:26 +02:00