From a75eb317520c72ab129ba2164550d68ed07ad560 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Fri, 20 May 2011 20:45:17 +0000 Subject: devaudio: attach --- sys/src/9/port/devaudio.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/sys/src/9/port/devaudio.c b/sys/src/9/port/devaudio.c index 2af6d9779..a7ff2133a 100644 --- a/sys/src/9/port/devaudio.c +++ b/sys/src/9/port/devaudio.c @@ -116,7 +116,7 @@ audioclone(Chan *c, Audio *adev) static Chan* audioattach(char *spec) { - static int first = 1; + static int attached = 0; Audiochan *ac; Audio *adev; Chan *c; @@ -127,7 +127,7 @@ audioattach(char *spec) else i = 0; for(adev = audiodevs; adev; adev = adev->next) - if(i-- == 0) + if(adev->ctlrno == i) break; if(adev == nil) error(Enodev); @@ -138,9 +138,10 @@ audioattach(char *spec) if((ac = audioclone(c, adev)) == nil) error(Enomem); - if(first && adev->volwrite){ - first = 0; - + i = 1<ctlrno; + if((attached & i) == 0 && adev->volwrite){ + attached |= i; + strcpy(ac->buf, "speed 44100"); if(!waserror()){ adev->volwrite(adev, ac->buf, strlen(ac->buf), 0); -- cgit v1.2.3