From owner-freebsd-multimedia Sat Sep 6 04:46:44 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id EAA10172 for multimedia-outgoing; Sat, 6 Sep 1997 04:46:44 -0700 (PDT) Received: from hydrogen.nike.efn.org (resnet.uoregon.edu [128.223.170.28]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id EAA10166 for ; Sat, 6 Sep 1997 04:46:37 -0700 (PDT) Received: (from jmg@localhost) by hydrogen.nike.efn.org (8.8.7/8.8.7) id EAA10238; Sat, 6 Sep 1997 04:46:26 -0700 (PDT) Message-ID: <19970906044626.20461@hydrogen.nike.efn.org> Date: Sat, 6 Sep 1997 04:46:26 -0700 From: John-Mark Gurney To: Luigi Rizzo Cc: multimedia@FreeBSD.ORG Subject: Re: snd970904.tgz References: <199709051351.PAA11970@labinfo.iet.unipi.it> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.69 In-Reply-To: <199709051351.PAA11970@labinfo.iet.unipi.it>; from Luigi Rizzo on Fri, Sep 05, 1997 at 03:51:31PM +0200 Reply-To: John-Mark Gurney Organization: Cu Networking X-Operating-System: FreeBSD 2.2.1-RELEASE i386 X-PGP-Fingerprint: B7 EC EF F8 AE ED A7 31 96 7A 22 B3 D8 56 36 F4 X-Files: The truth is out there X-URL: http://resnet.uoregon.edu/~gurney_j/ Sender: owner-freebsd-multimedia@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Luigi Rizzo scribbled this message on Sep 5: > I have fixed the mixer support for the SoundBlaster16 cards, and also > removed a bug in the allocation of buffers which might cause panics on > some small-memory systems using 16-bit DMA channels. The new snap is at > > http://www.iet.unipi.it/~luigi/snd970904.tgz > > If you do not use a SB16, or do not use 16-bit dma channels, you don't > need to update. well.. in my quest to get full duplex.. it looks like I probably have it working.. I updated my isa.c to match with the missing parens... and it's definately improved.. I can now record off the sound card while playing mods... (my inet connectivity doesn't allow me to try out the mbone).. but I think I've found a MAJOR problem.. your code assume the recmask that is passed in on a MIXER_WRITE(SOUND_MIXER_RECSRC) only sets one of the bits... instead of setting multiple bits.. this causes your code to fall over... and there is no fix for it when you use the default mixer command... I finally started looking at the code and it scared me... so I have rewriten it.. and I have it fully functioning... I don't think I've missed anything... it allows you to do a command like: mixer vol 100 pcm 50 cd 0 -rec line +rec mic and it will be interpeted properly.. I also added an option recsrc that will display the recsrc at the end.. I've also updated it so that when it displays the recording sources that it doesn't use what was passed in, but reads the recsrc after the set, and uses that to display the recording sources... this will mean that you get what the card reads, not what the program sets it too... now a bit more about your driver... right now I somehow got it to were it thinks there is a reader (when lsof lists no *dsp* or *audio* files open, lsof will list the mod player when it's playing) active.. and playback is going as fast as the player can feed the sound card.. and the output sounds like your running a cd player fast forward, but running it about 10 times what a normal fast forward is... the console doesn't give much info: default ioctl snd1 subdev 4 fn 0x40406d02 fail default ioctl snd1 subdev 3 fn 0x40406d02 fail dsp_rdabort: stopped after 3265 bytes out of 3348 open: missing for unit 0 read denied, another reader is in read denied, another reader is in for the open reading problem.. I haven't looked at the code, but I think what might be happening is that you are counting an open reader when I do something like cp /dev/audio0 > /dev/null (my pcm is pcm1 and I don't have a pcm0) and /dev/audio0 is invalid, and returns it, but the open count never gets decremented.. now.. the way I get the default ioctl snd1 subdev ... message is by doing: dd if=/dev/{audio,dsp} of=/tmp/somefile bs=4k count=20 hope this helps... I must say it's getting really nice though... -- John-Mark Gurney Modem/FAX: +1 541 683 6954 Cu Networking Live in Peace, destroy Micro$oft, support free software, run FreeBSD