- 19 Feb, 2017 5 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
Fixes another buffer overflow: if the stream has a very long title or URL, resulting in a metadata string of more than 2 kB, icy_string[0] is a negative value, which gets casted to size_t - ouch! https://bugs.musicpd.org/view.php?id=4652
-
Max Kellermann authored
Fixes a buffer overflow due to the bad formula rounding the buffer size up. At the same time, remove the "+1" from the meta_length calculation, which takes the padding into account and at the same time implements proper rounding.
-
Max Kellermann authored
Why did this cast exist??
-
- 18 Feb, 2017 1 commit
-
-
Max Kellermann authored
-
- 17 Feb, 2017 8 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
With this commit, multi-player support becomes possible... it's just not wired to the frontend yet. This is based on massive amounts of refactoring work I did over the past 9 years.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
The first step to multi-player support. Not much, just a dummy command.
-
- 15 Feb, 2017 1 commit
-
-
Max Kellermann authored
During UnlockActivate() while the mutex is unlocked, the IOThread can set a new error condition, and will never again wake up the OutputThread. This race condition can cause a deadlock in the OutputThread.
-
- 11 Feb, 2017 6 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 10 Feb, 2017 18 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
Since we switched to C++ exceptions, there is no code path which returns false.
-
Max Kellermann authored
We don't need to access Thread::handle early inside the EventThread, so we don't need this trick anymore.
-
Max Kellermann authored
Eliminate global variables.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
.. and not the input data. Regression from commit b1c7649e (integer underflow). https://bugs.musicpd.org/view.php?id=4639
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
Yet another potential crash bug fix.
-
- 09 Feb, 2017 1 commit
-
-
Max Kellermann authored
Use SND_PCM_NONBLOCK, and perform all snd_pcm_writei() calls in the IOThread. Use a lockless queue to copy data from the OutputThread to the IOThread. This rather major change aims to improve MPD's internal latency. All waits are now under MPD's control, instead of blocking inside libasound2. As a side effect, an output's filter is now decoupled from the actual device I/O, which solves a major latency problem with the conversion filter on slow CPUs and small period buffers. See: https://bugs.musicpd.org/view.php?id=3900
-