Mailing List archive

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

[vdr] Re: vdr[3330]: ERROR: can't record MPEG1! - possible cause



andreas@aschultz.net(Andreas Schultz)  21.09.01 13:19

Once upon a time Andreas Schultz shaped the electrons to say...

>Hi all,

>The MPEG1 problem caught my intressted when it became apparent that
>there could be a race condition involved that is only been triggered
>on fast systems.

I added a mean Software delay loop.

volatile int iTime=0;
void cTS2PES::instant_repack(const uint8_t *Buf, int Count)
{
  int c = 0;

  while(iTime< 40000)
  {iTime++;};
  iTime=0;


 (the 40000 was "hand optimized", 100000 leads
"buffer 100%" messages...)
That seems to be better, but no solution.
(It's of cause not the right place.
Too the power consumption rises from below 50W to over 75W!)


>And indeed there is a race that could be related to the problem.

Maybe of interrest:

The machine hangs often while recording the garbage.
(Not Network, Not CNTL-ALT-DEL, No Console switching, (Sysreq i did not try)
But "lirc_serial" still generates messages complaining about 
"invalid interrupts " on the console (are of no relevance)
If i press a key on the RC, lirc_serial (Inmterrupthandler)
writes "buffer overflow" on the concole. So the CPU is still living!



>thread.c, arround line 70:


>An untested patch for the problem.is attached.

I'l try.

Thanks!



Home | Main Index | Thread Index