From: <tp...@ke...> - 2010-10-24 17:59:07
|
Module: gst-plugins-good Branch: master Commit: ac70239020d3ea58a140784a2f7e95d511f7ba13 URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=ac70239020d3ea58a140784a2f7e95d511f7ba13 Author: Tim-Philipp Müller <tim...@co...> Date: Sun Oct 24 18:50:30 2010 +0100 qtdemux: fix deadlock in error code path GST_ELEMENT_ERROR must not be called with the object lock held, since it will call gst_object_get_parent() internally, which takes the object lock as well. --- gst/qtdemux/qtdemux.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c index ced1e4d..c3ceaa9 100644 --- a/gst/qtdemux/qtdemux.c +++ b/gst/qtdemux/qtdemux.c @@ -4808,9 +4808,9 @@ out_of_samples: } corrupt_file: { + GST_OBJECT_UNLOCK (qtdemux); GST_ELEMENT_ERROR (qtdemux, STREAM, DEMUX, (_("This file is corrupt and cannot be played.")), (NULL)); - GST_OBJECT_UNLOCK (qtdemux); return FALSE; } } |