mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-04 13:29:59 -05:00
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.henningsson@canonical.com>
This commit is contained in:
parent
f621aa5e2c
commit
107dfa8e01
1 changed files with 8 additions and 0 deletions
|
|
@ -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));
|
pa_log("snd_mixer_poll_descriptors_count() failed: %s", pa_alsa_strerror(n));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
else if (n == 0) {
|
||||||
|
pa_log_warn("Mixer has no poll descriptors. Please control mixer from PulseAudio only.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
num_fds = (unsigned) n;
|
num_fds = (unsigned) n;
|
||||||
|
|
||||||
if (num_fds != fdl->num_fds) {
|
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));
|
pa_log("snd_mixer_poll_descriptors_count() failed: %s", pa_alsa_strerror(n));
|
||||||
return -1;
|
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);
|
i = pa_rtpoll_item_new(rtp, PA_RTPOLL_LATE, (unsigned) n);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue