Hi all!
While debugging another issue, I noticed (ADDF/DELF streamdev traffic)
that VDR is constantly adding and deleting filters in cPatFilter::Process().
As I don't know of this filter stuff, I ask here:
Is this correct behaviour?
It probably is, but I just want to be sure :)
Below is a log excerpt with the attached patch:
> May 6 05:18:42 epsilon vdr: [30688] Adding, pmtPid 264, Index = 7, Sid = 4417
> May 6 05:18:42 epsilon vdr: [30682] Deleting, pmtPid 256, pmtIndex = 1, lastPmtScan = 0
> May 6 05:18:42 epsilon vdr: [30682] Adding, pmtPid 257, Index = 3, Sid = 97
> May 6 05:18:42 epsilon vdr: [30685] Deleting, pmtPid 256, pmtIndex = 0, lastPmtScan = 0
> May 6 05:18:42 epsilon vdr: [30685] Adding, pmtPid 257, Index = 2, Sid = 273
> May 6 05:18:42 epsilon vdr: [30688] Deleting, pmtPid 264, pmtIndex = 6, lastPmtScan = 0
> May 6 05:18:42 epsilon vdr: [30688] Adding, pmtPid 266, Index = 8, Sid = 4481
> May 6 05:18:42 epsilon vdr: [30682] Deleting, pmtPid 257, pmtIndex = 2, lastPmtScan = 0
> May 6 05:18:42 epsilon vdr: [30682] Adding, pmtPid 264, Index = 4, Sid = 209
> May 6 05:18:42 epsilon vdr: [30685] Deleting, pmtPid 257, pmtIndex = 1, lastPmtScan = 0
> May 6 05:18:42 epsilon vdr: [30685] Adding, pmtPid 258, Index = 3, Sid = 289
> May 6 05:18:43 epsilon vdr: [30688] Deleting, pmtPid 266, pmtIndex = 7, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30688] Adding, pmtPid 265, Index = 9, Sid = 4433
> May 6 05:18:43 epsilon vdr: [30679] Deleting, pmtPid 1150, pmtIndex = 4, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30679] Adding, pmtPid 1151, Index = 6, Sid = 1187
> May 6 05:18:43 epsilon vdr: [30682] Deleting, pmtPid 264, pmtIndex = 3, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30682] Adding, pmtPid 260, Index = 5, Sid = 257
> May 6 05:18:43 epsilon vdr: [30685] Deleting, pmtPid 258, pmtIndex = 2, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30685] Adding, pmtPid 259, Index = 4, Sid = 305
> May 6 05:18:43 epsilon vdr: [30682] Deleting, pmtPid 260, pmtIndex = 4, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30682] Adding, pmtPid 261, Index = 6, Sid = 241
> May 6 05:18:43 epsilon vdr: [30685] Deleting, pmtPid 259, pmtIndex = 3, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30685] Adding, pmtPid 261, Index = 5, Sid = 353
> May 6 05:18:43 epsilon vdr: [30688] Deleting, pmtPid 265, pmtIndex = 8, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30688] Adding, pmtPid 263, Index = 10, Sid = 4401
> May 6 05:18:43 epsilon vdr: [30679] Deleting, pmtPid 1151, pmtIndex = 5, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30682] Deleting, pmtPid 261, pmtIndex = 5, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30682] Adding, pmtPid 259, Index = 7, Sid = 177
> May 6 05:18:43 epsilon vdr: [30679] Adding, pmtPid 1119, Index = 7, Sid = 1190
> May 6 05:18:43 epsilon vdr: [30685] Deleting, pmtPid 261, pmtIndex = 4, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30685] Adding, pmtPid 262, Index = 6, Sid = 385
> May 6 05:18:43 epsilon vdr: [30682] Deleting, pmtPid 259, pmtIndex = 6, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30685] Deleting, pmtPid 262, pmtIndex = 5, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30685] Adding, pmtPid 263, Index = 7, Sid = 369
> May 6 05:18:43 epsilon vdr: [30688] Deleting, pmtPid 263, pmtIndex = 9, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30682] Adding, pmtPid 258, Index = 1, Sid = 65
> May 6 05:18:43 epsilon vdr: [30679] Deleting, pmtPid 1119, pmtIndex = 6, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30679] Adding, pmtPid 1154, Index = 8, Sid = 1354
> May 6 05:18:43 epsilon vdr: [30685] Deleting, pmtPid 263, pmtIndex = 6, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30685] Adding, pmtPid 260, Index = 8, Sid = 337
> May 6 05:18:43 epsilon vdr: [30688] Adding, pmtPid 256, Index = 1, Sid = 17
> May 6 05:18:43 epsilon vdr: [30682] Deleting, pmtPid 258, pmtIndex = 0, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30682] Adding, pmtPid 256, Index = 2, Sid = 49
> May 6 05:18:43 epsilon vdr: [30688] Deleting, pmtPid 256, pmtIndex = 0, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30688] Adding, pmtPid 257, Index = 2, Sid = 33
> May 6 05:18:43 epsilon vdr: [30685] Deleting, pmtPid 260, pmtIndex = 7, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30682] Deleting, pmtPid 256, pmtIndex = 1, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30682] Adding, pmtPid 257, Index = 3, Sid = 97
> May 6 05:18:43 epsilon vdr: [30679] Deleting, pmtPid 1154, pmtIndex = 7, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30679] Adding, pmtPid 1144, Index = 9, Sid = 1380
> May 6 05:18:43 epsilon vdr: [30688] Deleting, pmtPid 257, pmtIndex = 1, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30688] Adding, pmtPid 259, Index = 3, Sid = 81
> May 6 05:18:43 epsilon vdr: [30685] Adding, pmtPid 256, Index = 1, Sid = 225
> May 6 05:18:43 epsilon vdr: [30682] Deleting, pmtPid 257, pmtIndex = 2, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30682] Adding, pmtPid 264, Index = 4, Sid = 209
> May 6 05:18:43 epsilon vdr: [30688] Deleting, pmtPid 259, pmtIndex = 2, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30688] Adding, pmtPid 260, Index = 4, Sid = 129
> May 6 05:18:43 epsilon vdr: [30685] Deleting, pmtPid 256, pmtIndex = 0, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30685] Adding, pmtPid 257, Index = 2, Sid = 273
> May 6 05:18:43 epsilon vdr: [30682] Deleting, pmtPid 264, pmtIndex = 3, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30682] Adding, pmtPid 260, Index = 5, Sid = 257
> May 6 05:18:43 epsilon vdr: [30679] Deleting, pmtPid 1144, pmtIndex = 8, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30679] Adding, pmtPid 1145, Index = 10, Sid = 1510
> May 6 05:18:43 epsilon vdr: [30688] Deleting, pmtPid 260, pmtIndex = 3, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30688] Adding, pmtPid 258, Index = 5, Sid = 145
> May 6 05:18:43 epsilon vdr: [30682] Deleting, pmtPid 260, pmtIndex = 4, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30682] Adding, pmtPid 261, Index = 6, Sid = 241
> May 6 05:18:43 epsilon vdr: [30685] Deleting, pmtPid 257, pmtIndex = 1, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30685] Adding, pmtPid 258, Index = 3, Sid = 289
> May 6 05:18:43 epsilon vdr: [30688] Deleting, pmtPid 258, pmtIndex = 4, lastPmtScan = 0
> May 6 05:18:43 epsilon vdr: [30688] Adding, pmtPid 261, Index = 6, Sid = 4369
> May 6 05:18:44 epsilon vdr: [30682] Deleting, pmtPid 261, pmtIndex = 5, lastPmtScan = 0
> May 6 05:18:44 epsilon vdr: [30682] Adding, pmtPid 259, Index = 7, Sid = 177
> May 6 05:18:44 epsilon vdr: [30685] Deleting, pmtPid 258, pmtIndex = 2, lastPmtScan = 0
> May 6 05:18:44 epsilon vdr: [30685] Adding, pmtPid 259, Index = 4, Sid = 305
> May 6 05:18:44 epsilon vdr: [30688] Deleting, pmtPid 261, pmtIndex = 5, lastPmtScan = 0
> May 6 05:18:44 epsilon vdr: [30688] Adding, pmtPid 264, Index = 7, Sid = 4417
> May 6 05:18:44 epsilon vdr: [30685] Deleting, pmtPid 259, pmtIndex = 3, lastPmtScan = 0
> May 6 05:18:44 epsilon vdr: [30685] Adding, pmtPid 261, Index = 5, Sid = 353
> May 6 05:18:44 epsilon vdr: [30682] Deleting, pmtPid 259, pmtIndex = 6, lastPmtScan = 0
> May 6 05:18:44 epsilon vdr: [30685] Deleting, pmtPid 261, pmtIndex = 4, lastPmtScan = 0
> May 6 05:18:44 epsilon vdr: [30685] Adding, pmtPid 262, Index = 6, Sid = 385
> May 6 05:18:44 epsilon vdr: [30679] Deleting, pmtPid 1145, pmtIndex = 9, lastPmtScan = 0
> May 6 05:18:44 epsilon vdr: [30679] Adding, pmtPid 1146, Index = 11, Sid = 1520
> May 6 05:18:44 epsilon vdr: [30688] Deleting, pmtPid 264, pmtIndex = 6, lastPmtScan = 0
> May 6 05:18:44 epsilon vdr: [30688] Adding, pmtPid 266, Index = 8, Sid = 4481
> May 6 05:18:44 epsilon vdr: [30682] Adding, pmtPid 258, Index = 1, Sid = 65
> May 6 05:18:44 epsilon vdr: [30685] Deleting, pmtPid 262, pmtIndex = 5, lastPmtScan = 0
> May 6 05:18:44 epsilon vdr: [30685] Adding, pmtPid 263, Index = 7, Sid = 369
> May 6 05:18:44 epsilon vdr: [30688] Deleting, pmtPid 266, pmtIndex = 7, lastPmtScan = 0
> May 6 05:18:44 epsilon vdr: [30688] Adding, pmtPid 265, Index = 9, Sid = 4433
> May 6 05:18:44 epsilon vdr: [30685] Deleting, pmtPid 263, pmtIndex = 6, lastPmtScan = 0
> May 6 05:18:44 epsilon vdr: [30685] Adding, pmtPid 260, Index = 8, Sid = 337
> May 6 05:18:44 epsilon vdr: [30688] Deleting, pmtPid 265, pmtIndex = 8, lastPmtScan = 0
> May 6 05:18:44 epsilon vdr: [30688] Adding, pmtPid 263, Index = 10, Sid = 4401
> May 6 05:18:44 epsilon vdr: [30679] Deleting, pmtPid 1146, pmtIndex = 10, lastPmtScan = 0
--
Anssi Hannula
Index: vdr-1.6.0-sechand/pat.c
===================================================================
--- vdr-1.6.0-sechand/pat.c
+++ vdr-1.6.0-sechand/pat.c 2008-05-06 05:08:48.000000000 +0300
@@ -276,6 +276,7 @@
if (Pid == 0x00) {
if (Tid == 0x00) {
if (pmtPid && time(NULL) - lastPmtScan > PMT_SCAN_TIMEOUT) {
+ dsyslog("Deleting, pmtPid %d, pmtIndex = %d, lastPmtScan = %lu", pmtPid, pmtIndex, lastPmtScan);
Del(pmtPid, 0x02);
pmtPid = 0;
pmtIndex++;
@@ -292,6 +293,7 @@
if (Index++ >= pmtIndex && Channels.GetByServiceID(Source(), Transponder(), assoc.getServiceId())) {
pmtPid = assoc.getPid();
pmtSid = assoc.getServiceId();
+ dsyslog("Adding, pmtPid %d, Index = %d, Sid = %d", pmtPid, Index, pmtSid);
Add(pmtPid, 0x02);
break;
}