[gst-devel] gstbasesink causing long pause delay.
Tyler Nielsen
tyler.nielsen at gmail.com
Tue Nov 27 22:15:58 CET 2007
Hello,
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
issue.
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?
Thanks,
Tyler Nielsen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20071127/5392138d/attachment.htm>
More information about the gstreamer-devel
mailing list