--
v2: winegstreamer: Introduce new stream_type_from_caps helper.
winegstreamer: Introduce new link_src_to_element / link_element_to_sink helpers.
winegstreamer: Remove unnecessary unlink in pad-removed callback.
winegstreamer: Use append_element to build wg_parser pipeline.
winegstreamer: Sync element state with parent in append_element.
winegstreamer: Move some wg_parser / wg_transform helpers to unixlib.c.
winegstreamer: Introduce a new wg_init_gstreamer unixlib entry.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2640
On my Steam Deck, this reduces the time it takes to initialize the wg_parser radically (by around 1 second). This helps in the game WILD HEARTS, which doesn't present while loading help videos during gameplay, causing large stutters.
Because GStreamer can randomly access the file with no known pattern on our side, I opted to implement this by buffering 4 chunks so that interleaved reads to different areas of the file don't cause us to discard and reload cached data more than we need to.
--
v4: winegstreamer: Cache wg_parser input data.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2390