<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">As you all know (because you've all read the FAQ :-), the LIVE555 libraries can be called from multiple threads, although only if each thread uses its own "TaskScheduler" and "UsageEnvironment".  Even this, however, may not be totally safe, because of the possibility that the LIVE555 libraries, and/or your own code, may call system library functions that themselves are not 'thread safe'.<br><div><br></div><div>The VLC developers have identified a handful of such system library functions that are currently used the LIVE555 library code, and I am currently going through the code to remove/replace them.</div><div><br></div><div>The first such library function is "inet_ntoa()" (which, in our code, we renamed "our_inet_ntoa()").  I have just released a new version (2011.11.26) of the "LIVE555 Streaming Media" code that removes calls to this function.</div><div><br></div><div>In its place is a new class "AddressString" - defined in "groupsock/include/NetAddress.hh".  For example, now, in the code, instead of calling</div><div><div>      our_inet_addr(addr)</div><div>we now call</div><div>      AddressString(addr).val()</div></div><div><br></div><div>If your own code happens to use multiple threads, you may wish to consider replacing any calls to "inet_ntoa()" with this new mechanism.</div><div><br></div><div>(A note to the VLC developers: This new release removes the need for the first, and largest of your 'LIVE555 patches'.  I hope to do the same for your other patches also.)</div><br><br><div apple-content-edited="true">
<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; font-size: medium; "><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; font-size: medium; ">Ross Finlayson<br>Live Networks, Inc.<br><a href="http://www.live555.com/">http://www.live555.com/</a></span></span>
</div>
<br></body></html>