<!DOCTYPE html>
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi All,</p>
    <p>I'd like to understand more about the locks and threads in
      GStreamer.</p>
    <p>Can anyone point me to some docs or code to read to help get a
      grip on it all?</p>
    <p><br>
    </p>
    <p>I've read <a
href="https://gstreamer.freedesktop.org/documentation/additional/design/dynamic.html?gi-language=python">this</a>
      that mentions it's important to understand about the application
      and streaming threads, and <a
href="https://gstreamer.freedesktop.org/documentation/additional/design/events.html?gi-language=python">this</a>
      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.<br>
    </p>
    <p>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!</p>
    <p><br>
    </p>
    <p>Thanks for reading and all the help so far!</p>
    <p>Will.</p>
  </body>
</html>