Camera Enumeration Change

Hello,

I have a problem where the operating system is losing the camera at random intervals, perhaps due to an intermittent signal loss. Our temporary solution is to have vvvv exit and enter fullscreen mode to refresh the DirectShow feed. This regains the camera signal.

However, instead of doing this on a time interval, I would like to know if there any way to reliably “Detect” a device loss within vvvv. Is this possible?

I have not found a way to do this, as the device enumeration seems to only change when the video patch is initialized or when exiting fullscreen.

Or would we have to write a custom plugin that looks at device changes?


http://msdn.microsoft.com/en-us/magazine/cc164112.aspx
From the MSDN Direct X page, see cleanup:
Device change

InvalidateDeviceObjects
DeleteDeviceObjects
InitializeDeviceObjects
RestoreDeviceObjects

helo,

hm…not sure if this is of any help…in Renderer (TTY) you should get a message everytime a device is connected or disconnected…

now i don’t see any other way to get the ttys content then using the LogFile (VVVV) node (that lets you write the ttys log to a specified file) and read that files periodically to see if a re-enumeration of devices took place…

i hope you have already considered getting a new camera/cable/connector to actually fix the problem instead of depending on dirty workarounds.

Unfortunately, the camera is housed in a permanent steel casing, and changing the camera would require a new housing. We have since changed the cabling, it seems to behave better. I have found an interesting way to detect a camera loss, see the attached patch.

In case you’re wondering this is a project collaboration with Jan Schmelter = )

CameraLossDetect.v4p (16.1 kB)