Pergunta

I am trying to design a Windows KMDF driver for an old USB Webcam.

I think I have enough informations on the driver development / USB protocol side, but I am wondering how I should expose the webcam functionalities from the driver so that Windows program can take advantage of it.

This webcam has 3 functionalities:

  1. a video stream,
  2. an audio stream,
  3. a "take picture" hardware button.

For each of those, what is the more natural way to expose it to Windows, so that my webcam can be used in relevant programs (gTalk, Skype, etc.)? Or, to revert the question: what is expected by those programs, and how do they detect webcams?

Foi útil?

Solução

When you write a 'WebCam' driver, you should use kernel streaming as your driver model. this provides you with the correct interfaces, so that other programs can communicate with your device through DirectShow/VfW/etc. .

Currently kernel streaming is implemented in the AVStream mini driver base. The WDK contains a AVStream mini driver sample to base your own driver on. The backend to the device can then be implemented using KMDF.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top