[wdmaudiodev] Re: MediaPlayer improves USB DPC timing

  • From: RonKuper@xxxxxxxxxxxx
  • To: bart@xxxxxxxxxxxxx, wdmaudiodev@xxxxxxxxxxxxx
  • Date: Fri, 25 Jul 2003 08:58:31 -0400

We don't have "completion routines" in SONAR, being all in user mode, but we
do have a time critical mix thread that blocks waiting on I/O completion.  I
suspect it piggy-backs on some of the same mechanisms.

The times that I've seen this behavior has been cases of priority inversion
among threads; or excessive kernel mode activity in other drivers.  For
example, when using KS with very low latencies, if we (or some plugin)
hammers graphics hard enough, we can see the timing jitter in the I/O
completion signals.

I assume your normal test bed is WaveLab.  Have you verified that this
change with Media Player occurs when you are hosted in other apps, such as
Sound Forge or SONAR?  In SONAR I'd be particularly curious to see how this
behaves using DirectKS instead of MME.

-----Original Message-----
From: bart@xxxxxxxxxxxxx [mailto:bart@xxxxxxxxxxxxx] 
Sent: Friday, July 25, 2003 3:57 AM
To: WDM list
Cc: Ron Kuper; martinp@xxxxxxxxxxxxxxxxxxxxx
Subject: MediaPlayer improves USB DPC timing


I observed a very strange effect on a USB (sound) device I am developping.
In my driver the URB/IRP pairs are recycled in the completion routine evey 3
msec. Once in a while (aprox 10 seconds) the completion routine is not
called for more as 12 msec causing data underrun when I play audio using MME
with WaveLab (XP sp1). I measured this by toggling a printer port pin.

When I play audio with the Windows Media Player using the same driver
(without reloading) this problem does not appear. When I stop the Media
Player (not exit it) and then play with WaveLab the problem also is gone.
When I then play using the ASIO driver with WaveLab the problem still stays
away. Then when I exit the Media Player the problem immediatly comes back
again. This effect is repeatable, as soon as the Media Player has played a
bit the timing behaviour of the (at least USB involved) DPC's improves

The only conclusion I can draw from this that the Media Player switches the
XP kernel to a 'realtime mode' such that the DPC timing improves. Is this a
known 'feature'? I don't want to suggest this is a way MS makes its software
better perform as 3d party software. Do I missing something obvious?

Best regards,

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


Other related posts: