[vdr] Handling of temporarily encrypted channels

Ondrej Wisniewski ondrej.wisniewski at ericsson.com
Tue Mar 6 09:21:11 CET 2007

Luca Olivetti wrote:
> En/na Ondrej Wisniewski ha escrit:
>> I am using VDR 1.4.5 with the integrated auto pid feature and without
>> any CAM. When tuning to an encrypted channel, the CA value gets set
>> accordingly and "channel not available" is displayed. So far so good.
>> However there are channels that encrypt only certain programs and are
>> free the rest of the time. When tuning to this "free" channel while the
>> program is encrypted, the CA value will be set and "channel not
>> available" shown. But when tuning to the same channel again when it is
>> not encrypted any more it seems that VDR just checks the CA value and
>> displays "channel not available" instead of checking the currently
>> broadcast CA value. So the channel cannot be watched even if it is free
>> in the moment.
>> This is quite annoying and decreases the WAF a lot :-/
>> Is there an easy way to fix this?
> Edit the file dvbdevice.c, insert a line "return true;" at the beginning 
> of the method cDvbDevice::ProvidesCa.
> With this modification you can tune to encoded channels, however you'll 
> never see a "channel not available", you'll just see a black screen.
> This, btw, also solves the problem of channels that declare they're 
> scrambled when they aren't.
> Bye

OK, that seems like a good workaround. But it is not a real solution. I
mean I still want to see "channel not available" but only when it is
really not available (it is currently encrypted). That would be the
correct behaviour.

Furthermore I am not sure what happens when a recording on such a
channel starts and it is really encrypted. The current solution is safe
because it doesn't tune to the channel if the CA value is set. However
it has the drawback of not recording even if the channel might be FTA
again (that's a real show stopper).

So I propose that VDR should always tune to a channel that is requested,
get the current CA value from the data stream (and not from the
channels.conf) and then decide if the channel can be shown/recorded.
Does that sound like a good solution? Any obvious drawbacks?


More information about the vdr mailing list