aboutsummaryrefslogtreecommitdiffstats
path: root/NEWS (follow)
Commit message (Collapse)AuthorAgeFilesLines
* mixer/alsa: listen for external volume changesMax Kellermann2012-01-051-0/+2
| | | | | | Use libasound's polling functions, implement a bridge to GSource / GPollFD and send idle events to clients when an external program changes the ALSA mixer volume.
* Merge branch 'v0.16.x'Max Kellermann2012-01-051-2/+4
|\ | | | | | | | | | | Conflicts: src/decoder/ffmpeg_decoder_plugin.c src/input/ffmpeg_input_plugin.c
| * decoder/ffmpeg: support libavformat 0.8Max Kellermann2012-01-051-1/+1
| |
| * decoder/ffmpeg: use avcodec_decode_audio4(), support libavcodec 0.8Max Kellermann2012-01-041-1/+1
| |
| * decoder/ffmpeg: use AVIOContext instead of ByteIOContextMax Kellermann2012-01-041-0/+2
| |
| * input/ffmpeg: use the new AVIOContext APIMax Kellermann2012-01-041-0/+2
| | | | | | | | URLContext is deprecated.
* | output/osx: implement 32 bit playbackMax Kellermann2011-12-241-0/+1
| |
* | Merge branch 'v0.16.x'Max Kellermann2011-12-241-0/+3
|\|
| * output/osx: clear render buffer when there's not enough dataMax Kellermann2011-12-241-0/+1
| | | | | | | | | | | | When we don't have enough data, generate some silence, hoping the input buffer will fill soon. Reducing the render buffer size is not legal.
| * output/osx: remove sleep call from render callbackMax Kellermann2011-12-241-0/+1
| | | | | | | | | | Blocking inside the render callback is forbidden, and this sleep call didn't make any sense.
| * Playlist: fix bug in moving after current songMaarten Sebregts2011-12-211-0/+1
| | | | | | | | | | | | | | | | | | Moving songs using either 'move' or 'moveid' to position -1 (after the current song) would fail for a song which is just before the current song. This patch corrects the check to see if the current song is in the range to be moved. Since the range is from `start` up to `end` (exclusive) the check was incorrect, but is now fixed.
* | command: new command "seekcur"Max Kellermann2011-12-241-0/+1
| | | | | | | | For simpler seeking within current song.
* | output/openal: use alGetSourcei(AL_BUFFER) to force-unqueue buffersMax Kellermann2011-12-131-0/+1
| | | | | | | | | | | | | | | | The implementation of cancel() did not work well: you cannot use alSourceUnqueueBuffers() to unqueue queued buffers, and our function openal_unqueue_buffers() left the OpenAL library in a rather undefined state; nothing was supposed to be queued, but the "filled" variable was not reset.
* | Merge branch 'v0.16.x'Max Kellermann2011-12-131-2/+8
|\| | | | | | | | | | | Conflicts: NEWS configure.ac
| * output/openal: force 16 bit playback, as 8 bit doesn't workMax Kellermann2011-12-131-0/+1
| | | | | | | | | | | | The OpenAL specification says that AL_FORMAT_MONO8 and AL_FORMAT_STEREO8 expect unsigned 8 bit samples, but MPD uses unsigned samples.
| * timer: fix time unit mixup in timer_delay()Max Kellermann2011-12-131-0/+2
| | | | | | | | | | | | | | The local variable was already divided by 1000, and the return value was being divided by 1000 again - doh! This caused delays in the httpd output plugin that were too small by three orders of magnitude, and the buffer was filled too quickly.
| * Modify version string to post-release version 0.16.7~gitAvuton Olrich2011-12-011-0/+3
| |
| * mpd version 0.16.6release-0.16.6Avuton Olrich2011-12-011-2/+2
| |
* | winmm_output_plugin: fail if wrong device specified instead of using fallback.Denis Krjuchkov2011-12-131-0/+1
| | | | | | | | | | Silently choosing default is misleading and can cause hours of investigation. It's better to fail immediately telling user what is wrong with config.
* | Merge branch 'v0.16.x'Max Kellermann2011-11-281-0/+15
|\| | | | | | | | | | | | | | | | | | | Conflicts: Makefile.am NEWS configure.ac src/encoder/flac_encoder.c src/log.c src/pcm_buffer.c
| * decoder/ffmpeg: work around bogus channel countMax Kellermann2011-11-281-0/+1
| | | | | | | | | | Initialize the audio_format before calling avcodec_open(), because avcodec_open() will fill bogus values.
| * mapper: check "r" permission on music directoryMax Kellermann2011-11-281-1/+1
| | | | | | | | Yet another common support case.
| * mapper: check "x" permission on music directoryMax Kellermann2011-11-281-0/+1
| | | | | | | | | | This is a common support case, and hopefully, the new error message will allow the user to understand the error without requiring support.
| * mapper: fix the bogus "not a directory" error messageMax Kellermann2011-11-281-0/+1
| | | | | | | | | | Use stat() instead of g_file_test() to detect other types of errors, such as "permission denied".
| * log: print reason for failureMax Kellermann2011-11-281-0/+1
| |
| * encoder/wave: support packed 24 bit samplesMax Kellermann2011-11-281-0/+1
| | | | | | | | Convert to padded 24 bit samples, instead of falling back to 16 bit.
| * encoder/null: use fifo_buffer instead of pcm_bufferMax Kellermann2011-11-281-1/+1
| | | | | | | | | | | | This fixes a buffer corruption bug; pcm_buffer is not designed to be a persistent buffers, and will discard anything between two consecutive calls.
| * encoder/wave: use fifo_buffer instead of pcm_bufferMax Kellermann2011-11-281-1/+1
| | | | | | | | | | | | This fixes a buffer corruption bug; pcm_buffer is not designed to be a persistent buffers, and will discard anything between two consecutive calls.
| * encoder/flac: use fifo_buffer instead of pcm_bufferMax Kellermann2011-11-281-0/+2
| | | | | | | | | | | | This fixes a buffer corruption bug; pcm_buffer is not designed to be a persistent buffers, and will discard anything between two consecutive calls.
| * decoder_api: cancel initial seek when song is not seekableMax Kellermann2011-11-271-0/+2
| | | | | | | | Fixes assertion failure.
| * path: autodetect filesystem encoding on Win32Denis Krjuchkov2011-10-231-0/+1
| | | | | | | | | | | | | | WinAPI explicitly declares filesystem encoding. It can be determined by GetACP(). Use that instead of Glib routine that always "detects" UTF-8 on Win32, which is incorrect for MPD case.
| * configure.ac: define WINVERMax Kellermann2011-10-131-0/+1
| | | | | | | | | | | | Ensure that WINVER is defined early enough, so other system headers won't fall back to their default value. Specifically, this solves a build failure (-Werror) with mingw-w64 ("WINVER redefined").
| * event_pipe: fix WIN32 regressionMax Kellermann2011-10-131-0/+1
| | | | | | | | | | The event pipe is not a socket, and the patch that introduced g_io_channel_new_socket() to the event pipe library was wrong.
| * Modify version string to post-release version 0.16.6~gitAvuton Olrich2011-10-091-0/+3
| |
* | audio_format: basic support for floating point samplesMax Kellermann2011-10-201-0/+1
| | | | | | | | | | Support for conversion from float to 16, 24 and 32 bit integer samples.
* | Merge commit 'release-0.16.5'Max Kellermann2011-10-091-1/+1
|\| | | | | | | | | | | Conflicts: NEWS configure.ac
| * mpd version 0.16.5release-0.16.5Avuton Olrich2011-10-091-1/+1
| |
* | Merge branch 'v0.16.x'Max Kellermann2011-10-081-0/+2
|\|
| * output/openal: auto-fallback to mono if channel count is unsupportedMax Kellermann2011-10-081-0/+2
| | | | | | | | .. instead of failing playback completely.
* | playlist_song: allow references to songs outside the musicdirMax Kellermann2011-10-061-0/+2
| | | | | | | | | | | | When we have an absolute path that's not inside the music directory, allow loading it anyway, if we're in "secure" mode (i.e. the client is connected via UNIX socket).
* | Merge branch 'v0.16.x'Max Kellermann2011-10-061-0/+7
|\| | | | | | | | | | | | | | | Conflicts: configure.ac src/player_control.c src/player_thread.c src/playlist_song.c
| * playlist_song: fix absolute path support in playlistsJesús Bravo Álvarez2011-10-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Right now, a playlist with absolute pathnames can only add songs that are in the same the directory of the playlist or under it. If uri is an absolute pathname and base_uri is set, playlist_check_translate_song() will check that base_uri is a prefix of uri, excluding every other song in the music directory outside base_uri. I think in this case base_uri should be completely ignored (and made NULL) and uri should just be checked against music root directory.
| * player_thread: add flag "output_open", fixes assertion failureMax Kellermann2011-10-061-0/+1
| | | | | | | | | | | | | | Previously, the condition "defined(play_audio_format)" was used to see if an output device has been opened, but if the device had failed on startup, an assertion failure could occur. This patch adds a separate flag.
| * player_control: auto-start playback when seeking is requestedMax Kellermann2011-10-061-0/+1
| | | | | | | | | | Now that the player thread can handle SEEK commands while not (yet) playing, we can remove the "pc.state" check from pc_seek().
| * player_thread: handle SEEK while not playingMax Kellermann2011-10-061-0/+3
| |
| * Install systemd service file if systemd is availableMiklos Vajna2011-09-301-0/+1
| |
* | decoder/dsdiff: new decoder pluginMax Kellermann2011-10-041-0/+1
| | | | | | | | | | Doesn't seem to work yet, getting just noise from a test file. Seeking isn't implemented yet.
* | Add support for streaming to a DLNA clientSteven Blackburn2011-09-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Naim Uniti does not appear to support icecast-style streaming of FLAC music but does support the codec from a DLNA server. This change looks for "transferMode.dlna.org: Streaming" in the HTTP request header and responds with something the Uniti (and hopefully other DLNA clients) accepts. The only difference in the DLNA streaming mode is the reponse header and that icecast metadata is disabled. If a client request indicates both modes are supported, the DLNA mode is preferred (as the Uniti says it supports both but then rejects a FLAC ICY stream). Note: This change may be specific to Naim equipment (the only device it was tested on). E.g. the hardcoding of Content-Length which works but is not a logically correct value. The change should be backwards-compatible, so only those clients requesting a DLNA stream will see any difference.
* | Merge branch 'v0.16.x'Max Kellermann2011-09-221-0/+1
|\| | | | | | | | | Conflicts: src/player_thread.c
| * decoder_api: emulate SEEK command for initial seek to CUE trackMax Kellermann2011-09-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | When playing a CUE track, the player thread waited for the decoder to become ready, and then sent a SEEK command to the beginning of the CUE track. If that is near the start of the song file, and the track is short enough, the decoder could have finished decoding already at that point, and seeking fails. This commit makes this initial seek more robust: instead of letting the player thread deal with the difficult timings, let the decoder API emulate a SEEK command, and return it to the decoder plugin, as soon as the plugin finishes its initialization.