[nas] isolate input/output?

Erik Auerswald auerswal at unix-ag.uni-kl.de
Sun Mar 11 06:31:28 MDT 2007


Hi,

On Sun, Mar 11, 2007 at 01:09:06PM +0100, Erik Auerswald wrote:
> On Sat, Mar 10, 2007 at 11:51:05PM -0500, Paul Fox wrote:
> > 
> > first, a typo bug in openDevice(), in auvoxware.c.
> 
> I think you're right, this is a typo.

I've just tested this, Paul's patch should be applied.

> > however, in practice,
> > i don't think we ever execute this code.  (i found this by inspection --
> > i can't make it fail.)
> 
> I'll take a look at it.

This code is executed.

> > setting it to either a nonexistent
> > device (/dev/dsp1) or to the same device as output (/dev/dsp)
> > causes nasd to loop 5 times, with timeout, when trying to open
> > the input device.

The real problem is that nasd always tries to open both the input and
output devices. I didn't remember this, my former answers have been
wrong in regard to this. Sorry.

> This should happen when connecting with an input client only, I'd assume
> that a usable workaround is to never do so. As long as the device is
> not kept open it should be usable by other apps (I did just test this by
> starting nasd with /dev/dsp as in- and output device and then (without
> NAS clients) doing a "cat /dev/dsp > recording" which worked).

Whenever _any_ NAS client connects to the server, both devices will be
opened, so playing sound via the server will inhibit other applications
from recording.

> If this should not work for you someone would need to write a patch
> to implement disabling of th input (or rather one of output and input)
> device...

I'll try to come up with a simple patch for this.

Erik
-- 
It's hard to avoid programming overcomplicated monoliths if none of your
programs can talk to each other.
                        -- Eric S. Raymond



More information about the Nas mailing list