Hi again.<br><br>I now seem to have another problem. Running the testOnDemandRTSPserver with .ts or .mpg files makes it use all cpu power. A quick profiling suggests that there is something in the BasicTaskScheduler that is doing this:  
<br><br>Flat profile:<br><br>Each sample counts as 0.01 seconds.<br>&nbsp;&nbsp;%&nbsp;&nbsp; cumulative&nbsp;&nbsp; self&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self&nbsp;&nbsp;&nbsp;&nbsp; total<br> time&nbsp;&nbsp; seconds&nbsp;&nbsp; seconds&nbsp;&nbsp;&nbsp;&nbsp;calls&nbsp;&nbsp;us/call&nbsp;&nbsp;us/call&nbsp;&nbsp;name<br> 19.79&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.57&nbsp;&nbsp;&nbsp;&nbsp; 0.57&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BasicTaskScheduler::SingleStep(unsigned int)  
<br> 10.42&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.87&nbsp;&nbsp;&nbsp;&nbsp; 0.30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HandlerSet::~HandlerSet()<br>&nbsp;&nbsp;9.72&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.15&nbsp;&nbsp;&nbsp;&nbsp; 0.28&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BasicTaskScheduler::turnOffBackgroundReadHandling(int)<br>&nbsp;&nbsp;6.94&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.35&nbsp;&nbsp;&nbsp;&nbsp; 0.20
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DelayQueue::synchronize()<br>&nbsp;&nbsp;6.94&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.55&nbsp;&nbsp;&nbsp;&nbsp; 0.20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DelayQueue::removeEntry(long)<br>&nbsp;&nbsp;6.25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.73&nbsp;&nbsp;&nbsp;&nbsp; 0.18&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DelayQueue::handleAlarm()  
<br>&nbsp;&nbsp;5.90&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.90&nbsp;&nbsp;&nbsp;&nbsp; 0.17&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DelayQueue::~DelayQueue()<br>&nbsp;&nbsp;4.51&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.03&nbsp;&nbsp;&nbsp;&nbsp; 0.13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Timeval::operator&gt;=(Timeval const&amp;) const<br>&nbsp;&nbsp;4.17&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.15&nbsp;&nbsp;&nbsp;&nbsp; 0.12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TimeNow()  
<br>&nbsp;&nbsp;3.13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.24&nbsp;&nbsp;&nbsp;&nbsp; 0.09&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; operator*(short, DelayInterval const&amp;)<br>&nbsp;&nbsp;2.78&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.32&nbsp;&nbsp;&nbsp;&nbsp; 0.08&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DelayQueue::~DelayQueue()<br>&nbsp;&nbsp;2.43&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.39&nbsp;&nbsp;&nbsp;&nbsp; 0.07&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TransportStreamAnalyze::maskTables(unsigned int)  
<br>&nbsp;&nbsp;1.39&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.43&nbsp;&nbsp;&nbsp;&nbsp; 0.04&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BasicTaskScheduler::createNew()<br>&nbsp;&nbsp;1.39&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.47&nbsp;&nbsp;&nbsp;&nbsp; 0.04&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BasicTaskScheduler0::scheduleDelayedTask(long, void (*)(void*), void*)<br>
  &nbsp;&nbsp;1.39&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.51&nbsp;&nbsp;&nbsp;&nbsp; 0.04&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TransportStreamAnalyzeTS::analyze(unsigned char const*)<br>&nbsp;&nbsp;1.39&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.55&nbsp;&nbsp;&nbsp;&nbsp; 0.04&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TransportStreamAnalyzePID::parsePESHeader(unsigned char const*, unsigned int&amp;)  
<br>&nbsp;&nbsp;1.39&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.59&nbsp;&nbsp;&nbsp;&nbsp; 0.04&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __gnu_cxx::slist&lt;SubscribedPIDIndex, std::allocator&lt;SubscribedPIDIndex&gt; &gt;::end()<br>&nbsp;&nbsp;1.04&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.62&nbsp;&nbsp;&nbsp;&nbsp; 0.03&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DelayQueue::findEntryByToken(long)  
<br>&nbsp;&nbsp;0.69&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.64&nbsp;&nbsp;&nbsp;&nbsp; 0.02&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BasicTaskScheduler::BasicTaskScheduler()<br><br>This does of course effect all applications that use the Live555 TaskScheduler. Can anyone confirm this? I find it strange that noone has noticed this before.
<br><br>-Morgan-<br><br><br>On 30/10/06, Morgan Tørvolt &lt; <a href="mailto:morgan.torvolt@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> morgan.torvolt@gmail.com</a>&gt; wrote:<br>&gt; Darn. I had the latest version, but I never checked the timestamps on 
<br>&gt; the files. :-/<br>&gt; <br>&gt; Changing a symbolic link fixed the problem *flush*. That was an easy fix. <br>&gt; <br>&gt; Thanks...<br>&gt; <br>&gt; -Morgan Tørvolt-<br>&gt; <br>&gt; On 30/10/06, Ross Finlayson &lt; 
<a href="mailto:finlayson@live555.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">finlayson@live555.com</a>&gt; wrote:<br>&gt; &gt; &gt;In OnDemandServerMediaSubsession.cpp  you have a while (1) loop, 
<br>&gt; &gt; &gt;grabbing a port with an even number<br>&gt; &gt;<br>&gt; &gt; Not anymore!&nbsp;&nbsp;That code changed starting with version 2006.08.07 -<br>&gt; &gt; i.e., more than 2 months ago.&nbsp;&nbsp;You should upgrade. <br>&gt; &gt; 
<br>&gt; &gt; Everybody - please: Upgrade to the latest version of the code before<br>&gt; &gt; spending (wasting) a lot of time digging into alleged problems.<br>&gt; &gt;<br>&gt; &gt; &gt;&nbsp;&nbsp;(why you need an even number, cannot guess).  
<br>&gt; &gt;<br>&gt; &gt; Because the RTP standard specifies that even port numbers should be<br>&gt; &gt; used for RTP, with the next highest (and thus, odd) port number being<br>&gt; &gt; used for RTCP.&nbsp;&nbsp;(Actually, this rule is not quite as manditory as it  
<br>&gt; &gt; used to be, but it remains the default and usual behavior.)<br>&gt; &gt;<br>&gt; &gt; &gt;What needs to be done to fix this is addressing the port number issue.<br>&gt; &gt;<br>&gt; &gt; Right now I'm not convinced that there is anything that needs to be 'fixed'.  
<br>&gt; &gt; --<br>&gt; &gt;<br>&gt; &gt; Ross Finlayson<br>&gt; &gt; Live Networks, Inc.<br>&gt; &gt; <a href="http://www.live555.com/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.live555.com/ 
</a><br>&gt; &gt; _______________________________________________ <br>&gt; &gt; live-devel mailing list<br>&gt; &gt; <a href="mailto:live-devel@lists.live555.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 live-devel@lists.live555.com</a><br>&gt; &gt; <a href="http://lists.live555.com/mailman/listinfo/live-devel" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://lists.live555.com/mailman/listinfo/live-devel  
</a><br>&gt; &gt;<br>&gt; <br>