[PATCH v4 2/3] winegstreamer: Use decodebin to initialize media streams.

Nikolay Sivov nsivov at codeweavers.com
Thu Sep 24 14:47:26 CDT 2020



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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20200924/04677e63/attachment.htm>


More information about the wine-devel mailing list