gstreamer/gst-libs/gst/app
Sebastian Dröge 9a55945c0b appsrc/appsink: Make setting/replacing callbacks thread-safe
Previously we would simply use them without any locking at all, while
using the object lock for setting them. Nothing prevented new callbacks
to be set in the meantime, potentially calling a callback with already
freed user_data.

To prevent this move the callbacks into a reference counted struct and
use the appsrc/appsink mutex to protect access to it, which is used in
all functions calling the callbacks already anyway.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/729
2020-02-14 14:42:19 +00:00
..
app-prelude.h libs: fix API export/import and 'inconsistent linkage' on MSVC 2018-09-24 08:45:34 +01:00
app.h libs: Use foo/foo.h as single-include header consistently everywhere 2012-12-12 17:13:10 +00:00
gstappsink.c appsrc/appsink: Make setting/replacing callbacks thread-safe 2020-02-14 14:42:19 +00:00
gstappsink.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 20:31:09 -04:00
gstappsrc.c appsrc/appsink: Make setting/replacing callbacks thread-safe 2020-02-14 14:42:19 +00:00
gstappsrc.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 20:31:09 -04:00
meson.build meson: Add variables for gir files 2019-05-13 10:19:22 -04:00