[gst-devel] 0.9 proposals

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


Hi,

> 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
not
support threads in Gstreamer anymore, it only causes races. This of
course
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.


Thanks,
Thomas


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