Hi I have a question here also. As you sad you can change the framing before KsCreatePin, but this doesn't really help as after opening of the pin, formats are changed (e.g. 16bit sample to 24bit packed ). So what now? Lets assume the driver framing size is set according to number of samples driver wishes to process then the framing should be changed at format change also. But how can we do this? Lets assume we allocate KSALLOCATOR_FRAMING_EX for every pin, now if Pin_SetDataFormat would return STATUS_SUCCESS, can we just change the KSPIN->Descriptor->AllocatorFraming? The problem is that both the upper structures are declared as const-> which we could assume that Microsoft programmers assumed that those structures wont change in the process. But now if you look when would one allocate buffers you can be sure that you would allocate them at the end of the connection format process. Could this 'patching' work? Waldemar WO> BlazeAudio Developer wrote: >> Do Frames refer to "sample frames" or sort of a "block" of samples? WO> Frames is basically the number of IOCTL_KS_READ_STREAM requests that are WO> kept pending for the port driver. >> Is the FrameSize in bytes? WO> Yes. >> If yes, then the FrameSize will change based on the format used by the >> client! How do I report that? WO> It took me a long time tracing IOCTLs and printing out their contents WO> before I finally twigged to the following kludge: the data format for a WO> given connection is buried inside the FileObject->FileName string when WO> the IRP_MJ_CREATE occurs. After the name string (KSNAME_Pin), there is a WO> KSPIN_CONNECT structure, followed by a KSDATAFORMAT structure. If you WO> were sufficiently clairvoyant, you could perhaps deduce this from the WO> doc for KsCreatePin. WO> What I observed, then, was that someone was picking a data format based WO> on the data intersection reported by the port driver and then calling WO> KsCreatePin. The port driver then decides what allocator framing it WO> wants based on the chosen data format and reports *that* when asked for WO> the ALLOCATORFRAMING property. WO> -- WO> Walter Oney, Consulting and Training WO> Basic and Advanced Driver Programming Seminars WO> Check out our schedule at http://www.oneysoft.com WO> ****************** WO> WDMAUDIODEV addresses: WO> Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx WO> Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe WO> Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe WO> Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx WO> URL to WDMAUDIODEV page: WO> http://www.wdmaudiodev.de/ ****************** 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/