[linux-dvb] How to descramble?

Manu Abraham abraham.manu at gmail.com
Sat Oct 15 10:01:24 CEST 2005

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 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 case), 

    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 level.

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 ?


More information about the linux-dvb mailing list