aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-08-22fd_util: make C++ safeMax Kellermann1-0/+8
2012-08-16ProxyDatabase: implement GetSong()Max Kellermann1-3/+26
2012-08-16ProxyDatabase: clear libmpdclient errors in CheckError()Max Kellermann1-1/+2
Auto-recover from soft errors.
2012-08-16DatabasePlugin: add method ReturnSong()Max Kellermann13-14/+85
Allow the plugin to allocate the GetSong() return value.
2012-08-16playlist_print: fix memory leakMax Kellermann1-0/+3
2012-08-16playlist_song: pass const song to _check_load_song()Max Kellermann1-1/+1
2012-08-16playlist_song: fix user-after-free bugMax Kellermann1-1/+3
2012-08-15ProxyDatabase: pass "detached" objects to visitorsMax Kellermann3-40/+49
Fixes wrong object URIs with duplicate base names.
2012-08-15queue: duplicate all song objectsMax Kellermann1-5/+6
Make sure the queue "owns" all song objects, so nobody else can free them.
2012-08-15player_control: duplicate the song objectMax Kellermann5-7/+58
Make sure the player "owns" the next_song object, so nobody else can free it.
2012-08-15decoder_control: duplicate the song objectMax Kellermann3-3/+15
Make sure the decoder "owns" the song object, so nobody else can free it.
2012-08-15Song: add function song_dup_detached()Max Kellermann3-1/+81
Initial support for "detached" songs that come from the database, but are private copies.
2012-08-15Song: add function song_equals()Max Kellermann3-1/+37
decoder_is_current_song() now recognizes different instances of the same physical song.
2012-08-15Song: move trivial inline functions upMax Kellermann1-12/+12
2012-08-15DatabasePlugin: add method GetStats()Max Kellermann7-63/+148
Optimize the ProxyDatabase by invoking "stats" on the peer, instead of visiting all songs.
2012-08-15DatabasePlugin: add method VisitUniqueTags()Max Kellermann8-53/+215
Optimize the ProxyDatabase by invoking "list" on the peer, instead of visiting all songs.
2012-08-15ProxyDatabase: obey visitor return valuesMax Kellermann1-8/+11
2012-08-15ProxyDatabasePlugin: add OO wrapper for mpd_entityMax Kellermann1-11/+32
Let the C++ compiler take care for freeing the objects safely.
2012-08-15ProxyDatabasePlugin: move tag table to the global name spaceMax Kellermann1-25/+25
2012-08-15db_visitor: delete obsolete headerMax Kellermann5-60/+0
2012-08-15DatabasePrint: remove bogus "nonnull" attributesMax Kellermann1-2/+2
2012-08-15player_thread: add local variable "start_ms"Max Kellermann1-1/+3
Just in case "song" becomes invalid at some point.
2012-08-15playlist: fix unprotected player_control accessMax Kellermann1-1/+5
2012-08-15filter/volume: include cleanupMax Kellermann2-2/+0
2012-08-15mapper: fix potential crash in file permission checkMax Kellermann1-3/+3
2012-08-15decoder_control: add function _is_current_song()Max Kellermann3-15/+42
Replaces _current_song().
2012-08-15decoder_control: add assertion to dc_get_error()Max Kellermann1-0/+1
2012-08-15decoder_thread: create GError for mapper failureMax Kellermann1-0/+3
Fixes crash.
2012-08-15decoder/fluidsynth: add "sample_rate" settingMax Kellermann1-6/+14
2012-08-15decoder/fluidsynth: add "soundfont" settingMax Kellermann1-6/+7
Replaces the old global "soundfont" which never worked.
2012-08-15configure.ac: auto-detect libfluidsynthMax Kellermann1-9/+0
Now that the libfluidsynth API was sanitized, we can enable the plugin automatically if libfluidsynth is installed.
2012-08-15decoder/fluidsynth: stop playback at end of fileMax Kellermann1-5/+4
Use libfluidsynth's new function fluid_player_get_status().
2012-08-15decoder/fluidsynth: don't duplicate pathMax Kellermann1-6/+1
The libfluidsynth now accepts const strings.
2012-08-15decoder/fluidsynth: check if file is really a MIDIMax Kellermann1-4/+1
Use fluid_is_midifile() to verify the file format.
2012-08-15decoder/fluidsynth: remove throttle (requires libfluidsynth 1.1)Max Kellermann1-17/+1
The libfluidsynth API is now sane, and does not require real-time decoding.
2012-08-14log: store duplicated path stringMax Kellermann3-31/+32
Don't free the string right after calling log_init_file(). Add a new function log_deinit() that frees the string on shutdown. This fixes cycling the log file after SIGHUP (Mantis ticket 0003524).
2012-08-14output/jack: implement method delay()Max Kellermann1-4/+11
Eliminate the g_usleep() call.
2012-08-14output/pulse: implement method delay()Max Kellermann1-7/+21
Reduce command latency while paused.
2012-08-14output/pulse: simplify _wait_stream()Max Kellermann1-55/+16
One large loop and only one pa_stream_get_state() call.
2012-08-14output/httpd: move delay from _pause() to _delay()Max Kellermann1-1/+5
2012-08-14output/httpd: fix throttling bug after resuming playbackMax Kellermann1-0/+8
Reset the timer when paused and no client is connected. This fixes Mantis ticket 0003527.
2012-08-14output/httpd: move code to _has_clients()Max Kellermann1-11/+27
2012-08-14timer: use monotonic clock if availableMax Kellermann3-13/+140
2012-08-14input/ffmpeg: remove fallback AV_VERSION_INT definitionMax Kellermann1-4/+1
This is part of libavutil.
2012-08-14mapper: fix non-UTF8 music directory nameMax Kellermann4-37/+73
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-14playlist_song: use map_to_relative_path()Max Kellermann1-4/+4
2012-08-14playlist_song: improve const-correctnessMax Kellermann1-5/+4
2012-08-14playlist_song: move code to playlist_check_load_song()Max Kellermann1-23/+23
2012-08-14input_stream, main: remove obsolete GLib version checksMax Kellermann3-8/+0
MPD requires GLib 2.16.
2012-08-13client_file: remove pure attribute from client_allow_file().Anton Khirnov1-1/+0
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().