- 02 Jun, 2018 1 commit
-
-
Christian Kröner authored
-
- 03 May, 2018 1 commit
-
-
Max Kellermann authored
-
- 26 Apr, 2018 9 commits
-
-
Max Kellermann authored
See code comment. Closes #260
-
Max Kellermann authored
-
Max Kellermann authored
Don't reactivate the PCM device immediately after Cancel() is finished; if Cancel() gets called this may mean that new data may take a while to produce, or no data at all will be produced because the current song is being stopped. Once new data is available, Play() will automatically reactivate the PCM. This fixes underruns when switching songs manually (closes #264).
-
Max Kellermann authored
Use the "active" flag in PrepareSockets() instead of LockHasError().
-
Max Kellermann authored
-
Max Kellermann authored
Prepare to make the "active" attribute thread-safe.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 10 Apr, 2018 1 commit
-
-
Max Kellermann authored
-
- 07 Mar, 2018 5 commits
-
-
Christian Kröner authored
-
Christian Kröner authored
-
Christian Kröner authored
-
Christian Kröner authored
-
Christian Kröner authored
-
- 26 Feb, 2018 1 commit
-
-
Christian Kröner authored
From: Christian Kröner <ckroener@gmx.net> This just copies the necessary bits and pieces from the ALSA plugin and applies them to OSXOutput based on dop config setting. It only changes the OSXOutput plugin as needed for DoP (further changes to support additionally e.g. integer mode or setting the physical device mode require rather a complete rewrite of the output plugin). Fortunately the Core Audio API is by default bit perfect and supports DoP with minimal changes (setting the sampling rate accordingly after ensuring that the physical mode supports at least 24 bits per channel seems to be enough). This was tested on an Amanero Combo384 device hooked up to a ES9018 DAC. USAGE (try only on DACs that support DoP): - Add dop "yes" option to mpdconf - Be sure to set at least 24bits per channel before playing some DSD file (using Audio-MIDI-Setup) - Based on the dop setting, MPD will change the sample rate as required and output DoP signal to the DAC - Hog mode is recommended to ensure that no other program will try to mix some output with the DoP stream (resulting in bad noise) - Alternatively set the default output device to another device (e.g. the built-in output) to avoid having other audio interfere with DSD playback
-
- 30 Jan, 2018 1 commit
-
-
Max Kellermann authored
The PulseOutput needs to be "enabled" before WaitConnection() may be called. Closes #207
-
- 24 Jan, 2018 1 commit
-
-
Max Kellermann authored
-
- 17 Jan, 2018 1 commit
-
-
Max Kellermann authored
-
- 05 Jan, 2018 2 commits
-
-
François Revol authored
Convert the fill_buffer to a class method, to allow accessing the private method. Also remove the leftover Wrapper stuff.
-
Max Kellermann authored
-
- 02 Jan, 2018 4 commits
-
-
Max Kellermann authored
By API contract, this parameter must not be zero.
-
Max Kellermann authored
-
Max Kellermann authored
Adds missing checks to several plugins.
-
Max Kellermann authored
-
- 30 Dec, 2017 1 commit
-
-
loujine authored
-
- 20 Dec, 2017 1 commit
-
-
Max Kellermann authored
-
- 19 Dec, 2017 3 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 12 Dec, 2017 1 commit
-
-
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.
-
- 03 Dec, 2017 1 commit
-
-
Yue Wang authored
-
- 14 Nov, 2017 4 commits
-
-
Max Kellermann authored
Avoid another potential deadlock: if no file descriptors are registered, our non-blocking ALSA code cannot ever work.
-
Max Kellermann authored
-
Max Kellermann authored
After UnlockActivate() returns, we not only need to check for errors, but also for more room in the ring buffer. If we don't check the ring buffer, it may be drained already, and the cond.wait() call will never finish. Closes #151
-
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
-
- 12 Nov, 2017 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-