Understanding Locks and Threading in Gstreamer?

Will McElderry wm-gstreamer at switchd.net
Tue Feb 20 16:22:14 UTC 2024


Hi All,

I'd like to understand more about the locks and threads in GStreamer.

Can anyone point me to some docs or code to read to help get a grip on 
it all?


I've read this 
<https://gstreamer.freedesktop.org/documentation/additional/design/dynamic.html?gi-language=python> 
that mentions it's important to understand about the application and 
streaming threads, and this 
<https://gstreamer.freedesktop.org/documentation/additional/design/events.html?gi-language=python> 
that mentions 'the STREAM_LOCK' in various places. I think I've read a 
few other pages that reference these topics too, but haven't found 
anything that gives a good grounding about what's behind the design.

I've definitely fallen foul of issues from not understanding enough of 
these low-level details while trying to move up the learning curve and 
use signals to trigger actions. Sometimes I've had lock-ups immediately 
every time and sometimes it has taken a few thousand runs to spot the 
impact of a race condition, so I'd love to get clarity!


Thanks for reading and all the help so far!

Will.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20240220/66187846/attachment.htm>


More information about the gstreamer-devel mailing list