devaudio: attach
This commit is contained in:
parent
c470e77eae
commit
a75eb31752
|
@ -116,7 +116,7 @@ audioclone(Chan *c, Audio *adev)
|
||||||
static Chan*
|
static Chan*
|
||||||
audioattach(char *spec)
|
audioattach(char *spec)
|
||||||
{
|
{
|
||||||
static int first = 1;
|
static int attached = 0;
|
||||||
Audiochan *ac;
|
Audiochan *ac;
|
||||||
Audio *adev;
|
Audio *adev;
|
||||||
Chan *c;
|
Chan *c;
|
||||||
|
@ -127,7 +127,7 @@ audioattach(char *spec)
|
||||||
else
|
else
|
||||||
i = 0;
|
i = 0;
|
||||||
for(adev = audiodevs; adev; adev = adev->next)
|
for(adev = audiodevs; adev; adev = adev->next)
|
||||||
if(i-- == 0)
|
if(adev->ctlrno == i)
|
||||||
break;
|
break;
|
||||||
if(adev == nil)
|
if(adev == nil)
|
||||||
error(Enodev);
|
error(Enodev);
|
||||||
|
@ -138,9 +138,10 @@ audioattach(char *spec)
|
||||||
if((ac = audioclone(c, adev)) == nil)
|
if((ac = audioclone(c, adev)) == nil)
|
||||||
error(Enomem);
|
error(Enomem);
|
||||||
|
|
||||||
if(first && adev->volwrite){
|
i = 1<<adev->ctlrno;
|
||||||
first = 0;
|
if((attached & i) == 0 && adev->volwrite){
|
||||||
|
attached |= i;
|
||||||
|
|
||||||
strcpy(ac->buf, "speed 44100");
|
strcpy(ac->buf, "speed 44100");
|
||||||
if(!waserror()){
|
if(!waserror()){
|
||||||
adev->volwrite(adev, ac->buf, strlen(ac->buf), 0);
|
adev->volwrite(adev, ac->buf, strlen(ac->buf), 0);
|
||||||
|
|
Loading…
Reference in a new issue