rtpmux: Unlock the right mutex
authorYouness Alaoui <youness.alaoui@collabora.co.uk>
Thu, 26 Aug 2010 02:56:03 +0000 (22:56 -0400)
committerTim-Philipp Müller <tim@centricular.net>
Sun, 16 Dec 2012 16:35:15 +0000 (16:35 +0000)
The mutex locked is for the 'mux' object, but we unlock the
pad, which means that if the rtpmux gets a flush, then the
object lock will stay locked forever, causing it to freeze
the next time it tries to take it.

Fixes bug #627991

gst/rtpmanager/gstrtpmux.c

index babf36d..a8e1583 100644 (file)
@@ -699,7 +699,7 @@ gst_rtp_mux_sink_event (GstPad * pad, GstEvent * event)
       padpriv = gst_pad_get_element_private (pad);
       if (padpriv)
         gst_segment_init (&padpriv->segment, GST_FORMAT_UNDEFINED);
-      GST_OBJECT_UNLOCK (pad);
+      GST_OBJECT_UNLOCK (mux);
     }
       break;
     case GST_EVENT_NEWSEGMENT: