Understanding Locks and Threading in Gstreamer?
Will McElderry via gstreamer-devel <[email protected]> Tue, 20 Feb 2024 16:22:14 +0000
| Newsgroups | gmane.comp.video.gstreamer.devel |
|---|---|
| Message-ID | <[email protected]> |
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.