gstreamer/ext/wpe
Matthew Waters 94fea694bc wpesrc: replace object lock usage with a new lock
Using the object lock is problematic for anything that can dispatch to
another thread which is what createWPEView() does inside
gst_wpe_src_start().  Using the object lock there can cause a deadlock.

One example of such a deadlock is when createWPEView is called, but
another (or the same) wpesrc is on the WPEContextThread and e.g. posts a
bus message.  This message propagations takes and releases the object
lock of numerous elements in quick succession for determining various
information about the elements in the bin.  If the object lock is
already held, then the message propagation will block and stall bin
processing (state changes, other messages) and wpe servicing any events.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1490

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1934>
2021-01-12 08:35:10 +00:00
..
gstwpesrc.cpp wpesrc: replace object lock usage with a new lock 2021-01-12 08:35:10 +00:00
gstwpesrc.h wpe: Rewrite wpesrc as a glbasesrc subclass 2019-10-17 08:15:44 +00:00
meson.build wpe: Add software rendering support support 2020-02-11 16:47:53 +00:00
WPEThreadedView.cpp wpe: Emit load-progress messages 2020-12-09 17:31:51 +00:00
WPEThreadedView.h wpe: Don't crash when running on X11. 2020-11-15 15:27:08 +00:00