Thanks for your reply -
So let me make sure I understand what you are saying as since I posted my
mail I have done some more research into USBCAM.
- USB CAM is designed to work with isochronous endpoints when being used to
capture video streams. Since my camera uses BULK/INTERRUPT endpoints to
implement video streams I can’t take advantage of what USBCAM has to offer.
If my camera DID use isochronous endpoints I could use USBCAM to
send/recieve frames from the camera, etc. The value add here is that I would
not even have to worry much about talking to USB.
On a side note, I noticed that USBCAM did support a BULK configuration for
Still Frames being sent via a pull model. Is this something I could use, or
is it really only for Still Frames. (I was thinking that really what my
camera is doing is sending me one still frame at a time so maybe there was a
fit here)
-
What you reccomend I do is implement a KS Mini Driver that will take care
of all the details of sending the correct camera command to Start/Stop the
Video Stream. This Mini Port Driver will also make USB calls to the camera,
much like the first driver I developed for this camera. (Which was a
complete USB driver that talked to a custom appliaction). This Mini would
also probobly have to take each frame, and get it into a format supported by
the video stream class driver. (My camera is currently sending me JPEGS)
-
Once I implement this Mini Driver, any appliaction that uses the Direct
Show API (i.e. Net Meeting) will be able to display the Video Capture data
from my camera.
Again, Thank you very much for your replies
-Chris
USBCAMD is intended for isochronous endpoint streaming devices. It is a
KERNEL DLL that simplifies the job of writing a USB camera driver.
However,
each camera vendor is still responsible for writing the actual STREAM
class
minidriver for their device. The stream class minidriver should have a
set
of pending SRBs that it can fill with data and complete. In your case,
your
minidriver would simply be like any other capture driver in terms of KS
property sets and pins. I would suggest that you look at TESTCAP (in
the
Windows DDK) as a staring point for your efforts.
-----Original Message-----
From: Pane, Chris [mailto:xxxxx@vanteon.com]
Sent: Thursday, October 12, 2000 4:37 PM
To: NT Developers Interest List
Subject: [ntdev] Re: WDM Video Streaming Device Drivers
Thanks for the reply !
I have continued my reseach and have yet another questions.
I am reading the DDK Help files on using the USBCAMD class driver and it
uses isochronous frames for video and Bulk Pipes for still. Since my
camera
does not support an isochronous endpoint, can I still use USBCAM.
If not, should I be developing a MINI driver that sits in the STream
architecture along side of where the USBCAM would site. (i.e. since my
hardware does not support ISOC endpoints, I have to do the work of
managing
the incoming frames).
As I said in my earlier email, our protocol for frame delivery is one of
recieveing interrupts on an interrupt endpoint, and requesting the frame
via
PIMA command for each interrupt. I would need to notifiy the Stream
class
driver above me that I have another frame for it to pass up.
Thanks
* Chris
Christopher Pane
Software Engineer
Vanteon
2851 Clover Street
Pittsford, NY 14534
Tel: (716) 248-0510 (Ext 232)
Fax: (716) 248-0537
email: xxxxx@vanteon.com
web: www.vanteon.com
-----Original Message-----
From: Maxim S. Shatskih [mailto:xxxxx@storagecraft.com]
Sent: Thursday, October 12, 2000 6:37 PM
To: NT Developers Interest List
Subject: [ntdev] Re: WDM Video Streaming Device Drivers
> 1. Based on my reading, I think I have to implement a MINI
port driver
that
> will fit into the WDM Video Stream architecture, possibly
using the USB
> Video Camera class driver. Is this correct ? If I do this will any
> application that uses DirectShow be able to display the
images retrieved
> from the camera.
Yes.
> 2. Is it the job of the MINI port driver to take care of
all the camera
> specific tasks (Constructing and sending PIMA commands in
this case) to
the
> camera).
Yes.
There are KS samples in the DDK - even some USB camera.
Max
You are currently subscribed to ntdev as: xxxxx@vanteon.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)
You are currently subscribed to ntdev as: xxxxx@exchange.microsoft.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)