[vdr] How to get a notification of a completed transponder scan?

Thomas Bergwinkl bergwinkl.thomas at vr-web.de
Tue Mar 29 00:04:41 CEST 2005


Luca Olivetti wrote:
>
> Thomas Bergwinkl wrote:
>
> > When you try to scan these transponders with the scan
> utility of the dvb
> > driver, you can see filter timeouts. For example 12034V:
> > WARNING: filter timeout pid 0x0458
> > WARNING: filter timeout pid 0x0453
> > WARNING: filter timeout pid 0x044f
> > WARNING: filter timeout pid 0x0459
> > WARNING: filter timeout pid 0x045a
> > WARNING: filter timeout pid 0x045b
> > WARNING: filter timeout pid 0x0452
>
> does it mean the broadcaster is doing something wrong or is
> it the driver?
>

I'm not absolutely sure. But I think the problem is that a pid for pmt
is assigned in pat, but this pmt is not in the stream. So I think it's
the broadcaster's fault.


> >
> > Of course you can count this timeouts in pat.c so that numPmtEntries
> > reaches num, but every timeout lasts 10 seconds
> (PMT_SCAN_TIMEOUT  10).
> > So scanning 12034V lasts  more than 70 seconds!
>
> BTW, since I added the debug printf, I noticed that while the dish is
> moving it's getting the pmt data from a different satellite,
> so in that
> case it will get more than num ;-)  It doesn't matter for the channel
> scan function (the dish is not moving) but is one more thing to take
> care of to make vdr behave with a steerable dish. Perhaps instead of
> fiddling with Setup.UpdateChannels in my plugin when the dish
> is moving
> I should call sectionHandler->SetStatus(false) ... bummer,
> it's private :-(
>
> > I think to speed up the channel scan it would be better if
> the plugin
> > set the filters by itself.
>
> But that wouldn't solve the filter timeout problem, would it? And it
> means that the plugin should duplicate most of the scanning functions
> already presents in vdr. I hate to do that ;-)
>

Yes, in this case the plugin has to duplicate parts of vdr. (Copy and
Paste :-) )
But I think it can solve the problem with the timeout. vdr sets in pat.c
the filter for pmts one by one (always only one filter for pmt is set).
In the plugin I can set e.g 10 filters simultaneous.

> > I tried to extend the channelscan plugin to do this. Scanning
> > transponders is really fast, but there is still a problem
> that on some
> > transponders many newly found channels get no pids.
>
> So that's no really different from using only the sdt data :-(
> (channel scan was really fast too)
>

I think I found the problem, now there are pids for almost all channels
and scanning is still fast :-)

> > But I think it is a
> > promising attempt and I hope I can figure out where the remaining
> > problems are.
>
> Well, if you find a good solution it should be possible to
> apply it also
> in pat.c, shouldn't it?
>

I think pat.c is allright. When scanning in the backround there is time
enough to set one filter by another.

I attached a modified version of the channelscan plugin (most of
filter.c is copied from sdt.c and pat.c). Perhaps you want to try it
out. It works quite well, I just scanned the entire hotbird satellite in
about 5 minutes (found 1358 channels).

Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vdr-channelscan-0.0.3-fastscan.tgz
Type: application/x-compressed
Size: 21156 bytes
Desc: not available
Url : http://www.linuxtv.org/pipermail/vdr/attachments/20050329/f5f07806/vdr-channelscan-0.0.3-fastscan-0001.bin


More information about the vdr mailing list