1
votes

I’ve got an application running over Citrix that needs to take a pic with a webcam attached to the client PC. The app is coded in C# and using DirectShow libraries. Citrix XenApp is version 7.x, clients are on Windows 7 and 10. Remote Desktop and Citrix seem to have the same issue.

Everything works fine on the fat client. On Citrix or Remote Desktop, of course my local webcam doesn’t show up but the “Citrix HDX Web Camera” does. When I use that and try to start the camera I get the error “Failed to add a video capture filter.”

Going on the filter hint, I loaded GraphEdit onto the server and ran that through an RDP client. I can see the Citrix HDX Web Camera as a capture source but it has no input or output pins. Not sure what to do with that.

I’ve been looking around the web for days, but no luck. There are hints around that camera access doesn’t work in Citrix by default, but it can be done. Citrix even has a support article that talks about HDX Realtime Webcam Video Compression, but it lacks technical details. It’s more about config options and not about coding.

I’m sure this can be done as there are third party products that bridge the gap for the benefit of other applications. Does anybody have a link to some good information about coding this into one’s own application? Or even to point out some wrong direction, like “Don’t bother with DirectShow. You should be using…”

Many thanks.

1
Did you ever figure this out? - Derek Tomes

1 Answers

1
votes

The same issue on my environment that the Citrix HDX Web Camera has no output pin. If you check the pin properties on your local machine, you may see like:

Prefered Media Types:
Major type: Video
Subtype type: YUY2
Format type: VideoInfo
rcSrc {X=0,Y=0,Width=0,Height=0}
rcDest {X=0,Y=0,Width=0,Height=0}
--
etc..

I guess the media type is not in the system, so the pin cannot be rendered. Unfortunately I don't know what I need to install.