gstreamer/sys
Víctor Manuel Jáquez Leal 3be9a1baa0 va: allocator: MT-safe queue & dequeue dmabuf-based memories
One problem that va dmabuf allocator had is when preparing a buffer from
dmabuf memories in the allocator pool, specially when a buffer is composed by
several memories. This memories have to be by certain number and in certain
order.

This patch stores the number of memories and their address in order when a
dmabuf-based buffer is created and when preparing a buffer, it is reconstructed
with this info.

Finally, instead of pushing the memories as soon as they are unrefed, they are
hold until GstVaBufferSurface's ref_mems_count reaches zero (all the memories
related with that buffer/surface are unrefed). Until that happen, all the
memories are pushed back into the queue, locked, assuring that all the memories
related with a single buffer (with the same surface) remain contiguous, so the
buffer reconstruction is assured.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2013>
2021-02-17 09:10:37 +01:00
..
androidmedia amc: Fix crash when encoding AVC 2020-10-29 17:51:57 +00:00
applemedia vtdec/vulkan: use Shared storage mode for IOSurface textures 2020-09-23 23:21:50 +00:00
bluez gsta2dpsink: Fix GstPad leak 2020-11-11 22:19:33 +05:30
d3d11 d3d11: Add support for deinterlacing by using ID3D11VideoProcessor interface 2021-02-17 03:52:19 +09:00
d3dvideosink d3dvideosink: Use secondary rank 2020-06-03 17:57:40 +09:00
decklink decklink: Fixed decklinkvideosink auto format detection 2021-01-29 16:49:07 +00:00
directsound bad: use of g_value_dup_string 2019-12-30 14:13:03 +00:00
dshowdecwrapper documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00
dshowsrcwrapper dshowsrcwrapper: Update build instructions. Add _builddir to include search path. 2020-08-28 23:00:53 +00:00
dshowvideosink documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00
dvb plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:40:42 +02:00
fbdev Remove autotools build system 2019-10-14 13:54:27 +01:00
ipcpipeline ipcpipeline: Minimal fixes that allow building with MSVC 2020-01-14 09:23:02 +05:30
kms kmssink: Do not source using padded width/height 2020-09-18 16:26:23 +00:00
magicleap mlaudiosink: Fix crash when stopping pipeline 2019-12-06 15:29:29 +00:00
mediafoundation mfvideoenc: Add support for P010 d3d11 texture 2021-01-21 18:53:27 +09:00
msdk msdkenc: the unit for max-frame-size is kbyte 2021-01-07 12:07:28 +00:00
nvcodec nvh265sldec: Remove pointless field picture parameter setup 2021-02-09 16:19:41 +00:00
opensles opensles: Remove hard-coded buffer-/latency-time values 2020-05-16 19:23:06 +00:00
shm Don't pass default GLib marshallers for signals 2019-11-06 14:27:46 +00:00
tinyalsa Remove autotools build system 2019-10-14 13:54:27 +01:00
uvch264 plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:40:42 +02:00
v4l2codecs v4l2decoder: Small documentation fix 2021-02-02 04:33:33 +09:00
va va: allocator: MT-safe queue & dequeue dmabuf-based memories 2021-02-17 09:10:37 +01:00
wasapi wasapisrc: Make sure that wasapisrc produces data in loopback mode 2020-09-30 12:57:34 +00:00
wasapi2 wasapi2: Ensure unmute when opening audio client 2020-12-14 19:08:21 +00:00
winks documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00
winscreencap plugins: Use g_win32_error_message for HRESULT to string conversion 2020-07-18 11:05:52 +09:00
meson.build va: VA-API H.264 decoder and infrastructure 2020-06-28 11:47:35 +02:00