So we have developed a virtual ASIO driver that basically does some DSP and forwards audio samples and ASIO calls to target device. There's a configuration tool that receives our ASIO drivers COM object instance (in event listener) when it loads in DAW or other ASIO capable audio software and tries to configure it directly by using the same instance. In DAWs like Reaper and Cubase we have no issues everything gets configured and is fine and dandy, but if our virtual device is used in JRiver Media Center we can only call our virtual driver specific methods when JRiver is not playing audio or else it hangs in any call to our virtual driver without even getting to the method on the driver side that we try to call.
I suspected that message loop is not run at the time of playing, but that isn't the issue as JRiver Media Center responds to quit messages. Other thing I suspected is threading compartment but I don't see how that could cause this issue. It looks like somehow message loop in the config app breaks when JRiver Media center plays audio.
I will provide sample code later.