Re: The choices of wavedev implementation for multiple audio interfaces



On Sep 20, 8:34 am, Shawn <shawn....@xxxxxxxxx> wrote:
Hello all,

I'm facing a choice problem when trying to implement the wavedev
driver for multiple audio interfaces.

Software - WinCE 6.0
Hardware - There are totally three separate audio interfaces, stereo,
multichannel and S/PDIF.

I guess two options are availbe to implement the wavedev driver.

Option A: Three wavedev drivers (WAV0, WAV1 and WAV2) could be
implemented for these three interfaces respectively. These three
drivers are pretty self-governed and will be loaded by device manager
one by one.

Option B: Only one wavedev (WAV0) will be implemented, but it will
return 3 when responding to WODM_GETNUMDEVS. It's saying that the
driver contains three group of Hwctxt / Devctxt / Strmctxt
implementation, and each interface has its own group.

My humble understanding is that the audio application will not be
aware of this kind of different wavedev implementation, because
WaveAPI will enumerate all these interfaces to application using
uDeviceId , no matter they are implmented in one wavedev or several.
In another word, WaveAPI will make this driver level difference
invisible to applications. Till now, I do not see any outstanding
problem to implement Ringo audio driver with either of these two
options. But to be honest, I do not know WaveAPI well due to its
privacy, so I'm not sure about which option is WaveAPI's preference.

Please share your opinions to help me on the choice. Any comments or
advices are appreciated.

Regards,
Shawn

You're correct that from waveapi's perspective it really doesn't
matter whether you have a single driver exposing three devices or
three drivers each exposing one device. Therefore, the main question
is what makes your development easiest, which really depends on
whether the three devices share any code or hardware that would more
easily be handled by a single driver.

One detail that needs clarification: Are these really totally
independent pieces of hardware? Can you play different audio streams
on each device concurrently, or do they all share the same DMA
controller and/or Codec? If they're really independent, then
implementing separate devices (as you proposed) makes sense. If
they're just different outputs from the same hardware, then you should
just implement a single device.

-Andy



.



Relevant Pages

  • The choices of wavedev implementation for multiple audio interfaces
    ... Hardware - There are totally three separate audio interfaces, stereo, ... I guess two options are availbe to implement the wavedev driver. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Driver Samples
    ... the "UAM interfaces"? ... If I was to write my own audio driver based on this ... Maybe we're all missing the value of a UAM driver, ... > The UAM supports the standard wave driver interfaces. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: VxWorks 6.6 - Ethernet interface driver support
    ... Ethernet interface cards, deploying the "Intel PRO/1000 VxBus Enhanced ... Network Driver" in conjunction with the "Generic PHY driver", ... these interfaces. ...   MII_Bus @ 0x005073cc ...
    (comp.os.vxworks)
  • Re: HP-PB 10/100 10.20 driver?
    ... If there is no downloadable driver, ... an HP-PB FDDI card crippled with a 1500 byte MTU. ... the 100BT interfaces were ... Size Size Size Time Throughput local remote local remote ...
    (comp.sys.hp.hpux)
  • Re: This Device Cannot Start (code 10)
    ... Marks a locked account Send To Microsoft ... Unimodem Half-Duplex Audio Device ... Installed Microsoft Hotfixes Office Excel MUI (English) 2007 ... I might try this driver. ...
    (microsoft.public.windowsxp.hardware)