[vdr] [PATCH] time warp
Birgit & Andreas Böttger
fboettger at t-online.de
Tue Jun 21 21:19:26 CEST 2005
Klaus Schmidinger schrieb:
> Isn't all that data protected by CRC32 checksums?
> How could "garbage" get in there?
>
> Maybe somebody should try to find out why that "garbage"
> is produced in the first place...
I have inserted two DEBUG lines:
sections.c:
(vdr 1.3.22, leading spaces trimed)
-----
// Distribute data to all attached filters:
int pid = fh->filterData.pid;
int tid = buf[0];
+ if (pid == 0x14) {
+ isyslog("DEBUG cSectionHandler::Action() "
+ "Length: %d, buf: %03d;%03d;%03d;%03d;%03d;%03d;%03d;%03d;",
+ len, buf[0],buf[1],buf[2],buf[3],buf[4],buf[5],buf[6],buf[7]);
+ }
for (cFilter *fi = filters.First(); fi; fi = filters.Next(fi)) {
if (fi->Matches(pid, tid))
fi->Process(pid, tid, buf, len);
}
-----
eit.c:
(vdr 1.3.22)
-----
cTDT::cTDT(const u_char *Data)
:SI::TDT(Data, false)
{
+ isyslog("DEBUG cTDT::cTDT() "
+ "Data: %03d;%03d;%03d;%03d;%03d;%03d;%03d;%03d;",
+ Data[0],Data[1],Data[2],Data[3],Data[4],Data[5],Data[6],Data[7]);
+
CheckParse();
-----
Here are two examples:
[RTL, correct time]
Jun 21 02:05:53 vdr vdr[22791]: DEBUG cSectionHandler::Action() Length: 8, buf: 112;112;005;209;038;000;005;085;
Jun 21 02:06:02 vdr vdr[22794]: DEBUG cSectionHandler::Action() Length: 8, buf: 112;112;005;064;207;022;148;003;
Jun 21 02:06:02 vdr vdr[22794]: DEBUG cTDT::cTDT() Data: 112;112;005;064;207;022;148;003;
Jun 21 02:06:02 vdr vdr[22794]: diff = 1102463777, ignored to avoid time warp :)
Jun 21 02:06:03 vdr vdr[22794]: DEBUG cSectionHandler::Action() Length: 8, buf: 112;112;005;209;038;000;006;004;
[ARD, 21 seconds to late]
Jun 21 11:13:23 vdr vdr[24655]: DEBUG cSectionHandler::Action() Length: 8, buf: 112;112;005;209;038;009;019;035;
Jun 21 11:13:23 vdr vdr[24655]: DEBUG cTDT::cTDT() Data: 112;112;005;209;038;009;019;035;
Jun 21 11:13:24 vdr vdr[24655]: DEBUG cSectionHandler::Action() Length: 72, buf: 112;112;069;243;010;029;199;036;
Jun 21 11:13:24 vdr vdr[24655]: DEBUG cTDT::cTDT() Data: 112;112;069;243;010;029;199;036;
Jun 21 11:13:24 vdr vdr[24655]: diff = 749663640, ignored to avoid time warp :)
Jun 21 11:13:25 vdr vdr[24655]: DEBUG cSectionHandler::Action() Length: 8, buf: 112;112;005;209;038;009;019;037;
It seems that it's not a bug of vdr, or am I wrong?
Could it be a driver problem?
Or garbage from transponder?
Since one hour I use ZDF to get the system time from,
waiting for "ignored to avoid time warp :)".
Kind regards
Andreas Böttger
More information about the vdr
mailing list