Rémi Bernon : winegstreamer: Support zero-copy output using the allocator.
Alexandre Julliard
julliard at winehq.org
Thu Jun 9 16:28:32 CDT 2022
Module: wine
Branch: master
Commit: f17b80105681c2c025d61fe98175c4b83da2d5d2
URL: https://source.winehq.org/git/wine.git/?a=commit;h=f17b80105681c2c025d61fe98175c4b83da2d5d2
Author: Rémi Bernon <rbernon at 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 at 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=f17b80105681c2c025d61fe98175c4b83da2d5d2
More information about the wine-cvs
mailing list