[Bug 779181] gst_gl_window_eagl_new can be called multiple times in different threads, which can lead to deadlocks
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Sun Feb 26 09:04:48 UTC 2017
https://bugzilla.gnome.org/show_bug.cgi?id=779181
--- Comment #2 from Nick Kallen <socialmediamaster9000 at gmail.com> ---
My pipeline is complicated because it changes dynamically in response to user
input. I use async bins and in general I set things to playing before I add
them to the pipeline because it seems to create noticable performance
improvements. This works well in general.
However, if I used the same technique a startup and there is a gl-filter based
source, I got this deadlock.
Here is the simplest I can reproduce
process start:
1. create pipeline
2. set state playing
wait for window to be available:
3. create async bin "videotestsrc ! glupload"
4. set state playing
5. create async bin " .... ! glimagesink"
6. set window handle
7. set state playing
6. add both to pipeline
then it deadlocks.
In this case, the two async bins create their own gl contexts and their own
dispatch queues. Then when they are linked together, they still have their own
dispatch queues, which leads to the deadlock above.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list