[wdmaudiodev] ASIO thread sync with audiocard's IRQ

  • From: ns <neslon@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Fri, 12 Sep 1997 22:02:32 +0400

Hello wdmaudiodev,
      Hi all !!!
I now really have troubles with the notification of ASIO-driver
_thread_(usually - 1 of Cubase' or other VST host's threads) by the WDM driver -
1stly due to the fact this must work on 98 and 2000/XP as well.
(Or may be it's better to distinct OS and make really
effective code for NT-based as more perspective leaving for 98 some
less effective way?..)
On NT-based(I have 2000) there is the way of events - but this subs
contained in NTKRNL.DLL and use of some of it make impossible to
install drvr under 98 which links WDM.LIB instead.
   That's why under 98 I use the following warped&twisted way:
- Open WDM with 2 IOCTL handles - 1usual and other - overlapped.
- Copy data through the IRPs passed by overlapped handle
!_COMPLETING IRPs AT NEXT IRQ_!.
 But IoCompleteIrp() can be called from not lower than IRQ_LEVEL_DISPATCH
- thus from DPC, not ISR.
This way causes such a problems:
1.DPC may be bypassed if HDD or alike h/w drivers do much it's work at
 IRQ's.
2. I don't know how to make system to switch to ASIO Thread _FAST
ENUGH_ to not let buffer' overrun
 - 'cause task/thread switch mechanism is not clear enough to understand.

   CAN ANYONE TELL ME HOW TO NOTIFY ASIO THREAD BY WDM UNDER 98 MORE
FAST WAY???



-- 
Best regards,
 ns(Kleopard)                          mailto:neslon@xxxxxxxxx


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

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/

Other related posts:

  • » [wdmaudiodev] ASIO thread sync with audiocard's IRQ