[gst-devel] 0.9 proposals

Thomas Vander Stichele thomas at apestaart.org
Tue Dec 14 08:49:05 CET 2004


> No, Wim proposes to make lots of internal GStreamer function calls
> threadsafe by adding locking around ie gst_pad_(un)link. This requires
> lots of work - especially deadlock prevention - inside the core.
> My proposal is to make the whole API not threadsafe and require that each
> function be called in its context. That's a lot easier.

Ok, I've tried to piece together from some IRC logs and some mails what
you *do* propose wrt. threads in general and I can't seem to piece
together a coherent pictures.  Could you please explain exactly what you
want to do, where there are threads and where there aren't, and so on ?

A mail higher up in the thread has you saying

David and I agreed on the fact that we want to get rid of threads. Do
support threads in Gstreamer anymore, it only causes races. This of
only works with a non-blocking API. But if you want a threadsafe model
you're in for quite a ride, especially with dynamic pipelines.

which Colin said he assumed meant "the GstThread element".  Is that the
case ?

Also, I assume everyone agrees that for all approaches, there could be
more than one thread involved ? Even if that thread is private to the
element ?

I am not sure either how you can for example queue a network stream
inside the pipeline without using threads somehow.

I'm getting various different interpretations from different mails/irc
snippets/other people's interpretation, and it would be nice to see a
coherent picture of exactly what it is you want to do wrt. thread-
safety.  It's impossible to evaluate if your ideas can work for actual
applications without having a good picture of what your ideas are.

Specifics that are important is "how do apps react to signals/events
from the pipeline", "how can apps manipulate the pipeline", "which part
of gstreamer uses threads and for what reason", "how do they not leak",
and so on.


Dave/Dina : future TV today ! - http://www.davedina.org/
<-*- thomas (dot) apestaart (dot) org -*->
I know everybody here wants you
I know everybody here thinks he needs you
And I'll be waiting right here just to show you
how our love will blow it all away
<-*- thomas (at) apestaart (dot) org -*->
URGent, best radio on the net - 24/7 ! - http://urgent.fm/

More information about the gstreamer-devel mailing list