[pulseaudio-discuss] [PATCH] alsa-mixer: Return early in case of no mixer poll descriptors

David Henningsson david.henningsson at canonical.com
Fri Nov 6 03:37:48 PST 2015

We encountered an alsa plugin a while ago (not sure if the source
can be shared) which had mixer controls, but no descriptors to
poll for changes.

Quit early to avoid latter assertion failures.

BugLink: https://bugs.launchpad.net/bugs/1092377
Signed-off-by: David Henningsson <david.henningsson at canonical.com>

An oldie that's been hanging around in the Ubuntu tree for years now.
I think it makes sense for upstream; will push in one week if no one complains.

 src/modules/alsa/alsa-mixer.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c
index 486da83..fdfee02 100644
--- a/src/modules/alsa/alsa-mixer.c
+++ b/src/modules/alsa/alsa-mixer.c
@@ -329,6 +329,10 @@ static void defer_cb(pa_mainloop_api *a, pa_defer_event *e, void *userdata) {
         pa_log("snd_mixer_poll_descriptors_count() failed: %s", pa_alsa_strerror(n));
+    else if (n == 0) {
+        pa_log_warn("Mixer has no poll descriptors. Please control mixer from PulseAudio only.");
+        return;
+    }
     num_fds = (unsigned) n;
     if (num_fds != fdl->num_fds) {

More information about the pulseaudio-discuss mailing list