mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-08-03 20:25:07 +00:00
1. Allocators don't implement memory free() methods since all the memories will implement dispose() returning FALSE 2. Memory/miniobject dispose() will act as memory release, enqueueing the release memory 3. A new allocator's method prepare_buffer() which queries the released memory queue and will add the requiered memories to the buffer. 4. Allocators added a GCond to synchronize dispose() and prepare_buffer() 5. A new allocator's method flush() which will free for real the memories. While the bufferpool will 1. Remove all the memories at reset_buffer() 2. Implement acquire_buffer() calling allocator's prepare_buffer() 3. Implement flush_start() calling allocator's flush() 4. start() is disabled since it pre-allocs buffers but also calls our reset_buffer() which will drop the memories and later the buffers are ditched, something we don't want. This approach avoids buffer pre-allocation. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1626> |
||
---|---|---|
.. | ||
gstvaallocator.c | ||
gstvaallocator.h | ||
gstvacaps.c | ||
gstvacaps.h | ||
gstvadecoder.c | ||
gstvadecoder.h | ||
gstvadevice.c | ||
gstvadevice.h | ||
gstvadisplay.c | ||
gstvadisplay.h | ||
gstvadisplay_drm.c | ||
gstvadisplay_drm.h | ||
gstvadisplay_wrapped.c | ||
gstvadisplay_wrapped.h | ||
gstvafilter.c | ||
gstvafilter.h | ||
gstvah264dec.c | ||
gstvah264dec.h | ||
gstvapool.c | ||
gstvapool.h | ||
gstvaprofile.c | ||
gstvaprofile.h | ||
gstvautils.c | ||
gstvautils.h | ||
gstvavideoformat.c | ||
gstvavideoformat.h | ||
gstvavp8dec.c | ||
gstvavp8dec.h | ||
gstvavpp.c | ||
gstvavpp.h | ||
meson.build | ||
plugin.c |