[nas] [PATCH] voxware server: using different in and out devices

Jon Trulson jon at radscan.com
Sun Aug 13 18:57:45 MDT 2006


On Sat, 12 Aug 2006, Erik Auerswald wrote:

> Hi,
>
> On Fri, Aug 11, 2006 at 06:07:29PM -0600, Jon Trulson wrote:
>> On Fri, 11 Aug 2006, Erik Auerswald wrote:
>>> On Thu, Aug 10, 2006 at 10:16:27PM -0600, Jon Trulson wrote:
>>>> On Thu, 10 Aug 2006, Erik Auerswald wrote:
>> [...]
>>         I have an old SB PCI - it does support FDX operation; I've
>>         never been in posession of a half-duplex card, but some nas
>>         users sure have :)
>
> The cards did support full-duplex operation, just the free OSS driver
> did not. You had to buy the commercial OSS driver to use this under
> linux. I did have a soundblaster pro (ISA bus) with this problem. Today
> one would just use ALSA for full-duplex operation.
>

         Huh... I never had a problem with my SB and FDX with pay or free OSS...

>>> In my case I configured the S/PDIF out of the on-board sound as one OSS
>>> device and the normal "analog" in/out hw as another. The sound card
>>> mixer controls all of these devices so I don't need seperate mixers.
>>
>>   I'm confused... You really only have a single sound device right?
>>   It may have multiple outputs, but it's still a single device?
>
> This depends on your definition of "device". ;-)
>
> There is sound hardware on the mainboard included in the (nvidia nforce3)
> chipset. ALSA reports this as one card. There is one analog output, one
> line input, one microphone input, and one digital output connector. This
> could be seen as one device.
>

         Yes, that's is what I am refering to as device - the physical
         card/imbedded chip doing all the work. :)

> ALSA reports 4 devices, two capture and two playback devices. Two of
> these ALSA devices have the same prefix: pcm0 (pcm0c and pcm0p), one
> device is an additional microphone input (pcm1c) and the last one is the
> digital output device (pcm2p).
>
> So there are two independent output devices pcm0p and pcm2p and supposedly
> two independant input devices pcm0c and pcm1c (I did not verify the input
> part). When using ALSA programs all of these devices can be specified.

   Ahh yes... in NAS they cannot.  Currently nas exports a small subset
   of available output 'devices' - mono and stereo.  HP has a hack in
   nasd.conf that allows it to select between External speakers and
   internal headphones, but that's about it.

   Maybe a new 'changable' (see auinfo) should be added to allow more
   specific selection of the output 'device'?

>
> When using the OSS emulation of ALSA (e.g. with the voxware NAS server)
> I have to specify either /dev/dsp or /dev/adsp as devices. By default
> /dev/dsp is mapped to pcm0[cp] and /dev/adsp to pcm1c. By using an option
> for the emulation module pcm2p can be mapped to /dev/adsp instead. By
> mapping either a capture or a playback device to /dev/adsp this is
> half-duplex. This way I have two independent OSS devices I can use. The
> voxware server can be configured to use both devices, one for input and
> one for output.

   Hmm.

>
> There is still only one mixer available, either using ALSA directly or
> using /dev/mixer via the OSS mixer emulation module of ALSA.
>
> With regard to one server per device: I would expect a sound server to
> be able to export every available sound device. Just like the X server
> there are uses for one server on several devices (e.g. Xinerama in X)
> and for one server per device (and even for several servers time-sharing
> one device).

   Hehe, so each sound device (hardware device) would be a seperate
   'X11 Screen'?  I suppose since nas was based on X, this would be
   possible.  Configuration would need significant rework, that's for
   sure.

>
> I have just got a PCI sound card (so that I now have the onboard sound
> and a sound card -- the sound card is not yet installed), and if I find
> the time I will extend the support for two devices to fully include two
> mixers as well. Right now a mixer can be specified in the input section
> of nasd.conf, but it is not used.

   Time to use it! :)

-- 
Jon Trulson
mailto:jon at radscan.com http://radscan.com/~jon
#include <std/disclaimer.h>
"No Kill I" -Horta




More information about the Nas mailing list