[linux-dvb] How to descramble?
henke at epact.se
Sat Oct 15 11:00:08 CEST 2005
I managed to fix a few more bugs last night and can now descramble on
stream level too. (Which means I have currently no need to moving of CA
However, what I have done for now is to implement the move of CA
descriptors in the way Manu describes below. Although, this is done _only_
if a new flag (-m) is given to ca_zap.
So, if this new flag is give to ca_zap, it checks that the move criterias
are fulfilled. If they are, the CA descriptors are moved from stream to
Hence, the user of ca_zap have an option of moving the descriptors if
he/she sees fit.
Does this sound reasonable?
> Dominique Dumont wrote:
>>Manu Abraham <abraham.manu at gmail.com> writes:
>>>The first one that i had seen was with TPS, and this was the only way it
>>>could be worked. In fact stream level decryption according to TPS wasn't
>>>probably stream level decryption but only program level decryption. I
>>>might be wrong here though, but that was the only thing that got it to
>>You statement related to "program level decryption" is misleading. In
>>all cases only the elementary streams are encrypted. Sending CA
>>descriptors at program level is only a mean of saying "this
>>descriptor is valid for *all* elementary streams of this program"
>>Here's the section 126.96.36.199 of EN50221 that specifies this behavior:
>> The CA_descriptor after the current_next_indicator is at the
>> programme level and is valid for all elementary components of the
>> programme. The CA_descriptor(s) at elementary_stream level is (are)
>> valid for the elementary_stream only. If, for one
>> elementary_stream, CA_descriptor(s) exist at programme level and at
>> elementary_stream level, only the CA_descriptor(s) at
>> elementary_stream level are taken into account.
> from a module point of view, the rule is the following
> rule 1) check for each component the elementary stream level,
> if there are any, use it and IGNORE the one from the program level.
> rule 2) if there is no ca_descriptor on the ES level (and only in this
> use the one at the program level.
> so , clearly, if you see that all the ca_desc at ES level are the same,
> you can remove them from es level, and put them only once at program
> then, rule 1 will no more be applied, but rule2 will be use instead...
> and the result will be 100%
> the same, since the ca_descriptor at program level
> will be used for each ES.
> So what is the reason to send a longer message which does exactly the
> same thing in that context ?
> linux-dvb mailing list
> linux-dvb at linuxtv.org
More information about the linux-dvb