<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class="">2) The variable is read/write for the thread calling doEventLoop() and not <br class="">accessed by any other thread (at least while doEventLoop() executes). This is <br class="">what I meant: the variable can only be set from a callback in the event loop.<br class=""></div></blockquote><div><br class=""></div>No, the intent is allow the ‘watch variable’ to be set (to a non-zero value) by an external thread.  (If you do this, but are still concerned, then you may wish to declare the variable “volatile”.)  But this is a moot point in view of the following:</div><div><br class=""></div><div><br class=""><blockquote type="cite" class=""><div class="">As far as I can tell, the VLC plugin only sets the "watch variable" from <br class="">within callbacks of the event loop, not from any other thread.</div></blockquote><div><br class=""></div>OK, then in that case, no problem.  But then the code is probably unnecessarily complicated, and might not need ‘watch variables’ at all.  Rather than having the code call “doEventLoop()” multiple times (with a ‘watch variable’ each time), it would be simpler to restructure the “live555.cpp” code so that it calls “doEventLoop()” just once (with no ‘watch variable’), and have everything executed within ‘event loop callbacks’.</div><div><br class=""></div><div>But anyway, the point of my original message was to remind people that LIVE555 functions need to be called from the LIVE555 event loop thread only. If “live555.cpp” is already abiding by this, than that’s good - but it sounds like that code should still be cleaned up (‘refactored’) at some point in the future.</div><div class=""><br class=""></div><br class=""><div apple-content-edited="true" class="">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  ">Ross Finlayson<br class="">Live Networks, Inc.<br class=""><a href="http://www.live555.com/" class="">http://www.live555.com/</a></span></span>
</div>
<br class=""></body></html>