[vdr] Re: VDR-1.3.28: cVideoRepacker sucks

Reinhard Nissl rnissl at gmx.de
Thu Aug 11 00:10:53 CEST 2005


Hi,

Dave P wrote:

> In case it helps I'm getting the same problem with 1.3.28. Log extract:
> 
> Aug 10 21:32:04 sodom vdr[14087]: cVideoRepacker: skipped 4 bytes to sync 
> on next picture
> Aug 10 21:32:26 sodom vdr[14087]: ERROR: 1 ring buffer overflow (65 bytes 
> dropped)
> Aug 10 21:32:32 sodom vdr[14087]: ERROR: 6978 ring buffer overflows 
> (1311864 bytes dropped)
> Aug 10 21:32:35 sodom vdr[14087]: ERROR: video data stream broken
 >
> Note that it runs for half an hour before exiting, though there is a hiccup 
> after 5 minutes. Last night it ran for 20 minutes before stopping on a 
> similar recording.

Well, the question is, what happens between 21:32:04 and 21:32:35?

> I don't have a good DTV signal and so the data stream will have errors in 
> it (though the picture is still watchable). Could this be the problem?

At the moment it looks like that.

Would you please add the following debug lines (marked with <=====) to 
remux.c and send the logfile ('s tail) when it happens again?



   static int Put(.....)
   {
     esyslog(">>>>> cRepacker::Put(%d)", Count); // <============

     int n = ResultBuffer->Put(Data, Count);
     if (n != Count)
        esyslog(.....);

     esyslog("<<<<< cRepacker::Put"); // <============

     return n;
   }

.
.
.

void cVideoRepacker::Repack(.....)
{
   esyslog(">>>>> cVideoRepacker::Repack(%d)", Count); // <============

   // synchronisation is detected some bytes after frame start.
   const int SkippedBytesLimit = 4;

   // reset local scanner
   localStart = -1;

.
.
.

   // report that syncing dropped some bytes
   if (skippedBytes > SkippedBytesLimit) {
      esyslog(.....);
      skippedBytes = SkippedBytesLimit;
      }

   esyslog("<<<<< cVideoRepacker::Repack()"); // <============
}



Bye.
-- 
Dipl.-Inform. (FH) Reinhard Nissl
mailto:rnissl at gmx.de



More information about the vdr mailing list