[wdmaudiodev] Re: External clock synchronization and sample rate issue

  • From: Matt Gonzalez <matt@xxxxxxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Wed, 10 Jan 2007 17:00:48 -0800

OK, that makes sense. So you know when you create the subdevice that you are only supporting one sample rate.


The problem I have is somewhat different - my driver creates multiple subdevices for each pair of inputs and outputs on the card. All the subdevices share a common , internally generated hardware clock, so you would want to specify the same preferred format for all the inputs and outputs. Obviously, having to go through the control panel and setting the preferred format for each audio device is not desirable. It seems like in that case, you'd want to allow the full range of sample rates to be available. But then - if you change one device, is there some way to propagate the change to all the others? The discussion so far suggests that there is no way to do this automatically.

I'm thinking here of something along the lines of the IPortEvents interface, but I'm just spitballing.

Matt


Jeff Pages wrote:
No, I don't call IoSetDeviceInterfaceState anywhere - presumably the port class takes care of enabling device interfaces when the subdevice is registered. Only one wave subdevice is ever created at a time, it's just that it might have different parameters (specifically supported sampling rate) depending on what the hardware clock is when the subdevice is created. I think a different subdevice name is needed for each option because Vista stores the audio engine rate in the registry for each one.

Jeff

******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/

Other related posts: