diff options
author | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-02-01 15:23:38 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-02-01 15:23:38 +0100 |
commit | d41f67c2b9cf3f915b12d113bd5952ce90062c8a (patch) | |
tree | e030910cc51e30bb57fd7f57e9ad5d7056be6962 /sys/src/9/pc/audiohda.c | |
parent | 0b268440b9d557f64cba6f7db644a6536fa2b158 (diff) |
audio: fix delay control, increase default buffer delay to 40ms
just doing a single sleep isnt enougth, as we get woken
up for every block!
Diffstat (limited to 'sys/src/9/pc/audiohda.c')
-rw-r--r-- | sys/src/9/pc/audiohda.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/src/9/pc/audiohda.c b/sys/src/9/pc/audiohda.c index cce9031fa..a05d9099d 100644 --- a/sys/src/9/pc/audiohda.c +++ b/sys/src/9/pc/audiohda.c @@ -1288,7 +1288,8 @@ hdawrite(Audio *adev, void *vp, long n, vlong) p += n; } hdakick(ctlr); - sleep(&ring->r, outrate, ctlr); + while(outrate(ctlr) == 0) + sleep(&ring->r, outrate, ctlr); return p - (uchar*)vp; } |