X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=alsa_write.c;h=bcabe53cb704f86144fb6ff2bf5da5024b39d02a;hp=7f045aad9f5d426c7b09d0d61fadc1cb89094504;hb=fd62cf6f3c17ec9f504d3a05be4fd48f969dcb01;hpb=a24d9cc9b396789f62f6beac29460260b8d6809c diff --git a/alsa_write.c b/alsa_write.c index 7f045aad..bcabe53c 100644 --- a/alsa_write.c +++ b/alsa_write.c @@ -183,8 +183,7 @@ static void alsa_write_pre_select(struct sched *s, struct task *t) underrun = 50; underrun -= 50; ms2tv(underrun, &tv); - if (tv_diff(&s->timeout, &tv, NULL) > 0) - s->timeout = tv; + sched_request_timeout(&tv, s); } static void alsa_close(struct writer_node *wn) @@ -257,6 +256,7 @@ again: if (ret < 0) goto err; wn->min_iqs = pad->bytes_per_frame; + goto again; } frames = bytes / pad->bytes_per_frame; frames = snd_pcm_writei(pad->handle, data, frames);