aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* output/recorder, test/*: invoke encoder_read() after _open()Max Kellermann2012-10-022-0/+11
| | | | | Make sure the file header gets written at the beginning, before _write() gets called.
* output/shout: eliminate struct shout_bufferMax Kellermann2012-10-021-7/+3
| | | | Move the raw buffer to struct shout_data.
* output/shout: remove shout_buffer.lenMax Kellermann2012-10-021-9/+4
| | | | Make it a local variable instead.
* output/shout: fix memory leak in error handlerMax Kellermann2012-10-021-2/+7
|
* output/shout: make variables more localMax Kellermann2012-10-021-49/+26
|
* decoder_control: remove MixRamp debug messagesMax Kellermann2012-09-254-10/+4
| | | | | These are confusing, and since MixRamp development has ceased, not useful to anybody.
* decoder/wavpack: support all APEv2 tagsMax Kellermann2012-09-253-17/+17
| | | | | WavPack tags are always APEv2, by definition. Reuse the tag_table from tag_ape.c, instead of rolling our own.
* locate: cast enum tag_type to int before comparing with integerMax Kellermann2012-09-221-4/+4
| | | | | Avoids clang pickiness. This code is not correct, but we'll fix that another day.
* decoder/_ogg_common: fix buffer size checkMax Kellermann2012-09-041-1/+1
| | | | Fixes potential access to uninitialised memory.
* decoder/_ogg_common: simplify the large "if" expressionMax Kellermann2012-09-041-6/+8
|
* AudioCompress: abort on out-of-memoryMax Kellermann2012-09-031-0/+7
| | | | | | This library crashes on out-of-memory (NULL pointer dereference). There's not much useful MPD can do in such a situation, so let's explicitly abort instead, just like GLib does.
* update_walk: fix unsafe readlink() usageMax Kellermann2012-09-031-2/+10
|
* playlist/cue: map "PERFORMER" to "artist" or "album artist"Max Kellermann2012-08-251-1/+11
| | | | Implements Mantis ticket 0003549.
* player_thread: disable cross-fading in "single" modeMax Kellermann2012-08-254-8/+47
| | | | | | | | | | | | | This commit reimplements the core of the "single" mode. Instead of doing the detection in the playlist code from the outside, it is moved to the player thread, which gets a new option called "border_pause". It will now pause playback exactly at the beginning of the new song, making the feature more reliable. Now that the player thread knows what will happen, it can suppress cross-fading. Fixes mantis tickets 0003055 and 0003166.
* command: make "single" a boolMax Kellermann2012-08-211-1/+1
|
* queue_save: save song prioritiesMax Kellermann2012-08-214-6/+25
|
* playlist_print: fix memory leakMax Kellermann2012-08-161-0/+3
|
* playlist_song: pass const song to _check_load_song()Max Kellermann2012-08-161-1/+1
|
* playlist_song: fix user-after-free bugMax Kellermann2012-08-161-1/+3
|
* player_thread: add local variable "start_ms"Max Kellermann2012-08-151-1/+3
| | | | Just in case "song" becomes invalid at some point.
* playlist: fix unprotected player_control accessMax Kellermann2012-08-151-1/+5
|
* filter/volume: include cleanupMax Kellermann2012-08-152-2/+0
|
* mapper: fix potential crash in file permission checkMax Kellermann2012-08-151-3/+3
|
* decoder/fluidsynth: add "sample_rate" settingMax Kellermann2012-08-151-6/+14
|
* decoder/fluidsynth: add "soundfont" settingMax Kellermann2012-08-151-6/+7
| | | | Replaces the old global "soundfont" which never worked.
* configure.ac: auto-detect libfluidsynthMax Kellermann2012-08-151-9/+0
| | | | | Now that the libfluidsynth API was sanitized, we can enable the plugin automatically if libfluidsynth is installed.
* decoder/fluidsynth: stop playback at end of fileMax Kellermann2012-08-151-5/+4
| | | | Use libfluidsynth's new function fluid_player_get_status().
* decoder/fluidsynth: don't duplicate pathMax Kellermann2012-08-151-6/+1
| | | | The libfluidsynth now accepts const strings.
* decoder/fluidsynth: check if file is really a MIDIMax Kellermann2012-08-151-4/+1
| | | | Use fluid_is_midifile() to verify the file format.
* decoder/fluidsynth: remove throttle (requires libfluidsynth 1.1)Max Kellermann2012-08-151-17/+1
| | | | | The libfluidsynth API is now sane, and does not require real-time decoding.
* log: store duplicated path stringMax Kellermann2012-08-143-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).
* output/jack: implement method delay()Max Kellermann2012-08-141-4/+11
| | | | Eliminate the g_usleep() call.
* output/pulse: implement method delay()Max Kellermann2012-08-141-7/+21
| | | | Reduce command latency while paused.
* output/pulse: simplify _wait_stream()Max Kellermann2012-08-141-55/+16
| | | | One large loop and only one pa_stream_get_state() call.
* output/httpd: move delay from _pause() to _delay()Max Kellermann2012-08-141-1/+5
|
* output/httpd: fix throttling bug after resuming playbackMax Kellermann2012-08-141-0/+8
| | | | | | Reset the timer when paused and no client is connected. This fixes Mantis ticket 0003527.
* output/httpd: move code to _has_clients()Max Kellermann2012-08-141-11/+27
|
* timer: use monotonic clock if availableMax Kellermann2012-08-143-13/+140
|
* input/ffmpeg: remove fallback AV_VERSION_INT definitionMax Kellermann2012-08-141-4/+1
| | | | This is part of libavutil.
* mapper: fix non-UTF8 music directory nameMax Kellermann2012-08-144-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.
* playlist_song: use map_to_relative_path()Max Kellermann2012-08-141-4/+4
|
* playlist_song: improve const-correctnessMax Kellermann2012-08-141-5/+4
|
* playlist_song: move code to playlist_check_load_song()Max Kellermann2012-08-141-23/+23
|
* input_stream, main: remove obsolete GLib version checksMax Kellermann2012-08-143-8/+0
| | | | MPD requires GLib 2.16.
* client_file: remove pure attribute from client_allow_file().Anton Khirnov2012-08-131-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().
* tcp_socket, ...: remove obsolet RAOP sourcesMax Kellermann2012-07-306-976/+0
|
* tag_ape: return false if no usable tag was foundMax Kellermann2012-07-291-7/+21
| | | | | | | Ignore APE tags that have no usable tags, and use the ID3 tag instead. This is useful when the APE tag only contains replay gain, and the real tags are stored as ID3. This implements feature request Mantis #0003521.
* cue_parser: support file types "MP3", "AIFF"Max Kellermann2012-07-261-1/+3
| | | | These two strings are common "FILE" types.
* Add song duration to DSF and DSDIFF DSD decoders.Jurgen Kramer2012-07-132-3/+24
|
* aiff: support the AIFC formatMax Kellermann2012-07-101-1/+2
|