- 19 Feb, 2017 12 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
Fixes a potential deadlock introduced by commit 94528735
-
Max Kellermann authored
-
Max Kellermann authored
Using variable-size objects is not worth the trouble here. Let's drop this and use existing and simpler code.
-
Max Kellermann authored
-
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??
-
- 17 Feb, 2017 1 commit
-
-
Max Kellermann authored
-
- 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.
-
- 10 Feb, 2017 4 commits
-
-
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
-
- 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
-
- 08 Feb, 2017 1 commit
-
-
Max Kellermann authored
-
- 01 Feb, 2017 1 commit
-
-
Max Kellermann authored
Same as in commit e02d8ad8, but this time for the sndio plugin which can be emulated by libroar.
-
- 25 Jan, 2017 10 commits
-
-
Max Kellermann authored
Eliminate dependency on io_thread_get().
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 24 Jan, 2017 4 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 23 Jan, 2017 1 commit
-
-
Max Kellermann authored
Each close/open cycle resets the Filter's state, because a new Filter instance is being created. That results in the serials (replay_gain_serial and other_replay_gain_serial) being out of sync with the internal ReplayGainFilter state. So instead of initializing those serials once, we need to initialize them each time we create new ReplayGainFilter instances, i.e. in OpenFilter(). https://bugs.musicpd.org/view.php?id=4632
-
- 17 Jan, 2017 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
- 15 Jan, 2017 2 commits
-
-
Max Kellermann authored
If the input AudioFormat changes but the out_audio_format doesn't change (e.g. because there is a fixed "format" setting in this "audio_output" section), the ConvertFilter needs to be reconfigured. This didn't happen, resulting in awful static noise after changing songs.
-
Max Kellermann authored
-