Client/Server Application for Web Cameras

Customer: ООО Gigacodes, Germany

Business Case: development of a virtual webcam driver, which allows a physical camera to work with several Windows programs simultaneously. Unlike the majority of webcam drivers, this driver makes it possible to use a single device in Skype, Adobe Media Encoder и Adobe Flash Player in one or several browsers at a time. The output formats are individual for each instance. For the input and output formats automatic size adjustment is made. In 2004 our team finished working on the driver for Gigacodes. Since the product relies on the old stream class model, it is not compatible with the majority of Windows 8 and Windows 10 apps.

Solution: the driver is registered in the operating system to display the image which was previously saved in RAM.

The aim was achieved by using the new AVStream interface from the Windows Driver Kit. To improve the driver’s performance, we used multithreading and lock-free programming. This way we managed to avoid mutual blocking of parallel processes.

Development environment: Microsoft Visual Studio C++, Windows Driver Kit, Git