[gst-devel] gstbasesink causing long pause delay.
tyler.nielsen at gmail.com
Tue Nov 27 22:15:58 CET 2007
I have a video plugin that inherits from GstVideoSink. 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. 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.
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. It seems like one g_mutex_lock
call is succeeding many times while another one hangs. 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
What I'm trying to find is the right way to get this fixed. Is this a bug
in my plugin, in gstreamer, or even in glib?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the gstreamer-devel