Re: [linux-audio-dev] Full duplex woes

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] Full duplex woes
From: Chris Baugher (baugher_AT_enteract.com)
Date: Tue Apr 11 2000 - 18:58:12 EEST


On Mon, 10 Apr 2000, Billy Biggs wrote:
> Hey,
>
> I'm looking for some advice on an annoying problem I'm having.
>
> Does OSS support opening an audio device twice, one for reading and one
> for writing? Does ALSA support this?

The last time I checked the OSS/FREE driver did not support full duplex so
you could not open the device for read and write at the same time. If you
get the NON-FREE OSS driver ($20 U.S. I think), you can use full duplex.
However if you have supported hardware I would try the ALSA driver with
OSS emulation. It DOES support full duplex and you don't have to pay for
it.

>
> My app currently creates seperate threads for input and output using
> the same device, and while this was kinda working with my es1370 using
> ALSA, it does not seem to work on this crappy SB16 using OSS/Free.

The es1370 and SB16 are supported by ALSA. Although if that SB16 is an
older ISA type it most likely will not support 16bit playback and record
at the same time. It can do 16bit-record/8bit-play or 8bit-record/16bit
play but not 16bit-record/16bit-play.

>
> So, I tried using a static fd, open the device once, and then create
> the two threads which read and write on the one open fd, but this also
> does not seem to work (select doesn't return anything waiting for of the
> two threads).

This won't make any difference if the driver doesn't support full duplex.

>
> Do I have to rewrite my app to use only one thread for audio work?

You shouldn't have to. Just get a better driver.

>
> --
> Billy Biggs vektor_AT_div8.net
> http://www.div8.net/billy wbiggs_AT_uwaterloo.ca

good luck!

Chris|


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Tue Apr 11 2000 - 20:06:13 EEST