View Full Version : RTX starving Windows XP

Hey You
August 8, 2012, 19:13:21
I currently am running the DFK72AUC02 AND/OR DMK41AUC02 only one at a time. The PC is an Intel quad-core Windows XP 32-bit RTX. This system is running Ardence RTX (real-time OS). I have the most current (v3.2) drivers loaded and a custom camera application built on top of the demo application. My application is natively written for MS VB.NET 2008 Pro.

The problem I seem to be having is the RTX system interrupts the USB stream intermittently causing the camera(and Windows) to stop streaming and hang without throwing an error. I did include the sample portion of code that detects an unplugged camera which is working well, this fault is handled smoothly as expected. I don't seem to be able to catch that the stream has been interrupted though. The software doesn't lock-up and simply re-initializing the video stream seems to work smoothly and reliably so I am confident I could handle this event if I could reliably detect it.

Is there an easy way to detect if the stream is still actively displaying on the screen?


Stefan Geissler
August 9, 2012, 08:55:48

First of all, I have no experiences with the Ardence RTX. But I saw, it does a lot of things with the hardware and also the USB communication.

If the RTX system interrupts the USB data transfer, then the USB camera driver receives incomplete images. These images are dropped, therefore, the live stream looks stopped. After the USB datatransfer has been established again, the live stream should continue automatically. The camera does not stop streaming in this situation.

If this does not happen, I suggest to create a watchdog. You add the "ImageAvailable" event and a timer with e.g. 1000ms interval to your application. Also set the property "LiveCaptureContinuous" to true. In the "ImageAvailabe" event, you set a flag to true, in the timer, you check, whether this flag is true and set it to false. If the flag is false, when the timer tick occurs, then no image was provided and you can stop and start the live video again.