[vdr] Dead lock in VDR/EPG scan
Klaus.Schmidinger at cadsoft.de
Sat Jun 11 18:24:06 CEST 2005
Michael Reinelt wrote:
>>The EPG scan only tunes to each transponder for some 20 seconds and
>>collects whatever data it finds. It does not switch to any particular
>>_channel_ (i.e. it does not set the primary device to display a certain
>>programme). So even if it tunes to, say, a transponder that broadcasts
>>HDTV programmes, a full featured DVB card shouldn't suffer from that,
>>because it never "sees" the actual HDTV data stream.
> Thanks for the info. This explains why the screen goes black when I
> start a scan with the red button, right?
> Anyway, I *will* find this bug :-)
> Debugging this one will be hard... If I switch to another channel after
> I started an EPG scan, it's fine: the scan stops, and I get live TV. I
> would have to start scan, wait 20 seconds, change channel. Start scan,
> wait 40 seconds, channel switch. start, 60 seconds, .... well,
> approximately after a year I would have found the reason ;-(
> Maybe a debug message "scanning EPG on transponder xy" would be helpful.
> Klaus, could you give me a hint where to place such a printf? (my C++
> knowledge is that miserable)
Look at the file VDR/eitscan.c and add your output to cEITScanner::Process().
> I think that only live tv does not work, as I said, watching a recording
> is fine. And I think that recording works fine, too (there's an
> autotimer from my girlfriend for "Die Maus auf dem Mars" every morning,
> and I'm *sure* she would have complained :-)
> I get lots of "CAM: different stream flag in CA descriptors" messages
> during the night (probably during the EPG scan), any idea what this means?
See cCaDescriptors::GetCaDescriptors() in VDR/pat.c.
IIRC (it's been a while since I've worked on this ;-) CA descriptors
are either for individual PIDs or an entire program stream. This
debug message indicates a discrepancy here. I'm not sure if this
constitues an error or what to do with it. We'd need somebody
with an actual subscription to such a channel in order to test this.
More information about the vdr