Hello,<br><br>I have a video plugin that inherits from GstVideoSink.&nbsp; Using the latest gstreamer, I found that on some videos, when I try to pause there is a long (1-5 second) delay before the video stops.&nbsp; I was able to track down the delay, and it occurs because acquiring the lock on line 3337 in 
gstbasesink.c takes a long time.<br><br>After adding some debug, I saw that gst_base_sink_chain was called many (10-120) times while the lock was being waited for in gst_base_sink_change_state on line 3337.&nbsp; It seems like one g_mutex_lock call is succeeding many times while another one hangs.&nbsp; I added a hack to 
gstbasesink.c that added another lock, and prevented gst_base_sink_chain from looping once gst_base_sink_chage_state was called, and this fixed my issue.<br><br>What I&#39;m trying to find is the right way to get this fixed.&nbsp; Is this a bug in my plugin, in gstreamer, or even in glib?
<br><br>Thanks,<br>Tyler Nielsen<br>