summaryrefslogtreecommitdiff
path: root/src/lib/alsa
AgeCommit message (Collapse)Author
2018-12-04alsa/NonBlock: throw on snd_pcm_poll_descriptors_revents() errorMax Kellermann
This function is sparsely documented and a look at the bluez-alsa source code shows that implementations make undocumented assumptions on the `struct pollfd` array parameter which can lead to strange effects.
2018-11-19check.h: remove obsolete headerMax Kellermann
Since we switched from autotools to Meson in commit 94592c14062d5afc9482d11baa401648082022c0, we don't need to include `config.h` early to properly enable large file support. Meson passes the required macros on the compiler command line instead of defining them in `config.h`. This means we can include `config.h` at any time, whenever we want to check its macros, and there are no ordering constraints.
2018-11-11{output,mixer}/alsa: use snd_pcm_poll_descriptors_revents()Max Kellermann
This call was missing, causing very high CPU usage when the ALSA output plugin was used with dmix. Closes #391
2018-11-11lib/alsa/NonBlock: move the functions into a class managing the stateMax Kellermann
2018-10-31*: copyright year 2018Max Kellermann
2018-10-14build with Meson instead of autotoolsMax Kellermann
So long, autotools! This is my last MPD related project to migrate away from it. It has its strengths, but also very obvious weaknesses and weirdnesses. Today, many of its quirks are not needed anymore, and are cumbersome and slow. Now welcome our new Meson overlords!
2018-08-20Compiler.h: move to util/Max Kellermann
2017-12-19output/alsa: add attributes "dop" and "allowed_formats"Max Kellermann
2017-12-19lib/alsa/AllowedFormat: throw std::invalid_argument on errorMax Kellermann
2017-12-19lib/alsa/AllowedFormat: add API documentationMax Kellermann
2017-11-14lib/alsa/NonBlock: throw exception on errorMax Kellermann
Avoid another potential deadlock: if no file descriptors are registered, our non-blocking ALSA code cannot ever work.
2017-11-10output/alsa: add "allowed_formats" settingMax Kellermann
Allows defining a list of supported audio formats, and allows switching on and off DoP with certain formats. This is a first rough draft. The setting syntax and its semantics may still be redesigned.
2017-10-26lib/alsa/HwSetup: return effective parametersMax Kellermann
2017-10-26output/alsa: move AlsaSetupHw() to lib/alsa/HwSetup.cxxMax Kellermann
2017-10-26lib/alsa/Format: move HAVE_ALSA_DSD* definitions from the Alsa output pluginMax Kellermann
2017-10-26output/alsa: move functions to lib/alsa/Format.hxxMax Kellermann
2017-10-26output/alsa: move class PeriodBuffer to lib/alsa/PeriodBuffer.hxxMax Kellermann
2017-10-26lib/alsa: add "noexcept"Max Kellermann
2017-05-15*: add "noexcept" to many, many function prototypesMax Kellermann
See commit 71f0ed8b7499011b53f90998ebfbd3250fd80948
2017-03-29lib/alsa/Version: wrapper for snd_asoundlib_version()Max Kellermann
2017-02-09{input,mixer}/alsa: move code to lib/alsa/NonBlock.cxxMax Kellermann