{output,mixer}/alsa: use snd_pcm_poll_descriptors_revents()

This call was missing, causing very high CPU usage when the ALSA
output plugin was used with dmix.

Closes #391
This commit is contained in:
Max Kellermann
2018-11-08 14:29:04 +01:00
parent ba5c856f15
commit fee75dc766
6 changed files with 67 additions and 0 deletions

View File

@@ -42,6 +42,12 @@ public:
*/
std::chrono::steady_clock::duration PrepareSockets(MultiSocketMonitor &m,
snd_pcm_t *pcm);
/**
* Wrapper for snd_pcm_poll_descriptors_revents(), to be
* called from MultiSocketMonitor::DispatchSockets().
*/
void DispatchSockets(MultiSocketMonitor &m, snd_pcm_t *pcm) noexcept;
};
/**
@@ -54,6 +60,12 @@ class AlsaNonBlockMixer {
public:
std::chrono::steady_clock::duration PrepareSockets(MultiSocketMonitor &m,
snd_mixer_t *mixer) noexcept;
/**
* Wrapper for snd_mixer_poll_descriptors_revents(), to be
* called from MultiSocketMonitor::DispatchSockets().
*/
void DispatchSockets(MultiSocketMonitor &m, snd_mixer_t *mixer) noexcept;
};
#endif