mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-28 11:10:37 +00:00
96cf1f8c8e
When requesting an asset from different threads we had no guarantee that during the time we lookup an asset (which didn't exist) and the time we create the asset with the same type/ID another thread could not end up doing the same thing. In turns we could end up with 2 different threads loading the exact same asset and the cache basically forgetting about one of the entries meaning that the user would never get notified about one of those being ready to be used. There was also the case when requesting "sync" where the user was requesting an asset while another thread is creating it so it was still in "ASSET_INITIALIZING" state, meaning that the returned asset would be NULL which would be considered as an error in apps. Since the cache lock is recursive we can just take it during the whole ges_asset_request_async call and have other method still hold it. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5732> |
||
---|---|---|
.. | ||
bindings/python | ||
data/completions | ||
docs | ||
examples | ||
ges | ||
plugins | ||
scripts | ||
tests | ||
tools | ||
.gitignore | ||
AUTHORS | ||
COPYING | ||
COPYING.LIB | ||
gst-editing-services.doap | ||
meson.build | ||
meson_options.txt | ||
NEWS | ||
README | ||
RELEASE |
GStreamer Editing Services -------------------------- This is a high-level library for facilitating the creation of audio/video non-linear editors. License: -------- This package and its contents are licensend under the GNU Lesser General Public License (LGPL). Dependencies: ------------- * GStreamer core * gst-plugins-base