mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-29 13:04:50 +00:00
GStreamer multimedia framework
One big restriction of the OMX buffer pool has always been that the GstMemory objects were flagged with NO_SHARE. This was because the buffer pool needed to be sure that when a buffer returned to the pool, it would be safe to release the OMX buffer back to OpenMAX. With this change, this is no longer a restriction. What this commit introduces is a new allocator that allows us to track the GstMemory objects independently. Now, when a buffer returns to the pool, it is not necessary for the memory to be released as well. We simply track the memory's ref count in the allocator and we return the OMX buffer back when the memory's ref count drops to 0. The reason for doing this is to allow implementing zero-copy transfers in situations where we may need to copy or map a certain region of the buffer. For instance, omxh264enc ! h264parse should be possible to be zero-copy by using an OMX buffer pool between them. |
||
---|---|---|
common@59cb678164 | ||
config | ||
examples | ||
hooks | ||
m4 | ||
omx | ||
tests | ||
tools | ||
.gitignore | ||
.gitlab-ci.yml | ||
.gitmodules | ||
AUTHORS | ||
autogen.sh | ||
ChangeLog | ||
configure.ac | ||
COPYING | ||
gst-omx.doap | ||
Makefile.am | ||
meson.build | ||
meson_options.txt | ||
NEWS | ||
README | ||
RELEASE |
GStreamer OpenMAX IL wrapper plugin -------------------------- This plugin wraps available OpenMAX IL components and makes them available as standard GStreamer elements. License: -------- This package and its contents are licensend under the GNU Lesser General Public License (LGPL). Dependencies: ------------- * GStreamer core * gst-plugins-base