Thomas Bergwinkl wrote:
Luca Olivetti wrote:
[...]
That's what I thought too. Now, I looked into pat.c but I
don't see an
easy way to know when all data has been received.
I attached a patch for pat.[hc]. I hope it works. Every time sdt.c adds
a new channel it triggers the patfilter (patFilter->Trigger();), so that
numPmtEntries will be set to 0. So when numPmtEntries == 'number of all
available entries' the scan should be complete.
I'm testing it on hotbird. While on many transponders it seems to work
fine, on others after 20 seconds I don't get an end of scan from pat.c,
I've raised the timeout to 60 seconds. Attached is a list of all the
transponders where numPmtEntries never reached num (on hotbird). The
"---- num xx pmtIndex xx numPmtEntries" lines come from a printf right
after the Channels.Unlock() in pat.c.
What other options do I have now?
--
- Yo también quiero una Europa libre de Patentes de Software -
- I want a Software Patents Free Europe too! And you? -
---------------------------------------------------------------
EuropeSwPatentFree -
http://EuropeSwPatentFree.hispalinux.es
**** 10853 H
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
----- num 13 pmtIndex 1 numPmtEntries 1
sdt, end of scan
----- num 13 pmtIndex 2 numPmtEntries 2
----- num 13 pmtIndex 3 numPmtEntries 3
----- num 13 pmtIndex 4 numPmtEntries 4
----- num 13 pmtIndex 5 numPmtEntries 5
----- num 13 pmtIndex 6 numPmtEntries 6
----- num 13 pmtIndex 7 numPmtEntries 7
----- num 13 pmtIndex 8 numPmtEntries 8
----- num 13 pmtIndex 9 numPmtEntries 9
----- num 13 pmtIndex 10 numPmtEntries 10
----- num 13 pmtIndex 11 numPmtEntries 11
----- num 13 pmtIndex 12 numPmtEntries 12
**** 11464 V
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
----- num 3 pmtIndex 1 numPmtEntries 1
----- num 3 pmtIndex 2 numPmtEntries 2
sdt, end of scan
**** 11843 V
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
----- num 40 pmtIndex 1 numPmtEntries 1
----- num 40 pmtIndex 2 numPmtEntries 2
sdt, end of scan
----- num 40 pmtIndex 3 numPmtEntries 3
----- num 40 pmtIndex 4 numPmtEntries 4
----- num 40 pmtIndex 5 numPmtEntries 5
----- num 40 pmtIndex 6 numPmtEntries 6
----- num 40 pmtIndex 7 numPmtEntries 7
----- num 40 pmtIndex 8 numPmtEntries 8
----- num 40 pmtIndex 9 numPmtEntries 9
----- num 40 pmtIndex 10 numPmtEntries 10
----- num 40 pmtIndex 11 numPmtEntries 11
----- num 40 pmtIndex 12 numPmtEntries 12
----- num 40 pmtIndex 13 numPmtEntries 13
----- num 40 pmtIndex 14 numPmtEntries 14
----- num 40 pmtIndex 15 numPmtEntries 15
----- num 40 pmtIndex 16 numPmtEntries 16
----- num 40 pmtIndex 17 numPmtEntries 17
----- num 40 pmtIndex 18 numPmtEntries 18
----- num 40 pmtIndex 19 numPmtEntries 19
----- num 40 pmtIndex 20 numPmtEntries 20
----- num 40 pmtIndex 21 numPmtEntries 21
----- num 40 pmtIndex 22 numPmtEntries 22
----- num 40 pmtIndex 23 numPmtEntries 23
----- num 40 pmtIndex 24 numPmtEntries 24
----- num 40 pmtIndex 25 numPmtEntries 25
----- num 40 pmtIndex 26 numPmtEntries 26
----- num 40 pmtIndex 27 numPmtEntries 27
----- num 40 pmtIndex 28 numPmtEntries 28
----- num 40 pmtIndex 29 numPmtEntries 29
----- num 40 pmtIndex 30 numPmtEntries 30
----- num 40 pmtIndex 31 numPmtEntries 31
----- num 40 pmtIndex 32 numPmtEntries 32
----- num 40 pmtIndex 33 numPmtEntries 33
----- num 40 pmtIndex 34 numPmtEntries 34
----- num 40 pmtIndex 35 numPmtEntries 35
----- num 40 pmtIndex 36 numPmtEntries 36
----- num 40 pmtIndex 37 numPmtEntries 37
----- num 40 pmtIndex 0 numPmtEntries 38
**** 11862 H
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
sdt, end of scan
----- num 12 pmtIndex 2 numPmtEntries 1
----- num 12 pmtIndex 3 numPmtEntries 2
----- num 12 pmtIndex 4 numPmtEntries 3
----- num 12 pmtIndex 5 numPmtEntries 4
----- num 12 pmtIndex 6 numPmtEntries 5
----- num 12 pmtIndex 7 numPmtEntries 6
----- num 12 pmtIndex 8 numPmtEntries 7
----- num 12 pmtIndex 9 numPmtEntries 8
----- num 12 pmtIndex 0 numPmtEntries 9
----- num 12 pmtIndex 1 numPmtEntries 10
**** 11881 V
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
----- num 11 pmtIndex 1 numPmtEntries 1
----- num 11 pmtIndex 2 numPmtEntries 2
----- num 11 pmtIndex 3 numPmtEntries 3
----- num 11 pmtIndex 4 numPmtEntries 4
----- num 11 pmtIndex 5 numPmtEntries 5
----- num 11 pmtIndex 6 numPmtEntries 6
----- num 11 pmtIndex 7 numPmtEntries 7
----- num 11 pmtIndex 8 numPmtEntries 8
----- num 11 pmtIndex 9 numPmtEntries 9
sdt, end of scan
----- num 11 pmtIndex 0 numPmtEntries 10
**** 11900 H
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
sdt, end of scan
----- num 13 pmtIndex 1 numPmtEntries 1
----- num 13 pmtIndex 2 numPmtEntries 2
----- num 13 pmtIndex 3 numPmtEntries 3
----- num 13 pmtIndex 4 numPmtEntries 4
----- num 13 pmtIndex 5 numPmtEntries 5
----- num 13 pmtIndex 6 numPmtEntries 6
----- num 13 pmtIndex 7 numPmtEntries 7
----- num 13 pmtIndex 8 numPmtEntries 8
----- num 13 pmtIndex 11 numPmtEntries 9
----- num 13 pmtIndex 12 numPmtEntries 10
----- num 13 pmtIndex 0 numPmtEntries 11
**** 11958 V
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
----- num 11 pmtIndex 1 numPmtEntries 1
sdt, end of scan
----- num 11 pmtIndex 2 numPmtEntries 2
----- num 11 pmtIndex 3 numPmtEntries 3
----- num 11 pmtIndex 4 numPmtEntries 4
----- num 11 pmtIndex 5 numPmtEntries 5
----- num 11 pmtIndex 6 numPmtEntries 6
----- num 11 pmtIndex 7 numPmtEntries 7
----- num 11 pmtIndex 9 numPmtEntries 8
----- num 11 pmtIndex 0 numPmtEntries 9
**** 11977 H
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
sdt, end of scan
----- num 11 pmtIndex 2 numPmtEntries 1
----- num 11 pmtIndex 3 numPmtEntries 2
----- num 11 pmtIndex 4 numPmtEntries 3
----- num 11 pmtIndex 5 numPmtEntries 4
----- num 11 pmtIndex 6 numPmtEntries 5
----- num 11 pmtIndex 7 numPmtEntries 6
----- num 11 pmtIndex 8 numPmtEntries 7
----- num 11 pmtIndex 9 numPmtEntries 8
----- num 11 pmtIndex 0 numPmtEntries 9
----- num 11 pmtIndex 1 numPmtEntries 10
**** 11996 V
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
sdt, end of scan
----- num 17 pmtIndex 1 numPmtEntries 1
----- num 17 pmtIndex 2 numPmtEntries 2
----- num 17 pmtIndex 3 numPmtEntries 3
----- num 17 pmtIndex 4 numPmtEntries 4
----- num 17 pmtIndex 5 numPmtEntries 5
----- num 17 pmtIndex 6 numPmtEntries 6
----- num 17 pmtIndex 7 numPmtEntries 7
----- num 17 pmtIndex 8 numPmtEntries 8
----- num 17 pmtIndex 9 numPmtEntries 9
----- num 17 pmtIndex 12 numPmtEntries 10
----- num 17 pmtIndex 13 numPmtEntries 11
----- num 17 pmtIndex 14 numPmtEntries 12
----- num 17 pmtIndex 15 numPmtEntries 13
----- num 17 pmtIndex 16 numPmtEntries 14
----- num 17 pmtIndex 0 numPmtEntries 15
**** 12034 V
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
sdt, end of scan
----- num 18 pmtIndex 1 numPmtEntries 1
----- num 18 pmtIndex 2 numPmtEntries 2
----- num 18 pmtIndex 3 numPmtEntries 3
----- num 18 pmtIndex 4 numPmtEntries 4
----- num 18 pmtIndex 5 numPmtEntries 5
----- num 18 pmtIndex 6 numPmtEntries 6
----- num 18 pmtIndex 7 numPmtEntries 7
----- num 18 pmtIndex 8 numPmtEntries 8
----- num 18 pmtIndex 11 numPmtEntries 9
**** 12054 H
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
----- num 18 pmtIndex 1 numPmtEntries 1
sdt, end of scan
----- num 13 pmtIndex 2 numPmtEntries 2
----- num 13 pmtIndex 3 numPmtEntries 3
----- num 13 pmtIndex 4 numPmtEntries 4
----- num 13 pmtIndex 5 numPmtEntries 5
----- num 13 pmtIndex 6 numPmtEntries 6
----- num 13 pmtIndex 7 numPmtEntries 7
----- num 13 pmtIndex 8 numPmtEntries 8
----- num 13 pmtIndex 11 numPmtEntries 9
----- num 13 pmtIndex 0 numPmtEntries 10
----- num 13 pmtIndex 1 numPmtEntries 11
**** 12073 V
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
----- num 18 pmtIndex 1 numPmtEntries 1
sdt, end of scan
----- num 18 pmtIndex 2 numPmtEntries 2
----- num 18 pmtIndex 3 numPmtEntries 3
----- num 18 pmtIndex 4 numPmtEntries 4
----- num 18 pmtIndex 5 numPmtEntries 5
----- num 18 pmtIndex 6 numPmtEntries 6
----- num 18 pmtIndex 7 numPmtEntries 7
----- num 18 pmtIndex 8 numPmtEntries 8
----- num 18 pmtIndex 9 numPmtEntries 9
----- num 18 pmtIndex 10 numPmtEntries 10
----- num 18 pmtIndex 11 numPmtEntries 11
----- num 18 pmtIndex 12 numPmtEntries 12
----- num 18 pmtIndex 13 numPmtEntries 13
----- num 18 pmtIndex 14 numPmtEntries 14
----- num 18 pmtIndex 15 numPmtEntries 15
----- num 18 pmtIndex 0 numPmtEntries 16
**** 12341 V
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
sdt, end of scan
----- num 18 pmtIndex 1 numPmtEntries 1
----- num 18 pmtIndex 2 numPmtEntries 2
----- num 18 pmtIndex 3 numPmtEntries 3
----- num 18 pmtIndex 4 numPmtEntries 4
----- num 18 pmtIndex 5 numPmtEntries 5
----- num 18 pmtIndex 6 numPmtEntries 6
----- num 18 pmtIndex 7 numPmtEntries 7
----- num 18 pmtIndex 8 numPmtEntries 8
----- num 18 pmtIndex 9 numPmtEntries 9
----- num 18 pmtIndex 10 numPmtEntries 10
----- num 18 pmtIndex 11 numPmtEntries 11
----- num 18 pmtIndex 12 numPmtEntries 12
----- num 18 pmtIndex 13 numPmtEntries 13
----- num 18 pmtIndex 14 numPmtEntries 14
----- num 18 pmtIndex 15 numPmtEntries 15
----- num 18 pmtIndex 0 numPmtEntries 16
**** 12418 V
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
sdt, end of scan
----- num 12 pmtIndex 1 numPmtEntries 1
----- num 12 pmtIndex 2 numPmtEntries 2
----- num 12 pmtIndex 3 numPmtEntries 3
----- num 12 pmtIndex 4 numPmtEntries 4
----- num 12 pmtIndex 5 numPmtEntries 5
----- num 12 pmtIndex 6 numPmtEntries 6
----- num 12 pmtIndex 7 numPmtEntries 7
----- num 12 pmtIndex 8 numPmtEntries 8
----- num 12 pmtIndex 9 numPmtEntries 9
----- num 12 pmtIndex 0 numPmtEntries 10
**** 12616 H
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
sdt, end of scan
----- num 13 pmtIndex 1 numPmtEntries 1
----- num 13 pmtIndex 2 numPmtEntries 2
----- num 13 pmtIndex 3 numPmtEntries 3
----- num 13 pmtIndex 4 numPmtEntries 4
----- num 13 pmtIndex 5 numPmtEntries 5
----- num 13 pmtIndex 6 numPmtEntries 6
----- num 13 pmtIndex 7 numPmtEntries 7
----- num 13 pmtIndex 8 numPmtEntries 8
----- num 13 pmtIndex 9 numPmtEntries 9
----- num 13 pmtIndex 12 numPmtEntries 10
----- num 13 pmtIndex 0 numPmtEntries 11
**** 12635 V
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
=================cPatFilter::SetStatus
sdt, end of scan
----- num 12 pmtIndex 1 numPmtEntries 1
----- num 12 pmtIndex 2 numPmtEntries 2
----- num 12 pmtIndex 3 numPmtEntries 3
----- num 12 pmtIndex 4 numPmtEntries 4
----- num 12 pmtIndex 5 numPmtEntries 5
----- num 12 pmtIndex 6 numPmtEntries 6
----- num 12 pmtIndex 7 numPmtEntries 7
----- num 12 pmtIndex 8 numPmtEntries 8
----- num 12 pmtIndex 11 numPmtEntries 9
----- num 12 pmtIndex 0 numPmtEntries 10