[gst-devel] Re: [gst-cvs] soto gstreamer: gstreamer/ gstreamer/gst/

Ronald S. Bultje rbultje at ronald.bitfreak.net
Wed Nov 24 05:00:43 CET 2004


Hi Martin,

On Tue, 2004-11-23 at 09:59, Martin Soto wrote:
> Of course, I'd still appreciate the (hard)core guys to look into this
> issue if they haven't already.

OK, so I'm not the most hardcore guy, but I looked at it anyway, and
there is some issues, both theoretical and practical. Let me start with
theory.

You lock the mutex in the state change function and then call the
parent_class->change_state function inside this critical code part. The
parent might decide to do negotiation in here. You lock the mutex in
sink_link as well. That's a potential deadlock. I know you have to lock
because you're inside a gcond here, but this seems bad. I think we
should lock in sink_link as well and not lock in state_change, or at
least not when calling the parent change_state function.

Now practical: chained ogg in totem no longer works. :). Wim believes
it's related to you waiting for the queue to drain while it's not
running. That's another deadlock.

Ronald

-- 
Ronald S. Bultje <rbultje at ronald.bitfreak.net>





More information about the gstreamer-devel mailing list