Is there any reason why the size of BufferLen in ISampleGrabberCB.BufferCB with the media subtype not set should vary if called from different programming languages?
I have a C# app and a VB.NET app that both run a graph as quickly as possible with the clock turned off and no media subtype set on the SampleGrabber. The code is identical. In the C# app, the size of BufferLen is different every time a sample passes through the grabber (as you'd expect). In the VB.NET app, BufferLen is a constant fixed value.
When running a 1280 x 720 video through the graph, for example, the size of BufferLen in the VB code is always 1,382,400 (which sort of makes sense as the output pin on the video decoder is showing a 12-bit NV12 format). In the C# code, the size of BufferLen varies wildly between low and high values.
Does anyone know why this happens?