Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: VDR eating CPU time



Thanx a lot, but I do not think that this is the problem.
I realized that this problem only apears on a few specific
channels, eg. Discovery Channel or Dinedom Deluxe !?!?

Salaam

> -----Original Message-----
> From: kls@cadsoft.de [mailto:kls@cadsoft.de]On Behalf Of Klaus
> Schmidinger
> Sent: Sunday, January 13, 2002 10:44 PM
> To: vdr@linuxtv.org
> Subject: [vdr] Re: VDR eating CPU time
> 
> 
> Achim Lange wrote:
> > 
> > Hello Tilo,
> > 
> > > First of all, thanx for your quick answer, but I am not one of
> > > those incredible coders out there. I am only one of the lucky
> > > guys, that know about VDR, and uses it with pleasure.
> > >
> > > Could you please tell me a little more detailed what I have to to
> > > exactly ??
> > > > -----Original Message-----
> > > > From: kls@cadsoft.de [mailto:kls@cadsoft.de]On Behalf Of Klaus
> > > > Schmidinger
> > > > Sent: Sunday, January 13, 2002 11:29 AM
> > > > To: vdr@linuxtv.org
> > > > Subject: [vdr] Re: VDR eating CPU time
> > > >
> > > >
> > > > You could try to increase the value in the usleep(1) call in
> > > > cTransferBuffer::Output(). Try it with 10, 100, 1000, 10000
> > > > and check whether the system load goes down and the 
> transfer mode
> > > > still works without glitches.
> > > >
> > > > Klaus
> > 
> > go to your VDR-Source directory (e.g. /usr/src/VDR)
> > do "grep TransferBuffer *.c" (if that would not have 
> helped, you could have
> > tried the search in *.h also)
> > there you get only the file dvbapi.c
> > Open this file in vi (or the editor of your choice) and search for
> > "cTransferBuffer::Output"
> > 
> > Around the line 2240 (depending on which patches you have 
> applied) you will
> > find a function-declaration of this name.
> > about 8 lines lower you find something like:
> > 
> > if (Available() < MAXFRAMESIZE) {
> >               usleep(100000); // allow the buffer to 
> collect some reserve
> >               continue;
> >               }
> > and I guess that value 100000 is the one, that Klaus meant. 
> Change it, and
> > do your "make" again (with all the parameters you used originally).
> 
> No, that's not the one. Look 23 lines further down:
> 
>             usleep(1); // this keeps the CPU load low
> 
> That's the one!
> 
> Klaus
> 
> 
> > 
> > Hope this helps,
> > 
> > ciao,
> > 
> >     Achim (who does not have a clue of programming in C or 
> C++ either, but
> > usually knows where to look :)
> 
> -- 
> _______________________________________________________________
> 
> Klaus Schmidinger                       Phone: +49-8635-6989-10
> CadSoft Computer GmbH                   Fax:   +49-8635-6989-40
> Hofmark 2                               Email:   kls@cadsoft.de
> D-84568 Pleiskirchen, Germany           URL:     www.cadsoft.de
> _______________________________________________________________
> 
> 



Home | Main Index | Thread Index