<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <font size="-1"><font face="Helvetica, Arial, sans-serif">Hi Ross,<br>
        <br>
        Yes, very familiar with the FAQs, we certainly fall into this
        category during the single process test:<br>
        <br>
        "</font></font><font size="-1"><font face="Helvetica, Arial,
        sans-serif">Another possible way to access the code from
        multiple threads is to have each
        thread use its own "UsageEnvironment" and "TaskScheduler"
        objects,
        and thus its own event loop.
        The objects created by each thread (i.e., using its own
        "UsageEnvironment")
        must not interact (except via global variables).
        Such a configuration is not recommended, however; instead, it is
        safer to structure such an application as multiple
        <em>processes</em>, not multiple threads.
        "<br>
        <br>
        Not using any static variables, all code remains class based our
        side. Each RTSPClient has its own thread for the event loop and
        we invoke on another dedicated thread ourside for invoking
        response handlers. Simply put, if we define </font></font><font
      size="-1"><font face="Helvetica, Arial, sans-serif"><b>LOCALE_NOT_USED
        </b>we can stream 96+ instances (each with its own environment,
        task scheduler & set of event triggers) within a single
        process.<br>
        <br>
        It was strange to see the 'setlocale' being the issue and
        wondered if you had any idea or seen this before?<br>
        Are we perhaps calling 'setlocale' to often and abusing it
        somehow, it's called quite often..?<br>
        <br>
        Thanks!<br>
        <br>
        <b><br>
        </b></font></font>
    <div class="moz-cite-prefix">On 26/10/2021 14:21, Ross Finlayson
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:277900F4-E5DE-43A5-ADFE-4F36927969BA@live555.com">
      <pre class="moz-quote-pre" wrap="">I didn’t really follow this.  However, I was disturbed by the following:

</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">By default the NEWLOCALE_NOT_USED is defined and works great when we run up many streaming windows all in separate process's.
If we use a single process (less memory consumed by NVIDIA graphics) we see an access violation
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
I hope you are not running more than one thread in "a single process” - because this is not allowed.  LIVE555 code (within a single process) is meant to run as a single thread, using a (single-threaded) event loop for concurrency.  See <a class="moz-txt-link-freetext" href="http://live555.com/liveMedia/faq.html#threads">http://live555.com/liveMedia/faq.html#threads</a>


Ross Finlayson
Live Networks, Inc.
<a class="moz-txt-link-freetext" href="http://www.live555.com/">http://www.live555.com/</a>


_______________________________________________
live-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:live-devel@lists.live555.com">live-devel@lists.live555.com</a>
<a class="moz-txt-link-freetext" href="http://lists.live555.com/mailman/listinfo/live-devel">http://lists.live555.com/mailman/listinfo/live-devel</a>
</pre>
    </blockquote>
    <br>
    <div class="moz-signature"><font size="2" face="calibri"
        color="black">
        Best Regards,<br>
        Richard Lince,<br>
        Founder & Managing Director<br>
        <br>
        <a href="https://www.bluebox.video">bluebox.video</a> <br>
        +44(0)7841665146<br>
      </font><br>
      <img alt="logo" src="cid:part2.C0A7AE27.CDB9D490@bluebox.video"></div>
  </body>
</html>