Rémi Bernon : winegstreamer: Support zero-copy output using the allocator.
Module: wine Branch: master Commit: f17b80105681c2c025d61fe98175c4b83da2d5d2 URL: https://source.winehq.org/git/wine.git/?a=commit;h=f17b80105681c2c025d61fe98... Author: Rémi Bernon <rbernon(a)codeweavers.com> Date: Mon Jun 6 17:09:18 2022 +0200 winegstreamer: Support zero-copy output using the allocator. Through a custom allocator, by borrowing memory from the reading thread and mapping it instead of the allocated memory. We cannot use the buffer pool to share wrapped buffers, because some decoder will hold on the acquired buffers longer than they should and we cannot remove our memory from them as long as they keep a reference. Swapping the memory on map should be safe. Signed-off-by: Rémi Bernon <rbernon(a)codeweavers.com> --- dlls/winegstreamer/mfplat.c | 6 ++ dlls/winegstreamer/unix_private.h | 7 +- dlls/winegstreamer/unixlib.h | 1 + dlls/winegstreamer/wg_allocator.c | 135 ++++++++++++++++++++++++++++++++++++-- dlls/winegstreamer/wg_transform.c | 98 +++++++++++++++++++++++---- 5 files changed, 230 insertions(+), 17 deletions(-) Diff: https://source.winehq.org/git/wine.git/?a=commitdiff;h=f17b80105681c2c025d61...
participants (1)
-
Alexandre Julliard