This software is a native C ++ / MFC application that receives a large amount of data via UDP, and then processes the data for display, audio output and writing to disk, among other things. I first encountered a problem when the help document for the CHM application was launched from the help menu, and then I clicked on the help document when collecting data from the hardware. To repeat this, the AutoHotkey script was used to quickly click in the help document while the application was running. As soon as any sound occurred in the system, I began to receive errors.
If my sound card is completely disabled, everything works fine, without errors, although the sound output is clearly disabled. However, if I have a sound game (in this application, another application, or even just an audio signal from a message box), I get thousands of dropped packets (we know this because every packet has a timestamp). As a second test, I did not use my application at all and just used Wireshark to control incoming packets from the hardware. Of course, whenever sound was played in Windows, we dropped packets. In fact, the sound should not even be actively played in order to cause an error. If I just create a buffer (using DirectSound8) and never start playing, I still get these errors.
This happens on multiple PCs with several combinations of network cards (both fiber optic and RJ45) and sound cards (both integrated and individual cards). I also tried different versions of drivers for each network card and sound card. All tests were on Windows 7 32bit. Since my application uses DirectSound for audio, I tried different CooperativeLevels (normal operation of DSSCL_PRIORITY) without success.
At this point, I'm sure this has nothing to do with my application, and I was wondering if anyone had any idea what might cause this problem before I start contacting the hardware vendors and / or Microsoft
source share