On 9/24/20 8:05 PM, Zebediah Figura wrote:
+    /* In Media Foundation, sources will infinitely leak buffers, when a subset of the selected
+       streams are read from.  This behavior is relied upon in the Unity3D engine game, Trailmakers,
+       where Unity selects both the video and audio streams, yet only reads from the video stream.
+       Removing these buffering limits reflects that behavior. */
This is a bit misleadingly worded, I think; it implies that the game
relies on buffers being leaked, when it really relies on the ability to
read the entirety of one stream without ever reading the other, but also
without deselecting it. The fact that we leak memory while doing so is
just an unfortunate side effect, which is acceptable because Windows
does as well. I.e. if all GStreamer elements read each stream with a
different thread (as I think some do, though I can't remember which if
any) the game would also be satisfied, and wouldn't need infinite
buffering. Since they don't [and in many cases can't], we need to allow
the element to buffer forever.

It's not really a leak. Nothing gets lost, and there is no reason not to discard those pending samples on Stop or similar.