osxvideosink: fix deadlock upon closing output window
Supersedes !3334 (closed)
As described there, deadlock occurs when gst_osx_video_sink_osxwindow_destroy()
attempts to take the same lock that showFrame()
is attempting to. Moving that lock closer to where it's actually needed - inside destroy()
- makes it so that it's also done in the main thread, which seems to be enough to fix this issue.