[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