- 23 Jan, 2017 4 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
If the base class is not accessible, the "catching" the base class won't work. This caused the fatal error: terminate called after throwing an instance of 'LibmpdclientError'
-
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
-
- 20 Jan, 2017 6 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Florian Schlichting authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 19 Jan, 2017 1 commit
-
-
Max Kellermann authored
Previously, there was no special code to convert stereo to multi-channel. The generic solution for this was to convert to mono, and then copy the result to all channels. That's a pretty bad solution, but at least something which always renders audio. MPD does something, instead of failing. Now that MPD has proper support for multi-channel (by defining the channel order), we can do better than that. It is a (somewhat) common case to play back stereo music on a DAC which can only do multi-channel. The best approach here is to copy the stereo channels to front-left and front-right, and apply the "silence" pattern to all other channels.
-
- 18 Jan, 2017 1 commit
-
-
Max Kellermann authored
-
- 17 Jan, 2017 13 commits
-
-
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
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Jörg Krause authored
The internal static xiph library needs to link with libogg. Otherwise building mpd will fail: ``` /mips-linux-gnu/bin/ld: libxiph.a(libxiph_a-OggVisitor.o): undefined reference to symbol 'ogg_stream_packetout' ``` Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
-
- 16 Jan, 2017 3 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 15 Jan, 2017 4 commits
-
-
Max Kellermann authored
-
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
-
Max Kellermann authored
-
- 14 Jan, 2017 8 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
This method is used by DecoderControl::IsCurrentSong(), which is used by the player thread to check whether the current decoder instance can be reused to seek. When switching to another song in the same CUE sheet, previously DetachedSong::IsSame() returned true, and thus the old decoder instance was used for the new song, not considering the new end_time. This led to the old decoder quickly quitting.
-
Max Kellermann authored
This way, we have four periods instead of the default of two. With only two periods, we don't get woken up often enough, and we frequently encounter buffer overruns. With four periods, we have more time to breathe, and the buffer overruns magically disappear.
-
Max Kellermann authored
This setting is mostly useless for capture devices. There's no point in configuring it.
-
Max Kellermann authored
-
Steven O'Brien authored
-
Steven O'Brien authored
-
Max Kellermann authored
This is necessary because we'll never get woken up again by epoll_wait() after a buffer overrun recovery, unless we start the PCM explicitly before returning to the I/O loop.
-