Prev: How can I request OIDs to Native 802.11 miniport driver?
Next: NdisMSetMiniportAttributes Fails With NDIS 6.1 Miniport
From: mranger90 on 21 Feb 2008 11:22 Hello, I have a basic avstream architecture question. After piling through the docs as well as the avshws and wd3ksproxy examples, I still have a disconnect that I cannot resolve. I am to write an avstream directshow driver for a video frame grabber. This frame grabber already has a wdm style device driver which maps in the registers, handles interrupts etc. A user level library does most of the work with information gleaned from the driver via IOCTLS. It is necessary for this to continue to work so that backward compatibility with existing applications will not be broken. What I don't know is how to handle the 2 drivers. Can they both exist and manage the device resources ? Should I: A. - implement the avstream as an upper level filter driver ? If so, an example of how to do this in the INF file would be appreciated. B. - Allow both drivers to exist and access them seperately ? if so, again, how would this work in the INF file ? C. - Ditch the system device driver and incorporate the IOCTLS into the avstream driver and have the library access the avstream driver to maintain compatibility. Thank you in advance, -- mranger90 http://www.techtalkz.com - Technology and Computer Troubleshooting Forums
From: Maxim S. Shatskih on 22 Feb 2008 16:25 Forget AVStream, and write the user-mode DirectShow component which will call IOCTLs to your existing WDM driver, exposing the upper edge of a DirectShow video source. -- Maxim Shatskih, Windows DDK MVP StorageCraft Corporation maxim(a)storagecraft.com http://www.storagecraft.com "mranger90" <guest(a)unknown-email.com> wrote in message news:6a95860f4b3bd9719422fd96f7cb7ca5(a)nntp-gateway.com... > > Hello, > I have a basic avstream architecture question. After piling through > the docs as well as the avshws and wd3ksproxy examples, I still have a > disconnect that I cannot resolve. > I am to write an avstream directshow driver for a video frame grabber. > This frame grabber already has a wdm style device driver which maps in > the registers, handles interrupts etc. A user level library does most > of the work with information gleaned from the driver via IOCTLS. It is > necessary for this to continue to work so that backward compatibility > with existing applications will not be broken. > > What I don't know is how to handle the 2 drivers. Can they both exist > and manage the device resources ? Should I: > A. - implement the avstream as an upper level filter driver ? If so, an > example of how to do this in the INF file would be appreciated. > B. - Allow both drivers to exist and access them seperately ? if so, > again, how would this work in the INF file ? > C. - Ditch the system device driver and incorporate the IOCTLS into the > avstream driver and have the library access the avstream driver to > maintain compatibility. > > Thank you in advance, > > > -- > mranger90 > http://www.techtalkz.com - Technology and Computer Troubleshooting Forums >
From: Geraint Davies on 26 Feb 2008 08:15 On Sat, 23 Feb 2008 00:25:01 +0300, "Maxim S. Shatskih" <maxim(a)storagecraft.com> wrote: > Forget AVStream, and write the user-mode DirectShow component which will >call IOCTLs to your existing WDM driver, exposing the upper edge of a >DirectShow video source. Yes but avstream is a requirement for whql for video capture isn't it? So maybe better to layer the user mode library on top of the avstream driver. I wouldn't attempt to have both drivers -- use the avstream driver and implement backwards compatibility on it. It's quite simple to add your private IOCTLs to the avstream driver. What I think you will run into is accessing your avstream driver state -- IIRC the device extension used by avstream is a private structure, so in your ioctl handler, it's not simple to get from the device object to your private avstream objects. I guess there are ways around this, but I think I would be tempted to use something like IKsMethod to add private functionality to the avstream filter instead. G
From: Maxim S. Shatskih on 26 Feb 2008 12:58
> Yes but avstream is a requirement for whql for video capture isn't it? You do not need to WHQL anything except your original hardware driver. > So maybe better to layer the user mode library on top of the avstream > driver. Probably. -- Maxim Shatskih, Windows DDK MVP StorageCraft Corporation maxim(a)storagecraft.com http://www.storagecraft.com |