Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: cDvbDevice::ProvidesTransponder problem



matthieu castet wrote:
hi,
cDvbDevice::ProvidesTransponder don't seem correct :
actualy if the caids change, vdr don't "refresh" the channel (ie
switchto the same channel), and the cam can't detect the encryption has
changed.

Actualy I modify it in order it always return 1, it work when the caids
change, the channel is reload and the cam do their job, but also after
launching vdr each channel reload once, even if there are not real changed.


Could it be possible that cDvbDevice::ProvidesTransponder is corrected?


Thanks



I made the same observations but unfortunately I don't know excatly why Klaus wrote the return statement in cDvbDevice::ProvidesTransponder the way it is.
The line looks as follows:

return ProvidesSource(Channel->Source()) && ((Channel->Source() & cSource::st_Mask) != cSource::stSat || Diseqcs.Get(Channel->Source(), Channel->Frequency(), Channel->Polarization()));

And on a pid change the line can be reduced to the following:

return ProvidesSource(35008) && ((32768)!=32768 || NULL));

But the above condition is never true. I posted this problem about a month ago here but no one answered to my last reply in the thread "second language is not recorded".

If you know why those bitmasks are compared the way they are, then maybe we can find a fix for this problem. The easiest way was to turn the "!=" int to a "==" but this might cause some new problems, so I never tried.

André.




Home | Main Index | Thread Index