pcm direct plugins: drain() call might be blocked when threads are used

Add SETUP state checks and do modifications according latest ALSA driver
(passing wrong event identification).

ALSA bug#4914

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Jaroslav Kysela 2010-03-03 10:58:53 +01:00
parent 7fd0d9f423
commit b9dbee694a
5 changed files with 20 additions and 14 deletions

View file

@ -142,10 +142,9 @@ struct snd_pcm_direct {
int hw_fd; /* hardware file descriptor */
struct pollfd timer_fd;
int poll_fd;
int tread;
int timer_need_poll;
unsigned int timer_event_suspend;
unsigned int timer_event_resume;
int tread: 1;
int timer_need_poll: 1;
unsigned int timer_events;
int server_fd;
pid_t server_pid;
snd_timer_t *timer; /* timer used as poll_fd */