On 20 Jun 2006, at 18:07, Tim Roberts wrote:
Nick Dowell wrote:
I'm in the middle of writing my first avstream-based minidriver, and have been experimenting with the behaviour of everything. I'm confused, though, when it comes to the concept of allocator framing.
I gather from the DDK documentation that I should be able to declare a
KSALLOCATOR_FRAMING_EX struct and point to it in my pin descriptor,
and through it specify what frame sizes my pin's process dispatch can
accept.
DECLARE_SIMPLE_FRAMING_EX(PinFraming, STATIC_KS_TYPE_DONT_CARE, KSALLOCATOR_REQUIREMENTF_SYSTEM_MEMORY, 1024, // Frames FILE_BYTE_ALIGNMENT, 6, // MinFrameSize 6 // MaxFrameSize );
Now with these requirements specified by my pin, I'd expect to be given up to 1024 frames, each of 6 bytes in size, in one call to my process dispatch. What I actually get passed is one frame 8192 bytes long, clearly beyond the range I specified.
What sample did you start from? Several of the samples modify the
framing requirements on the fly using KsEdit when the actual pin format
is established.
Is this a source filter, or is there someone upstream? If there is a filter upstream from you, then it may be that your allocator is involved. You can be handed the frames they supply.
At the moment I'm only using the default allocator.
Thanks, Nick ******************
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.com/