Hi, Walter. Thanks for getting back to me. Well, my filter driver is a kernel-mode driver (i.e. .SYS) being installed in the "UpperFilters" section in the .INF file. Does that make it a kernel streaming filter? Mike Walter Oney wrote: > "Michael R. Preston" wrote: > >>OK. I figured out part of what's going on. So... I'm writing an >>upper-level filter driver. Some applications use streaming buffers, and >>some use a ring buffer. When an application uses a ring buffer, it only >>calls IOCTL_KS_WRITE_STREAM once. It seems that the only way do some >>intermediate processing on the audio stream (I'm just talking about the >>ring buffer case) is to intercept the calls to IOCTL_KS_PROPERTY when >>the app (or Windows) gets the position (Id=KSPROPERTY_AUDIO_POSITION), >>and from the play and write pointers you can figure out what portion of >>the buffer to process. Does that sound reasonable? I'm trying to do >>some processing on the audio before it gets played by the lower-level >>driver. >> > > I'm going to go out on a limb here and expose my considerable (but > monotonically decreasing) ignorance about streaming. It sounds to me as > though you've built a WDM filter driver that sits in the stack above a > kernel streaming filter. If so, you may have run afoul of the problem > that the word "filter" is being used in two inconsistent ways in the > DDK. > > A "kernel streaming filter" is really a WDM function driver that pairs > with KSPROXY.AX in user mode to particpate in a filter graph. In WDM > terms, the bus driver for this pseudo device is the software enumerator. > > There are no DDK samples for writing data transform filters. In fact, > the DDK actively discourages people from trying to write them, and > that's precisely the area that I'm currently coming up to speed on. You > may have better luck using the Direct-X SDK to build a user-mode > Direct-Show transform filter. The Direct-Show base classes provide a lot > of support and documentation for how to do that. > > -- > Walter Oney, Consulting and Training > Basic and Advanced Driver Programming Seminars > Now teaming with John Hyde for USB Device Engineering Seminars > Check out our schedule at http://www.oneysoft.com > ****************** > > WDMAUDIODEV addresses: > Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx > Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe > Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe > Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx > > URL to WDMAUDIODEV page: > http://www.wdmaudiodev.de/ > > > -- ============================================================ | Mike Preston | Home: (360)756-1655 | | E-mail: mpreston42@xxxxxxxxx | Cell: (360)303-9331 | ============================================================ | The man who follows the crowd will usually get no | | further than the crowd. The man who walks alone is | | likely to find himself in places no one has ever been. | | -- Alan Ashley-Pitt | ============================================================ ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.de/