Commit Graph

6517 Commits

Author SHA1 Message Date
Max Kellermann c9aaabb5d4 output/jack: implement method delay()
Eliminate the g_usleep() call.
2012-08-14 22:47:25 +02:00
Max Kellermann 335d5d5d72 output/pulse: implement method delay()
Reduce command latency while paused.
2012-08-14 22:30:46 +02:00
Max Kellermann 51d793bec1 output/pulse: simplify _wait_stream()
One large loop and only one pa_stream_get_state() call.
2012-08-14 22:22:55 +02:00
Max Kellermann 249dcd967e output/httpd: move delay from _pause() to _delay() 2012-08-14 21:54:47 +02:00
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