- 02 Jan, 2018 3 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
Fixes another crash bug caused by commit 64d141f7
-
Max Kellermann authored
-
- 01 Jan, 2018 1 commit
-
-
Max Kellermann authored
-
- 22 Dec, 2017 2 commits
-
-
Max Kellermann authored
Similar to commit 31ab78ae
-
Max Kellermann authored
Fixes deadlock because FileInputStream::Read() unlocks the mutex (which was not locked) and then locks it, keeping it locked. This can result in a deadlock. This happens because the archive and the file mutex are different.
-
- 21 Dec, 2017 3 commits
-
-
Ilya ilyxa Tyshchenko authored
-
Max Kellermann authored
If a directory is a mount point, omit the "directory: " as well. This bug is years old, but has become more visible now that mount points are persistent in the state file.
-
Max Kellermann authored
-
- 18 Dec, 2017 4 commits
-
-
Max Kellermann authored
-
FlashSystems authored
Signed-off-by:
FlashSystems <developer@flashsystems.de>
-
FlashSystems authored
If `SimpleDatabase::Visit` is called on a database that contains a mounted directry the URIs of the elements passed to the callbacks are not prefixed by the mountpoint path. This leads to lsinfo and add not working because they use the wrong URI. This pull request is using the `WalkMount` helper function to create prefixed versions of `VisitDirectory`, `VisitSong` and `VisitPlaylist` to add the correct prefix to the parameters of the callback functions.
-
Stefano Miccoli authored
This alleviates a problem in which 'volume +1' cannot be undo by 'volume -1' when using alsa hw mixer. Closes #104
-
- 12 Dec, 2017 2 commits
-
-
Yue Wang authored
[mk: the following text was copied from https://github.com/MusicPlayerDaemon/MPD/pull/167] For certain format (hi-res files) and normal buffer size hardware, The hardware may at once consume most of the buffers. However, in Delay() function, MPD is supposed to wait for 25 ms after the next try. it will create a hiccup. The negative impact is much major than increasing the latency. I understand larger buffers come at a price. That's why in my earlier commit last year I significantly reduced it. However, the buffer size in CoreAudio is set according to the hardware, which is super small latency. For instance, the system audio of 2015 generation of macbook pro has maximum buffer size of 4096 samples, which is just 0.09s for 44.1k framerate, or 0.04s for 96k frames --- . compare to the 0.5 sec latency alsa plugin has, even if we quadruple it, it's still super tiny.
-
Max Kellermann authored
Only _WIN32 is defined by the compiler, and WIN32 is not standardized and may be missing. Closes #169
-
- 05 Dec, 2017 1 commit
-
-
Max Kellermann authored
-
- 03 Dec, 2017 1 commit
-
-
FlashSystems authored
assignment of `mnt->mounted_database` in `SimpleDatabase::Mount`.
-
- 02 Dec, 2017 2 commits
-
-
Max Kellermann authored
Fixes #165.
-
Max Kellermann authored
libupnp 1.6.24 added a few badly designed macros which break the MPD build: https://sourceforge.net/p/pupnp/code/ci/8177a4195a4d4a5d6cb095eaf4ca5b65ac446381/ To work around this, we disable our emulation functions (from 714011c8) on this libupnp version. Closes #163
-
- 27 Nov, 2017 2 commits
-
-
FlashSystems authored
Signed-off-by:
FlashSystems <developer@flashsystems.de>
-
Max Kellermann authored
-
- 25 Nov, 2017 1 commit
-
-
Max Kellermann authored
-
- 16 Nov, 2017 1 commit
-
-
Max Kellermann authored
Closes #155
-
- 14 Nov, 2017 2 commits
-
-
Max Kellermann authored
Without the flush, ReadPage() may not return any data, or not all data. This may result in incomplete ddata the new "header" page, corrupting streams with some encoders such as Vorbis. Fixes #145
-
Max Kellermann authored
Don't require a quality or bitrate setting. If nothing is set, don't fail startup - just go with a good default. A quality setting of 3 is what "oggenc" defaults to as well.
-
- 13 Nov, 2017 1 commit
-
-
Max Kellermann authored
InputStream::Read() and InputStream::Seek() are called with the mutex locked. That means the implementation must not block, or unlock the mutex before calling into blocking code. Previously, a slow CD drive could stall the whole MPD process, including the main thread, due to this problem. Closes #149
-
- 12 Nov, 2017 1 commit
-
-
Max Kellermann authored
Work around -Werror=catch-value.
-
- 05 Nov, 2017 1 commit
-
-
cathugger authored
Fixes hanging playback with soxr resampler. Closes #139, #141
-
- 03 Nov, 2017 1 commit
-
-
Marcin Jurkowski authored
Tremor decoder is unusable since commit 2ee43c40. Sound is distorted to the point where it's nothing but noise. The data from vorbis_synthesis_pcmout() needs to be scaled and clipped for 16 bit sample size. For reference see http://lists.xiph.org/pipermail/tremor/2010-April/001642.html and http://lists.xiph.org/pipermail/vorbis/2006-October/026513.html. Signed-off-by:
Marcin Jurkowski <marcin1j@gmail.com>
-
- 25 Oct, 2017 1 commit
-
-
Max Kellermann authored
-
- 24 Oct, 2017 2 commits
-
-
Max Kellermann authored
It's not possible to set CURL options after curl_easy_perform(), and thus the CURLOPT_RANGE had no effect.
-
Max Kellermann authored
-
- 18 Oct, 2017 3 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
Turns out that using CP_ACP is a lousy idea, because only very few Unicode characters can be represented by it. Instead, switch to UTF-8 (which every sane person on other operating system already uses). Closes #102
-
Max Kellermann authored
Our previous use of Queue::SwapOrders() could cause surprising results: - sometimes, the old "current" song would be played again (if the newly selected song had not been played already) - sometimes, the old "current" song would not be played again (if the newly selected song had already been played) This is inconsistent, because it should not depend on whether the newly selected song had already been played. So instead of Queue::SwapOrders() we now use Queue::MoveOrderAfter() and Queue::MoveOrderBefore(), which is more expensive, but also more consistent. It attempts to retain as much from the previous order list as possible, and only moves the newly selected song around.
-
- 27 Sep, 2017 2 commits
-
-
Max Kellermann authored
If an early exception gets caught (e.g. from AllocatedPath::FromUTF8Throw()) before DecoderControl::CommandFinishedLocked() is called, the decoder thread would go in an endless loop, because DecoderCommand::START is still set. Closes #118
-
John Regan authored
GME starts all track indexes at zero, but subtune prefixes start at one. This fixes an off-by-one error during track enumeration.
-
- 20 Sep, 2017 1 commit
-
-
Max Kellermann authored
Our IcuCaseFold() fallback using strxfrm() is not actually case insensitive. This commit fixes the problem by switching to strcasecmp(). That function is not guaranteed to support UTF-8, but it's the best we can do in this sparse situation. Closes #111
-
- 18 Sep, 2017 1 commit
-
-
Charlie Waters authored
ffmpeg plugin: when decoded stream duration is unavailable, attempt fallback to container duration (fix MusicPlayerDaemon/MPD#110)
-
- 01 Sep, 2017 1 commit
-
-
Max Kellermann authored
-