mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-18 07:47:17 +00:00
textoverlay: Don't hold any mutexes while calling negotiate
It's not done in any other code calling negotiate and will cause deadlocks as it is sending events and queries in the pipeline. Specifically this pipeline was deadlocking: gst-launch-1.0 videotestsrc ! textoverlay ! textoverlay ! fakesink
This commit is contained in:
parent
3c8d3465bf
commit
e783a366cb
1 changed files with 2 additions and 2 deletions
|
@ -821,10 +821,10 @@ gst_base_text_overlay_setcaps (GstBaseTextOverlay * overlay, GstCaps * caps)
|
|||
overlay->width = GST_VIDEO_INFO_WIDTH (&info);
|
||||
overlay->height = GST_VIDEO_INFO_HEIGHT (&info);
|
||||
|
||||
GST_BASE_TEXT_OVERLAY_LOCK (overlay);
|
||||
g_mutex_lock (GST_BASE_TEXT_OVERLAY_GET_CLASS (overlay)->pango_lock);
|
||||
ret = gst_base_text_overlay_negotiate (overlay, caps);
|
||||
|
||||
GST_BASE_TEXT_OVERLAY_LOCK (overlay);
|
||||
g_mutex_lock (GST_BASE_TEXT_OVERLAY_GET_CLASS (overlay)->pango_lock);
|
||||
if (!overlay->attach_compo_to_buffer &&
|
||||
!gst_base_text_overlay_can_handle_caps (caps)) {
|
||||
GST_DEBUG_OBJECT (overlay, "unsupported caps %" GST_PTR_FORMAT, caps);
|
||||
|
|
Loading…
Reference in a new issue