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

Tanu Kaskinen tanuk at iki.fi
Fri Nov 6 05:03:03 PST 2015


On Fri, 2015-11-06 at 12:37 +0100, David Henningsson wrote:
> 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));
>          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) {

This should be done in pa_alsa_set_mixer_rtpoll() too. Otherwise looks
good.

-- 
Tanu


More information about the pulseaudio-discuss mailing list