<br><br><div class="gmail_quote">On Thu, Apr 1, 2010 at 7:06 PM, Ross Finlayson <span dir="ltr">&lt;<a href="mailto:finlayson@live555.com">finlayson@live555.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
I&#39;ve found out that when you run a few different instances of RTSP clients in separate threads CSeq number is not increased by one with each consecutive request.<br>
It&#39;s because CSeq number is a static variable in RTSPClient.<br>
</blockquote>
<br></div>
This is a perfect illustration of why you are not supposed to run LIVE555 library code in multiple threads.  (Have you read the FAQ entry about threads?  If not, then why not (because you were asked to read the FAQ before you subscribed/posted to the mailing list)?)<br>

<br>
Instead, you should be using a single event loop (in a single thread) - even to make multiple RTSP client requests.<br></blockquote><div><br>I interpret what the OP is doing as this section in the FAQ:<br><br>&quot;Another possible way to access the code from multiple threads is to have
 each
thread use its own &quot;UsageEnvironment&quot; and &quot;TaskScheduler&quot; objects,
and thus its own event loop.
The objects created by each thread (i.e., using its own 
&quot;UsageEnvironment&quot;)
must not interact (except via global variables).&quot;<br><br>...if there&#39;s a dedicated thread for each RTSPClient, with its own UsageEnvironment and TaskScheduler objects, is that a valid configuration of the library?<br>
</div></div>