alsa-util: check if mixer_poll_descriptors_count() < 0

This commit is contained in:
Marc-André Lureau 2009-02-18 21:35:18 +02:00 committed by Lennart Poettering
parent 800489eea9
commit 7c78c3f658

View file

@ -113,7 +113,7 @@ static void io_cb(pa_mainloop_api*a, pa_io_event* e, int fd, pa_io_event_flags_t
static void defer_cb(pa_mainloop_api*a, pa_defer_event* e, void *userdata) { static void defer_cb(pa_mainloop_api*a, pa_defer_event* e, void *userdata) {
struct pa_alsa_fdlist *fdl = userdata; struct pa_alsa_fdlist *fdl = userdata;
unsigned num_fds, i; unsigned num_fds, i;
int err; int err, n;
struct pollfd *temp; struct pollfd *temp;
pa_assert(a); pa_assert(a);
@ -122,7 +122,11 @@ static void defer_cb(pa_mainloop_api*a, pa_defer_event* e, void *userdata) {
a->defer_enable(fdl->defer, 0); a->defer_enable(fdl->defer, 0);
num_fds = (unsigned) snd_mixer_poll_descriptors_count(fdl->mixer); if ((n = snd_mixer_poll_descriptors_count(fdl->mixer)) < 0) {
pa_log("snd_mixer_poll_descriptors_count() failed: %s", snd_strerror(n));
return;
}
num_fds = (unsigned) n;
if (num_fds != fdl->num_fds) { if (num_fds != fdl->num_fds) {
if (fdl->fds) if (fdl->fds)