[Live-devel] Strange problem when spawning multiple instances of Live555 programs

Morgan Tørvolt morgan.torvolt at gmail.com
Tue Oct 31 02:41:18 PST 2006


Hi again.

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:

Flat profile:

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total
time   seconds   seconds    calls  us/call  us/call  name
19.79      0.57     0.57
BasicTaskScheduler::SingleStep(unsigned int)
10.42      0.87     0.30
HandlerSet::~HandlerSet()
  9.72      1.15     0.28
BasicTaskScheduler::turnOffBackgroundReadHandling(int)
  6.94      1.35     0.20
DelayQueue::synchronize()
  6.94      1.55     0.20
DelayQueue::removeEntry(long)
  6.25      1.73     0.18
DelayQueue::handleAlarm()
  5.90      1.90     0.17
DelayQueue::~DelayQueue()
  4.51      2.03     0.13
Timeval::operator>=(Timeval const&) const
  4.17      2.15     0.12                             TimeNow()
  3.13      2.24     0.09                             operator*(short,
DelayInterval const&)
  2.78      2.32     0.08
DelayQueue::~DelayQueue()
  2.43      2.39     0.07
TransportStreamAnalyze::maskTables(unsigned int)
  1.39      2.43     0.04
BasicTaskScheduler::createNew()
  1.39      2.47     0.04
BasicTaskScheduler0::scheduleDelayedTask(long, void (*)(void*), void*)
  1.39      2.51     0.04
TransportStreamAnalyzeTS::analyze(unsigned char const*)
  1.39      2.55     0.04
TransportStreamAnalyzePID::parsePESHeader(unsigned char const*, unsigned
int&)
  1.39      2.59     0.04
__gnu_cxx::slist<SubscribedPIDIndex, std::allocator<SubscribedPIDIndex>
>::end()
  1.04      2.62     0.03
DelayQueue::findEntryByToken(long)
  0.69      2.64     0.02
BasicTaskScheduler::BasicTaskScheduler()

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.

-Morgan-


On 30/10/06, Morgan Tørvolt < morgan.torvolt at gmail.com> wrote:
> Darn. I had the latest version, but I never checked the timestamps on
> the files. :-/
>
> Changing a symbolic link fixed the problem *flush*. That was an easy fix.
>
> Thanks...
>
> -Morgan Tørvolt-
>
> On 30/10/06, Ross Finlayson < finlayson at live555.com> wrote:
> > >In OnDemandServerMediaSubsession.cpp you have a while (1) loop,
> > >grabbing a port with an even number
> >
> > Not anymore!  That code changed starting with version 2006.08.07 -
> > i.e., more than 2 months ago.  You should upgrade.
> >
> > Everybody - please: Upgrade to the latest version of the code before
> > spending (wasting) a lot of time digging into alleged problems.
> >
> > >  (why you need an even number, cannot guess).
> >
> > Because the RTP standard specifies that even port numbers should be
> > used for RTP, with the next highest (and thus, odd) port number being
> > used for RTCP.  (Actually, this rule is not quite as manditory as it
> > used to be, but it remains the default and usual behavior.)
> >
> > >What needs to be done to fix this is addressing the port number issue.
> >
> > Right now I'm not convinced that there is anything that needs to be
'fixed'.
> > --
> >
> > Ross Finlayson
> > Live Networks, Inc.
> > http://www.live555.com/
> > _______________________________________________
> > live-devel mailing list
> > live-devel at lists.live555.com
> > http://lists.live555.com/mailman/listinfo/live-devel
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.live555.com/pipermail/live-devel/attachments/20061031/c3829621/attachment-0001.html 


More information about the live-devel mailing list