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

New commits:
commit 107dfa8e0141d5fb979bebe3606b3fd9e4f65f55
Author: David Henningsson <david.hennings...@canonical.com>
Date:   Fri Nov 6 12:31:32 2015 +0100

    alsa-mixer: Return early in case of no mixer poll descriptors
    
    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.hennings...@canonical.com>

diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c
index 486da83..af7adea 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));
         return;
     }
+    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) {
@@ -522,6 +526,10 @@ int pa_alsa_set_mixer_rtpoll(struct pa_alsa_mixer_pdata 
*pd, snd_mixer_t *mixer,
         pa_log("snd_mixer_poll_descriptors_count() failed: %s", 
pa_alsa_strerror(n));
         return -1;
     }
+    else if (n == 0) {
+        pa_log_warn("Mixer has no poll descriptors. Please control mixer from 
PulseAudio only.");
+        return 0;
+    }
 
     i = pa_rtpoll_item_new(rtp, PA_RTPOLL_LATE, (unsigned) n);
 

_______________________________________________
pulseaudio-commits mailing list
pulseaudio-commits@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-commits

Reply via email to