Hi everyone,
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.
Any ideas why the system is ignoring my framing requirements?
I've tried specifying much larger frame sizes, but the system still
passes me 8192 bytes.
Help!
Thanks,
Nick