Thanks Martin. I have it all working as expected under Windows XP. I
guess I'll just have to write-off W2K for higher sample rate support.
Thank you,
David
This behavior changed in Windows ME and XP, when we added the splitter.sys component. We unfortunately don't anticipate adding this component to Win2K SP - it implies co-requisite changes in SysAudio.sys that are fairly invasive in nature.
MartinP Group Development Manager Media Devices Group Windows Digital Media Division Microsoft Corporation
-----Original Message----- From: David A. Hoatson [mailto:dhoatson@xxxxxxx] Sent: Thursday, September 16, 2004 8:44 AM To: wdmaudiodev@xxxxxxxxxxxxx Cc: Martin Puryear Subject: Re: [wdmaudiodev] Re: Record Buffer Issue
Ok, I stand corrected. I just checked again and CWaveStreamMiniport::GetAllocatorFraming *is* being called by the port driver under Windows XP SP2 and it does control the buffer size... Looks like it doesn't get called under Windows 2000 SP4.
Can anyone fill me in on when this functionality changed?
Thank you,
David
----- Original Message ----- From: "David A. Hoatson" <dhoatson@xxxxxxx> To: <wdmaudiodev@xxxxxxxxxxxxx> Cc: <martinp@xxxxxxxxxxxxxxxxxxxxx> Sent: Thursday, September 16, 2004 8:32 AM Subject: [wdmaudiodev] Re: Record Buffer Issue
Hello and Thank you for your quick response...
I have a CWaveStreamMiniport::GetAllocatorFraming which only ever gets
called by SONAR when running in WDM/KS mode. It never gets called bythe
thePort class driver.
Are you saying that the Port class driver does an IOCTL_KS_PROPERTY / KSPROPERTY_CONNECTION_ALLOCATORFRAMING and this never translates to
commentsMiniport::GetAllocatorFraming call? Doesn't this seem like a serious omission?
Martin Puryear (or anyone else from Microsoft), do you have any
andon this?
Thank you,
David
----- Original Message ----- From: "Yura" <spirit@xxxxxxxxxx>
To: "David A. Hoatson" <wdmaudiodev@xxxxxxxxxxxxx>
Sent: Thursday, September 16, 2004 8:27 AM
Subject: [wdmaudiodev] Re: Record Buffer Issue
Hello ,David
You can hook IOCTL_KS_PROPERTY in the Dispatch routine and look for the GET request for the KSPROPERTY_CONNECTION_ALLOCATORFRAMING property of KSPROPSETID_Connection propery set. In this request you can modify number of buffers and their sizes (after it has been processed by lower drivers).
I know, this is bad way, but it helped me when I had problems with sound recording in MsVad.
Thursday, September 16, 2004, 5:30:39 PM, you wrote:
DAH> I have noticed some specific behaviour for recording that is causing major DAH> grief for my audio driver DAH> (IMiniportWavePci/IMiniportWavePciStream).
DAH> For playback, the buffers are chopped up into 10ms increments
fromit seems DAH> that a maximum of about 3 buffers are sent down to my driver
the WDM DAH> port class driver. If the sample rate scales up, so does the buffer size DAH> so each buffer is still 10ms in length. Playback at any sample rate works DAH> as expected.
DAH> For recording, eight 64-byte buffers are passed in regardless of
~0.66ms,sample DAH> rate. At 48kHz stereo, this means each buffer represents
fasterwhich is DAH> just at the limit of what gives acceptable performance from
DAH> machines. At 192kHz, the port driver still only gives eight 64-byte DAH> buffers, so now that same buffer only represents 0.166ms for stereo, or DAH> only 1 sample period for 16 channel interleaved 32-bit (which my
device can DAH> do)! This means the PC is not able to respond to each interrupt
(192kHz/Stereo).fast DAH> enough and audio breakup will occur in only 1.3ms
isThis DAH> essentially means that recording through the port class driver
not DAH> possible at higher sample rates/higher channel counts. I should
mention DAH> that I am using Windows XP SP2.
DAH> So far I have found nothing that allows my driver to control the
driver.size or DAH> number of buffers that are passed in from the upper level
mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribeDoes DAH> anyone have a solution to this problem? I'm sure there is something very DAH> basic that I am missing...
DAH> Thank you,
DAH> David
DAH> ******************
DAH> WDMAUDIODEV addresses: DAH> Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx DAH> Subscribe: DAH> mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe DAH> Unsubscribe: DAH> mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe DAH> Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
DAH> URL to WDMAUDIODEV page: DAH> http://www.wdmaudiodev.de/
-- Best regards, Yura mailto:spirit@xxxxxxxxxx
******************
WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe:
mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribeUnsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
URL to WDMAUDIODEV page: http://www.wdmaudiodev.de/
******************
WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe:
Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
URL to WDMAUDIODEV page: http://www.wdmaudiodev.de/
******************
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.de/